{"product_id":"latte-art-workshop","title":"Milk Steaming \u0026 Latte Art Workshop","description":"\u003ch2\u003e\n\u003cstrong\u003eMilk Steaming \u0026amp; Latte Art Workshop\u003c\/strong\u003e\u003cbr\u003e\u003cem\u003e\u003c\/em\u003e\n\u003c\/h2\u003e\n\u003ch2\u003e\u003cem\u003eSilky milk and simple latte art for home baristas and coffee lovers\u003c\/em\u003e\u003c\/h2\u003e\n\u003cdiv\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eIf you enjoy lattes, cappuccinos or flat whites and want to make them look and taste better at home, this workshop is for you. In a relaxed, hands-on session at our roastery in Richmond, you will learn how to steam silky milk and pour simple latte art with guidance from our team.\u003c\/p\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eNo latte art experience is required — just a basic familiarity with pulling espresso shots, or completion of our\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/www.movingcoffee.info\/collections\/workshop\/products\/espresso-tasting-workshop\" title=\"Espresso \u0026amp; Tasting Workshop | Moving Coffee Roastery\"\u003e\u003cstrong\u003eEspresso \u0026amp; Tasting Workshop\u003c\/strong\u003e\u003c\/a\u003e.\u003c\/p\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003e\u003cstrong\u003eIn this workshop, you will:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul class=\"marker:text-quiet list-disc\"\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eLearn what great milk texture looks and feels like, and why it matters for taste.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003ePractice steaming milk to the right temperature and consistency, step by step.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eUnderstand steam wand position, angle and sound cues for reliable microfoam.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eTry your hand at pouring simple latte art, starting with basic shapes and building toward a classic heart.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eGet personalized tips to keep improving at home or behind the bar.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003e\u003cstrong\u003eFormat\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul class=\"marker:text-quiet list-disc\"\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003e1.5–2 hour hands-on class at our Tasting Lab in Richmond, BC\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eSmall group (maximum 4–6 participants) to ensure plenty of practice time\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eAll milk, espresso and equipment are provided\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003e\u003cstrong\u003eWhat You Can Expect:\u003c\/strong\u003e\u003c\/p\u003e\n\u003col class=\"marker:text-quiet list-decimal\"\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003e\u003cstrong\u003eWelcome \u0026amp; Demo (15–20 minutes)\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul class=\"marker:text-quiet list-disc\"\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eShort introduction and safety around the steam wand.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eInstructor demo of ideal milk texture and a basic heart pour.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eGroup tasting of a milk-based drink to connect texture with flavor.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003e\u003cstrong\u003eGuided Steaming Practice (35–40 minutes)\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul class=\"marker:text-quiet list-disc\"\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eEach participant steams milk several times with step-by-step coaching.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eFocus on:\u003c\/p\u003e\n\u003cul class=\"marker:text-quiet list-disc\"\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eConsistent microfoam.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eCorrect milk volume.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eHitting the right temperature without overheating.\u003cspan data-state=\"closed\"\u003e\u003cspan class=\"citation-nbsp\"\u003e\u003c\/span\u003e\u003cspan class=\"citation inline\" rel=\"nofollow noopener\"\u003e\u003ca rel=\"noopener\" class=\"inline\" href=\"https:\/\/ecscoffee.com\/blogs\/ecs\/a-beginners-guide-to-steaming-milk\" target=\"_blank\"\u003e\u003c\/a\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003e\u003cstrong\u003eLatte Art Practice (35–40 minutes)\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul class=\"marker:text-quiet list-disc\"\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eStart with controlled “white dot” pours to learn flow.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eMove into simple hearts, with the instructor adjusting technique individually.\u003cspan aria-label=\"Intro to Latte Art - Olivia's Garden\" data-state=\"closed\"\u003e\u003cspan class=\"citation-nbsp\"\u003e\u003c\/span\u003e\u003cspan class=\"citation inline\" rel=\"nofollow noopener\"\u003e\u003ca rel=\"noopener\" class=\"inline\" href=\"https:\/\/www.oliviasgarden.ca\/products\/espresso-latte-art-workshop\" target=\"_blank\"\u003e\u003c\/a\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cspan aria-label=\"The Beginner’s Guide To Latte Art\" data-state=\"closed\"\u003e\u003cspan class=\"citation-nbsp\"\u003e\u003c\/span\u003e\u003cspan class=\"citation inline\" rel=\"nofollow noopener\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eFor faster learners, introduce a simple tulip or layered heart.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003e\u003cstrong\u003eWrap-Up \u0026amp; Next Steps (10–15 minutes)\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul class=\"marker:text-quiet list-disc\"\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eReview key techniques and give personalized tips for home or café practice.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eQuick discussion on pitchers, cup shapes, and milk choices.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eSuggestions for further learning \/ practice routines.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp style=\"box-sizing: border-box; scrollbar-width: initial; --tw-border-spacing-x: undefined; --tw-border-spacing-y: undefined; --tw-translate-x: undefined; --tw-translate-y: undefined; --tw-rotate: undefined; --tw-skew-x: undefined; --tw-skew-y: undefined; --tw-scale-x: undefined; --tw-scale-y: undefined; --tw-scroll-snap-strictness: undefined; --tw-ring-offset-width: undefined; --tw-ring-offset-color: undefined; --tw-ring-color: undefined; --tw-ring-offset-shadow: undefined; --tw-ring-shadow: undefined; --tw-shadow: undefined; --tw-shadow-colored: undefined; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px; border-width: 0px; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); border-style: solid;\"\u003e \u003c\/p\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003e\u003cstrong\u003eYou’ll leave with:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul class=\"marker:text-quiet list-disc\"\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eThe confidence to steam milk that feels like “wet paint” and tastes naturally sweet.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eThe fundamentals for pouring basic latte art patterns.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eA concise Milk \u0026amp; Latte Art Quick Guide to support your practice at home.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003e\u003cstrong\u003ePerfect for:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul class=\"marker:text-quiet list-disc\"\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eHome espresso users who love milk-based drinks.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eNew baristas who want to build confidence with milk and latte art.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli class=\"py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [\u0026amp;\u0026gt;p]:pt-0 [\u0026amp;\u0026gt;p]:mb-2 [\u0026amp;\u0026gt;p]:my-0\" style=\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: oklch(0.3039 0.04 213.679993 \/ 0.16); scrollbar-width: initial; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; margin-top: 0px; margin-bottom: 0px; padding-inline-start: 0.375em; padding-top: 0px; padding-bottom: 0px;\"\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003eCoffee lovers looking for a fun, creative workshop with plenty of hands-on time.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003e \u003c\/p\u003e\n\u003cp class=\"my-2 [\u0026amp;+p]:mt-4 [\u0026amp;_strong:has(+br)]:inline-block [\u0026amp;_strong:has(+br)]:pb-2\"\u003e\u003cstrong\u003e“New to espresso?\u003c\/strong\u003e - Start with\u003cspan\u003e \u003cmeta charset=\"utf-8\"\u003e\n\u003ca href=\"https:\/\/www.movingcoffee.info\/collections\/workshop\/products\/espresso-tasting-workshop\" title=\"Espresso \u0026amp; Tasting Workshop | Moving Coffee Roastery\"\u003e\u003cstrong\u003eEspresso \u0026amp; Tasting Workshop\u003c\/strong\u003e\u003c\/a\u003e\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003efor dial-in and shot basics.”\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003eDuration: 1.5 hours\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eLocation: #118-13880 Wireless Way, Richmond, BC, Canada \u003cbr\u003e\u003cbr\u003e\u003cem\u003e\u003cspan style=\"color: #999999;\"\u003eMoving Coffee Roastery holds final rights\u003c\/span\u003e\u003c\/em\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e","brand":"MOVING COFFEE ROASTERY","offers":[{"title":"Default Title","offer_id":46203752186172,"sku":"","price":195.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0194\/3161\/files\/IMG_0426.jpg?v=1697048314","url":"https:\/\/www.movingcoffee.info\/products\/latte-art-workshop","provider":"MOVING COFFEE ROASTERY","version":"1.0","type":"link"}