---
title: Grocery Delivery App Development
description: Home/Services/Verticals/Grocery Delivery App Development         Vertical Solution · Grocery & Quick Commerce         Grocery Delivery AppDevelopmentMulti-Store
url: https://miracuves.com/service/grocery-delivery-app-development
date_modified: 2026-06-29
author: miracuves
language: en_US
---

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800&family=JetBrains+Mono:wght@400;500;600&display=swap');

.tc{--red:#a70d2a;--red-d:#990000;--red-l:#a70d2a;--ra:rgba(167,13,42,.06);--rb:rgba(167,13,42,.16);--rg:linear-gradient(135deg,#a70d2a 0%,#990000 100%);--green:#00E676;--gl:#26A69A;--teal:#00F3FF;--amber:#f59e0b;--purple:#9333ea;--dk0:#030008;--dk1:#07040f;--dk2:#0c081a;--dk3:#120e26;--dk4:#191433;--card:rgba(8,4,15,.76);--l0:#ffffff;--l1:#fafafd;--l2:#f2f1f6;--l3:#e8e7ee;--dx1:#ffffff;--dx2:rgba(255,255,255,.95);--dx3:rgba(255,255,255,.65);--dx4:rgba(255,255,255,.35);--lx1:#0c0716;--lx2:#322d3e;--lx3:#5f5a70;--lx4:#928ea3;--bd:rgba(255,255,255,.06);--bd2:rgba(255,255,255,.12);--bd3:rgba(255,255,255,.20);--bl:rgba(12,7,22,.04);--bl2:rgba(12,7,22,.08);--f:'Plus Jakarta Sans','Inter',-apple-system,sans-serif;--fm:'JetBrains Mono',monospace;--r20:20px;--r14:14px;--r10:10px;--r6:6px;--r100:100px;--spring:cubic-bezier(.175,.885,.32,1.275);--ease:cubic-bezier(.16,1,.3,1)}
.tc,.tc *{box-sizing:border-box!important}
.tc{font-family:var(--f)!important;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.7;color:var(--lx2);width:100%;background:var(--l0);}
.tc h1,.tc h2,.tc h3,.tc h4,.tc p,.tc ul,.tc ol{margin:0;padding:0}.tc ul,.tc ol{list-style:none}.tc a{text-decoration:none!important;color:inherit}
.tc ::selection{background:rgba(167,13,42,.15)}.tc .sD ::selection,.tc .sD2 ::selection,.tc .sR ::selection{background:rgba(167,13,42,.35)}

/* Layout */
.tc .W{max-width:1260px;margin:0 auto;padding:0 40px}.tc .S{padding:130px 0;position:relative}
.tc .g2{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.tc .g3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.tc .g4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.tc .g6{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.tc .sp{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:start}

/* Skins */
.tc .sD{background:var(--dk1)}.tc .sD2{background:var(--dk2)}.tc .sW{background:var(--l0);position:relative}.tc .sG{background:var(--l1);position:relative}.tc .sR{background:var(--red-d);position:relative}
.tc .sD h2,.tc .sD h3,.tc .sD2 h2,.tc .sD2 h3{color:var(--dx1)}.tc .sD p,.tc .sD2 p{color:var(--dx2)}
.tc .sW h2,.tc .sW h3,.tc .sG h2,.tc .sG h3{color:var(--lx1)}.tc .sW p,.tc .sG p{color:var(--lx2)}
.tc .sR h2,.tc .sR h3{color:#fff}.tc .sR p{color:rgba(255,255,255,.9)}
/* Ambient glows on light sections */
.tc .sW::before{content:'';position:absolute;top:-100px;right:-80px;width:400px;height:400px;background:radial-gradient(circle,rgba(167,13,42,.03),transparent 70%);pointer-events:none;z-index:0}
.tc .sG::before{content:'';position:absolute;bottom:-80px;left:-60px;width:350px;height:350px;background:radial-gradient(circle,rgba(167,13,42,.025),transparent 70%);pointer-events:none;z-index:0}
.tc .sW .W,.tc .sG .W{position:relative;z-index:1}

/* Typography */
.tc h1{font-size:clamp(52px,7vw,92px);font-weight:800;line-height:.98;letter-spacing:-3.8px;font-feature-settings:'ss01' on,'liga' on}
.tc h2{font-size:clamp(34px,4.2vw,54px);font-weight:800;line-height:1.06;letter-spacing:-2.2px;font-feature-settings:'ss01' on}
.tc h2 em{font-style:normal;color:var(--red);letter-spacing:-1px}
.tc h3{font-size:21px;font-weight:800;line-height:1.25;letter-spacing:-.6px}
.tc .lead{font-size:18.5px;line-height:1.76;font-weight:400;max-width:640px;letter-spacing:-.015em}
.tc .body{font-size:15px;line-height:1.76;letter-spacing:-.005em}

/* Animations */
@keyframes tc-up{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
@keyframes tc-pulse{0%{transform:scale(.6);opacity:.7}100%{transform:scale(2.2);opacity:0}}
@keyframes tc-glow{0%,100%{box-shadow:0 0 0 0 rgba(0,230,118,.5)}50%{box-shadow:0 0 0 8px rgba(0,230,118,0)}}
@keyframes tc-glow-r{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(1.05)}}
@keyframes tc-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@keyframes tc-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes tc-flow{0%{stroke-dashoffset:20}100%{stroke-dashoffset:0}}

/* Ambient glows */
.tc .glow{position:absolute;border-radius:50%;filter:blur(130px);opacity:.15;pointer-events:none;z-index:0}
.tc .glow-1{top:-10%;right:-5%;width:550px;height:550px;background:radial-gradient(circle,var(--red) 0%,transparent 70%);animation:tc-glow-r 6s ease-in-out infinite}
.tc .glow-2{bottom:10%;left:-10%;width:450px;height:450px;background:radial-gradient(circle,var(--red-d) 0%,transparent 70%)}

/* Eyebrow pill */
.tc .pill{display:flex;margin-bottom:30px}.tc .pill.c{justify-content:center}
.tc .eyp{display:inline-flex;align-items:center;gap:10px;background:rgba(12,7,23,.85);backdrop-filter:blur(20px);border:1px solid var(--bd2);border-radius:var(--r100);padding:8px 18px 8px 12px;font-size:12.5px;font-weight:600;color:rgba(255,255,255,.9);box-shadow:0 6px 24px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06);letter-spacing:.02em}
.tc .sW .eyp,.tc .sG .eyp{background:rgba(255,255,255,.85);border-color:var(--bl2);color:var(--lx2);box-shadow:0 6px 24px rgba(12,7,22,.06),inset 0 -1px 0 rgba(0,0,0,.03)}
.tc .sR .eyp{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);color:#fff}
.tc .eyp strong{color:#fff!important;font-weight:700}.tc .sW .eyp strong,.tc .sG .eyp strong{color:var(--red)!important}
.tc .eyp .el{width:18px;height:2px;background:var(--red);border-radius:2px}

/* Live dot */
.tc .ldot{position:relative;width:8px;height:8px;background:var(--green);border-radius:50%;box-shadow:0 0 12px rgba(0,230,118,.8);flex-shrink:0;animation:tc-glow 2s ease-in-out infinite}
.tc .ldot::after{content:'';position:absolute;inset:-5px;border-radius:50%;border:1.5px solid var(--green);opacity:.55;animation:tc-pulse 2.2s ease-out infinite}

/* Buttons */
.tc .btn{position:relative;display:inline-flex;align-items:center;gap:10px;font-family:var(--f);font-size:14.5px;font-weight:700;letter-spacing:.015em;padding:16px 30px;border-radius:var(--r14);cursor:pointer;transition:transform .3s var(--spring),box-shadow .3s var(--ease);line-height:1;white-space:nowrap;overflow:hidden;border:none;text-decoration:none!important}
.tc .btn svg{width:18px;height:18px;stroke-width:2.4;position:relative;z-index:1;flex-shrink:0}.tc .btn span{position:relative;z-index:1}
.tc .btn-p{background:var(--rg);color:#fff!important;box-shadow:0 14px 35px rgba(167,13,42,.4),0 6px 16px rgba(167,13,42,.2),inset 0 1px 0 rgba(255,255,255,.22)}
.tc .btn-p::before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.25) 50%,transparent 75%);transform:translateX(-100%);transition:transform .65s var(--ease)}
.tc .btn-p:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 20px 45px rgba(167,13,42,.55),0 8px 20px rgba(167,13,42,.3)}.tc .btn-p:hover::before{transform:translateX(100%)}
.tc .btn-p:active{transform:translateY(0) scale(.98);box-shadow:0 4px 12px rgba(167,13,42,.3),inset 0 2px 4px rgba(0,0,0,.2);transition-duration:.1s}
.tc .btn-g{background:rgba(12,7,23,.6);color:#fff!important;border:1px solid var(--bd2);backdrop-filter:blur(20px);box-shadow:0 4px 16px rgba(0,0,0,.3)}
.tc .btn-g:hover{background:rgba(12,7,23,.85);transform:translateY(-3px);border-color:var(--bd3);box-shadow:0 14px 36px rgba(0,0,0,.5)}
.tc .sW .btn-g,.tc .sG .btn-g{background:rgba(255,255,255,.85);color:var(--lx1)!important;border-color:var(--bl2);backdrop-filter:none;box-shadow:0 2px 10px rgba(12,7,22,.04)}
.tc .sW .btn-g:hover,.tc .sG .btn-g:hover{background:#fff;transform:translateY(-3px);box-shadow:0 10px 24px rgba(12,7,22,.08)}
.tc .sR .btn-g{background:rgba(255,255,255,.16);color:#fff!important;border-color:rgba(255,255,255,.26)}
.tc .btn-wa{background:#25D366;color:#fff!important;box-shadow:0 12px 28px rgba(37,211,102,.28),0 4px 12px rgba(37,211,102,.12);border:none}
.tc .btn-wa:hover{background:#20ba5a;transform:translateY(-3px);box-shadow:0 16px 36px rgba(37,211,102,.4)}
.tc .btn:focus-visible{outline:2px solid var(--red);outline-offset:3px}

/* Checklist */
.tc .ck{display:flex;gap:14px;font-size:15px;font-weight:500;line-height:1.62;padding:8px 0;align-items:flex-start}
.tc .ck::before{content:'✓';font-weight:900;font-size:12px;margin-top:3px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%}
.tc .sD .ck::before,.tc .sD2 .ck::before{color:var(--green);background:rgba(0,230,118,.08)}.tc .sD .ck,.tc .sD2 .ck{color:var(--dx2)}
.tc .sW .ck::before,.tc .sG .ck::before{color:var(--green);background:rgba(34,197,94,.08)}.tc .sW .ck,.tc .sG .ck{color:var(--lx2)}
.tc .sR .ck::before{color:#ffd700;background:rgba(255,215,0,.12)}.tc .sR .ck{color:rgba(255,255,255,.88)}

/* Icon box */
.tc .ico{width:44px;height:44px;border-radius:var(--r10);display:flex;align-items:center;justify-content:center;border:1px solid var(--rb);background:var(--ra);flex-shrink:0;transition:transform .3s var(--spring)}
.tc .ico svg{width:20px;height:20px;color:var(--red-l)}
.tc .sR .ico{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.24)}.tc .sR .ico svg{color:#fff}

/* Section head */
.tc .sh{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;margin-bottom:56px}

/* Breadcrumb */
.tc .ta-bc{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;margin-bottom:30px;flex-wrap:wrap;text-transform:uppercase;letter-spacing:.05em}
.tc .ta-bc a{color:var(--dx3)}.tc .ta-bc a:hover{color:var(--red-l)}.tc .ta-bc .bs{color:var(--dx4);opacity:.6;font-size:10px;margin:0 4px}.tc .ta-bc .ta-bc-curr{color:var(--dx1);font-weight:700}

/* ═══ HERO ═══ */
.tc .hero{background:radial-gradient(circle at 10% 20%,rgba(167,13,42,.16) 0%,transparent 50%),radial-gradient(circle at 90% 80%,rgba(153,0,0,.12) 0%,transparent 55%),#030008;position:relative;padding:120px 0 20px;overflow:hidden}
.tc .hero::before{content:'';position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(167,13,42,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(167,13,42,.025) 1px,transparent 1px);background-size:56px 56px;pointer-events:none}
.tc .hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:200px;background:linear-gradient(to top,rgba(3,0,8,.6),transparent);pointer-events:none;z-index:0}
.tc .hi{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:start;position:relative;z-index:1}
.tc .hl{padding-bottom:80px}
.tc .hew{display:flex;margin-bottom:28px;animation:tc-up .6s var(--ease) both}
.tc .hh1{font-size:clamp(54px,7.5vw,94px);font-weight:800;line-height:.96;letter-spacing:-.05em;color:var(--dx1);animation:tc-up .7s var(--ease) .1s both}
.tc .hh1 em{font-style:normal;background:var(--rg);color:#fff!important;-webkit-text-fill-color:#fff!important;padding:4px 20px;border-radius:var(--r14);box-shadow:0 12px 35px rgba(167,13,42,.55),inset 0 1px 0 rgba(255,255,255,.25),inset 0 -1px 2px rgba(0,0,0,.2);display:inline-block;letter-spacing:-.02em}
.tc .hh1 .dim{color:rgba(255,255,255,.85);font-weight:700;font-size:.62em;display:block;margin-top:18px;letter-spacing:-.04em;opacity:.78;-webkit-text-fill-color:rgba(255,255,255,.85)}
.tc .hlead{font-size:18.5px;line-height:1.76;color:var(--dx2);margin-top:24px;max-width:540px;animation:tc-up .7s var(--ease) .18s both}
.tc .htrust{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0;animation:tc-up .7s var(--ease) .24s both}
.tc .htr{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;padding:8px 16px;border-radius:var(--r100);transition:all .3s var(--ease)}
.tc .htr:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.26);transform:translateY(-2px);box-shadow:0 4px 12px rgba(167,13,42,.15)}
.tc .htr svg{width:13px;height:13px;color:var(--green);flex-shrink:0}
.tc .hctas{display:flex;gap:16px;flex-wrap:wrap;animation:tc-up .7s var(--ease) .3s both}
.tc .hproof{display:flex;gap:16px;align-items:center;margin-top:28px;flex-wrap:wrap;font-size:12.5px;font-weight:600;animation:tc-up .7s var(--ease) .36s both;color:rgba(255,255,255,.85)}
.tc .hproof a{color:#fff;text-decoration:underline!important;font-weight:700}.tc .hproof .dot{color:rgba(255,255,255,.35)}
.tc .hr{padding-top:8px;animation:tc-up .7s var(--ease) .2s both}

/* ═══ HERO: Market Opportunity Card (UNIQUE to C) ═══ */
.tc .mkt-card{position:relative;border-radius:var(--r20);overflow:hidden;box-shadow:0 4px 8px rgba(0,0,0,.3),0 16px 40px rgba(0,0,0,.4),0 40px 80px rgba(0,0,0,.5)}
.tc .mkt-card::before{content:'';position:absolute;inset:0;padding:1.5px;background:linear-gradient(135deg,rgba(167,13,42,.6),rgba(255,255,255,.05),rgba(0,243,255,.3));border-radius:var(--r20);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2}
.tc .mkt-inner{background:rgba(6,3,12,.88);backdrop-filter:blur(44px) saturate(190%);-webkit-backdrop-filter:blur(44px) saturate(190%);border-radius:calc(var(--r20) - 1px);padding:32px;position:relative;z-index:1}
.tc .mkt-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--bd)}
.tc .mkt-lbl{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.15em;color:var(--red-l)}
.tc .mkt-ver{font-size:11px;color:var(--dx3);font-weight:650;font-family:var(--fm)}
.tc .mkt-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tc .mkt-item{padding:18px 16px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);border-radius:var(--r14);transition:border-color .25s}
.tc .mkt-item:hover{border-color:rgba(167,13,42,.2)}
.tc .mkt-n{font-size:30px;font-weight:800;line-height:1;letter-spacing:-.03em;color:#fff;text-shadow:0 4px 14px rgba(167,13,42,.25);font-feature-settings:'tnum' on;margin-bottom:4px}
.tc .mkt-l{font-size:10.5px;font-weight:700;color:var(--dx3);text-transform:uppercase;letter-spacing:.06em}
.tc .mkt-src{font-size:9.5px;color:var(--dx4);margin-top:3px;font-family:var(--fm)}
.tc .mkt-avail{display:flex;align-items:center;gap:10px;padding:16px;border-top:1px solid var(--bd);margin-top:20px;font-size:13.5px;font-weight:600;color:var(--green)}

/* Hero: App Trio Mockup (3 phone screens — Customer/Provider/Admin) */
.tc .app-trio{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:18px;position:relative}
.tc .app-phone{width:72px;height:120px;border-radius:14px;border:2px solid;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 28px rgba(0,0,0,.45);transition:transform .4s var(--spring)}
.tc .app-phone:hover{transform:translateY(-6px) scale(1.04)}
.tc .app-bar{height:14px;flex-shrink:0;border-bottom:.5px solid rgba(255,255,255,.05)}
.tc .app-body{flex:1;display:flex;flex-direction:column;gap:5px;padding:8px 6px}
.tc .app-line{height:3px;border-radius:2px;width:80%}.tc .app-line:nth-child(2){width:55%}.tc .app-line:nth-child(3){width:70%}
.tc .app-btn{margin-top:auto;height:10px;border-radius:4px}
.tc .app-lbl{text-align:center;margin-top:8px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.tc .app-cust{border-color:rgba(0,243,255,.4);background:rgba(6,3,14,.92)}.tc .app-cust .app-bar{background:rgba(0,243,255,.25)}.tc .app-cust .app-line{background:rgba(0,243,255,.15)}.tc .app-cust .app-btn{background:rgba(0,243,255,.3)}.tc .app-cust+.app-lbl{color:var(--teal)}
.tc .app-prov{border-color:rgba(167,13,42,.5);background:linear-gradient(160deg,rgba(167,13,42,.12),rgba(6,3,14,.92));box-shadow:0 16px 36px rgba(167,13,42,.2);animation:tc-float 4.5s ease-in-out infinite}.tc .app-prov .app-bar{background:rgba(167,13,42,.5)}.tc .app-prov .app-line{background:rgba(255,255,255,.2)}.tc .app-prov .app-btn{background:var(--rg)}.tc .app-prov+.app-lbl{color:var(--red-l)}
.tc .app-admin{border-color:rgba(0,230,118,.3);background:rgba(6,3,14,.92)}.tc .app-admin .app-bar{background:rgba(0,230,118,.2)}.tc .app-admin .app-line{background:rgba(0,230,118,.12)}.tc .app-admin .app-btn{background:rgba(0,230,118,.25)}.tc .app-admin+.app-lbl{color:var(--green)}

/* ═══ STRIP ═══ */
.tc .hstrip{background:var(--l0);padding:34px 0;position:relative;z-index:1;box-shadow:0 -1px 0 rgba(167,13,42,.1),0 16px 48px rgba(12,7,22,.07)}
.tc .hsr{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:16px}
.tc .hsi strong{display:block;font-size:20px;font-weight:800;line-height:1.1;letter-spacing:-.03em;background:linear-gradient(135deg,var(--red-d),var(--red));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 2px 8px rgba(167,13,42,.1)}
.tc .hsi span{display:block;font-size:9.5px;font-weight:700;color:var(--lx3);text-transform:uppercase;letter-spacing:.1em;margin-top:4px;font-family:var(--fm)}
.tc .hsep{width:1px;height:36px;background:var(--bl2);flex-shrink:0}

/* ═══ TRUST BAR ═══ */
.tc .tbar{padding:48px 0;border-bottom:1px solid var(--bd)}
.tc .tbrow{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 48px;justify-items:center}
.tc .titem{display:flex;align-items:center;gap:14px;transition:transform .3s var(--spring)}.tc .titem:hover{transform:translateY(-2px)}.tc .titem:hover .ico{transform:scale(1.08) rotate(3deg)}
.tc .titem h4{font-size:14.5px;font-weight:800;color:var(--dx1);letter-spacing:-.01em}.tc .titem p{font-size:12.5px;color:var(--dx2);margin-top:4px;font-weight:500}

/* ═══ S03: MARKET DATA CARDS (UNIQUE to C) ═══ */
.tc .data-card{border:1px solid transparent;border-radius:var(--r20);padding:32px;background-image:linear-gradient(var(--l0),var(--l0)),linear-gradient(135deg,rgba(12,7,22,.06),rgba(167,13,42,.15));background-origin:border-box;background-clip:padding-box,border-box;box-shadow:0 1px 2px rgba(12,7,22,.04),0 4px 12px rgba(12,7,22,.02),0 8px 24px rgba(12,7,22,.01);transition:all .45s var(--spring);position:relative;overflow:hidden}
.tc .data-card:hover{transform:translateY(-8px);background-image:linear-gradient(var(--l0),var(--l0)),linear-gradient(135deg,rgba(167,13,42,.45),rgba(167,13,42,.08));box-shadow:0 4px 8px rgba(167,13,42,.04),0 12px 28px rgba(167,13,42,.06),0 28px 56px rgba(12,7,22,.05)}
.tc .data-card::after{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(167,13,42,.04),transparent 40%);opacity:0;transition:opacity .4s;pointer-events:none;z-index:0}
.tc .data-card:hover::after{opacity:1}
.tc .data-n{font-size:42px;font-weight:800;line-height:1;letter-spacing:-.04em;background:linear-gradient(135deg,var(--red-d),var(--red));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;font-feature-settings:'tnum' on;margin-bottom:8px}
.tc .data-l{font-size:14px;font-weight:700;color:var(--lx1);margin-bottom:6px;letter-spacing:-.01em}
.tc .data-d{font-size:13px;line-height:1.6;color:var(--lx3);margin-bottom:10px}
.tc .data-src{font-size:10px;font-weight:700;color:var(--lx4);font-family:var(--fm);text-transform:uppercase;letter-spacing:.06em}

/* ═══ S04: SOLUTION CARDS ═══ */
.tc .sol-card{display:block;text-decoration:none!important;border:1px solid transparent;border-radius:var(--r20);overflow:hidden;background-image:linear-gradient(var(--l0),var(--l0)),linear-gradient(135deg,rgba(12,7,22,.04),rgba(167,13,42,.08));background-origin:border-box;background-clip:padding-box,border-box;transition:all .45s var(--spring);box-shadow:0 1px 2px rgba(12,7,22,.04),0 4px 12px rgba(12,7,22,.02)}
.tc .sol-card:hover{transform:translateY(-8px);background-image:linear-gradient(var(--l0),var(--l0)),linear-gradient(135deg,rgba(167,13,42,.4),rgba(167,13,42,.06));box-shadow:0 4px 8px rgba(167,13,42,.04),0 12px 28px rgba(167,13,42,.06),0 28px 56px rgba(12,7,22,.05)}
.tc .sol-vis{height:130px;position:relative;overflow:hidden;border-bottom:1px solid var(--bl2);display:flex;align-items:center;justify-content:center}
.tc .sol-vis.v1{background:linear-gradient(135deg,rgba(167,13,42,.12),rgba(153,0,0,.03))}.tc .sol-vis.v2{background:linear-gradient(135deg,rgba(0,243,255,.12),rgba(0,243,255,.03))}.tc .sol-vis.v3{background:linear-gradient(135deg,rgba(0,230,118,.12),rgba(0,230,118,.03))}.tc .sol-vis.v4{background:linear-gradient(135deg,rgba(153,0,0,.12),rgba(153,0,0,.03))}.tc .sol-vis.v5{background:linear-gradient(135deg,rgba(147,51,234,.12),rgba(147,51,234,.03))}.tc .sol-vis.v6{background:linear-gradient(135deg,rgba(245,158,11,.12),rgba(245,158,11,.03))}
.tc .sol-pill{position:absolute;top:16px;right:16px;background:rgba(12,7,23,.76);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:var(--r100);padding:5px 14px;font-size:10px;font-weight:850;color:#fff;text-transform:uppercase;letter-spacing:.1em}
.tc .sol-ico{width:56px;height:56px;border-radius:var(--r14);display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.75);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.65);box-shadow:0 6px 20px rgba(12,7,22,.06);transition:transform .35s var(--spring)}
.tc .sol-card:hover .sol-ico{transform:scale(1.1) rotate(4deg)}
.tc .sol-ico svg{width:26px;height:26px}
.tc .sol-body{padding:26px}
.tc .sol-cat{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.12em;color:var(--red);margin-bottom:12px}
.tc .sol-card h3{font-size:19px;font-weight:800;color:var(--lx1);letter-spacing:-.02em;margin-bottom:8px}
.tc .sol-card p{font-size:13.5px;line-height:1.68;color:var(--lx2);margin-bottom:12px}
.tc .sol-chips{display:flex;gap:8px;flex-wrap:wrap}
.tc .sol-chip{font-size:11px;font-weight:700;padding:5px 12px;border-radius:var(--r6);background:rgba(167,13,42,.05);color:var(--red);border:1px solid rgba(167,13,42,.12);font-family:var(--fm);letter-spacing:.02em}

/* ═══ S05: 3-PANEL APP FEATURES (UNIQUE to C) ═══ */
.tc .app-panel{background:var(--card);border:1px solid var(--bd2);border-radius:var(--r20);overflow:hidden;backdrop-filter:blur(20px);box-shadow:0 4px 8px rgba(0,0,0,.3),0 16px 40px rgba(0,0,0,.4);transition:all .4s var(--spring);position:relative}
.tc .app-panel::before{content:'';position:absolute;inset:0;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent,rgba(255,255,255,.02));border-radius:var(--r20);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.tc .app-panel:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(0,0,0,.5)}
.tc .ap-head{padding:22px 28px;border-bottom:1px solid var(--bd);display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.02)}
.tc .ap-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.tc .ap-dot.cust{background:var(--teal);box-shadow:0 0 8px var(--teal)}.tc .ap-dot.prov{background:var(--red-l);box-shadow:0 0 8px var(--red)}.tc .ap-dot.admin{background:var(--green);box-shadow:0 0 8px var(--green)}
.tc .ap-title{font-size:14px;font-weight:800;color:var(--dx1);letter-spacing:-.01em}
.tc .ap-count{margin-left:auto;font-size:10px;font-weight:800;color:var(--dx4);background:rgba(255,255,255,.04);padding:3px 10px;border-radius:var(--r100);font-family:var(--fm)}
.tc .ap-list{padding:24px 28px;display:flex;flex-direction:column;gap:0}
.tc .ap-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--bd);font-size:13.5px;color:var(--dx2);font-weight:500;transition:transform .2s}
.tc .ap-item:last-child{border-bottom:none}
.tc .ap-item:hover{transform:translateX(4px)}
.tc .ap-check{width:16px;height:16px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:9px;font-weight:900}
.tc .ap-check.cust{background:rgba(0,243,255,.1);color:var(--teal);border:1px solid rgba(0,243,255,.2)}
.tc .ap-check.prov{background:rgba(167,13,42,.08);color:var(--red-l);border:1px solid rgba(167,13,42,.15)}
.tc .ap-check.admin{background:rgba(0,230,118,.08);color:var(--green);border:1px solid rgba(0,230,118,.15)}

/* ═══ S06: HOW IT WORKS — Vertical-specific flow ═══ */
.tc .flow-step{display:flex;gap:24px;align-items:flex-start;padding:28px 0;border-bottom:1px solid var(--bl2);transition:transform .2s}
.tc .flow-step:last-child{border-bottom:none}
.tc .flow-step:hover{transform:translateX(4px)}
.tc .flow-num{width:44px;height:44px;border-radius:50%;background:var(--rg);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:850;flex-shrink:0;box-shadow:0 8px 24px rgba(167,13,42,.3);position:relative}
.tc .flow-num::before{content:'';position:absolute;inset:-6px;border-radius:50%;border:1.5px solid rgba(167,13,42,.2)}
.tc .flow-step h3{font-size:17px;font-weight:800;color:var(--lx1);margin-bottom:8px;letter-spacing:-.02em}
.tc .flow-step p{font-size:14px;line-height:1.7;color:var(--lx2)}

/* ═══ S07: REVENUE MODEL (UNIQUE to C) ═══ */
.tc .rev-stream{border:1px solid transparent;border-radius:var(--r20);padding:28px;background-image:linear-gradient(var(--l0),var(--l0)),linear-gradient(135deg,rgba(12,7,22,.04),rgba(167,13,42,.1));background-origin:border-box;background-clip:padding-box,border-box;box-shadow:0 1px 2px rgba(12,7,22,.04),0 4px 12px rgba(12,7,22,.02);transition:all .45s var(--spring);position:relative;overflow:hidden}
.tc .rev-stream:hover{transform:translateY(-8px);background-image:linear-gradient(var(--l0),var(--l0)),linear-gradient(135deg,rgba(167,13,42,.4),rgba(167,13,42,.06));box-shadow:0 4px 8px rgba(167,13,42,.04),0 12px 28px rgba(167,13,42,.06),0 28px 56px rgba(12,7,22,.05)}
.tc .rs-icon{width:48px;height:48px;border-radius:var(--r14);background:var(--ra);border:1px solid var(--rb);display:flex;align-items:center;justify-content:center;margin-bottom:18px;transition:transform .3s var(--spring)}
.tc .rev-stream:hover .rs-icon{transform:scale(1.1) rotate(4deg)}
.tc .rs-icon svg{width:22px;height:22px;color:var(--red)}
.tc .rev-stream h3{font-size:17px;font-weight:800;color:var(--lx1);margin-bottom:8px;letter-spacing:-.02em}
.tc .rev-stream p{font-size:13px;line-height:1.65;color:var(--lx2);margin-bottom:12px}
.tc .rs-example{font-size:11.5px;font-weight:700;color:var(--red);font-family:var(--fm);letter-spacing:.02em}

/* ═══ S08: TECH STACK SPLIT — light version ═══ */
.tc .two-col{display:grid;grid-template-columns:1fr 1fr}
.tc .tc-panel{padding:130px 90px;display:flex;align-items:flex-start}
.tc .tc-inner{width:100%;max-width:560px}
.tc .two-col .tc-panel:first-child .tc-inner{margin-left:auto;margin-right:0}
.tc .two-col .tc-panel:last-child .tc-inner{margin-left:0;margin-right:auto}
.tc .qs-dark{background:var(--dk1);position:relative}
.tc .qs-dark::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 0% 100%,rgba(167,13,42,.08) 0%,transparent 68%);pointer-events:none}
.tc .qs-dark h2{color:var(--dx1)}.tc .qs-dark h2 em{color:var(--red-l)}.tc .qs-dark .lead{color:var(--dx2)}.tc .qs-dark .eyp{background:rgba(8,4,12,.75);border-color:var(--bd2)}.tc .qs-dark .eyp strong{color:#fff}.tc .qs-dark .el{background:var(--red)}
.tc .qs-red{background:var(--red-d);position:relative;overflow:hidden}
.tc .qs-red::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 100% 0%,rgba(167,13,42,.35) 0%,transparent 68%);pointer-events:none}
.tc .qs-red .tc-inner{position:relative;z-index:1}
.tc .stki-light{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:var(--r14);padding:22px 18px;text-align:center;transition:all .35s var(--ease);backdrop-filter:blur(10px)}
.tc .stki-light:hover{transform:translateY(-5px);border-color:rgba(167,13,42,.3);box-shadow:0 12px 28px rgba(0,0,0,.3);background:rgba(255,255,255,.08)}
.tc .stki-light .stlogo{width:42px;height:42px;border-radius:var(--r10);border:1px solid var(--bd2);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-size:12px;font-weight:850;background:rgba(255,255,255,.04);color:var(--red-l)}
.tc .stki-light .stname{font-size:13px;font-weight:800;color:var(--dx1);margin-bottom:4px}
.tc .stki-light .stdesc{font-size:10.5px;color:var(--dx3)}

/* Case study split */
.tc .cs-dark{background:var(--dk1);position:relative}
.tc .cs-dark::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 0% 100%,rgba(167,13,42,.08) 0%,transparent 68%);pointer-events:none}
.tc .cs-dark .tc-inner{position:relative;z-index:1}
.tc .cs-dark h2{color:var(--dx1)}.tc .cs-dark h2 em{color:var(--red-l)}.tc .cs-dark .body{color:var(--dx2)}.tc .cs-dark .eyp{background:rgba(8,4,12,.75);border-color:var(--bd2)}.tc .cs-dark .eyp strong{color:#fff}.tc .cs-dark .el{background:var(--red)}
.tc .csr{display:flex;gap:20px;align-items:flex-start;padding:22px 0;border-bottom:1px solid var(--bd)}.tc .csr:last-child{border-bottom:none}
.tc .csn{width:40px;height:40px;border-radius:var(--r10);display:flex;align-items:center;justify-content:center;font-size:13.5px;font-weight:850;flex-shrink:0;background:var(--ra);color:var(--red-l);border:1px solid var(--rb);transition:transform .3s}
.tc .csr:hover .csn{transform:scale(1.08) rotate(3deg)}
.tc .cst{font-size:16px;font-weight:800;margin-bottom:8px;color:var(--dx1);letter-spacing:-.01em}
.tc .csb{font-size:13.8px;line-height:1.7;color:var(--dx2)}
.tc .rbar{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.tc .rpill{padding:16px 20px;border-radius:var(--r10);text-align:center;background:rgba(255,255,255,.03);border:1px solid var(--bd);transition:all .28s var(--ease)}
.tc .rpill:hover{border-color:rgba(167,13,42,.4);background:rgba(167,13,42,.08);transform:translateY(-3px)}
.tc .rpill strong{display:block;font-size:24px;font-weight:800;color:var(--red-l);letter-spacing:-.03em;text-shadow:0 2px 10px rgba(167,13,42,.2)}
.tc .rpill span{display:block;font-size:11px;color:var(--dx3);margin-top:4px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.tc .cs-grey{background:var(--l2);position:relative;overflow:hidden}
.tc .cs-grey::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 20%,rgba(167,13,42,.04) 0%,transparent 60%);pointer-events:none}
.tc .cs-grey .tc-inner{position:relative;z-index:1}
.tc .testi{background:var(--l0);border:1px solid var(--bl2);border-radius:var(--r20);padding:36px;box-shadow:0 12px 40px rgba(12,7,22,.05);transition:transform .3s var(--spring),box-shadow .3s var(--ease)}
.tc .testi:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(12,7,22,.08)}
.tc .tlbl{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.14em;color:var(--red);margin-bottom:16px}
.tc .tq{font-size:16px;font-weight:550;line-height:1.76;font-style:italic;color:var(--lx1);letter-spacing:-.01em;position:relative;padding-left:20px}
.tc .tq::before{content:'"';position:absolute;left:-4px;top:-12px;font-size:56px;font-weight:800;color:rgba(167,13,42,.12);line-height:1;font-family:Georgia,serif}
.tc .tau{display:flex;align-items:center;gap:14px;padding-top:20px;margin-top:20px;border-top:1px solid var(--bl2)}
.tc .tav{width:44px;height:44px;border-radius:50%;background:var(--ra);border:1px solid var(--rb);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:850;color:var(--red)}
.tc .tnm{font-size:15px;font-weight:850;color:var(--lx1)}.tc .trl{font-size:12.8px;color:var(--lx3);margin-top:2px}
.tc .tvfy{margin-top:20px;padding:14px 18px;background:var(--l1);border-radius:var(--r10);font-weight:700;border:1px solid var(--bl2)}
.tc .proj-brief{background:var(--l0);border:1px solid var(--bl2);border-radius:var(--r20);padding:26px 30px;box-shadow:0 12px 40px rgba(12,7,22,.05);transition:transform .3s var(--spring),box-shadow .3s}
.tc .proj-brief:hover{transform:translateY(-3px);box-shadow:0 20px 50px rgba(12,7,22,.07)}
.tc .pb-title{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.14em;color:var(--red);margin-bottom:16px}
.tc .pb-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--bl2)}.tc .pb-row:last-child{border-bottom:none}
.tc .pb-label{color:var(--lx3);font-weight:600;font-size:13.5px}.tc .pb-val{color:var(--lx1);font-weight:800;font-size:13.5px}

/* ═══ DELIVERY PROCESS ═══ */
.tc .del-step{display:flex;gap:20px;align-items:flex-start;padding:24px 0;border-bottom:1px solid var(--bd)}
.tc .del-step:last-child{border-bottom:none}
.tc .del-step:hover{transform:translateX(4px)}
.tc .del-num{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:850;flex-shrink:0}
.tc .del-step h4{font-size:15px;font-weight:800;color:var(--dx1);margin-bottom:6px}
.tc .del-step p{font-size:13px;line-height:1.7;color:var(--dx2)}
.tc .del-pills{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.tc .del-pill{padding:14px 24px;border-radius:var(--r14);text-align:center;background:rgba(255,255,255,.03);border:1px solid var(--bd);transition:all .3s var(--spring)}
.tc .del-pill:hover{transform:translateY(-3px);border-color:rgba(167,13,42,.3);box-shadow:0 12px 28px rgba(0,0,0,.3)}
.tc .del-pill strong{display:block;font-size:20px;font-weight:800;color:#fff;text-shadow:0 2px 8px rgba(167,13,42,.2);font-feature-settings:'tnum' on}
.tc .del-pill span{display:block;font-size:10px;color:var(--dx3);text-transform:uppercase;letter-spacing:.08em;margin-top:4px;font-family:var(--fm)}

/* ═══ PRICING ═══ */
.tc .pcrd{background:var(--l0);border:1px solid transparent;border-radius:var(--r20);padding:44px 34px;position:relative;transition:all .45s var(--spring);overflow:hidden;background-image:linear-gradient(var(--l0),var(--l0)),linear-gradient(135deg,rgba(12,7,22,.04),rgba(167,13,42,.08));background-origin:border-box;background-clip:padding-box,border-box;box-shadow:0 1px 2px rgba(12,7,22,.04),0 4px 12px rgba(12,7,22,.02)}
.tc .pcrd::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:var(--rg);opacity:0;transition:opacity .3s}
.tc .pcrd:hover{transform:translateY(-8px);background-image:linear-gradient(var(--l0),var(--l0)),linear-gradient(135deg,rgba(167,13,42,.4),rgba(167,13,42,.06));box-shadow:0 4px 8px rgba(167,13,42,.04),0 12px 28px rgba(167,13,42,.06),0 28px 56px rgba(12,7,22,.05)}
.tc .pcrd:hover::before{opacity:1}
.tc .pcrd.hot{background-image:linear-gradient(var(--l1),var(--l1)),linear-gradient(135deg,rgba(167,13,42,.6),rgba(167,13,42,.2));box-shadow:0 20px 50px rgba(167,13,42,.12)}
.tc .pcrd.hot::before{opacity:1}
.tc .ptag{position:absolute;top:-1px;left:50%;transform:translateX(-50%);background:var(--red);color:#fff;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.1em;padding:5px 18px;border-radius:0 0 8px 8px;box-shadow:0 2px 8px rgba(167,13,42,.25)}
.tc .pname{font-size:19px;font-weight:800;color:var(--lx1);margin-bottom:14px;letter-spacing:-.02em}
.tc .pamt{font-size:40px;font-weight:850;line-height:1;margin-bottom:10px;letter-spacing:-.04em;background:linear-gradient(135deg,var(--red-d),var(--red));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;font-feature-settings:'tnum' on,'ss01' on}
.tc .pnote{font-size:12.8px;color:var(--lx3);margin-bottom:26px;font-weight:600}
.tc .pcrd ul{display:flex;flex-direction:column;gap:11px;margin-bottom:32px}
.tc .pcrd li{position:relative;padding-left:26px;font-size:13.8px;line-height:1.6;color:var(--lx2);font-weight:550}
.tc .pcrd li::before{content:'✓';position:absolute;left:0;font-weight:900;color:var(--green);font-size:12px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:rgba(0,230,118,.08);border-radius:50%;margin-top:2px}
.tc .hnote{padding:18px 24px;font-size:13.8px;color:var(--lx2);background:rgba(167,13,42,.03);border:1px solid rgba(167,13,42,.12);border-left:5px solid var(--red);border-radius:0 var(--r14) var(--r14) 0;box-shadow:-4px 0 16px rgba(167,13,42,.08),0 4px 16px rgba(12,7,22,.03)}

/* Related / FAQ / CTA */
.tc .rcrd{display:flex;align-items:center;gap:18px;border:1px solid transparent;border-radius:var(--r14);padding:22px 24px;transition:all .35s var(--spring);background-image:linear-gradient(var(--l0),var(--l0)),linear-gradient(135deg,rgba(12,7,22,.03),rgba(167,13,42,.06));background-origin:border-box;background-clip:padding-box,border-box;box-shadow:0 4px 16px rgba(12,7,22,.02)}
.tc .rcrd:hover{transform:translateX(6px);background-image:linear-gradient(var(--l0),var(--l0)),linear-gradient(135deg,rgba(167,13,42,.35),rgba(167,13,42,.06));box-shadow:0 20px 45px rgba(167,13,42,.1)}
.tc .rict{width:44px;height:44px;border-radius:var(--r10);display:flex;align-items:center;justify-content:center;background:var(--ra);border:1px solid var(--rb);flex-shrink:0;transition:transform .3s var(--spring)}
.tc .rcrd:hover .rict{transform:scale(1.1) rotate(4deg)}.tc .rict svg{width:20px;height:20px;color:var(--red)}
.tc .rcat{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.1em;color:var(--lx3);margin-bottom:5px}
.tc .rtit{font-size:15px;font-weight:800;color:var(--lx1);letter-spacing:-.01em}
.tc .fitem{border:1px solid transparent;border-radius:var(--r14);overflow:hidden;background-image:linear-gradient(var(--l0),var(--l0)),linear-gradient(135deg,rgba(12,7,22,.03),rgba(167,13,42,.06));background-origin:border-box;background-clip:padding-box,border-box;transition:box-shadow .4s,border-color .3s;box-shadow:0 4px 16px rgba(0,0,0,.01)}
.tc .fitem:hover{background-image:linear-gradient(var(--l0),var(--l0)),linear-gradient(135deg,rgba(167,13,42,.3),rgba(167,13,42,.06));box-shadow:0 16px 36px rgba(12,7,22,.06)}
.tc .fq{font-size:16px;font-weight:800;line-height:1.35;color:var(--lx1);padding:24px 28px 0;letter-spacing:-.02em}
.tc .faq-a{font-size:14px;line-height:1.74;color:var(--lx2);padding:12px 28px 24px;font-weight:500}
.tc .ctawrap{display:flex;align-items:center;justify-content:space-between;gap:64px;flex-wrap:wrap}
.tc .ctal{flex:1;min-width:280px}.tc .ctar{display:flex;flex-direction:column;gap:14px;flex-shrink:0;min-width:260px}
.tc .ctapr{display:flex;gap:36px;margin-top:32px;flex-wrap:wrap}
.tc .ctapr strong{display:block;font-size:28px;font-weight:850;letter-spacing:-.03em;line-height:1.1;background:linear-gradient(135deg,var(--red-d),var(--red));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none}
.tc .ctapr span{display:block;font-size:11.5px;color:var(--lx3);text-transform:uppercase;letter-spacing:.08em;margin-top:6px;font-weight:700}
.tc .ctanote{font-size:12.8px;color:var(--lx3);text-align:center;font-weight:600}

/* Section dividers */
.tc #trust{border-top:1px solid rgba(167,13,42,.08)}.tc #market{border-top:1px solid rgba(167,13,42,.04)}.tc #solutions{border-top:1px solid rgba(12,7,22,.04)}.tc #included{border-top:none}.tc #flow{border-top:1px solid rgba(167,13,42,.04)}.tc #revenue{border-top:1px solid rgba(12,7,22,.04)}.tc #related{border-top:1px solid rgba(167,13,42,.04)}.tc #faq{border-top:1px solid rgba(12,7,22,.04)}

/* ═══ RESPONSIVE ═══ */
@media(max-width:1100px){.tc .hi,.tc .sp{grid-template-columns:1fr;gap:48px}.tc .hr{display:block;margin-top:48px}.tc .hl{padding-bottom:0}.tc .g4,.tc .g6{grid-template-columns:1fr 1fr}.tc .ctawrap{flex-direction:column;align-items:flex-start;gap:40px}.tc .ctar{width:100%}.tc .two-col{grid-template-columns:1fr}.tc .tc-panel{padding:68px 40px}.tc .tc-panel .tc-inner{max-width:none;margin:0}.tc .hsr{flex-wrap:wrap;justify-content:center;gap:20px 24px}.tc .hsep{display:none}.tc .tbrow{gap:24px 32px}}
@media(max-width:900px){.tc .g4{grid-template-columns:1fr 1fr}.tc .g6{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.tc .W{padding:0 24px}.tc .S{padding:80px 0}.tc h2{font-size:28px;letter-spacing:-1px}.tc .hh1{font-size:38px;line-height:1.08;letter-spacing:-1.5px}.tc .hero{padding:60px 0 0}.tc .hctas{flex-direction:column;width:100%}.tc .hctas .btn{width:100%;justify-content:center;padding:18px 24px;font-size:15px}.tc .hstrip{padding:24px 0}.tc .hsr{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}.tc .tbar{padding:32px 0}.tc .tbrow{grid-template-columns:1fr 1fr;gap:16px}.tc .g3{grid-template-columns:1fr;max-width:600px;margin-left:auto;margin-right:auto;gap:20px}.tc .g2{grid-template-columns:1fr}.tc .tc-panel{padding:56px 28px}.tc .pcrd{padding:32px 24px}.tc .sh{flex-direction:column;align-items:flex-start;gap:16px}.tc .ctar .btn{width:100%;justify-content:center}.tc .ctapr{gap:16px}.tc .ctapr strong{font-size:22px}.tc .app-trio{gap:8px}.tc .app-phone{width:60px;height:100px;border-radius:10px}}
@media(max-width:640px){.tc .tbrow{grid-template-columns:1fr;gap:12px}.tc .tc-panel{padding:48px 22px}.tc .g6{grid-template-columns:1fr 1fr}.tc .del-pills{gap:8px}.tc .del-pill{padding:12px 18px}.tc .del-pill strong{font-size:16px}}
@media(max-width:480px){.tc .W{padding:0 16px}.tc .S{padding:60px 0}.tc .hh1{font-size:clamp(30px,8vw,36px);letter-spacing:-1px}.tc h2{font-size:clamp(22px,6vw,26px);letter-spacing:-.5px}.tc .hero{padding:44px 0 0}.tc .ta-bc{display:none}.tc .tc-panel{padding:40px 16px}.tc .pcrd{padding:28px 18px}.tc .pamt{font-size:34px}.tc .fq{font-size:14px;padding:18px 20px 0}.tc .faq-a{font-size:13px;padding:10px 20px 18px}.tc .btn{font-size:14px;padding:16px 24px}.tc .app-phone{width:52px;height:86px;border-radius:8px}.tc .mkt-inner{padding:22px}.tc .mkt-n{font-size:24px}.tc .data-card{padding:24px}.tc .data-n{font-size:32px}.tc .rev-stream{padding:22px}.tc .g6{grid-template-columns:1fr}}
@media(max-width:380px){.tc .hh1{font-size:28px}.tc h2{font-size:21px}.tc .hsr{grid-template-columns:1fr}.tc .pamt{font-size:30px}}

/* ═══ ICP CARDS (S08 Who This Is For) ═══ */
.tc .icp-card{border:1px solid transparent;border-radius:var(--r20);padding:32px 28px;background-image:linear-gradient(var(--l0),var(--l0)),linear-gradient(135deg,rgba(12,7,22,.06),rgba(167,13,42,.15));background-origin:border-box;background-clip:padding-box,border-box;box-shadow:0 1px 2px rgba(12,7,22,.04),0 4px 12px rgba(12,7,22,.02);transition:all .45s var(--spring);position:relative;overflow:hidden}
.tc .icp-card:hover{transform:translateY(-8px);background-image:linear-gradient(var(--l0),var(--l0)),linear-gradient(135deg,rgba(167,13,42,.45),rgba(167,13,42,.08));box-shadow:0 4px 8px rgba(167,13,42,.04),0 12px 28px rgba(167,13,42,.06),0 28px 56px rgba(12,7,22,.05)}
.tc .icp-icon{width:52px;height:52px;border-radius:var(--r14);background:var(--ra);border:1px solid var(--rb);display:flex;align-items:center;justify-content:center;margin-bottom:18px;transition:transform .3s var(--spring)}
.tc .icp-card:hover .icp-icon{transform:scale(1.1) rotate(4deg)}
.tc .icp-icon svg{width:24px;height:24px;color:var(--red)}
.tc .icp-card h3{font-size:18px;font-weight:800;color:var(--lx1);margin-bottom:10px;letter-spacing:-.02em}
.tc .icp-card p{font-size:13.5px;line-height:1.68;color:var(--lx2);margin-bottom:14px}
.tc .icp-examples{font-size:12px;color:var(--lx3);padding-top:14px;border-top:1px solid var(--bl2);font-weight:600}
.tc .icp-examples strong{color:var(--red);font-weight:800}

/* ═══ COMPETITIVE ROWS (S09 Why Miracuves) ═══ */
.tc .comp-row{display:flex;align-items:center;justify-content:space-between;gap:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:var(--r14);padding:16px 22px;transition:all .3s var(--ease);margin-bottom:8px}
.tc .comp-row:last-child{margin-bottom:0}
.tc .comp-row:hover{background:rgba(255,255,255,.08);border-color:rgba(167,13,42,.35);transform:translateX(6px);box-shadow:0 10px 24px rgba(0,0,0,.25)}
.tc .comp-label{font-size:14px;font-weight:650;color:var(--dx1)}
.tc .comp-us{font-size:12px;font-weight:800;color:var(--green);background:rgba(0,230,118,.06);border:1px solid rgba(0,230,118,.15);padding:4px 12px;border-radius:var(--r6);font-family:var(--fm);letter-spacing:.02em}
.tc .comp-them{font-size:12px;font-weight:700;color:var(--dx4);background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);padding:4px 12px;border-radius:var(--r6);font-family:var(--fm);letter-spacing:.02em}
/* Why points on red side */
.tc .why-point{display:flex;gap:16px;align-items:flex-start;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.tc .why-point:last-child{border-bottom:none}
.tc .why-num{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:850;flex-shrink:0}
.tc .why-point h4{font-size:15px;font-weight:800;color:#fff;margin-bottom:6px}
.tc .why-point p{font-size:13px;line-height:1.65;color:rgba(255,255,255,.82)}

/* ═══ REVIEW CARDS (S14 Client Reviews) ═══ */
.tc .rev-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:var(--r20);padding:34px;transition:all .35s var(--ease);box-shadow:0 8px 30px rgba(0,0,0,.25);backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:14px}
.tc .rev-card:hover{background:rgba(255,255,255,.05);border-color:rgba(167,13,42,.35);transform:translateY(-8px);box-shadow:0 30px 60px rgba(167,13,42,.12),0 10px 30px rgba(0,0,0,.45)}
.tc .rev-stars{color:#ffe644;font-size:16px;letter-spacing:2px;text-shadow:0 0 10px rgba(255,230,68,.3)}
.tc .rev-source{color:rgba(255,255,255,.7);font-size:11.5px;font-weight:750;text-transform:uppercase;letter-spacing:.1em}
.tc .rev-quote{color:#fff;font-size:15px;line-height:1.76;font-style:italic;font-weight:500;flex:1}
.tc .rev-author{display:flex;align-items:center;gap:16px;padding-top:20px;margin-top:auto;border-top:1px solid rgba(255,255,255,.06)}
.tc .rev-av{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:850;color:#fff}
.tc .rev-name{color:#fff;font-weight:800;font-size:14.5px}
.tc .rev-role{color:rgba(255,255,255,.6);font-size:12.5px;margin-top:2px}
.tc .rev-tag{font-size:11px;color:var(--red-l);font-weight:750;text-transform:uppercase;letter-spacing:.06em}
.tc .rev-summary{display:flex;align-items:center;gap:32px;flex-wrap:wrap;background:var(--l0);border:1px solid var(--bl2);border-radius:var(--r14);padding:24px 36px;box-shadow:0 8px 24px rgba(12,7,22,.02)}
.tc .rev-sum-item strong{font-size:24px;font-weight:850;letter-spacing:-.02em;line-height:1.1;background:linear-gradient(135deg,var(--red-d),var(--red));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.tc .rev-sum-item span{display:block;font-size:11.5px;color:var(--lx3);text-transform:uppercase;letter-spacing:.08em;margin-top:5px;font-weight:700}
.tc .rev-sum-sep{width:1px;height:42px;background:var(--bl2);flex-shrink:0}

/* ═══ FULL 16-ITEM TECH STACK ═══ */
.tc .stack16{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.tc .stki{background:var(--card);border:1px solid var(--bd);border-radius:var(--r14);padding:28px 22px;text-align:center;transition:all .35s var(--ease);backdrop-filter:blur(20px);position:relative}
.tc .stki::before{content:'';position:absolute;inset:0;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent,rgba(255,255,255,.02));border-radius:var(--r14);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.tc .stki:hover{transform:translateY(-6px);border-color:var(--red);box-shadow:0 20px 40px rgba(167,13,42,.12)}
.tc .stki .stlogo{width:50px;height:50px;border-radius:var(--r10);border:1px solid var(--bd2);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:14px;font-weight:850;background:rgba(255,255,255,.06);color:var(--red-l);transition:transform .3s var(--spring)}
.tc .stki:hover .stlogo{transform:scale(1.1) rotate(4deg)}
.tc .stki .stname{font-size:14px;font-weight:800;color:var(--dx1);margin-bottom:6px;letter-spacing:-.01em}
.tc .stki .stdesc{font-size:11px;line-height:1.5;color:var(--dx3);font-weight:500}

/* Responsive additions for new components */
@media(max-width:768px){
  .tc .g4.icp-grid{grid-template-columns:1fr 1fr}
  .tc .rev-summary{flex-direction:column;align-items:center;gap:20px;text-align:center}
  .tc .rev-sum-sep{display:none}
  .tc .stack16{grid-template-columns:repeat(2,1fr);gap:14px}
  .tc .comp-row{flex-direction:column;align-items:flex-start;gap:8px}
}
@media(max-width:640px){
  .tc .g4.icp-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .tc .stack16{grid-template-columns:1fr}
  .tc .icp-card{padding:24px 20px}
  .tc .rev-card{padding:24px}
  .tc .why-point h4{font-size:13px}
  .tc .why-point p{font-size:12px}
}

/* SEO upgrade sections — Type C */
.tc .mrow{display:flex;align-items:center;gap:10px;margin-top:28px;font-size:13px;color:var(--lx3)}
.tc .mrow svg{width:16px;height:16px;stroke:var(--lx4);flex-shrink:0}
.tc .mrow a{color:var(--red);font-weight:700}
.tc .sp5050a{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:start}
.tc .sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.tc .scard{background:var(--l0);border:1px solid var(--bl2);border-radius:var(--r14);padding:20px;text-align:center}
.tc .scard .sn{font-size:24px;font-weight:800;color:var(--lx1);letter-spacing:-.5px}
.tc .scard .sl{font-size:12px;color:var(--lx3);margin-top:6px;line-height:1.4}
.tc .anote{margin-top:28px;padding:24px;border-left:3px solid var(--red);background:var(--l1);border-radius:0 var(--r14) var(--r14) 0}
.tc .anh{font-size:12px;font-weight:800;color:var(--red);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.tc #architecture .arch-card{background:var(--l0);border:1px solid var(--bl2);border-radius:var(--r14);padding:24px;margin-bottom:16px;box-shadow:0 4px 16px rgba(12,7,22,.02)}
.tc #architecture .arch-card h4{color:var(--lx1);font-size:15px;font-weight:700;margin-bottom:8px}
.tc #architecture .arch-card p{color:var(--lx2);font-size:13px;line-height:1.65}
.tc #architecture .arch-link{margin-top:20px;display:inline-flex;align-items:center;gap:8px;color:var(--red);font-weight:700;font-size:14px}
.tc .arch-card{background:var(--card);border:1px solid var(--bd);border-radius:var(--r14);padding:24px;margin-bottom:16px}
.tc .arch-card h4{color:var(--dx2);font-size:15px;font-weight:700;margin-bottom:8px}
.tc .arch-card p{color:var(--dx3);font-size:13px;line-height:1.65}
.tc .arch-link{margin-top:20px;display:inline-flex;align-items:center;gap:8px;color:var(--red-l);font-weight:700;font-size:14px}
.tc .vstep{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.tc .vstep:last-child{border-bottom:none}
.tc .vstep-nb{width:36px;height:36px;border-radius:50%;background:rgba(167,13,42,.2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex-shrink:0}
.tc .vstep h4{color:#fff;font-size:15px;font-weight:700;margin-bottom:6px}
.tc .vstep p{color:rgba(255,255,255,.75);font-size:13px;line-height:1.6}
.tc .qsteps{margin-top:8px}
.tc .dbx{background:var(--l1);border:1px solid var(--bl2);border-radius:var(--r14);padding:24px}
.tc .dlbl{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.tc .qrow{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:var(--r10);padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.tc .qrow .qn{color:var(--dx2);font-size:14px;font-weight:500;flex:1}
.tc .qrow .qb{font-size:11px;font-weight:800;color:var(--red-l);text-transform:uppercase;letter-spacing:.06em;flex-shrink:0}
.tc .fitem .faq-a{font-family:var(--f)!important;text-transform:none!important;letter-spacing:normal!important;font-style:normal!important}
.tc .rev-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px;width:100%}
.tc .sR .rev-summary{width:100%;box-sizing:border-box}
.tc .sR .rev-summary .btn-p{margin-left:auto;flex-shrink:0;background:var(--rg)!important;color:#fff!important;border:none!important;box-shadow:0 10px 28px rgba(167,13,42,.35)}
.tc .sR a.rev-tag{display:inline-block;color:#ffe644!important;text-decoration:none!important;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.06em;transition:opacity .25s}
.tc .sR a.rev-tag:hover{opacity:.85;text-decoration:underline!important}
.tc .sR .rev-tag{color:#ffe644}
.tc .body{font-size:15px;line-height:1.7;color:var(--lx2)}
.tc .sD .body,.tc .sD2 .body{color:var(--dx2)}
/* What's Included — dark section, readable 2-col feature grid */
.tc #included.sD{padding:100px 0}
.tc #included .included-lead{color:var(--dx2)!important;line-height:1.75}
.tc #included .included-trio{display:flex;align-items:flex-end;justify-content:center;gap:32px;margin:0 auto 52px;max-width:520px}
.tc #included .included-trio .app-phone{width:84px;height:140px;border-radius:15px}
.tc #included .included-trio .app-lbl{font-size:10px;margin-top:10px}
.tc #included .included-panels{align-items:stretch;gap:24px}
.tc #included .app-panel{display:flex;flex-direction:column;height:100%;min-width:0;background:rgba(6,3,14,.88);border:1px solid rgba(255,255,255,.09);box-shadow:0 20px 50px rgba(0,0,0,.35)}
.tc #included .app-panel:hover{transform:translateY(-8px);box-shadow:0 28px 64px rgba(0,0,0,.45)}
.tc #included .app-panel--cust{border-top:3px solid var(--teal)}
.tc #included .app-panel--prov{border-top:3px solid var(--red-l)}
.tc #included .app-panel--admin{border-top:3px solid var(--green)}
.tc #included .ap-head{padding:22px 22px 18px;gap:14px;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent);border-bottom:1px solid rgba(255,255,255,.06)}
.tc #included .ap-icon{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tc #included .ap-icon.cust{background:rgba(0,243,255,.1);border:1px solid rgba(0,243,255,.22)}
.tc #included .ap-icon.prov{background:rgba(167,13,42,.14);border:1px solid rgba(167,13,42,.28)}
.tc #included .ap-icon.admin{background:rgba(0,230,118,.1);border:1px solid rgba(0,230,118,.22)}
.tc #included .ap-icon .ap-dot{width:11px;height:11px;margin:0}
.tc #included .ap-meta{flex:1;min-width:0}
.tc #included .ap-title{display:block;font-size:17px;font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.25}
.tc #included .ap-sub{display:block;font-size:10.5px;font-weight:700;color:var(--dx4);margin-top:5px;text-transform:uppercase;letter-spacing:.07em}
.tc #included .ap-count{margin-left:auto;font-size:10px;font-weight:800;color:var(--dx3);background:rgba(255,255,255,.06);padding:6px 11px;border-radius:var(--r100);border:1px solid rgba(255,255,255,.1);white-space:nowrap}
.tc #included .ap-list{padding:16px 20px 22px;display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;flex:1}
.tc #included .ap-item{align-items:flex-start;padding:8px 10px;border:none;border-radius:10px;font-size:13px;line-height:1.55;color:rgba(255,255,255,.9);font-weight:500;transition:background .2s}
.tc #included .ap-item:hover{transform:none;background:rgba(255,255,255,.04)}
.tc #included .ap-text{flex:1;min-width:0}
.tc #included .ap-check{width:20px;height:20px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;font-size:0}
.tc #included .ap-check svg{width:11px;height:11px}
.tc #included .included-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:44px}
.tc #included .included-stat{font-size:12px;font-weight:700;padding:10px 18px;border-radius:var(--r100);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:var(--dx2);letter-spacing:.02em}
@media(max-width:1100px){.tc #included .ap-list{grid-template-columns:1fr}}
@media(max-width:768px){.tc #included.sD{padding:80px 0}.tc #included .included-trio{gap:18px;margin-bottom:40px}.tc #included .included-trio .app-phone{width:68px;height:114px}}

/* ── Native document scroll (WordPress / Elementor safe) ── */
html,body{scroll-behavior:auto!important;overscroll-behavior-y:auto!important}
.tc,.tb{width:100%!important;max-width:100%!important;overflow:visible!important}
.elementor-widget-html .elementor-widget-container,
.elementor-element .elementor-widget-container{overflow:visible!important;max-height:none!important;height:auto!important;touch-action:auto!important}
.tc [id],.tb [id]{scroll-margin-top:96px}

/* Native scroll — no reveal / smooth-scroll lock on WordPress */
.tc{scroll-behavior:auto!important}
.tc .rev,.tc .revl,.tc .revr,.tc .stag,.tc .stag>*{opacity:1!important;transform:none!important;transition:none!important}
@media(max-width:1100px){.tc .rev-grid{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}}
@media(max-width:900px){.tc .sp5050a{grid-template-columns:1fr;gap:48px}.tc .sgrid{grid-template-columns:1fr 1fr}.tc .sR .rev-summary .btn-p{margin-left:0}}
@media(max-width:600px){.tc .sgrid{grid-template-columns:1fr}}

    
    
    
  [Home](https://miracuves.com/)/[Services](https://miracuves.com/service/)/[Verticals](https://miracuves.com/service/)/Grocery Delivery App Development
    
      
        **Vertical Solution · Grocery & Quick Commerce**
        
# Grocery Delivery AppDevelopmentMulti-Store · Shopper Pick · Substitutions · Quick Commerce

        
Launch a complete grocery delivery platform - customer app, shopper app, admin panel - from Miracuves Instacart-style clones in 5-9 days from $3,699. Multi-store catalogs, substitution flows, live tracking, 100% Flutter source code.

        6 Day DeliveryFull Platform IncludedFrom $3,699100% Source Code
        
          [WhatsApp - Talk to Our Team](https://wa.me/919830009649)
          [Explore Grocery Solutions](https://miracuves.com/schedule-consultation/)
        
        Clutch 5.0★·9,000+ Projects Deployed·[View live deployments →](https://miracuves.com/portfolio/)
      
      
          
            
            
        
          Grocery & Q-Commerce2026 DATA
          
            $1.1TOnline Grocery 2026Statista
            19.5%Q-Commerce CAGRMcKinsey
            $86BUS Grocery DeliveryGrand View Research
            58%Prefer App ReorderNielsen
          
          Miracuves grocery clones deploy in 5-9 days
        
        
  **Basket**Customer view
  Your basket**4 items****Fresh produce***$12.40***Dairy***$8.90***Bakery***$5.20***Household***$16.10*Total$42.60
  **Substitutions**Customer approves before pickup

      
          
        
    
  
  
    **$1,899**Starting price
    
    **5-9 Days**Full deployment
    
    **3 Apps**Customer · Shopper · Admin
    
    **90+**Clone solutions
    
    **100%**Source code yours
  

		
			
				
				
					More than 6,000+ Companies Trust us Worldwide				
				
				
				
					        
            
                
					                            
                                
									                                    
										[![Miracuves Ranked among top 1000 companies globally by Clutch](https://miracuves.com/wp-content/uploads/2024/03/Miracuves-Clutch-top-1000-company.webp "Grocery Delivery App Development 1")](https://clutch.co/profile/miracuves-solutions#reviews)                                    
									                                
                            
						                            
                                
									                                    
										[![Miracuves is a top-minus service provider in the United States by Clutch](https://miracuves.com/wp-content/uploads/2024/03/Miracuves-clutch-top-managed-service-provider-US.webp "Grocery Delivery App Development 2")](https://clutch.co/profile/miracuves-solutions#reviews)                                    
									                                
                            
						                            
                                
									                                    
										![MediaCube is the best managed IT service provider in New York City by Expertise.com](https://miracuves.com/wp-content/uploads/2024/03/Miracuves-Expertise-Provider.webp "Grocery Delivery App Development 3")                                    
									                                
                            
						                            
                                
									                                    
										![MiraQs as an official member of Forbes Business Council ](https://miracuves.com/wp-content/uploads/2024/03/Mircuves-Official-Memeber-Forbes-Council.webp "Grocery Delivery App Development 4")                                    
									                                
                            
						                            
                                
									                                    
										[![Miracuves is a verified agency with design rush. ](https://miracuves.com/wp-content/uploads/2024/03/DesignRush-Top-Design-Agencies-in-India.webp "Grocery Delivery App Development 5")](https://www.designrush.com/agency/profile/miracuves#reviews)                                    
									                                
                            
						                            
                                
									                                    
										[![MiraQs is ranked as a trustworthy service provider with Trustpilot. ](https://miracuves.com/wp-content/uploads/2025/04/Miracuves-TrustPilot-Top-Software-Development-Company.webp "Grocery Delivery App Development 6")](https://www.trustpilot.com/review/miracuves.com)                                    
									                                
                            
						                            
                                
									                                    
										[![Miracuves is one of the top managed service providers, companies by themanifest. ](https://miracuves.com/wp-content/uploads/2025/04/Miracuves-The-Manifest-Top-Managed-Software-Development-Company.webp "Grocery Delivery App Development 7")](https://themanifest.com/company/miracuves-solutions)                                    
									                                
                            
						                            
                                
									                                    
										[![Miracuves ranked as a top software development company by Design Rush. ](https://miracuves.com/wp-content/uploads/2025/04/Miracuves-Designrush-Top-Software-Development-Company.webp "Grocery Delivery App Development 8")](https://www.designrush.com/agency/profile/miracuves#reviews)                                    
									                                
                            
						                            
                                
									                                    
										[![Miracuves is recognized as top software developed company by goodfirms. ](https://miracuves.com/wp-content/uploads/2025/04/Miracuves-GoodFirms-Top-Software-Development-Company.webp "Grocery Delivery App Development 9")](https://www.goodfirms.co/company/miracuves-solution)                                    
									                                
                            
						                
            
			        
						
				
				
				
		

  **Market Opportunity**
## Online grocery delivery is growing 19% annually

Supermarkets, dark stores, and quick-commerce startups compete on substitution UX and slot reliability - clone bases ship catalog, shopper, and admin day one. Miracuves confirms grocery delivery scope, integrations, and timeline in writing before payment.

  
    $1.1TOnline Grocery 2026Grocery delivery and click-and-collect spend globally - fastest-growing segment in last-mile retail.Statista 2024
    19.5%Quick Commerce CAGR10-30 minute delivery models expanding in India, MENA, and Latin America.McKinsey 2024
    58%App-First ReordersHouseholds repeating weekly grocery orders via mobile apps vs web or phone.Nielsen 2023
    $86BUS Grocery DeliveryLargest single-country online grocery revenue pool - still underpenetrated vs food delivery.Grand View Research 2024
    3.2×Basket Size vs FoodAverage grocery order value multiple compared to restaurant delivery - higher GMV per trip.Brick Meets Click 2024
    41%Substitution ToleranceShoppers who complete orders when one or more items are swapped with approval flows.Instacart Retail Data 2023
  

  
    **Our Approach**
    
## How Miracuves deploys grocery platforms - picking and substitutions built in

    
After 9,000+ deployments, Miracuves uses production-tested Flutter clone modules for grocery delivery - payments, maps, admin commission rules, and store pipelines integrated before your branding pass, not invented during a six-month greenfield build. Each vertical page cross-links to relevant clone URLs on miracuves.com and to technology pages such as Flutter, Node.js, or AWS where deeper stack detail lives.

    
Who this is for: founders and operators launching grocery delivery who need both stores live with published pricing, full IP ownership, and a company accountable through app review - not freelancers rebuilding core product flows from scratch. Miracuves runs device QA on representative Android and iOS hardware before store handoff, and documents API keys, push credentials, and admin access in your delivery pack - so your team operates the grocery delivery platform without vendor lock-in after launch.

    
Every grocery delivery engagement starts with NDA and written scope: clone base, payment corridor, branding assets, and store account ownership. Device QA runs on release builds; admin rules, commission tables, and webhooks are validated before handoff. Miracuves stays accountable through app review with sixty-day support - not a repository-only drop after launch day. Cross-links on this page route to related vertical service URLs, Type A technology pages, and published clone products on miracuves.com. Founders comparing vendors should weigh three apps plus admin, source ownership, and company-backed delivery against freelancers rebuilding core flows from scratch.

    
**When a clone may not fit:** Not ideal when you require deep WMS/ERP customisation beyond API sync, or perishable compliance workflows that differ materially from standard shopper-substitution flows.

    
      Profiled on release builds, never in development mode
      Clear state boundaries - testable business logic from day one
      Physical device QA on iOS and Android before store submission
      Admin panel included - commissions, zones, and analytics pre-wired
      100% source code + IP transfer at handoff - not licensed hosting
    
    
      
      Written by Miracuves Grocery & Quick-Commerce Team · June 2026 · [View Deployed Portfolio →](https://miracuves.com/portfolio/)
    
  
  
    
      9,000+Projects delivered by Miracuves
      90+Production clone bases
      6 daysStandard scoped deployment
      100%Source code ownership
      60dPost-launch support included
      $3,699Published starting anchor
    
    
      
From our deployment team

      
"We configure payments, maps, and admin commission rules before branding - so your grocery delivery launch is operations-ready, not a UI shell waiting for backend work."

    
  

  **Grocery Clone Solutions**
## Grocery platforms Miracuves deploys

[View All 90+ Solutions →](https://miracuves.com/solutions/)
  
[6 Days
Multi-Store

### Instacart Clone

Shopper picking, substitutions, and multi-retailer catalog. Full grocery delivery source code and admin included - scoped before payment.

$2,1993 Apps](https://miracuves.com/instacart-clone/)
[6 Days
Quick Commerce

### Blinkit Clone

Dark-store 10-minute delivery with zone dispatch. Full grocery delivery source code and admin included - scoped before payment.

$2,1993 Apps](https://miracuves.com/blinkit-clone/)
[6 Days
Scheduled

### BigBasket Clone

Slot booking, subscription baskets, and FMCG catalog. Full grocery delivery source code and admin included - scoped before payment.

$2,1993 Apps](https://miracuves.com/bigbasket-clone/)
[6 Days
10-Min Delivery

### Zepto Clone

Hyperlocal micro-fulfillment for metro quick commerce. Full grocery delivery source code and admin included - scoped before payment.

$2,1993 Apps](https://miracuves.com/zepto-clone/)
[6 Days
Fresh Grocery

### FreshDirect Clone

Perishables-focused catalog with cold-chain flags. Full grocery delivery source code and admin included - scoped before payment.

$2,1993 Apps](https://miracuves.com/freshdirect-clone/)
[6 Days
Retail Giant

### Amazon Fresh Clone

Subscribe & save, pantry staples, and express slots. Full grocery delivery source code and admin included - scoped before payment.

$2,4993 Apps](https://miracuves.com/amazonfresh-clone/)
  

  **What's Included**
## Customer app · Shopper app · Admin panel

Every grocery deployment includes three complete applications - 45 production features across catalog, picking, and operations, not a stripped MVP. Miracuves confirms grocery delivery scope, integrations, and timeline in writing before payment.

  

Customer

Shopper

Admin

  
  
Customer AppiOS & Android · store-ready15 featuresMulti-store browse & aisle searchBarcode scan & smart product searchSubstitution preferences per itemScheduled delivery slots & expressReal-time shopper chat & updatesLive order tracking on mapWallet, card & COD checkoutRecurring weekly grocery listsPromo codes & loyalty pointsMulti-address saved locationsPush alerts for substitutionsDietary & organic filtersReorder from purchase historyMulti-language & RTL supportApple Pay / Google Pay checkout
Shopper AppiOS & Android · store-ready15 featuresBatch pick lists by store zoneBarcode scan verify at shelfSubstitution approval workflowWeight & quantity adjustment toolsCustomer chat for replacementsRoute optimization multi-orderProof of delivery photo captureEarnings & tip dashboardOnline/offline availability toggleStore assignment & handoffCold-chain item flaggingPerformance & rating analyticsDocument upload for KYCMulti-store outlet switchingSupport ticket escalation
Admin PanelWeb console · store-ready15 featuresStore & catalog onboardingSKU import CSV & ERP sync hooksCommission per store or zoneSubstitution rule engineLive ops map - shoppers & ordersSurge & delivery fee configurationCampaign & coupon managementInventory low-stock alertsDispute & refund workflowsRevenue dashboards & exportsFraud & chargeback monitoringPush notification broadcastsZone & city managementShopper KYC verification queueAPI for POS / WMS partners
  
  
    45 production features
    3 complete applications
    100% source code
    60-day support
  

  **How It Works**
## Grocery flow - cart to doorstep

  
    
      1
### Customer builds cart across stores

Aisle search, barcode scan, and substitution preferences set before checkout.

      2
### Shopper receives pick list

Batch picking by zone with barcode verification and replacement approval workflow.

      3
### Live updates on substitutions

Customer approves swaps in-app or via pre-set rules - chat available for edge cases.

      4
### Delivery completed & payment settled

Weight-adjusted totals, tips, and split payouts between platform, store, and shopper.

      5
### Ratings & repeat lists saved

Weekly reorder lists and loyalty points drive retention without re-entering SKUs.

    
    
      <3 minCart to checkoutMulti-store browse, substitutions set, slot selected.
      LiveShopper pickingBarcode verify, swap approval, and chat in one flow.
      AutoPayout splitPlatform, store, and shopper settled per admin rules.
    
  

  **Revenue Model**
## 6 ways your grocery platform generates revenue

Monetisation channels pre-configured in admin - ready at launch. Commission tables and fee rules are pre-wired in admin so monetisation activates at launch. Miracuves confirms grocery delivery scope, integrations, and timeline in writing before payment.

  
    
### Commission per Basket

Take rate on grocery GMV - configurable per store chain or category.

Example: 12-22% per order
    
### Delivery & Service Fees

Express, scheduled slot, and minimum-order fees retained by platform.

Example: $3-8 per delivery
    
### Store Partner Subscriptions

Monthly SaaS for chains wanting premium placement and analytics.

Example: $199/mo per store group
    
### Sponsored Aisle Placement

Brands pay for featured SKUs and search boost in customer app.

Example: CPM or flat monthly
    
### Membership Programs

Annual fee for free delivery - Instacart+ style recurring revenue.

Example: $79-99/year per household
    
### White-Label Licensing

License grocery stack to regional retailers under your brand.

Example: enterprise custom
  
  **Revenue projection reference:** 150 orders/day at $65 AOV and 15% commission ≈ $44,000/month before delivery fees.

  **Who This Is For**
## Is a grocery delivery platform right for you?

  
    
### Supermarket Chains

Own the delivery channel instead of paying aggregator fees on every basket. Miracuves documents clone base and timeline from the $3,699 anchor before you commit.

Common use: **Regional grocers**
    
### Quick-Commerce Startups

Dark-store model with 10-30 minute promise and zone-based dispatch. Miracuves documents clone base and timeline from the $3,699 anchor before you commit.

Common use: **Metro q-commerce**
    
### Wholesale & FMCG

Extend B2B catalog to consumer doorstep with your brand. Miracuves documents clone base and timeline from the $3,699 anchor before you commit.

Common use: **Distributors**
    
### Franchise Operators

White-label grocery for multiple cities from one Flutter codebase. Miracuves documents clone base and timeline from the $3,699 anchor before you commit.

Common use: **Emerging markets**
  

  
    **Why Miracuves**
    
## How Miracuves compares to typical grocery delivery vendors

    
Most grocery delivery vendors compete on price alone or hide admin costs. Here is what that comparison looks like when you evaluate total cost of ownership.

    
      Source code ownership100% Yours
      Admin panel includedAlways
      Post-launch support60 Days
      NDA before details sharedDay One
      Published pricingYes, public
      App Store submissionFully managed
      Real device QAAlways tested
    
  
  
    01
#### We publish prices - most vendors don't

Hidden pricing wastes time and signals weak delivery confidence. Miracuves publishes rates because scoped clone deployments have known effort - not open-ended custom builds sold through negotiation traps.

    02
#### Source code is yours, not licensed

Some vendors retain partial rights or lock you into their hosting. Miracuves transfers 100% IP - you can take the codebase to any developer at any time.

    03
#### Admin panel isn't an upsell

Competitors often quote the customer app cheap, then charge extra for admin and provider apps. Miracuves includes the full platform in the base price for Grocery Delivery deployments.

    04
#### Real devices, not just emulators

Emulator-only testing misses GPS drift, push notification failures, and payment edge cases. Every Miracuves build is QA'd on physical iOS and Android hardware.

    05
#### Honest timelines, not marketing numbers

Miracuves states 5-9 days for scoped deployments and documents any extension in writing before payment - not surprise SOWs mid-project.

  

  
    
      **Architecture**
      
## Grocery architecture - catalog, picking, cold-chain flags

      
Miracuves vertical deployments use a proven Flutter monorepo pattern - not a one-off freelance stack that changes per project.

      
    
#### Client apps - Flutter 3.24+ / the renderer

Customer and provider apps share Dart business logic with platform channels for biometrics, background GPS, and push - one sprint updates both stores for grocery delivery flows.

    
#### Admin & operations panel

Web admin for commissions, zones, catalog, disputes, and analytics - included in base price, not a Phase 2 upsell common with offshore vendors.

    
#### API & real-time layer

Laravel or Node.js REST plus WebSockets for live tracking, chat, and order state - Redis queues for dispatch retries and notification fan-out.

    
#### Payments & payouts

Stripe, Razorpay, or regional PSP wired with webhook idempotency and admin reconciliation - scoped to your market before configuration starts.

      
      [Deep dive: Flutter App Development →](https://miracuves.com/service/flutter-app-development/)
    
    
      
        Flutter
        Default client stack
        the renderer rendering, platform channels for GPS and push, Codemagic CI - see [Flutter App Development](https://miracuves.com/service/flutter-app-development/) for full technical stack decisions and peer framework comparison on our technology page.
      
      
        Laravel / Node
        API + real-time
        REST for CRUD, WebSockets for live order state, Redis for job queues - paired with [Node.js Development](https://miracuves.com/service/node-js-development/) or Laravel pages in our technology catalog.
      
      
        90+ Clones
        Cross-linked catalog
        Every vertical page links to live Miracuves clone products on [Miracuves solutions](https://miracuves.com/solutions/) - honest stack attribution, not generic marketing claims.
      
    
  

  **Technology Stack**
## Grocery stack - catalog, picking, cold-chain flags

For deep architecture details, see our [Flutter App Development](https://miracuves.com/service/flutter-app-development/) page.

  
    FLFlutter 3.24+Core framework · the renderer
    DtDart 3.5Type-safe async language
    LvLaravelBackend REST API
    NoNode.jsReal-time services
    FBFirebaseAuth · FCM · Firestore
    GMGoogle MapsGPS · routing · geofence
    💳Stripe/RazorpayPayments · payouts
    WsWebSocketsLive tracking · chat
    RdRedisCache · job queues
    MyMySQLPrimary data store
    SqSQLite/HiveOffline-first cache
    CmCodemagicCI/CD pipelines
    DkDocker/AWSInfra & scaling
    SnSentryCrash & error tracking
    TwTwilioSMS · OTP verification
    MxMapboxAlt. mapping provider
  

  
    **Quality Standards**
    
## Quality gates for grocery and quick-commerce

    
Every grocery delivery deployment passes Miracuves production gates - not emulator-only sign-off.

    
      Physical device QAGate
      Release build profilingGate
      Security reviewGate
      Store compliance passGate
      Handoff packageGate
      60-day monitored supportGate
    
  
  
    **Delivery Gates**
    
## Six checkpoints before handoff

    
        01
#### Physical device QA

Every build tested on real iOS and Android hardware - GPS, push, payments, and background modes behaviour differs on emulators; Miracuves does not sign off emulator-only.

        02
#### Release build profiling

Flutter DevTools on release builds - not debug - before store submission. Performance accepted only when representative of user experience.

        03
#### Security review

No secrets in source; API keys via environment config. Admin routes auth-gated; payment webhooks verified with idempotency keys.

        04
#### Store compliance pass

Provisioning, privacy questionnaires, and listing copy coordinated for App Store and Play Store - rejections in scope fixed during 60-day support window.

        05
#### Handoff package

Repository, env setup guide, admin credentials, API docs, and post-launch runbook - not repository-only drops.

        06
#### 60-day monitored support

Crash and payment regressions addressed when caused by in-scope configuration - Miracuves stays reachable through store review, not only launch day.

    
  

  
    
      **Delivery Process**
      
## Grocery deployment - 5-9 days

      
SKU import, substitution rules, shopper zones, and device QA on pick-to-delivery flows. NDA, written scope, milestone visibility, and source handoff are standard - not optional add-ons.

      
      01
Brief & NDA - Day 0

Share your concept on WhatsApp. NDA signed same day. Miracuves confirms clone base and customisation scope.

      02
Configuration & Branding - Day 1-2

Brand applied, payment gateway configured, integrations set up, admin populated with initial data.

      03
Customisation Sprint - Day 2-5

Scope-specific modifications: custom flows, integrations, UI adjustments, language/RTL support.

      04
QA on Real Devices - Day 5-7

Tested on physical iOS and Android. Payment and core flows verified end-to-end on release builds.

      05
Store Submission & Handoff - Day 7-9

App Store and Play Store submission handled. Source code, docs, and credentials delivered. 60-day support begins.

      
    
    
      
**Day 0**NDA signed**Day 1**Config starts**Day 5**QA begins**Day 9**Live on stores
      
      **Timeline honesty:** 5-9 days applies to scoped clone deployments for grocery delivery. Custom features beyond the standard base extend the timeline - stated in writing before any payment.

      .mcv-inp{margin-top:38px;padding:24px 28px;border-radius:16px;background:rgba(255,255,255,.028);border:1px solid rgba(255,255,255,.09);display:flex;align-items:center;gap:30px;flex-wrap:wrap}.mcv-inp-h{flex:1 1 460px;min-width:0}.mcv-inp-h strong{display:block;font-size:17px;font-weight:700;color:#fff;letter-spacing:-.015em}.mcv-inp-h p{margin:9px 0 0;font-size:14px;line-height:1.65;color:rgba(255,255,255,.60)}.mcv-inp-a{flex:0 0 auto}.mcv-inp-a a{display:inline-flex;align-items:center;gap:9px;padding:12px 20px;border-radius:999px;border:1px solid rgba(255,255,255,.16);font-size:13.5px;font-weight:650;color:rgba(255,255,255,.88);text-decoration:none;transition:border-color .2s,background .2s,color .2s}.mcv-inp-a a:hover{color:#fff;border-color:rgba(167,13,42,.6);background:rgba(167,13,42,.12)}.mcv-inp-a a svg{width:13px;height:13px;flex:0 0 13px}.mcv-inp-a span{display:block;margin-top:9px;font-size:11.5px;color:rgba(255,255,255,.40);text-align:center}@media(max-width:820px){.mcv-inp{display:block;padding:22px 20px}.mcv-inp-a{margin-top:18px}.mcv-inp-a span{text-align:left}}@media(prefers-reduced-motion:reduce){.mcv-inp-a a{transition:none}}.mcv-inp.lt{background:rgba(10,12,16,.028);border-color:rgba(10,12,16,.10)}.mcv-inp.lt .mcv-inp-h strong{color:#12161c}.mcv-inp.lt .mcv-inp-h p{color:rgba(18,22,28,.66)}.mcv-inp.lt .mcv-inp-a a{border-color:rgba(10,12,16,.16);color:rgba(18,22,28,.86)}.mcv-inp.lt .mcv-inp-a a:hover{color:#a70d2a;border-color:rgba(167,13,42,.45);background:rgba(167,13,42,.06)}.mcv-inp.lt .mcv-inp-a span{color:rgba(18,22,28,.45)}**Six days is Miracuves build time, not calendar time**
The six days are ours, and they do not run past six. What can add time sits on your side: developer account verification, merchant onboarding and compliance approvals are controlled by the app stores and your payment provider, not by us. We list exactly what you need ready on the first call so you can start those in parallel.

[See what you provide](https://miracuves.com/facts/#fact-005)FACT-005, audited quarterly
    
  

  **Cost & Pricing**
## What grocery delivery development costs

Published prices. No request-a-quote wall. Published anchors from $3,699; Instacart-style bases from $5,999.

  
    
### Standard Clone

$3,699/from
6 day delivery · scoped

- Customer + provider + admin apps
- White-label branding applied
- Payment gateway configured
- Core integrations live
- Full source code delivered
- 60-day post-launch support

[Start Standard Deployment](https://wa.me/919830009649)
    Most Popular
### Custom Build

Custom Quote
Scoped before build · milestone billing

- Clone base + custom modifications
- Additional integrations & flows
- Multi-language / RTL support
- Advanced admin reporting
- Full source code + IP transfer
- 60-day support + priority SLA

[Get a Scope & Quote](https://miracuves.com/contact/)
    
### Enterprise Platform

Enterprise
Multi-market · SLA · compliance

- Multi-city or multi-region rollout
- White-label SaaS architecture
- Custom analytics & compliance
- Dedicated account manager
- SLA-backed uptime guarantee
- Ongoing development retainer

[Discuss Enterprise](https://miracuves.com/contact/)
  
  **Cost factors that change the price:** POS/WMS integrations and perishable compliance workflows scoped before payment.
  
    
What affects project cost

Readymade grocery delivery clone pricing stays fixed when scope matches the published base. Custom integrations, multi-city zones, and compliance workflows are quoted before payment.

    
Typical budget ranges

**Standard clone:** from ,699 · 6 days.  
**Custom build:** scoped quote · milestone billing.  
**Enterprise:** multi-region, SLA, compliance - contact for written scope.

  

  
    **Client Reference**
    
## What deploying a grocery platform looks like in practice

    
A Melbourne independent supermarket group wanted owned delivery before a national aggregator entered their state - Instacart clone with 12 stores live in 9 days.

    
      01
Challenge

12 stores, no mobile team, needed substitution UX and same-day slots before competitor launch.

      02
What Miracuves Delivered

Instacart Clone with CSV catalog import, shopper app, Stripe AU, substitution presets.

      03
Outcome

Live in 9 days; 840 weekly orders by month two; 22% higher basket vs phone orders.

    
    **9 Days**To launch**12**Stores live**840**Weekly orders
    [View All Case Studies →](https://miracuves.com/portfolio/)
  
  
    
Client Testimonial

Substitution flows were the make-or-break - Miracuves had them working on real iPhones before we announced delivery to customers.

MW
M.W., Operations Director

Supermarket Group · Melbourne, Australia

[⭐ Clutch & Google Reviews →](https://miracuves.com/reviews-awards/)
    
Deployment Brief

SolutionInstacart CloneTimeline9 daysStores12 locationsPaymentStripe AUSource100% owned
  

  **Client Reviews**
## What clients say about Miracuves grocery deployments

Verified on Clutch and Google - grocery and quick-commerce launches on Miracuves clones. Each review reflects a scoped deployment with published pricing and full IP transfer through store launch.

  
    ★★★★★
Client · On-Demand Delivery

"Miracuves's Delivery Genie base gave us the rider app, the dispatch console, and live tracking. We launched in 6 weeks and cleared 4x the previous order volume in the first month."

MW
Marsha Williams

Founder, Bmore On Demands LLC

[Instacart Clone](https://miracuves.com/instacart-clone/)
    ★★★★★
Google · Q-Commerce

"Dark-store dispatch and 15-minute zones worked week one."

IN
R.K., Founder

India

[Blinkit Clone](https://miracuves.com/blinkit-clone/)
    ★★★★★
Clutch · FMCG

"Scheduled slots and subscription baskets for our wholesale brand."

ZA
T.N., CEO

South Africa

[BigBasket Clone](https://miracuves.com/bigbasket-clone/)
  
  
    **5.0 / 5.0**Clutch average · 14 reviews
    
    **4.8 / 5.0**Google average rating
    
    **Top Developer**Clutch recognition 2024-2025
    
    [Read All Reviews →](https://miracuves.com/reviews-awards/)
  

  **Explore Miracuves**
## Miracuves catalog - clones, technology, and hire models

Every Miracuves vertical page links to live clone products, Type A technology development pages, and Type B hire models - one interconnected catalog on miracuves.com/solutions and /service/.

  
    [Products

90+ Clone solutions

Uber, Netflix, Revolut-style products with honest stack attribution.](https://miracuves.com/solutions/)
    [Technology

Flutter development

Deep stack comparison, architecture, and delivery models for cross-platform apps.](https://miracuves.com/service/flutter-app-development/)
    [Vertical

On-demand vertical

Ride, food, grocery, and logistics platforms from shared clone bases.](https://miracuves.com/service/on-demand-app-development/)
    [Hire

Dedicated teams

When you need embedded engineers instead of a turnkey clone deployment.](https://miracuves.com/service/dedicated-teams/)
    [Vertical

Fintech vertical

Wallets, neo-banks, and payment gateways with compliance-aware scoping.](https://miracuves.com/service/fintech-app-development/)
    [Technology

Software development

Custom builds when clone scope is not the right fit - same NDA and IP rules.](https://miracuves.com/service/software-development/)
  

  **Related Solutions**
## Explore Miracuves products & services

Clone solutions, technology development, and vertical platforms - cross-linked across Miracuves' published service catalog.

  
    [Multi-Store

Instacart Clone](https://miracuves.com/instacart-clone/)
    [Quick Commerce

Blinkit Clone](https://miracuves.com/blinkit-clone/)
    [Scheduled

BigBasket Clone](https://miracuves.com/bigbasket-clone/)
    [Technology

Flutter App Development Company](https://miracuves.com/service/flutter-app-development/)
    [Vertical

Food Delivery App Development](https://miracuves.com/service/food-delivery-app-development/)
    [Vertical

On-Demand App Development](https://miracuves.com/service/on-demand-app-development/)
    [Technology

Software Development Company](https://miracuves.com/service/software-development/)
    [Hire Role

Hire Remote Developers](https://miracuves.com/service/hire-remote-developers/)
  
  
Every Miracuves vertical page links to live clone products, Type A technology development pages, and Type B hire models - one interconnected catalog on miracuves.com/solutions and /service/.

  **Frequently Asked**
## Grocery Delivery App Development - FAQ

  
    
How long does Miracuves take to launch a grocery delivery platform?

Scoped grocery clones - customer, shopper, and admin - typically deploy in 5-9 days depending on catalog size and payment regions. Miracuves configures multi-store browse, substitution rules, shopper dispatch, and slot scheduling during the configuration sprint. Device QA verifies pick-to-delivery flows before App Store submission.

    
Which grocery clone bases does Miracuves offer?

Instacart-style multi-store picking, Blinkit and Zepto quick-commerce, BigBasket scheduled delivery, FreshDirect perishables, and Amazon Fresh subscribe-and-save models are available as published clones. Miracuves selects the base matching your model - supermarket chain, dark store, or hybrid - on Day 0.

    
How do product substitutions work in the grocery apps?

Customers set per-item preferences (approve similar, refund, or contact). Shoppers propose swaps in-app with photos; customers approve in real time or via pre-set rules. Admin logs substitution rates by store for merchandising decisions. This flow is pre-built - not a custom add-on.

    
Can Miracuves import our existing product catalog?

Yes. CSV and bulk SKU import ship in standard admin. ERP, POS, and WMS API integrations are custom scope when documentation is available. Miracuves has onboarded 12-store and 40-store catalogs in single deployment sprints using CSV plus image CDN links.

    
What payment methods work for grocery delivery?

Stripe, Razorpay, Paystack, cash-on-delivery, and wallet top-up are supported. Weight-adjusted totals and tips settle per configured split between platform, store, and shopper. Miracuves tests refund flows for partial picks on physical devices.

    
Is the $3,699 starting price valid for grocery apps?

The $3,699 anchor applies to scoped three-app grocery MVPs; full Instacart-style multi-store depth typically uses the $5,999 base listed on miracuves.com/instacart-clone/. Miracuves confirms exact pricing against your brief before NDA - no surprise upsells at handoff.

    
Do I own the grocery platform source code?

100% IP transfer with repositories, environment docs, and deployment credentials at handoff. You are not locked to Miracuves hosting or per-order licensing. Franchise operators white-label the same codebase per territory with separate admin zones.

    
What support is included after grocery launch?

60-day post-launch support covers defects and store compliance updates. Catalog sync changes and new PSP regions are retainer or change-request work. Miracuves documents shopper onboarding and substitution policy setup so your ops team can run day two without vendor dependency.

    
Does Miracuves handle App Store and Google Play submission?

Yes - store submission is included in every standard deployment. Miracuves manages provisioning profiles, signing certificates, listing copy, screenshot requirements, privacy questionnaire answers, and review coordination for iOS and Android. Rejections caused by configuration within the agreed scope are addressed during the 60-day support window at no additional cost.

    
How is a Miracuves vertical deployment different from hiring a freelance developer?

Freelancers typically rebuild dispatch, payments, admin, and store pipelines from scratch - high risk and unpredictable timelines. Miracuves deploys from production-tested Flutter clone bases used across thousands of live projects, with NDA, IP assignment, published pricing, and company-backed support. You launch in days with owned source code, not a six-month solo build that may never reach the stores.

  

  
    **Get Started**
    
## Ready to launch your grocery delivery platform?

    
Describe your stores, slots, and market - Miracuves confirms Instacart or Blinkit base and price from $3,699.

    **$3,699**From**5-9 Days**Live**3 Apps**Included**60 Days**Support
  
  
    [WhatsApp - Start Now](https://wa.me/919830009649)
    [Start Grocery Deployment](https://miracuves.com/contact/)
    
NDA signed before we discuss your project

  

  
    
    Page reviewed by Miracuves Grocery & Quick-Commerce Team · Last updated June 2026 · [Clutch & Google Reviews](https://miracuves.com/reviews-awards/)
