{"product_id":"exclusive-15-off-6-meals-plan-use-code-gta15","title":"EXCLUSIVE - 15% OFF 6 MEALS PLAN (Use Code - GTA15)","description":"\u003cbody\u003e\n\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e \u003clink rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"\u003e \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=Oswald:wght@400;500;600;700\u0026amp;family=Barlow:ital,wght@0,400;0,600;0,700;0,800;0,900;1,700\u0026amp;family=Barlow+Condensed:wght@500;600;700;800\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\u003c\/p\u003e\n\u003cstyle\u003e\n*{box-sizing:border-box;margin:0;padding:0}\n:root{\n  --bg:#ffffff;\n  --bg-card:#fdf3f2;\n  --bg-card2:#f9e6e4;\n  --bg-pill:#fbeae9;\n  --border:#ecdcda;\n  --red:#cf1f1f;\n  --red-dk:#a01818;\n  --dark:#1a1a1a;\n  --txt-hi:#111111;\n  --txt-md:#333333;\n  --txt-lo:#555555;\n  --txt-eye:#a01818;\n}\nbody{font-family:'Barlow',sans-serif;background:var(--bg);color:var(--txt-hi);line-height:1.6}\n.sb{width:100%;max-width:680px;margin:0 auto;background:var(--bg);color:var(--txt-hi)}\n.eyebrow{font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--txt-eye);margin-bottom:10px}\n.heading{font-family:'Oswald',sans-serif;font-size:clamp(26px,5.5vw,40px);font-weight:700;color:var(--txt-hi);letter-spacing:0.02em;line-height:1.1;margin-bottom:16px}\n.lead{font-size:16px;color:var(--txt-md);line-height:1.75;font-weight:400}\n.lead strong{color:var(--red-dk)}\n.section{padding:44px 20px;border-bottom:1px solid var(--border)}\n\n\/* HERO *\/\n.hero{padding:52px 20px 44px;border-bottom:1px solid var(--border);position:relative;overflow:hidden}\n.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 75% 40%,rgba(207,31,31,0.10) 0%,transparent 60%);pointer-events:none}\n.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:22px}\n.hero-eyebrow-line{width:28px;height:2px;background:var(--red);flex-shrink:0}\n.hero-eyebrow span{font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--red-dk)}\n.hero h1{font-family:'Oswald',sans-serif;font-size:clamp(32px,10vw,56px);font-weight:700;color:var(--txt-hi);letter-spacing:0.02em;line-height:1.04;margin-bottom:20px}\n.hero h1 em{font-style:normal;color:var(--red)}\n.hero-sub{font-size:16px;color:var(--txt-md);max-width:460px;line-height:1.75}\n.hero-sub strong{color:var(--red-dk)}\n.hero-review-badge{display:inline-flex;align-items:center;gap:10px;background:var(--bg-card);border:1px solid var(--border);border-radius:999px;padding:8px 18px 8px 12px;font-size:13px;color:var(--txt-md);margin-top:22px;position:relative;text-decoration:none}\n.hero-review-dot{width:8px;height:8px;border-radius:50%;background:var(--red);flex-shrink:0}\n.hero-review-badge strong{color:var(--txt-hi)}\n\n\/* SCROLLING STATS STRIP *\/\n.stats-ticker{background:var(--red-dk);overflow:hidden;padding:0;white-space:nowrap;border-bottom:1px solid var(--border)}\n.stats-ticker-inner{display:inline-flex;animation:statscroll 22s linear infinite;will-change:transform;-webkit-font-smoothing:antialiased;transform:translateZ(0)}\n.stats-ticker-inner:hover{animation-play-state:paused}\n.stat-chip{display:inline-flex;align-items:center;gap:10px;padding:13px 32px;border-right:1px solid rgba(255,255,255,0.2)}\n.stat-chip-num{font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;color:#fff;line-height:1}\n.stat-chip-label{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,0.78);line-height:1.2}\n@keyframes statscroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}\n@media (prefers-reduced-motion: reduce){.stats-ticker-inner{animation:none;white-space:normal;flex-wrap:wrap;justify-content:center}.stats-ticker{white-space:normal}}\n\n\/* SHORT USPS *\/\n.usp-sm{padding:32px 20px}\n.usp-sm img.usp-img{width:56px;height:56px;border-radius:12px;object-fit:cover;margin-bottom:14px}\n\n\/* HOW IT WORKS *\/\n.steps-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border-radius:4px;overflow:hidden;margin-top:32px}\n.step-col{background:var(--bg-card);padding:28px 22px;text-align:center}\n.step-circle{width:52px;height:52px;background:var(--red);color:#fff;font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}\n.step-col h4{font-family:'Barlow',sans-serif;font-size:17px;font-weight:800;color:var(--txt-hi);margin-bottom:8px;line-height:1.2}\n.step-col p{font-size:13px;color:var(--txt-md);line-height:1.6}\n\n\/* DELIVERY ZONES *\/\n.zones-block{border:1px solid var(--border);border-radius:4px;padding:20px;margin-top:24px;margin-bottom:16px;background:var(--bg-card)}\n.zones-label{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--txt-lo);margin-bottom:14px;display:block}\n.zones{display:flex;flex-wrap:wrap;gap:8px}\n.zone{font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:600;letter-spacing:1.5px;background:var(--bg-pill);border:1px solid var(--border);color:var(--txt-md);padding:6px 14px;border-radius:3px;text-transform:uppercase}\n.zone.hub{background:var(--red);border-color:var(--red);color:#fff}\n.map-wrap{border:1px solid var(--border);border-radius:4px;overflow:hidden;margin-top:16px;background:var(--bg-card)}\n.map-wrap iframe{width:100%;height:280px;border:0;display:block}\n\n\/* PLANS *\/\n.plan-header{text-align:center;margin-bottom:28px}\n.plan-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border-radius:4px;overflow:hidden;margin-bottom:16px}\n.plan-card{background:var(--bg-card);padding:28px 10px;text-align:center;text-decoration:none;color:inherit;display:block;transition:background 0.2s}\n.plan-card:hover{background:var(--bg-card2)}\n.plan-card.featured{background:var(--red)}\n.plan-card.featured:hover{background:var(--red-dk)}\n.plan-badge{display:inline-block;background:#fff;color:var(--red-dk);font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:4px 10px;border-radius:2px;margin-bottom:14px}\n.plan-num{font-family:'Oswald',sans-serif;font-size:clamp(38px,9vw,56px);font-weight:700;color:var(--txt-hi);line-height:1;display:block}\n.plan-card.featured .plan-num{color:#fff}\n.plan-lbl{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--txt-lo);margin:8px 0 14px;display:block}\n.plan-card.featured .plan-lbl{color:rgba(255,255,255,0.7)}\n.plan-desc{font-size:13px;color:var(--txt-md);line-height:1.6;margin-bottom:18px}\n.plan-card.featured .plan-desc{color:rgba(255,255,255,0.85)}\n.plan-cta{display:inline-block;font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--txt-hi);background:var(--bg-pill);border:1px solid var(--border);padding:10px 12px;border-radius:3px}\n.plan-card.featured .plan-cta{background:rgba(0,0,0,0.25);border-color:rgba(255,255,255,0.25);color:#fff}\n@media(max-width:560px){.plan-cards{grid-template-columns:1fr 1fr}}\n\n\/* CONTACT FOOTER *\/\n.contact-note{text-align:center}\n.contact-note h3{font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;color:var(--txt-hi);margin-bottom:8px}\n.contact-note p{font-size:15px;color:var(--txt-md);line-height:1.7;max-width:460px;margin:0 auto}\n.contact-note a{color:var(--red);font-weight:700;text-decoration:underline}\n\n\/* SAFETY NOTE *\/\n.safety-note{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:18px 20px;font-size:13px;color:var(--txt-lo);line-height:1.6;text-align:center;margin:0 20px 0}\n\n@media(max-width:480px){\n  .steps-grid{grid-template-columns:1fr}\n  .step-col{padding:20px 14px}\n  .step-col h4{font-size:15px}\n  .section,.hero{padding-left:16px;padding-right:16px}\n}\n@media(max-width:360px){\n  .step-col h4{font-size:13px}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"sb\"\u003e\n\u003c!-- HERO --\u003e\n\u003cdiv class=\"hero\"\u003e\n\u003cdiv class=\"hero-eyebrow\"\u003e\n\u003cdiv class=\"hero-eyebrow-line\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan\u003eReal Vietnamese Meal Prep\u003c\/span\u003e\n\u003c\/div\u003e\n\u003ch1\u003eReal Vietnamese Food,\u003cbr\u003e\u003cem\u003eDelivered to Your Door in the GTA\u003c\/em\u003e\n\u003c\/h1\u003e\n\u003cp class=\"hero-sub\"\u003eWe cook real Vietnamese recipes the real way. Your food is ready to eat in minutes. We bring it to your door every week. No plan needed. No signup needed.\u003c\/p\u003e\n\u003ca href=\"https:\/\/vietnamesemealprep.com\/pages\/contact\" class=\"hero-review-badge\"\u003e\u003cspan class=\"hero-review-dot\"\u003e\u003c\/span\u003e \u003cspan\u003ePeople say our food tastes just like home in Vietnam.\u003c\/span\u003e\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c!-- SCROLLING STATS STRIP --\u003e\n\u003cdiv class=\"stats-ticker\"\u003e\n\u003cdiv class=\"stats-ticker-inner\"\u003e\n\u003cdiv class=\"stat-chip\"\u003e\n\u003cspan class=\"stat-chip-num\"\u003e32oz\u003c\/span\u003e\u003cspan class=\"stat-chip-label\"\u003eSoup\u003cbr\u003ePortions\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat-chip\"\u003e\n\u003cspan class=\"stat-chip-num\"\u003e24oz\u003c\/span\u003e\u003cspan class=\"stat-chip-label\"\u003eRice Dish\u003cbr\u003ePortions\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat-chip\"\u003e\n\u003cspan class=\"stat-chip-num\"\u003e2x\u003c\/span\u003e\u003cspan class=\"stat-chip-label\"\u003eDeliveries\u003cbr\u003ea Week\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat-chip\"\u003e\n\u003cspan class=\"stat-chip-num\"\u003e100%\u003c\/span\u003e\u003cspan class=\"stat-chip-label\"\u003eReal\u003cbr\u003eVietnamese\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat-chip\"\u003e\n\u003cspan class=\"stat-chip-num\"\u003eNew\u003c\/span\u003e\u003cspan class=\"stat-chip-label\"\u003eMenu Every\u003cbr\u003eMonday\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat-chip\"\u003e\n\u003cspan class=\"stat-chip-num\"\u003eVeg \u0026amp; Vegan\u003c\/span\u003e\u003cspan class=\"stat-chip-label\"\u003eOptions\u003cbr\u003eAvailable\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat-chip\"\u003e\n\u003cspan class=\"stat-chip-num\"\u003e32oz\u003c\/span\u003e\u003cspan class=\"stat-chip-label\"\u003eSoup\u003cbr\u003ePortions\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat-chip\"\u003e\n\u003cspan class=\"stat-chip-num\"\u003e24oz\u003c\/span\u003e\u003cspan class=\"stat-chip-label\"\u003eRice Dish\u003cbr\u003ePortions\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat-chip\"\u003e\n\u003cspan class=\"stat-chip-num\"\u003e2x\u003c\/span\u003e\u003cspan class=\"stat-chip-label\"\u003eDeliveries\u003cbr\u003ea Week\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat-chip\"\u003e\n\u003cspan class=\"stat-chip-num\"\u003e100%\u003c\/span\u003e\u003cspan class=\"stat-chip-label\"\u003eReal\u003cbr\u003eVietnamese\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat-chip\"\u003e\n\u003cspan class=\"stat-chip-num\"\u003eNew\u003c\/span\u003e\u003cspan class=\"stat-chip-label\"\u003eMenu Every\u003cbr\u003eMonday\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat-chip\"\u003e\n\u003cspan class=\"stat-chip-num\"\u003eVeg \u0026amp; Vegan\u003c\/span\u003e\u003cspan class=\"stat-chip-label\"\u003eOptions\u003cbr\u003eAvailable\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003c!-- THE CHEF --\u003e\n\u003cdiv class=\"section usp-sm\"\u003e\n\u003cdiv class=\"eyebrow\"\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0606\/7791\/4739\/files\/ChatGPT_Image_Jul_23_2026_10_49_58_AM.png?v=1784818211\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"eyebrow\"\u003e🍜 The Chef\u003c\/div\u003e\n\u003cdiv class=\"heading\"\u003eCrafted by Chef Thi\u003c\/div\u003e\n\u003cp class=\"lead\"\u003eChef \u003cspan style=\"color: #a01818;\"\u003e\u003cb\u003eThi \u003c\/b\u003e\u003c\/span\u003elearned to cook in Saigon. She has over \u003cstrong\u003e20 years\u003c\/strong\u003e of practice making real Vietnamese food. Each one of her meals is made with love and authentic Vietnamese spices and cooking techniques.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- GENEROUS PORTIONS --\u003e\n\u003cdiv class=\"section usp-sm\"\u003e\n\u003cdiv class=\"eyebrow\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0606\/7791\/4739\/files\/pho_filled_to_the_brim.png?v=1784820958\" alt=\"\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"eyebrow\"\u003e🍱 Big Portions\u003c\/div\u003e\n\u003cdiv class=\"heading\"\u003eHomestyle Portions\u003c\/div\u003e\n\u003cp class=\"lead\"\u003eOur soups, like Phở and Bún Bò, come in a big \u003cstrong\u003e32oz container\u003c\/strong\u003e. Our rice dishes come in a full \u003cstrong\u003e24oz box\u003c\/strong\u003e. That's plenty of food to keep you full.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- FAST WITHOUT THE HASSLE --\u003e\n\u003cdiv class=\"section usp-sm\"\u003e\n\u003cdiv class=\"eyebrow\"\u003e⏱ Fast and Easy\u003c\/div\u003e\n\u003cdiv class=\"heading\"\u003eSlow Cooked Taste, Ready Fast\u003c\/div\u003e\n\u003cp class=\"lead\"\u003eVietnamese food usually takes a long time to cook. Some dishes cook for days. We already do all that cooking for you. You just heat it up and eat in \u003cstrong\u003eminutes\u003c\/strong\u003e.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- VEGETARIAN \u0026 VEGAN --\u003e\n\u003cdiv class=\"section usp-sm\"\u003e\n\u003cdiv class=\"eyebrow\"\u003e🌱 Plant Based Options\u003c\/div\u003e\n\u003cdiv class=\"heading\"\u003eSomething For Everyone\u003c\/div\u003e\n\u003cp class=\"lead\"\u003eVietnam has lots of vegetarian food too. We make full \u003cstrong\u003evegetarian and vegan menus\u003c\/strong\u003e. You get the same great taste, no meat needed.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- HEALTH \u0026 FRESHNESS --\u003e\n\u003cdiv class=\"section usp-sm\"\u003e\n\u003cdiv class=\"eyebrow\"\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0606\/7791\/4739\/files\/pho-bowl-callouts.png?v=1784820707\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"eyebrow\"\u003e🌿 Good For You\u003c\/div\u003e\n\u003cdiv class=\"heading\"\u003eBalanced Food, Real Taste\u003c\/div\u003e\n\u003cp class=\"lead\"\u003eVietnamese food is some of the healthiest food in the world. We use fresh herbs, lean meat, and slow cooked broth full of \u003cstrong\u003enatural collagen\u003c\/strong\u003e. Each dish has a perfect balance of proteins, vegetables, and carbs.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- NEW MENU WEEKLY --\u003e\n\u003cdiv class=\"section usp-sm\"\u003e\n\u003cdiv class=\"eyebrow\"\u003e📅 Always Fresh\u003c\/div\u003e\n\u003cdiv class=\"heading\"\u003eA New Menu Every Week\u003c\/div\u003e\n\u003cp class=\"lead\"\u003eWe make a \u003cstrong\u003enew menu every Monday\u003c\/strong\u003e. There is always something new to try. It never gets boring.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- DELIVERY --\u003e\n\u003cdiv class=\"section usp-sm\"\u003e\n\u003cdiv class=\"eyebrow\"\u003e🚚 Delivery\u003c\/div\u003e\n\u003cdiv class=\"heading\"\u003eWe Bring It Right to You\u003c\/div\u003e\n\u003cp class=\"lead\"\u003eWe deliver fresh meals every \u003cstrong\u003eSunday and Wednesday, from 10am to 6pm\u003c\/strong\u003e. No plan needed. No signup needed. Order whenever you want.\u003c\/p\u003e\n\u003cdiv class=\"zones-block\"\u003e\n\n  \n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n\u003clink rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"\u003e\n\u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=Oswald:wght@400;500;600;700\u0026amp;family=Barlow:ital,wght@0,400;0,600;0,700;0,800;0,900;1,700\u0026amp;family=Barlow+Condensed:wght@500;600;700;800\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n\u003clink rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/leaflet\/1.9.4\/leaflet.min.css\"\u003e\n\u003cscript src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/leaflet\/1.9.4\/leaflet.min.js\"\u003e\u003c\/script\u003e\n\u003cstyle\u003e\n*{box-sizing:border-box;margin:0;padding:0}\n:root{\n  --bg:#ffffff;\n  --bg-card:#fdf3f2;\n  --bg-card2:#f9e6e4;\n  --bg-pill:#fbeae9;\n  --border:#ecdcda;\n  --red:#cf1f1f;\n  --red-dk:#a01818;\n  --txt-hi:#111111;\n  --txt-md:#333333;\n  --txt-lo:#555555;\n}\nbody{font-family:'Barlow',sans-serif;background:var(--bg);color:var(--txt-hi);padding:24px}\n.sb{max-width:680px;margin:0 auto}\n.zones-label{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--txt-lo);margin-bottom:14px;display:block}\n.zones{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}\n.zone{font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:600;letter-spacing:1.5px;background:var(--bg-pill);border:1px solid var(--border);color:var(--txt-md);padding:6px 14px;border-radius:3px;text-transform:uppercase}\n.zone.hub{background:var(--red);border-color:var(--red);color:#fff}\n.map-wrap{border:1px solid var(--border);border-radius:4px;overflow:hidden;background:var(--bg-card)}\n#coverage-map{width:100%;height:420px;background:#f2f2f2}\n.leaflet-container{font-family:'Barlow',sans-serif}\n\n\/* custom hub pin *\/\n.hub-pin{\n  width:22px;height:22px;border-radius:50% 50% 50% 0;\n  background:var(--dark,#1a1a1a);\n  transform:rotate(-45deg);\n  border:2px solid #fff;\n  box-shadow:0 2px 6px rgba(0,0,0,0.35);\n}\n.hub-pin::after{\n  content:'';position:absolute;top:5px;left:5px;width:8px;height:8px;\n  background:#fff;border-radius:50%;\n}\n.map-legend-note{font-size:12px;color:var(--txt-lo);text-align:center;padding:10px 12px;border-top:1px solid var(--border)}\n\u003c\/style\u003e\n\n\n\u003cdiv class=\"sb\"\u003e\n  \u003cspan class=\"zones-label\"\u003eDelivery areas\u003c\/span\u003e\n  \u003cdiv class=\"zones\"\u003e\n    \u003cspan class=\"zone hub\"\u003eToronto\u003c\/span\u003e\n    \u003cspan class=\"zone\"\u003eMississauga\u003c\/span\u003e\n    \u003cspan class=\"zone\"\u003eOakville\u003c\/span\u003e\n    \u003cspan class=\"zone\"\u003eBrampton\u003c\/span\u003e\n    \u003cspan class=\"zone\"\u003eMilton\u003c\/span\u003e\n    \u003cspan class=\"zone\"\u003eEtobicoke\u003c\/span\u003e\n    \u003cspan class=\"zone\"\u003eNorth York\u003c\/span\u003e\n    \u003cspan class=\"zone\"\u003eMarkham\u003c\/span\u003e\n    \u003cspan class=\"zone\"\u003eScarborough\u003c\/span\u003e\n    \u003cspan class=\"zone\"\u003e+ Nearby Areas\u003c\/span\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"map-wrap\"\u003e\n    \u003cdiv id=\"coverage-map\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"map-legend-note\"\u003eShaded area shows our current delivery coverage across the GTA\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n\/\/ ---- Base anchor points tracing the outer edge of the coverage area ----\n\/\/ [lat, lng] — roughly Newmarket -\u003e Markham -\u003e Scarborough edge -\u003e lakeshore\n\/\/ through Toronto\/Mississauga\/Oakville\/Burlington\/Hamilton -\u003e back up the\n\/\/ west edge through Milton\/Halton Hills\/Caledon -\u003e closing near Newmarket.\nconst anchors = [\n  [44.06, -79.47], \/\/ Newmarket\n  [44.03, -79.35],\n  [44.00, -79.27], \/\/ north of Markham\n  [43.93, -79.20], \/\/ Markham east edge\n  [43.84, -79.10], \/\/ Scarborough\/Pickering border (cuts off before Oshawa)\n  [43.74, -79.14], \/\/ Scarborough Bluffs\n  [43.66, -79.30], \/\/ Toronto harbourfront\n  [43.60, -79.46],\n  [43.55, -79.58], \/\/ Mississauga (Port Credit) shoreline\n  [43.48, -79.65], \/\/ Oakville shoreline\n  [43.40, -79.75], \/\/ Bronte \/ Oakville-Burlington border\n  [43.33, -79.80], \/\/ Burlington shoreline\n  [43.28, -79.85], \/\/ Hamilton harbour\n  [43.23, -79.74], \/\/ Stoney Creek\n  [43.19, -79.61], \/\/ pointed tip toward Grimsby (stops before it)\n  [43.18, -79.78],\n  [43.19, -79.95], \/\/ Hamilton mountain \/ Ancaster\n  [43.30, -80.10], \/\/ west edge, before Cambridge\n  [43.44, -80.02],\n  [43.51, -79.95], \/\/ Milton west edge\n  [43.60, -79.98], \/\/ Halton Hills \/ Georgetown\n  [43.73, -79.95], \/\/ Caledon\n  [43.86, -79.85], \/\/ Bolton\n  [43.97, -79.65], \/\/ King City\n  [44.03, -79.55], \/\/ Aurora\n  [44.06, -79.47]  \/\/ close loop back to Newmarket\n];\n\n\/\/ ---- Seeded PRNG so the jagged edge is stable on every load ----\nfunction makeRand(seed){\n  let s = seed;\n  return function(){\n    s = (s * 9301 + 49297) % 233280;\n    return s \/ 233280;\n  };\n}\n\n\/\/ ---- Subdivide each edge and add tapered perpendicular jitter ----\n\/\/ This turns the smooth anchor polygon into an irregular, hand-drawn \/\n\/\/ postal-code-style boundary like the reference image.\nfunction jaggedPath(points, subdivisions, jitter, seed){\n  const rand = makeRand(seed);\n  const out = [];\n  for (let i = 0; i \u003c points.length - 1; i++){\n    const [lat1, lng1] = points[i];\n    const [lat2, lng2] = points[i + 1];\n    out.push([lat1, lng1]);\n    const dx = lat2 - lat1, dy = lng2 - lng1;\n    const len = Math.sqrt(dx*dx + dy*dy) || 1;\n    const px = -dy \/ len, py = dx \/ len; \/\/ unit perpendicular\n    for (let j = 1; j \u003c subdivisions; j++){\n      const t = j \/ subdivisions;\n      let lat = lat1 + dx * t;\n      let lng = lng1 + dy * t;\n      const taper = Math.sin(Math.PI * t); \/\/ 0 at anchors, max mid-edge\n      const offset = (rand() - 0.5) * jitter * taper;\n      lat += px * offset;\n      lng += py * offset;\n      out.push([lat, lng]);\n    }\n  }\n  return out;\n}\n\nconst coveragePolygon = jaggedPath(anchors, 7, 0.05, 42);\n\n\/\/ ---- Map setup ----\nconst map = L.map('coverage-map', {\n  scrollWheelZoom: false,\n  zoomControl: true\n}).setView([43.62, -79.68], 9);\n\nL.tileLayer('https:\/\/{s}.basemaps.cartocdn.com\/light_all\/{z}\/{x}\/{y}{r}.png', {\n  attribution: '\u0026copy; OpenStreetMap contributors \u0026copy; CARTO',\n  subdomains: 'abcd',\n  maxZoom: 19\n}).addTo(map);\n\nL.polygon(coveragePolygon, {\n  color: '#a01818',\n  weight: 2,\n  fillColor: '#cf1f1f',\n  fillOpacity: 0.38,\n  lineJoin: 'round'\n}).addTo(map);\n\n\/\/ ---- Hub marker (Mississauga) ----\nconst hubIcon = L.divIcon({\n  className: '',\n  html: '\u003cdiv class=\"hub-pin\"\u003e\u003c\/div\u003e',\n  iconSize: [22, 22],\n  iconAnchor: [11, 20]\n});\nL.marker([43.5890, -79.6441], { icon: hubIcon })\n  .bindTooltip('Mississauga — Distribution Hub', { direction: 'top', offset: [0, -18] })\n  .addTo(map);\n\n\/\/ fit bounds with a little padding so the shape isn't cropped\nmap.fitBounds(L.polygon(coveragePolygon).getBounds(), { padding: [16, 16] });\n\u003c\/script\u003e\n\n\n\u003c!-- HOW IT WORKS --\u003e\n\u003cdiv class=\"section\"\u003e\n\u003cdiv class=\"eyebrow\"\u003eSimple Steps\u003c\/div\u003e\n\u003cdiv class=\"heading\"\u003eHow It Works\u003c\/div\u003e\n\u003cp class=\"lead\"\u003eFour easy steps and you are eating real Vietnamese food.\u003c\/p\u003e\n\u003cdiv class=\"steps-grid\"\u003e\n\u003cdiv class=\"step-col\"\u003e\n\u003cdiv class=\"step-circle\"\u003e1\u003c\/div\u003e\n\u003ch4\u003e🍜 Pick Your Food\u003c\/h4\u003e\n\u003cp\u003eChoose your meals from our menu. It changes every Monday.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"step-col\"\u003e\n\u003cdiv class=\"step-circle\"\u003e2\u003c\/div\u003e\n\u003ch4\u003e🍳 We Cook It Fresh\u003c\/h4\u003e\n\u003cp\u003eChef Tri cooks every meal using real Vietnamese recipes.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"step-col\"\u003e\n\u003cdiv class=\"step-circle\"\u003e3\u003c\/div\u003e\n\u003ch4\u003e🚚 We Bring It to You\u003c\/h4\u003e\n\u003cp\u003eWe deliver every \u003cstrong\u003eSunday and Wednesday\u003c\/strong\u003e, 10am to 6pm, across the GTA.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"step-col\"\u003e\n\u003cdiv class=\"step-circle\"\u003e4\u003c\/div\u003e\n\u003ch4\u003e🥢 You Enjoy\u003c\/h4\u003e\n\u003cp\u003eHeat it up and eat in minutes. No cooking. No mess.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- PLANS --\u003e\n\u003cdiv class=\"section\"\u003e\n\u003cdiv class=\"plan-header\"\u003e\n\u003cdiv class=\"eyebrow\"\u003eGo Bigger\u003c\/div\u003e\n\u003cdiv class=\"heading\"\u003eWant More Than 6 Meals?\u003c\/div\u003e\n\u003cp style=\"max-width: 420px; margin: 0 auto;\" class=\"lead\"\u003eReady for the whole week? Pick a plan that fits you.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"plan-cards\"\u003e\n\u003ca class=\"plan-card\" href=\"https:\/\/vietnamesemealprep.com\/products\/mix-and-match-7-meal-plan\"\u003e\u003cspan class=\"plan-num\"\u003e7\u003c\/span\u003e \u003cspan class=\"plan-lbl\"\u003eMeal Plan\u003c\/span\u003e\n\u003cp class=\"plan-desc\"\u003eDinner for every day of the week.\u003c\/p\u003e\n\u003cspan class=\"plan-cta\"\u003eShop 7 Meals\u003c\/span\u003e\u003c\/a\u003e\u003ca class=\"plan-card\" href=\"https:\/\/vietnamesemealprep.com\/products\/mix-and-match-10-meal-plan\"\u003e\u003cspan class=\"plan-num\"\u003e10\u003c\/span\u003e \u003cspan class=\"plan-lbl\"\u003eMeal Plan\u003c\/span\u003e\n\u003cp class=\"plan-desc\"\u003eLunch and dinner for the work week.\u003c\/p\u003e\n\u003cspan class=\"plan-cta\"\u003eShop 10 Meals\u003c\/span\u003e\u003c\/a\u003e\u003ca class=\"plan-card featured\" href=\"https:\/\/vietnamese-meal-prep.myshopify.com\/products\/mix-and-match-12-meal-plan\"\u003e\n\u003cdiv class=\"plan-badge\"\u003eBest Value, Free Shipping\u003c\/div\u003e\n\u003cspan class=\"plan-num\"\u003e12\u003c\/span\u003e \u003cspan class=\"plan-lbl\"\u003eMeal Plan\u003c\/span\u003e\n\u003cp class=\"plan-desc\"\u003eLunch and dinner all week, plus one bonus meal.\u003c\/p\u003e\n\u003cspan class=\"plan-cta\"\u003eShop 12 Meals\u003c\/span\u003e\u003c\/a\u003e\u003ca class=\"plan-card\" href=\"https:\/\/vietnamesemealprep.com\/products\/weekly-15-meals-plan-free-shipping\"\u003e\u003cspan class=\"plan-num\"\u003e15\u003c\/span\u003e \u003cspan class=\"plan-lbl\"\u003eMeal Plan\u003c\/span\u003e\n\u003cp class=\"plan-desc\"\u003eGreat for family dinners or a full freezer.\u003c\/p\u003e\n\u003cspan class=\"plan-cta\"\u003eShop 15 Meals\u003c\/span\u003e\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- SAFETY NOTE --\u003e\n\u003cdiv style=\"padding: 0 0 32px;\"\u003e\n\u003cdiv class=\"safety-note\"\u003e\n\u003cstrong\u003ePlease Note:\u003c\/strong\u003e All our food is made in a clean, safe kitchen. We follow strict food safety rules.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CONTACT --\u003e\n\u003cdiv style=\"border-bottom: none;\" class=\"section\"\u003e\n\u003cdiv class=\"contact-note\"\u003e\n\u003ch3\u003eGot a Question?\u003c\/h3\u003e\n\u003cp\u003eNeed help picking a plan? We are happy to help. See our \u003ca href=\"https:\/\/vietnamesemealprep.com\/pages\/contact\"\u003eContact Page\u003c\/a\u003e.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/body\u003e","brand":"Vietnamese Meal Prep","offers":[{"title":"Default Title","offer_id":43181351043187,"sku":null,"price":78.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0606\/7791\/4739\/files\/0MixandMatch_1_f3e785d2-5096-4e79-aca6-ff9bcb234a66.png?v=1782850657","url":"https:\/\/vietnamesemealprep.com\/products\/exclusive-15-off-6-meals-plan-use-code-gta15","provider":"Vietnamese Meal Prep","version":"1.0","type":"link"}