PageSourceSearch

https://cosori.com/products/juni-coffee-maker

html cosori.com collected 2026-09-25 23:54:35 UTC 574,550 bytes, 9,667 lines download raw bytes

1<!doctype html>
2<html class="no-js" lang="en">
3  <head>
4    <meta name="google-site-verification" content="E72-Es3cMEb-8jJDMiwHirfPREMLUo9q3rfIXl_9x30">
5    <meta charset="utf-8">
6    <meta http-equiv="X-UA-Compatible" content="IE=edge">
7    <meta name="viewport" content="width=device-width,initial-scale=1">
8    <meta name="theme-color" content="">
9    <link rel="canonical" href="https://cosori.com/products/juni-coffee-maker"><link rel="icon" type="image/png" href="//cosori.com/cdn/shop/files/Cosori_Favicon_32x32_1a606a51-1952-486a-8edb-9c0c2cf8eafb.png?crop=center&height=32&v=1755227086&width=32"><!-- Start cookieyes banner -->
10    
10<script src="https://cdn-cookieyes.com/common/shopify.js"></script>
10
11    
11<script
12      id="cookieyes"
13      type="text/javascript"
14      src="https://cdn-cookieyes.com/client_data/a568a306f7c0aaac82f238d5/script.js"
15    ></script>
15
16    
17    <!-- CookieYes event listener: Reload page when user changes cookie settings -->
18    
18<script>
19      // Track if page has fully loaded to prevent reload on initial load
20      var pageFullyLoaded = false;
21      
22      window.addEventListener('load', function() {
23        // Set flag after page is fully loaded to avoid triggering reload during initialization
24        setTimeout(function() {
25          pageFullyLoaded = true;
26        }, 1000);
27      });
28      
29      document.addEventListener('cookieyes_consent_update', function(eventData) {
30        // Only reload when user actively changes settings after page has fully loaded
31        if (pageFullyLoaded) {
32          setTimeout(function() {
33            window.location.reload();
34          }, 500);
35        }
36      });
37    </script>
37
38    <!-- End cookieyes banner -->
39
40    
40<script>
41      /* >> TriplePixel :: start*/
42      
43      /* << TriplePixel :: end*/
44    </script>
44
45
46    
47     
47<script src="https://assets.adobedtm.com/ec3b2fbc4b8f/98a5010d4527/launch-463ef11aeedc.min.js" async></script>
47
48
49    <!-- insider -->
50    
51    <!-- insider --><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin><link rel="preconnect" href="https://static.klaviyo.com" crossorigin>
52    <link rel="preconnect" href="https://a.klaviyo.com" crossorigin>
53    <link rel="dns-prefetch" href="https://static-tracking.klaviyo.com">
54    
54<script async src="https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=SvTWYw" fetchpriority="high"></script>
54
55    
55<script async src="https://a.klaviyo.com/media/js/onsite/onsite.js" fetchpriority="high"></script>
55
56    
56<script>
57      var klaviyo = klaviyo || [];
58      klaviyo.init({ account: "SvTWYw", platform: "shopify", exclude_on_tags: 'retailer' });
59    </script>
59
60
61    <title>
62      COSORI Juni Automatic Pour-Over Coffee Maker (SCA Certified)�</title>
63
64    
65      <meta name="description" content="Brew barista-quality coffee at home with the COSORI Juni. Featuring an automated swirl motion, precise bloom cycle, and SCA-certified temperature control.">
66    
67
68    <!-- Google Tag Manager -->
69    <!--
70      
70<script>
vendor: 485 bytes, lines 70-80
70
71        (function (w, d, s, l, i) {
72          w[l] = w[l] || [];
73          w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' });
74          var f = d.getElementsByTagName(s)[0],
75            j = d.createElement(s),
76            dl = l != 'dataLayer' ? '&l=' + l : '';
77          j.async = true;
78          j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
79          f.parentNode.insertBefore(j, f);
80        })(window, document, 'script', 'dataLayer', '
80GTM-PWGHF7VP
vendor: 11 bytes, lines 80-81
80');
81      
81</script>
81
82    -->
83    <!-- End Google Tag Manager -->
84
85    
86
87<meta property="og:site_name" content="COSORI">
88<meta property="og:url" content="https://cosori.com/products/juni-coffee-maker">
89<meta property="og:title" content="COSORI Juni Automatic Pour-Over Coffee Maker (SCA Certified)">
90<meta property="og:type" content="product">
91<meta property="og:description" content="Brew barista-quality coffee at home with the COSORI Juni. Featuring an automated swirl motion, precise bloom cycle, and SCA-certified temperature control."><meta property="og:image" content="http://cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666">
92  <meta property="og:image:secure_url" content="https://cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666">
93  <meta property="og:image:width" content="1344">
94  <meta property="og:image:height" content="1197">
95  <meta name="twitter:image" content="https://cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666"><meta property="og:price:amount" content="299.99">
96  <meta property="og:price:currency" content="USD"><meta name="twitter:card" content="summary_large_image">
97<meta name="twitter:title" content="COSORI Juni Automatic Pour-Over Coffee Maker (SCA Certified)">
98<meta name="twitter:description" content="Brew barista-quality coffee at home with the COSORI Juni. Featuring an automated swirl motion, precise bloom cycle, and SCA-certified temperature control.">
99
100    <link
101      rel="preload"
102      as="image"
103      href="//cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&width=900"
104      imagesrcset="//cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&width=450 450w,//cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&width=768 768w,//cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&width=900 900w
105      "
106      imagesizes="(min-width: 1024px) 640px, 100vw"
107      fetchpriority="high"
108    >
109
110    <!-- itg datalayer -->
111
112    
112<script type="text/javascript">
113        window.dataLayer = window.dataLayer || [];
114      
115      
116        window.dataLayer.push({
117          'event': 'criteo_product',
118          'page_name': 'product',
119          'page_url': '/products/juni-coffee-maker',
120          'page_type': 'Product Detail',
121          'page_category': 'Pour Over Coffee Makers',
122          
123          'user_logged_in':false',
124          'new_customer': true,
125            
126          'user_type': 'User',
127          'user_email_plain_text': '',
128          'user_email_md5': 'd41d8cd98f00b204e9800998ecf8427e',
129          'user_email_sha256': 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855',
130          'store_id': 'cosori',
131          'zipcode': '',
132          'customer_id':'',
133          'criteo.ecommerce': {
134            'items': [
135              {
136                'item_id': '10566370951477',
137                'price' : '29999',
138                'availability' : '2389'
139              }
140            ]
141          }
142        });
143      
144      
145    </script>
145
146
147    <!-- itg datalayer -->
148
149    <link href="//cosori.com/cdn/shop/t/166/assets/tailwind.css?v=100936580253917151551789674181" rel="stylesheet" type="text/css" media="all" />
150
151    <noscript><link rel="stylesheet" href="//cosori.com/cdn/shop/t/166/assets/custom.css?v=99738332422430880251789674181"></noscript>
152
153    
153<script src="//cosori.com/cdn/shop/t/166/assets/constants.js?v=58251544750838685771789674181" defer="defer"></script>
153
154    
154<script src="//cosori.com/cdn/shop/t/166/assets/pubsub.js?v=158357773527763999511789674181" defer="defer"></script>
154
155    
155<script src="//cosori.com/cdn/shop/t/166/assets/global.js?v=115439233813835548131789674181" defer="defer"></script>
155
156    
156<script src="//cosori.com/cdn/shop/t/166/assets/jquery.js?v=158417595810649192771789674181" defer="defer"></script>
156
157    
157<script src="//cosori.com/cdn/shop/t/166/assets/print.js?v=159940789733989121331789674181" defer="defer"></script>
157
158    
158<script src="//cosori.com/cdn/shop/t/166/assets/fancybox.js?v=102984942719613846721789674181" defer="defer"></script>
158
159    
159<script src="//cosori.com/cdn/shop/t/166/assets/swiper.js?v=5799996748331221021789674181" defer="defer"></script>
159
160    
160<script src="//cosori.com/cdn/shop/t/166/assets/jquery.lazy.min.js?v=180555983266381744341789674181" defer="defer"></script>
160
161    
161<script src="//cosori.com/cdn/shop/t/166/assets/jquery.lazy.av.min.js?v=175980027530204625271789674181" defer="defer"></script>
161
162    
162<script src="//cosori.com/cdn/shop/t/166/assets/sharer.js?v=51459755892223852051789674181" defer="defer"></script>
162
163    
163<script src="//cosori.com/cdn/shop/t/166/assets/custom.js?v=120553851862571758181789674181" defer="defer"></script>
163
164    
164<script src="//cosori.com/cdn/shop/t/166/assets/dtc.js?v=88789407433823823401789674181" defer="defer"></script>
164
165    
165<script src="//cosori.com/cdn/shop/t/166/assets/v-gtm-events.js?v=33713644719317089131789886107" defer="defer"></script>
165�
165<script type="application/ld+json">
166  {
167    "@context": "https://schema.org",
168    "@type": "Product",
169    "productID": 10566370951477,
170    "name": "Juni™ The Automatic Pour-Over Coffee Machine",
171    "description": "Brew barista-level, pour-over coffee without the guesswork. Juni is designed for all experience levels, from those new to pour-over with quick brew functionality and AI recipe generation, or expert-level brewers who want complete control of every parameter. With built-in taste intelligence, Juni adapts to your taste with each pour to achieve your perfect cup consistently.",
172    "category": "",
173    "url": "https:\/\/cosori.com\/products\/juni-coffee-maker",
174    "sku": "KAAPCMCSSUS0001Y","weight": {
175        "@type": "QuantitativeValue",
176        "unitCode": "lb",
177        "value": 0.0
178      },"brand": {
179      "@type": "Brand",
180      "name": "COSORI"
181    },"image": {
182        "@type": "ImageObject",
183        "url": "https://cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&width=1920",
184        "width": "1920",
185        "height": 1710
186      },"offers": {
187      "@type": "Offer",
188      "name": "Juni™ The Automatic Pour-Over Coffee Machine",
189      "availability":"https://schema.org/InStock",
190      "price": 299.99,
191      "priceCurrency": "USD",
192      "validFrom": "2026-09-08",
193      "priceValidUntil": "2026-12-31","sku": "KAAPCMCSSUS0001Y","url": "https:\/\/cosori.com\/products\/juni-coffee-maker?variant=53460911227189",
194      "seller": {
195        "@type": "Organization",
196        "name": "COSORI"
197      },
198      "shippingDetails": {
199        "@type": "OfferShippingDetails",
200        "shippingRate": {
201          "@type": "MonetaryAmount",
202          "value": "0",
203          "currency": "USD"
204        },
205        "shippingDestination": {
206          "@type": "DefinedRegion",
207          "addressCountry": "US"
208        },
209        "deliveryTime": {
210          "@type": "ShippingDeliveryTime",
211          "handlingTime": {
212            "@type": "QuantitativeValue",
213            "minValue": 0,
214            "maxValue": 1,
215            "unitCode": "d"
216          },
217          "transitTime": {
218            "@type": "QuantitativeValue",
219            "minValue": 1,
220            "maxValue": 5,
221            "unitCode": "d"
222          }
223        }
224      },
225      "hasMerchantReturnPolicy": {
226        "@type": "MerchantReturnPolicy",
227        "applicableCountry": "US",
228        "returnPolicyCountry": "US",
229        "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
230        "merchantReturnDays": 30,
231        "returnMethod": "https://schema.org/ReturnByMail",
232        "returnFees": "https://schema.org/FreeReturn"
233      }
234    }
235  }
236  </script>
236<script type="application/ld+json">
237    {
238      "@context": "https://schema.org",
239      "@type": "BreadcrumbList",
240  "itemListElement": [{
241      "@type": "ListItem",
242      "position": 1,
243      "name": "Home",
244      "item": "https:\/\/cosori.com"
245    },{
246          "@type": "ListItem",
247          "position": 2,
248          "name": "Juni™ The Automatic Pour-Over Coffee Machine"
249        }]
250    }
251    </script>
251<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
251<meta name="facebook-domain-verification" content="gby509ktb45uy0slcrc9u3mn7lt7k6">
252<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/74265723189/digital_wallets/dialog">
253<meta id="in-context-paypal-metadata" data-shop-id="74265723189" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
254<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="buy" href="/cart/53460911227189:1?ucp/version=2026-08-25&amp;context/payment/0/handler=dev.shopify.shop_pay" payment="dev.shopify.shop_pay com.google.pay dev.shopify.card"><link rel="alternate" type="application/json+oembed" href="https://cosori.com/products/juni-coffee-maker.oembed">
255<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=7151583541"></script>
255
256<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
257<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=7151583541&shop_id=74265723189" crossorigin="anonymous"></script>
vendor: 1 bytes, line 257
257
258<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":74265723189,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/74265723189","merchantName":"COSORI","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"COSORI","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 258
258
259<script id="shopify-features" type="application/json">{"accessToken":"91c6a17a7aa75bdcc543b074d063db88","betas":["rich-media-storefront-analytics"],"domain":"cosori.com","predictiveSearch":true,"shopId":74265723189,"locale":"en"}</script>
vendor: 1 bytes, line 259
259
260<script>var Shopify = Shopify || {};
261Shopify.shop = "cosori-2023.myshopify.com";
262Shopify.locale = "en";
263Shopify.currency = {"active":"USD","rate":"1.0"};
264Shopify.country = "US";
265Shopify.theme = {"name":"CNT-Cosori DTC-V20260908 + v6.17 Juni","id":191325929781,"schema_name":"Cosori","schema_version":"13.0.1","theme_store_id":null,"role":"main"};
266Shopify.theme.handle = "null";
267Shopify.theme.style = {"id":null,"handle":null};
268Shopify.cdnHost = "cosori.com/cdn";
269Shopify.routes = Shopify.routes || {};
270Shopify.routes.root = "/";
271Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
272Shopify.SignInWithShop = Shopify.SignInWithShop || {};
273Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
274Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 274
274
275<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 275
275
276<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 276
276
277<script>
278  window.ShopifyPay = window.ShopifyPay || {};
279  window.ShopifyPay.apiHost = "shop.app\/pay";
280  window.ShopifyPay.redirectState = null;
281</script>
vendor: 1 bytes, line 281
281
282<script>
283  window.Shopify = window.Shopify || {};
284  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
285  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
286  window.Shopify.SignInWithShop.eligible = false;
287</script>
vendor: 1 bytes, line 287
287
288<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 1 bytes, line 288
288
289<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 289
289
290<script type="module">
291  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
292
293  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
294
295</script>
vendor: 1 bytes, line 295
295
296<script>
297  window.Shopify = window.Shopify || {};
298  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
299  window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]};
300</script>
vendor: 1 bytes, line 300
300
301<script>(function() {
302  var isLoaded = false;
303  function asyncLoad() {
304    if (isLoaded) return;
305    isLoaded = true;
306    var urls = ["https:\/\/cdn.verifypass.com\/seller\/launcher.js?shop=cosori-2023.myshopify.com","https:\/\/static.klaviyo.com\/onsite\/js\/klaviyo.js?company_id=SvTWYw\u0026shop=cosori-2023.myshopify.com","https:\/\/d1639lhkj5l89m.cloudfront.net\/js\/storefront\/uppromote.js?shop=cosori-2023.myshopify.com","https:\/\/d38xvr37kwwhcm.cloudfront.net\/js\/grin-sdk.js?shop=cosori-2023.myshopify.com","\/\/cdn.shopify.com\/proxy\/75228c76e8c015e2d0510557a5d88f80a9e3da243d74abc871072636ee4faf79\/apps.bazaarvoice.com\/deployments\/etekcity\/cosori\/production\/en_US\/bv.js?shop=cosori-2023.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/spfy-pxl.archive-digger.com\/assets\/script_tag.js?shopId=cosori-2023.myshopify.com\u0026taboolaId=1956670\u0026espd=true\u0026ecav=true\u0026eh=true\u0026ess=true\u0026ep=true\u0026eatc=true\u0026eprv=true\u0026ecv=true\u0026epv=true\u0026esc=true\u0026shop=cosori-2023.myshopify.com"];
307    for (var i = 0; i < urls.length; i++) {
308      var s = document.createElement('script');
309      s.type = 'text/javascript';
310      s.async = true;
311      s.src = urls[i];
312      var x = document.getElementsByTagName('script')[0];
313      x.parentNode.insertBefore(s, x);
314    }
315  };
316  if(window.attachEvent) {
317    window.attachEvent('onload', asyncLoad);
318  } else {
319    window.addEventListener('load', asyncLoad, false);
320  }
321})();</script>
vendor: 1 bytes, line 321
321
322<script id="__st">var __st={"a":74265723189,"offset":-25200,"reqid":"bfcd4b41-3f27-4398-8c93-08c38f54e6c9-1790380475","pageurl":"cosori.com\/products\/juni-coffee-maker","u":"97c4ccb44fc7","p":"product","rtyp":"product","rid":10566370951477};</script>
vendor: 1 bytes, line 322
322
323<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 323
323
324<script id="form-persister">!function(){'use strict';const t='contact',e='new_comment',n=[[t,t],['blogs',e],['comments',e],[t,'customer']],o='password',r='form_key',c=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',o],s=()=>{try{return window.sessionStorage}catch{return}},i='__shopify_v',u=t=>t.elements[r],a=function(){const t=[...n].map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(',');var e;return e=t,()=>e?[...document.querySelectorAll(e)].map((t=>t.form)):[]}();function m(t){const e=u(t);a().includes(t)&&(!e||!e.value)&&function(t){try{if(!s())return;!function(t){const e=s();if(!e)return;const n=u(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){u(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:r})),t.elements[r].value=e}(t,e),function(t,e){const n=s();if(!n)return;const r=[...t.querySelectorAll(`input[type='${o}']`)].map((({name:t})=>t)),u=[...c,...r],a={};for(const[o,c]of new FormData(t).entries())u.includes(o)||(a[o]=c);n.setItem(e,JSON.stringify({[i]:1,action:t.action,data:a}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(t)}const f=t=>{if('true'===t.dataset.persistBound)return;const e=function(t,e){const n=function(t){return'function'==typeof t.submit?t.submit:HTMLFormElement.prototype.submit}(t).bind(t);return function(){let t;return()=>{t||(t=!0,(()=>{try{e(),n()}catch(t){(t=>{console.error('form submit failed',t)})(t)}})(),setTimeout((()=>t=!1),250))}}()}(t,(()=>{m(t)}));!function(t,e){if('function'==typeof t.submit&&'function'==typeof e)try{t.submit=e}catch{}}(t,e),t.addEventListener('submit',(t=>{t.preventDefault(),e()})),t.dataset.persistBound='true'};!function(){function t(t){const e=(t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form})(t);e&&m(e)}document.addEventListener('submit',t),document.addEventListener('DOMContentLoaded',(()=>{const e=a();for(const t of e)f(t);var n;n=document.body,new window.MutationObserver((t=>{for(const e of t)if('childList'===e.type&&e.addedNodes.length)for(const t of e.addedNodes)1===t.nodeType&&'FORM'===t.tagName&&a().includes(t)&&f(t)})).observe(n,{childList:!0,subtree:!0,attributes:!1}),document.removeEventListener('submit',t)}))}()}();</script>
vendor: 1 bytes, line 324
324
325<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//cosori.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 325
325
326<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//cosori.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
326<script crossorigin="anonymous" defer="defer" src="//cosori.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 326
326
327<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 327
327
328<script>
329  window.Shopify = window.Shopify || {};
330  window.Shopify.MCP = window.Shopify.MCP || {};
331  window.Shopify.MCP.enabled = true;
332  window.Shopify.MCP.shop = "cosori-2023.myshopify.com";
333  window.Shopify.MCP.mcpEndpoint = "https:\/\/cosori.com\/api\/mcp";
334  window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n  - What is your return policy?\n  - What is your shipping policy?\n  - What is your phone number?\n  - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}];
335</script>
vendor: 1 bytes, line 335
335
336<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/cosori.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
337</script>
vendor: 1 bytes, line 337
337
338<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://cosori.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
339</script>
vendor: 1 bytes, line 339
339
340<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
341  function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent);
342</script>
vendor: 1 bytes, line 342
342
343<script>
344  function portableWalletsCleanup(e){e&&e.src&&console.error("Failed to load portable wallets script "+e.src);var t=document.querySelectorAll("shopify-accelerated-checkout .shopify-payment-button__skeleton, shopify-accelerated-checkout-cart .wallet-cart-button__skeleton"),e=document.getElementById("shopify-buyer-consent");for(let e=0;e<t.length;e++)t[e].remove();e&&e.remove()}function portableWalletsNotLoadedAsModule(e){e instanceof ErrorEvent&&"string"==typeof e.message&&e.message.includes("import.meta")&&"string"==typeof e.filename&&e.filename.includes("portable-wallets")&&(window.removeEventListener("error",portableWalletsNotLoadedAsModule),window.Shopify.PaymentButton.failedToLoad=e,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",window.Shopify.PaymentButton.init):window.Shopify.PaymentButton.init())}window.addEventListener("error",portableWalletsNotLoadedAsModule);
345</script>
345
346
347<script type="module" src="https://cosori.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js" onError="portableWalletsCleanup(this)" crossorigin="anonymous"></script>
vendor: 1 bytes, line 347
347
348<script nomodule>
349  document.addEventListener("DOMContentLoaded", portableWalletsCleanup);
350</script>
350
351
352<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://cosori.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
353<style id="shopify-accelerated-checkout-cart">
354        #shopify-buyer-consent {
355  margin-top: 1em;
356  display: inline-block;
357  width: 100%;
358}
359
360#shopify-buyer-consent.hidden {
361  display: none;
362}
363
364#shopify-subscription-policy-button {
365  background: none;
366  border: none;
367  padding: 0;
368  text-decoration: underline;
369  font-size: inherit;
370  cursor: pointer;
371}
372
373#shopify-subscription-policy-button::before {
374  box-shadow: none;
375}
376
377      </style>
378<link rel="stylesheet" media="screen" href="//cosori.com/cdn/shop/t/166/compiled_assets/styles.css?v=153339572453262311241790157288">
379<script id="sections-script" data-sections="dtc-header-top-bar,dtc-header,dtc-footer" defer="defer" src="//cosori.com/cdn/shop/t/166/compiled_assets/scripts.js?v=64853527579109077251789674181"></script>
vendor: 1 bytes, line 379
379
380<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
380�
381
382    <style data-shopify>
383      @font-face {
384  font-family: Poppins;
385  font-weight: 400;
386  font-style: normal;
387  font-display: swap;
388  src: url("//cosori.com/cdn/fonts/poppins/poppins_n4.0ba78fa5af9b0e1a374041b3ceaadf0a43b41362.woff2") format("woff2"),
389       url("//cosori.com/cdn/fonts/poppins/poppins_n4.214741a72ff2596839fc9760ee7a770386cf16ca.woff") format("woff");
390}
391
392      @font-face {
393  font-family: Poppins;
394  font-weight: 700;
395  font-style: normal;
396  font-display: swap;
397  src: url("//cosori.com/cdn/fonts/poppins/poppins_n7.56758dcf284489feb014a026f3727f2f20a54626.woff2") format("woff2"),
398       url("//cosori.com/cdn/fonts/poppins/poppins_n7.f34f55d9b3d3205d2cd6f64955ff4b36f0cfd8da.woff") format("woff");
399}
400
401      @font-face {
402  font-family: Poppins;
403  font-weight: 400;
404  font-style: italic;
405  font-display: swap;
406  src: url("//cosori.com/cdn/fonts/poppins/poppins_i4.846ad1e22474f856bd6b81ba4585a60799a9f5d2.woff2") format("woff2"),
407       url("//cosori.com/cdn/fonts/poppins/poppins_i4.56b43284e8b52fc64c1fd271f289a39e8477e9ec.woff") format("woff");
408}
409
410      @font-face {
411  font-family: Poppins;
412  font-weight: 700;
413  font-style: italic;
414  font-display: swap;
415  src: url("//cosori.com/cdn/fonts/poppins/poppins_i7.42fd71da11e9d101e1e6c7932199f925f9eea42d.woff2") format("woff2"),
416       url("//cosori.com/cdn/fonts/poppins/poppins_i7.ec8499dbd7616004e21155106d13837fff4cf556.woff") format("woff");
417}
418
419      @font-face {
420  font-family: Poppins;
421  font-weight: 400;
422  font-style: normal;
423  font-display: swap;
424  src: url("//cosori.com/cdn/fonts/poppins/poppins_n4.0ba78fa5af9b0e1a374041b3ceaadf0a43b41362.woff2") format("woff2"),
425       url("//cosori.com/cdn/fonts/poppins/poppins_n4.214741a72ff2596839fc9760ee7a770386cf16ca.woff") format("woff");
426}
427
428
429      
430        :root,
431        .color-scheme-1 {
432          --color-background: 255,255,255;
433        
434          --gradient-background: #ffffff;
435        
436
437        
438
439        --color-foreground: 51,51,51;
440        --color-background-contrast: 191,191,191;
441        --color-shadow: 255,255,255;
442        --color-button: 251,145,74;
443        --color-button-text: 51,51,51;
444        --color-button-label-1: 255,255,255;
445        --color-button-background-hover: 253,189,146;
446        --color-secondary-button: 251,145,74;
447        --color-secondary-button-text: 255,255,255;
448        --color-link: 251,145,74;
449        --color-badge-foreground: 51,51,51;
450        --color-badge-background: 255,255,255;
451        --color-badge-border: 51,51,51;
452        --payment-terms-background-color: rgb(255 255 255);
453      }
454      
455        
456        .color-scheme-2 {
457          --color-background: 243,243,243;
458        
459          --gradient-background: #f3f3f3;
460        
461
462        
463
464        --color-foreground: 37,28,29;
465        --color-background-contrast: 179,179,179;
466        --color-shadow: 37,28,29;
467        --color-button: 37,28,29;
468        --color-button-text: 37,28,29;
469        --color-button-label-1: 255,255,255;
470        --color-button-background-hover: 253,189,146;
471        --color-secondary-button: 37,28,29;
472        --color-secondary-button-text: 243,243,243;
473        --color-link: 37,28,29;
474        --color-badge-foreground: 37,28,29;
475        --color-badge-background: 243,243,243;
476        --color-badge-border: 37,28,29;
477        --payment-terms-background-color: rgb(243 243 243);
478      }
479      
480        
481        .color-scheme-3 {
482          --color-background: 51,51,51;
483        
484          --gradient-background: #333333;
485        
486
487        
488
489        --color-foreground: 255,255,255;
490        --color-background-contrast: 64,64,64;
491        --color-shadow: 18,18,18;
492        --color-button: 37,28,29;
493        --color-button-text: 255,255,255;
494        --color-button-label-1: 255,255,255;
495        --color-button-background-hover: 253,189,146;
496        --color-secondary-button: 37,28,29;
497        --color-secondary-button-text: 255,255,255;
498        --color-link: 37,28,29;
499        --color-badge-foreground: 255,255,255;
500        --color-badge-background: 51,51,51;
501        --color-badge-border: 255,255,255;
502        --payment-terms-background-color: rgb(51 51 51);
503      }
504      
505        
506        .color-scheme-4 {
507          --color-background: 251,145,74;
508        
509          --gradient-background: #fb914a;
510        
511
512        
513
514        --color-foreground: 255,255,255;
515        --color-background-contrast: 193,80,4;
516        --color-shadow: 251,145,74;
517        --color-button: 255,255,255;
518        --color-button-text: 255,255,255;
519        --color-button-label-1: 251,145,74;
520        --color-button-background-hover: 253,211,183;
521        --color-secondary-button: 255,255,255;
522        --color-secondary-button-text: 251,145,74;
523        --color-link: 255,255,255;
524        --color-badge-foreground: 255,255,255;
525        --color-badge-background: 251,145,74;
526        --color-badge-border: 255,255,255;
527        --payment-terms-background-color: rgb(251 145 74);
528      }
529      
530        
531        .color-scheme-5 {
532          --color-background: 0,0,0;
533        
534          --gradient-background: rgba(0,0,0,0);
535        
536
537        
538
539        --color-foreground: 255,255,255;
540        --color-background-contrast: 128,128,128;
541        --color-shadow: 18,18,18;
542        --color-button: 251,145,74;
543        --color-button-text: 255,255,255;
544        --color-button-label-1: 255,255,255;
545        --color-button-background-hover: 253,189,146;
546        --color-secondary-button: 255,255,255;
547        --color-secondary-button-text: 251,145,74;
548        --color-link: 255,255,255;
549        --color-badge-foreground: 255,255,255;
550        --color-badge-background: 0,0,0;
551        --color-badge-border: 255,255,255;
552        --payment-terms-background-color: rgb(0 0 0);
553      }
554      
555        
556        .color-scheme-5afcc7fa-012b-4fe4-9b94-6653d8f6baad {
557          --color-background: 237,237,237;
558        
559          --gradient-background: #ededed;
560        
561
562        
563
564        --color-foreground: 255,255,255;
565        --color-background-contrast: 173,173,173;
566        --color-shadow: 251,145,74;
567        --color-button: 251,145,74;
568        --color-button-text: 255,255,255;
569        --color-button-label-1: 255,255,255;
570        --color-button-background-hover: 253,189,146;
571        --color-secondary-button: 255,255,255;
572        --color-secondary-button-text: 251,145,74;
573        --color-link: 255,255,255;
574        --color-badge-foreground: 255,255,255;
575        --color-badge-background: 237,237,237;
576        --color-badge-border: 255,255,255;
577        --payment-terms-background-color: rgb(237 237 237);
578      }
579      
580        
581        .color-scheme-44522092-a5ad-4c1c-82f6-7d21415874d4 {
582          --color-background: 255,255,255;
583        
584          --gradient-background: #ffffff;
585        
586
587        
588
589        --color-foreground: 0,0,0;
590        --color-background-contrast: 191,191,191;
591        --color-shadow: 255,255,255;
592        --color-button: 251,145,74;
593        --color-button-text: 0,0,0;
594        --color-button-label-1: 255,255,255;
595        --color-button-background-hover: 253,189,146;
596        --color-secondary-button: 255,255,255;
597        --color-secondary-button-text: 251,145,74;
598        --color-link: 255,255,255;
599        --color-badge-foreground: 0,0,0;
600        --color-badge-background: 255,255,255;
601        --color-badge-border: 0,0,0;
602        --payment-terms-background-color: rgb(255 255 255);
603      }
604      
605        
606        .color-scheme-caf22b4f-f134-44c2-ad7c-98a87ecf3061 {
607          --color-background: 51,51,51;
608        
609          --gradient-background: #333333;
610        
611
612        
613
614        --color-foreground: 255,255,255;
615        --color-background-contrast: 64,64,64;
616        --color-shadow: 255,255,255;
617        --color-button: 251,145,74;
618        --color-button-text: 255,255,255;
619        --color-button-label-1: 255,255,255;
620        --color-button-background-hover: 253,189,146;
621        --color-secondary-button: 251,145,74;
622        --color-secondary-button-text: 255,255,255;
623        --color-link: 251,145,74;
624        --color-badge-foreground: 255,255,255;
625        --color-badge-background: 51,51,51;
626        --color-badge-border: 255,255,255;
627        --payment-terms-background-color: rgb(51 51 51);
628      }
629      
630        
631        .color-scheme-5b83211c-75b1-4dcc-b519-38183a2b26b0 {
632          --color-background: 81,42,68;
633        
634          --gradient-background: #512a44;
635        
636
637        
638
639        --color-foreground: 255,255,255;
640        --color-background-contrast: 98,51,82;
641        --color-shadow: 255,255,255;
642        --color-button: 251,145,74;
643        --color-button-text: 255,255,255;
644        --color-button-label-1: 255,255,255;
645        --color-button-background-hover: 253,189,146;
646        --color-secondary-button: 255,255,255;
647        --color-secondary-button-text: 251,145,74;
648        --color-link: 255,255,255;
649        --color-badge-foreground: 255,255,255;
650        --color-badge-background: 81,42,68;
651        --color-badge-border: 255,255,255;
652        --payment-terms-background-color: rgb(81 42 68);
653      }
654      
655        
656        .color-scheme-69270ce5-4b8d-4400-8bb5-d475d23009f1 {
657          --color-background: 255,255,255;
658        
659          --gradient-background: #ffffff;
660        
661
662        
663
664        --color-foreground: 0,0,0;
665        --color-background-contrast: 191,191,191;
666        --color-shadow: 0,0,0;
667        --color-button: 251,145,74;
668        --color-button-text: 0,0,0;
669        --color-button-label-1: 255,255,255;
670        --color-button-background-hover: 255,255,255;
671        --color-secondary-button: 255,255,255;
672        --color-secondary-button-text: 0,0,0;
673        --color-link: 255,255,255;
674        --color-badge-foreground: 0,0,0;
675        --color-badge-background: 255,255,255;
676        --color-badge-border: 0,0,0;
677        --payment-terms-background-color: rgb(255 255 255);
678      }
679      
680        
681        .color-scheme-0436e63f-dc57-468e-af26-8dc05164fc7c {
682          --color-background: 51,51,51;
683        
684          --gradient-background: #333333;
685        
686
687        
688
689        --color-foreground: 255,255,255;
690        --color-background-contrast: 64,64,64;
691        --color-shadow: 255,255,255;
692        --color-button: 251,145,74;
693        --color-button-text: 255,255,255;
694        --color-button-label-1: 255,255,255;
695        --color-button-background-hover: 253,189,146;
696        --color-secondary-button: 255,255,255;
697        --color-secondary-button-text: 251,145,74;
698        --color-link: 255,255,255;
699        --color-badge-foreground: 255,255,255;
700        --color-badge-background: 51,51,51;
701        --color-badge-border: 255,255,255;
702        --payment-terms-background-color: rgb(51 51 51);
703      }
704      
705        
706        .color-scheme-cb495ad1-953f-4d2e-aab1-f2174a3753be {
707          --color-background: 135,177,143;
708        
709          --gradient-background: #87b18f;
710        
711
712        
713
714        --color-foreground: 255,255,255;
715        --color-background-contrast: 73,112,80;
716        --color-shadow: 255,255,255;
717        --color-button: 251,145,74;
718        --color-button-text: 255,255,255;
719        --color-button-label-1: 255,255,255;
720        --color-button-background-hover: 253,189,146;
721        --color-secondary-button: 255,255,255;
722        --color-secondary-button-text: 251,145,74;
723        --color-link: 255,255,255;
724        --color-badge-foreground: 255,255,255;
725        --color-badge-background: 135,177,143;
726        --color-badge-border: 255,255,255;
727        --payment-terms-background-color: rgb(135 177 143);
728      }
729      
730        
731        .color-scheme-de255657-0970-4ca3-b105-cdf6f7673f86 {
732          --color-background: 254,237,214;
733        
734          --gradient-background: #feedd6;
735        
736
737        
738
739        --color-foreground: 51,51,51;
740        --color-background-contrast: 251,182,90;
741        --color-shadow: 255,255,255;
742        --color-button: 251,145,74;
743        --color-button-text: 51,51,51;
744        --color-button-label-1: 255,255,255;
745        --color-button-background-hover: 253,189,146;
746        --color-secondary-button: 255,255,255;
747        --color-secondary-button-text: 251,145,74;
748        --color-link: 255,255,255;
749        --color-badge-foreground: 51,51,51;
750        --color-badge-background: 254,237,214;
751        --color-badge-border: 51,51,51;
752        --payment-terms-background-color: rgb(254 237 214);
753      }
754      
755        
756        .color-scheme-e49d93dd-66f0-433a-874d-e729e1a9220c {
757          --color-background: 246,136,62;
758        
759          --gradient-background: #f6883e;
760        
761
762        
763
764        --color-foreground: 255,255,255;
765        --color-background-contrast: 172,74,8;
766        --color-shadow: 255,255,255;
767        --color-button: 251,145,74;
768        --color-button-text: 255,255,255;
769        --color-button-label-1: 251,145,74;
770        --color-button-background-hover: 253,189,146;
771        --color-secondary-button: 255,255,255;
772        --color-secondary-button-text: 255,255,255;
773        --color-link: 255,255,255;
774        --color-badge-foreground: 255,255,255;
775        --color-badge-background: 246,136,62;
776        --color-badge-border: 255,255,255;
777        --payment-terms-background-color: rgb(246 136 62);
778      }
779      
780        
781        .color-scheme-6cc0fa39-1676-48c7-891d-1cc25dd0bcb2 {
782          --color-background: 246,239,227;
783        
784          --gradient-background: #f6efe3;
785        
786
787        
788
789        --color-foreground: 86,57,77;
790        --color-background-contrast: 215,184,131;
791        --color-shadow: 255,255,255;
792        --color-button: 251,145,74;
793        --color-button-text: 86,57,77;
794        --color-button-label-1: 255,255,255;
795        --color-button-background-hover: 253,189,146;
796        --color-secondary-button: 255,255,255;
797        --color-secondary-button-text: 0,0,0;
798        --color-link: 255,255,255;
799        --color-badge-foreground: 86,57,77;
800        --color-badge-background: 246,239,227;
801        --color-badge-border: 86,57,77;
802        --payment-terms-background-color: rgb(246 239 227);
803      }
804      
805        
806        .color-scheme-e43fa82b-5a6e-4aa7-be41-6dfbbb5b6211 {
807          --color-background: 242,242,242;
808        
809          --gradient-background: #f2f2f2;
810        
811
812        
813
814        --color-foreground: 37,28,29;
815        --color-background-contrast: 178,178,178;
816        --color-shadow: 255,255,255;
817        --color-button: 251,145,74;
818        --color-button-text: 37,28,29;
819        --color-button-label-1: 255,255,255;
820        --color-button-background-hover: 253,189,146;
821        --color-secondary-button: 255,255,255;
822        --color-secondary-button-text: 251,145,74;
823        --color-link: 255,255,255;
824        --color-badge-foreground: 37,28,29;
825        --color-badge-background: 242,242,242;
826        --color-badge-border: 37,28,29;
827        --payment-terms-background-color: rgb(242 242 242);
828      }
829      
830        
831        .color-scheme-8285e0b2-2763-48b6-83ee-64ab2666edb3 {
832          --color-background: 255,255,255;
833        
834          --gradient-background: #ffffff;
835        
836
837        
838
839        --color-foreground: 51,51,51;
840        --color-background-contrast: 191,191,191;
841        --color-shadow: 255,255,255;
842        --color-button: 251,145,74;
843        --color-button-text: 51,51,51;
844        --color-button-label-1: 255,255,255;
845        --color-button-background-hover: 253,189,146;
846        --color-secondary-button: 255,255,255;
847        --color-secondary-button-text: 251,145,74;
848        --color-link: 255,255,255;
849        --color-badge-foreground: 51,51,51;
850        --color-badge-background: 255,255,255;
851        --color-badge-border: 51,51,51;
852        --payment-terms-background-color: rgb(255 255 255);
853      }
854      
855        
856        .color-scheme-1eb3c38f-a2a3-440d-aa16-f8ca16481354 {
857          --color-background: 255,141,117;
858        
859          --gradient-background: #ff8d75;
860        
861
862        
863
864        --color-foreground: 255,255,255;
865        --color-background-contrast: 244,43,0;
866        --color-shadow: 255,255,255;
867        --color-button: 251,145,74;
868        --color-button-text: 255,255,255;
869        --color-button-label-1: 255,255,255;
870        --color-button-background-hover: 253,189,146;
871        --color-secondary-button: 255,255,255;
872        --color-secondary-button-text: 251,145,74;
873        --color-link: 255,255,255;
874        --color-badge-foreground: 255,255,255;
875        --color-badge-background: 255,141,117;
876        --color-badge-border: 255,255,255;
877        --payment-terms-background-color: rgb(255 141 117);
878      }
879      
880        
881        .color-scheme-af999a4f-4a51-4481-906b-6d538861e605 {
882          --color-background: 255,255,255;
883        
884          --gradient-background: #ffffff;
885        
886
887        
888
889        --color-foreground: 61,38,58;
890        --color-background-contrast: 191,191,191;
891        --color-shadow: 255,255,255;
892        --color-button: 251,145,74;
893        --color-button-text: 61,38,58;
894        --color-button-label-1: 255,255,255;
895        --color-button-background-hover: 253,189,146;
896        --color-secondary-button: 255,255,255;
897        --color-secondary-button-text: 251,145,74;
898        --color-link: 255,255,255;
899        --color-badge-foreground: 61,38,58;
900        --color-badge-background: 255,255,255;
901        --color-badge-border: 61,38,58;
902        --payment-terms-background-color: rgb(255 255 255);
903      }
904      
905        
906        .color-scheme-1570f979-1963-4b9c-8bd0-10dd7eb800c7 {
907          --color-background: 0,57,66;
908        
909          --gradient-background: #003942;
910        
911
912        
913
914        --color-foreground: 243,243,243;
915        --color-background-contrast: 0,79,92;
916        --color-shadow: 255,255,255;
917        --color-button: 251,145,74;
918        --color-button-text: 243,243,243;
919        --color-button-label-1: 255,255,255;
920        --color-button-background-hover: 253,189,146;
921        --color-secondary-button: 255,255,255;
922        --color-secondary-button-text: 251,145,74;
923        --color-link: 255,255,255;
924        --color-badge-foreground: 243,243,243;
925        --color-badge-background: 0,57,66;
926        --color-badge-border: 243,243,243;
927        --payment-terms-background-color: rgb(0 57 66);
928      }
929      
930
931      body, .color-scheme-1, .color-scheme-2, .color-scheme-3, .color-scheme-4, .color-scheme-5, .color-scheme-5afcc7fa-012b-4fe4-9b94-6653d8f6baad, .color-scheme-44522092-a5ad-4c1c-82f6-7d21415874d4, .color-scheme-caf22b4f-f134-44c2-ad7c-98a87ecf3061, .color-scheme-5b83211c-75b1-4dcc-b519-38183a2b26b0, .color-scheme-69270ce5-4b8d-4400-8bb5-d475d23009f1, .color-scheme-0436e63f-dc57-468e-af26-8dc05164fc7c, .color-scheme-cb495ad1-953f-4d2e-aab1-f2174a3753be, .color-scheme-de255657-0970-4ca3-b105-cdf6f7673f86, .color-scheme-e49d93dd-66f0-433a-874d-e729e1a9220c, .color-scheme-6cc0fa39-1676-48c7-891d-1cc25dd0bcb2, .color-scheme-e43fa82b-5a6e-4aa7-be41-6dfbbb5b6211, .color-scheme-8285e0b2-2763-48b6-83ee-64ab2666edb3, .color-scheme-1eb3c38f-a2a3-440d-aa16-f8ca16481354, .color-scheme-af999a4f-4a51-4481-906b-6d538861e605, .color-scheme-1570f979-1963-4b9c-8bd0-10dd7eb800c7 {
932        color: rgba(var(--color-foreground));
933        background-color: rgb(var(--color-background));
934      }
935
936      :root {
937        --font-body-family: Poppins, sans-serif;
938        --font-body-style: normal;
939        --font-body-weight: 400;
940        --font-body-weight-bold: 700;
941
942        --font-heading-family: Poppins, sans-serif;
943        --font-heading-style: normal;
944        --font-heading-weight: 400;
945
946        --font-body-scale: 1.0;
947        --font-heading-scale: 1.0;
948
949        --media-padding: px;
950        --media-border-opacity: 0.05;
951        --media-border-width: 0px;
952        --media-radius: 0px;
953        --media-shadow-opacity: 0.0;
954        --media-shadow-horizontal-offset: 0px;
955        --media-shadow-vertical-offset: 4px;
956        --media-shadow-blur-radius: 5px;
957        --media-shadow-visible: 0;
958
959        --page-width: 165rem;
960        --page-width-margin: 0rem;
961
962        --product-card-image-padding: 0.0rem;
963        --product-card-corner-radius: 1.6rem;
964        --product-card-text-alignment: left;
965        --product-card-border-width: 0.0rem;
966        --product-card-border-opacity: 0.1;
967        --product-card-shadow-opacity: 0.0;
968        --product-card-shadow-visible: 0;
969        --product-card-shadow-horizontal-offset: 4.0rem;
970        --product-card-shadow-vertical-offset: 5.0rem;
971        --product-card-shadow-blur-radius: 0.5rem;
972
973        --collection-card-image-padding: 0.0rem;
974        --collection-card-corner-radius: 1.6rem;
975        --collection-card-text-alignment: left;
976        --collection-card-border-width: 0.0rem;
977        --collection-card-border-opacity: 0.1;
978        --collection-card-shadow-opacity: 0.0;
979        --collection-card-shadow-visible: 0;
980        --collection-card-shadow-horizontal-offset: 4.0rem;
981        --collection-card-shadow-vertical-offset: 4.0rem;
982        --collection-card-shadow-blur-radius: 0.5rem;
983
984        --blog-card-image-padding: 0.0rem;
985        --blog-card-corner-radius: 1.4rem;
986        --blog-card-text-alignment: center;
987        --blog-card-border-width: 0.0rem;
988        --blog-card-border-opacity: 0.1;
989        --blog-card-shadow-opacity: 0.0;
990        --blog-card-shadow-visible: 0;
991        --blog-card-shadow-horizontal-offset: 4.0rem;
992        --blog-card-shadow-vertical-offset: 0.4rem;
993        --blog-card-shadow-blur-radius: 0.5rem;
994
995        --badge-corner-radius: 4.0rem;
996
997        --popup-border-width: 1px;
998        --popup-border-opacity: 0.1;
999        --popup-corner-radius: 0px;
1000        --popup-shadow-opacity: 0.05;
1001        --popup-shadow-horizontal-offset: 0px;
1002        --popup-shadow-vertical-offset: 4px;
1003        --popup-shadow-blur-radius: 5px;
1004
1005        --drawer-border-width: 1px;
1006        --drawer-border-opacity: 0.1;
1007        --drawer-shadow-opacity: 0.0;
1008        --drawer-shadow-horizontal-offset: 0px;
1009        --drawer-shadow-vertical-offset: 4px;
1010        --drawer-shadow-blur-radius: 5px;
1011
1012        --spacing-sections-desktop: 0px;
1013        --spacing-sections-mobile: 0px;
1014
1015        --grid-desktop-vertical-spacing: 32px;
1016        --grid-desktop-horizontal-spacing: 32px;
1017        --grid-mobile-vertical-spacing: 16px;
1018        --grid-mobile-horizontal-spacing: 16px;
1019
1020        --text-boxes-border-opacity: 0.1;
1021        --text-boxes-border-width: 0px;
1022        --text-boxes-radius: 0px;
1023        --text-boxes-shadow-opacity: 0.0;
1024        --text-boxes-shadow-visible: 0;
1025        --text-boxes-shadow-horizontal-offset: 30px;
1026        --text-boxes-shadow-vertical-offset: 30px;
1027        --text-boxes-shadow-blur-radius: 5px;
1028
1029        --buttons-radius: 16px;
1030        --buttons-radius-outset: 17px;
1031        --buttons-border-width: 1px;
1032        --buttons-border-opacity: 1.0;
1033        --buttons-shadow-opacity: 0.0;
1034        --buttons-shadow-visible: 0;
1035        --buttons-shadow-horizontal-offset: 0px;
1036        --buttons-shadow-vertical-offset: 0px;
1037        --buttons-shadow-blur-radius: 0px;
1038        --buttons-border-offset: 0.3px;
1039
1040        --inputs-radius: 0px;
1041        --inputs-border-width: 1px;
1042        --inputs-border-opacity: 0.55;
1043        --inputs-shadow-opacity: 0.0;
1044        --inputs-shadow-horizontal-offset: 0px;
1045        --inputs-margin-offset: 0px;
1046        --inputs-shadow-vertical-offset: 4px;
1047        --inputs-shadow-blur-radius: 5px;
1048        --inputs-radius-outset: 0px;
1049
1050        --variant-pills-radius: 40px;
1051        --variant-pills-border-width: 1px;
1052        --variant-pills-border-opacity: 0.55;
1053        --variant-pills-shadow-opacity: 0.0;
1054        --variant-pills-shadow-horizontal-offset: 0px;
1055        --variant-pills-shadow-vertical-offset: 4px;
1056        --variant-pills-shadow-blur-radius: 5px;
1057
1058        --text-decoration-color: #FB914A;
1059        --text-decoration-thickness: 12%;
1060        --text-decoration-offset: 6px;
1061      }
1062
1063      *,
1064      *::before,
1065      *::after {
1066        box-sizing: inherit;
1067      }
1068
1069      html {
1070        box-sizing: border-box;
1071        font-size: calc(var(--font-body-scale) * 62.5%);
1072        height: 100%;
1073      }
1074
1075      body {
1076        display: grid;
1077        grid-template-rows: auto auto 1fr auto;
1078        grid-template-columns: 100%;
1079        min-height: 100%;
1080        margin: 0;
1081        font-size: 1.5rem;
1082        letter-spacing: 0.06rem;
1083        line-height: calc(1 + 0.8 / var(--font-body-scale));
1084      }
1085
1086      @media (min-width: 768px) {
1087        body {
1088          font-size: 1.6rem;
1089        }
1090      }
1091    </style>
1092
1093    <link href="//cosori.com/cdn/shop/t/166/assets/fancybox.css?v=19278034316635137701789674181" rel="stylesheet" type="text/css" media="all" />
1094    <link href="//cosori.com/cdn/shop/t/166/assets/base.css?v=21901230090816949721789674181" rel="stylesheet" type="text/css" media="all" />
1095    <link href="//cosori.com/cdn/shop/t/166/assets/custom.css?v=99738332422430880251789674181" rel="stylesheet" type="text/css" media="all" />
1096    <link href="//cosori.com/cdn/shop/t/166/assets/new-custom.css?v=25719842032135123671789674181" rel="stylesheet" type="text/css" media="all" />
1097    <link href="//cosori.com/cdn/shop/t/166/assets/print.css?v=153298551180457880491789674181" rel="stylesheet" type="text/css" media="all" />
1098    <link href="//cosori.com/cdn/shop/t/166/assets/style.css?v=90851600476690571901789674181" rel="stylesheet" type="text/css" media="all" />
1099    <link href="//cosori.com/cdn/shop/t/166/assets/custom-theme.css?v=76869442431130341951789674181" rel="stylesheet" type="text/css" media="all" />
1100    <link href="//cosori.com/cdn/shop/t/166/assets/swiper.css?v=50081196733464914861789674181" rel="stylesheet" type="text/css" media="all" />
1101    <link href="//cosori.com/cdn/shop/t/166/assets/swiper-bundle.css?v=165197999554741900041789674181" rel="stylesheet" type="text/css" media="all" />
1102    <link href="//cosori.com/cdn/shop/t/166/assets/reskin.css?v=134256776041969474551789674181" rel="stylesheet" type="text/css" media="all" />�<style data-shopify>
1103  :root {
1104    /* ── 1. Brand colors ── */
1105    --dtc-color-text-primary: #121a25;
1106    --dtc-color-text-muted: #5a6b84;
1107    --dtc-color-text-muted-alt: #49566a;
1108    --dtc-color-text-subtle: #798496;
1109    --dtc-color-text-inverse: #ffffff;
1110    --dtc-color-border: #d8dae5;
1111    --dtc-color-border-ui: #d5d5d5;
1112    --dtc-color-accent: #fb914a;
1113    --dtc-color-accent-secondary: #512a44;
1114    --dtc-color-coffee-wheel-label: #5c463d;
1115    --dtc-color-coffee-wheel-fill: #ceb9b0;
1116    --dtc-color-coffee-wheel-fill-deep: #8f6a58;
1117    --dtc-filter-coffee-wheel-slice: drop-shadow(0 8px 20px rgba(143, 106, 88, 0.4));
1118    --dtc-color-primary-legacy: #fb914a;
1119    --dtc-color-surface-white: #ffffff;
1120    --dtc-color-surface-warm: #f9f3ef;
1121    --dtc-color-surface-warm-soft: #f5f3ef;
1122    --dtc-color-surface-warm-mid: #f6f0eb;
1123    --dtc-color-surface-neutral: #f3f3f2;
1124    --dtc-color-surface-gray: #f7f7f7;
1125    --dtc-color-surface-panel: #f7f7f4;
1126    --dtc-color-card-from: #e0c8b8;
1127    --dtc-color-card-via: #f0e4db;
1128    --dtc-color-card-end: #f9f3ef;
1129    --dtc-color-sky-from: #b3d0f1;
1130    --dtc-color-sky-mid: #e9f5fb;
1131    --dtc-color-sky-to: #f0f4f5;
1132    --dtc-color-sky-alt-from: #bfcff3;
1133    --dtc-color-sky-alt-mid: #ecf1fb;
1134    --dtc-color-sky-alt-to: #f0f2f5;
1135    --dtc-color-soft-orange: #f8eaca;
1136    --dtc-color-cream-from: #fcd299;
1137    --dtc-color-cream-mid: #ffeed6;
1138    --dtc-color-cream-light: #fffbf5;
1139    --dtc-color-newsletter-from: #fff8ee;
1140    --dtc-color-newsletter-mid: #ffe8c4;
1141    --dtc-color-newsletter-to: #faf9f7;
1142    --dtc-color-trust-from: #fff7f2;
1143    --dtc-color-trust-mid: #ffe7d7;
1144    --dtc-color-contact-from: #d8ebff;
1145    --dtc-color-contact-to: #eff7ff;
1146    --dtc-color-cta-from: #eef4f8;
1147    --dtc-color-cta-alt-from: #edf2f7;
1148    --dtc-color-hero-dark-from: #1f2b36;
1149    --dtc-color-hero-dark-to: #5a6b84;
1150    --dtc-color-vacuum-bar-from: #e7ad86;
1151    --dtc-color-vesync-glow-from: #ffe4bc;
1152    --dtc-color-vesync-glow-to: #fff6ea;
1153    --dtc-color-vesync-badge-from: #c8d6f5;
1154    --dtc-color-badge-default-bg: #001b70;
1155    --dtc-color-badge-default-text: #ffffff;
1156    --dtc-color-highlight: #f5ca30;
1157    --dtc-color-overlay: rgba(18, 26, 37, 0.2);
1158
1159    /* ── 2. Gradients — page / section backgrounds(简单一行,复杂换行)── */
1160    --dtc-gradient-warm-cream: linear-gradient(180deg, #fcd299 0%, #ffeed6 43.27%, #f3f3f2 100%);
1161    --dtc-gradient-sky-blue: linear-gradient(180deg, #b3d0f1 0%, #e9f5fb 50%, #f0f4f5 100%);
1162    --dtc-gradient-sky-blue-reverse: linear-gradient(180deg, #f0f4f5 0%, #e9f5fb 50%, #b3d0f1 100%);
1163    --dtc-gradient-sky-blue-alt: linear-gradient(180deg, #bfcff3 0%, #ecf1fb 50%, #f0f2f5 100%);
1164    --dtc-gradient-sky-blue-to-white: linear-gradient(180deg, #b3d0f1 0%, #e9f5fb 50%, #ffffff 100%);
1165    --dtc-gradient-card-warm: linear-gradient(171.23deg, #e0c8b8 2.7552%, #f0e4db 48.388%, #ffffff 94.021%);
1166    --dtc-gradient-card-warm-vertical: linear-gradient(180deg, #e0c8b8 0%, #f0e4db 50%, #ffffff 100%);
1167    --dtc-gradient-card-warm-vertical-long: linear-gradient(180deg, #e0c8b8 0%, #f0e4db 46.643%, #ffffff 93.285%);
1168    --dtc-gradient-card-warm-tilt: linear-gradient(173.04deg, #e0c8b8 3.02%, #f0e4db 50.81%, #f9f3ef 98.6%);
1169    --dtc-gradient-card-warm-tilt-alt: linear-gradient(177.34deg, #e0c8b8 3.02%, #f0e4db 50.81%, #f9f3ef 98.6%);
1170    --dtc-gradient-card-warm-cost: linear-gradient(175.71deg, #e0c8b8 3.02%, #f0e4db 50.81%, #f9f3ef 98.6%);
1171    --dtc-gradient-cta-horizontal: linear-gradient(90deg, #eef4f8 0%, #b4c8e4 50%, #eef4f8 100%);
1172    --dtc-gradient-cta-horizontal-alt: linear-gradient(90deg, #edf2f7 0%, #b8cbe5 50%, #edf2f7 100%);
1173    --dtc-gradient-newsletter-split: linear-gradient(270deg, #fff8ee 0%, #ffe8c4 38%, #faf9f7 100%);
1174    --dtc-gradient-trust-orange: linear-gradient(180deg, #fff7f2 0%, #ffe7d7 50%, #fb914a 100%);
1175    --dtc-gradient-contact-panel: linear-gradient(180deg, #d8ebff 0%, #eff7ff 100%);
1176    --dtc-gradient-collection-hero-dark: linear-gradient(135deg, #1f2b36 0%, #5a6b84 100%);
1177    --dtc-gradient-vacuum-bar: linear-gradient(to left, #e7ad86 0%, #bddec1 100%);
1178    --dtc-gradient-vesync-phone-glow: linear-gradient(180deg, #ffe4bc, #fff6ea);
1179    --dtc-gradient-vesync-badge: linear-gradient(135deg, #c8d6f5, #88a8e3);
1180    --dtc-gradient-coffee-story-band: linear-gradient(to left, #e7ad86 0%, #bddec1 100%);
1181    --dtc-gradient-coffee-tasting-glow: linear-gradient(270deg, #e7ad86 0%, #bddec1 100%);
1182
1183    /* ── 3. Gradients — overlays ── */
1184    --dtc-gradient-overlay-bottom-strong: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
1185    --dtc-gradient-overlay-bottom-medium: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
1186    --dtc-gradient-overlay-bottom-light: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 100%);
1187    --dtc-gradient-overlay-bottom-mid: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 100%);
1188    --dtc-gradient-overlay-bottom-card: linear-gradient(to bottom, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.8) 100%);
1189    --dtc-gradient-overlay-top-dark: linear-gradient(180deg, rgba(0, 0, 0, 0.76) 0%, rgba(0, 0, 0, 0) 80%);
1190    --dtc-gradient-overlay-top-fade: linear-gradient(180deg, rgba(0, 0, 0, 0.56) 0%, rgba(0, 0, 0, 0) 100%);
1191    --dtc-gradient-overlay-hero-diagonal: linear-gradient(105deg, rgba(0, 0, 0, 0.62) 0%, rgba(0, 0, 0, 0.3) 45%, rgba(0, 0, 0, 0.45) 100%);
1192    --dtc-gradient-overlay-hero-mobile: linear-gradient(-57deg, rgba(0, 0, 0, 0) 28%, rgba(0, 0, 0, 0.76) 80%);
1193    --dtc-gradient-overlay-coffee-story-hero: linear-gradient(115.46deg, rgba(0, 0, 0, 0.76) 25%, rgba(0, 0, 0, 0.32) 56.8%, rgba(0, 0, 0, 0) 75%);
1194    --dtc-gradient-overlay-recipes: linear-gradient(180deg, rgba(0, 0, 0, 0.58) 0%, rgba(0, 0, 0, 0.1) 100%);
1195    --dtc-gradient-overlay-community-hero: linear-gradient(180deg, rgba(0, 0, 0, 0.66) 0.43%, rgba(0, 0, 0, 0) 133.93%);
1196    --dtc-gradient-overlay-explore-hero: linear-gradient(180deg, rgba(0, 0, 0, 0.66) 0%, rgba(0, 0, 0, 0) 106.24%);
1197    --dtc-gradient-overlay-affiliate-hero: linear-gradient(156deg, rgba(0, 0, 0, 0.66) 24.88
1197%, rgba(0, 0, 0, 0) 149.59%);
1198    --dtc-gradient-overlay-horizontal-dark: linear-gradient(90deg, rgba(0, 0, 0, 0.48) 0%, rgba(0, 0, 0, 0) 100%);
1199    --dtc-gradient-overlay-horizontal-light: linear-gradient(100.04deg, rgba(0, 0, 0, 0.36) 1.1%, rgba(0, 0, 0, 0) 140.87%);
1200    --dtc-gradient-overlay-top-soft: linear-gradient(to top, rgba(0, 0, 0, 0.55) 0%, transparent 100%);
1201    --dtc-gradient-overlay-top-ecosystem: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);
1202    --dtc-gradient-overlay-top-ecosystem-light: linear-gradient(to top, rgba(0, 0, 0, 0.32) 0%, rgba(115, 115, 115, 0) 100%);
1203    --dtc-gradient-overlay-sky-fade: linear-gradient(to bottom, rgba(163, 191, 240, 0.64) 0%, transparent 100%);
1204    --dtc-gradient-overlay-surface-fade: linear-gradient(to top, rgba(240, 242, 245, 0.75) 0%, transparent 100%);
1205    --dtc-gradient-overlay-video: linear-gradient(0deg, rgba(0, 0, 0, 0.48) 0%, rgba(0, 0, 0, 0) 100%);
1206    --dtc-gradient-overlay-promo-bottom: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, #000000 100%);
1207    --dtc-gradient-overlay-stories-light: linear-gradient(to bottom, rgba(0, 0, 0, 0.03) 50%, rgba(0, 0, 0, 0.5) 96.6%);
1208    --dtc-gradient-overlay-stories-dark: linear-gradient(to bottom, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.9) 93.2%);
1209    --dtc-gradient-overlay-white-fade: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
1210    --dtc-gradient-home-hero-bottom-fade: linear-gradient(
1211      180deg,
1212      rgba(252, 253, 254, 0) 0%,
1213      rgba(252, 253, 254, 0.18) 30%,
1214      rgba(252, 253, 254, 0.6) 55%,
1215      rgba(252, 253, 254, 0.88) 72%,
1216      rgb(252, 253, 254) 100%
1217    );
1218    --dtc-gradient-shop-cat-nav-fade-bottom: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.6) 45%, #ffffff 100%);
1219    --dtc-gradient-shop-cat-nav-bg-glow-layers: linear-gradient(to bottom, #ffffff 0%, rgba(255, 255, 255, 0) 12%),
1220      linear-gradient(to bottom, rgba(255, 255, 255, 0) 85%, #ffffff 100%);
1221    --dtc-gradient-social-stories-bg-top: linear-gradient(to bottom, #ffffff 0%, rgba(255, 255, 255, 0) 30%);
1222    --dtc-gradient-overlay-sky-fade-mid: linear-gradient(to bottom, rgba(163, 191, 240, 0.64) 49.79%, rgba(163, 191, 240, 0) 100%);
1223    --dtc-gradient-overlay-sky-fade-soft: linear-gradient(to bottom, rgba(163, 191, 240, 0.64) 0%, rgba(163, 191, 240, 0.3) 50%, rgba(163, 191, 240, 0) 100%);
1224    --dtc-gradient-overlay-advanced-tech: linear-gradient(to top, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 50%);
1225    --dtc-gradient-overlay-promo-countdown: linear-gradient(to bottom, rgba(0, 0, 0, 0) 24.524%, rgba(0, 0, 0, 0.7) 88.594%);
1226    --dtc-gradient-overlay-header-mobile-promo: linear-gradient(180deg, rgba(0, 0, 0, 0) 21.34%, rgba(0, 0, 0, 0.75) 42.24%);
1227    --dtc-gradient-overlay-header-company-card: linear-gradient(180deg, transparent 12%, rgba(0, 0, 0, 0.5) 68%);
1228    --dtc-gradient-overlay-header-company-mobile: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 81.03%);
1229    --dtc-gradient-vacuum-featured-glow: linear-gradient(135deg, rgba(240, 228, 219, 0.35) 0%, rgba(255, 255, 255, 0) 60%);
1230    --dtc-gradient-vacuum-comparison-mobile-bg: linear-gradient(
1231      to bottom,
1232      #ffffff 0%,
1233      #ffffff 6%,
1234      #f0e4db 28%,
1235      #f9f3ef 72%,
1236      #ffffff 94%,
1237      #ffffff 100%
1238    );
1239    --dtc-gradient-community-recommendation-blur: linear-gradient(
1240      0deg,
1241      rgba(0, 0, 0, 0.34) 0%,
1242      rgba(0, 0, 0, 0.26) 38%,
1243      rgba(0, 0, 0, 0.12) 72%,
1244      rgba(115, 115, 115, 0) 100%
1245    );
1246    --dtc-gradient-overlay-advanced-tech-mobile: linear-gradient(to top, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 40%);
1247    --dtc-gradient-overlay-affiliate-benefits-mask: linear-gradient(
1248      90deg,
1249      rgba(255, 255, 255, 0.92) 0%,
1250      rgba(255, 255, 255, 0.55) 14%,
1251      rgba(255, 255, 255, 0.2) 32%,
1252      rgba(255, 255, 255, 0) 52%
1253    );
1254    --dtc-gradient-overlay-about-us-hero-mobile: linear-gradient(180deg, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.42) 55%, rgba(0, 0, 0, 0) 88%);
1255
1256    /* ── 4. Gradients — connected band / complex ── */
1257    --dtc-gradient-index-band-start: linear-gradient(
1258      to bottom,
1259      #ffffff 0%,
1260      #ffffff 10rem,
1261      #f6f0eb 16rem,
1262      #f9f3ef 20rem,
1263      #f9f3ef 100%
1264    );
1265    --dtc-gradient-index-band-end: linear-gradient(to bottom, #f9f3ef 0%, #f6f0eb 68%, #ffffff 100%);
1266    --dtc-gradient-index-band-radial: radial-gradient(
1267      ellipse 58% 54% at 50% 42%,
1268      rgba(224, 200, 184, 0.72) 0%,
1269      rgba(240, 228, 219, 0.48) 38%,
1270      rgba(249, 243, 239, 0.12) 62%,
1271      rgba(249, 243, 239, 0) 78%
1272    );
1273    --dtc-gradient-index-band-radial-mid: radial-gradient(
1274      ellipse 64% 52% at 50% 88%,
1275      rgba(240, 228, 219, 0.42) 0%,
1276      rgba(249, 243, 239, 0.16) 45%,
1277      rgba(249, 243, 239, 0) 72%
1278    );
1279    --dtc-gradient-skeleton: linear-gradient(90deg, #ebebeb 25%, #f5f5f5 50%, #ebebeb 75%);
1280    --dtc-gradient-description-fade: linear-gradient(to right, transparent, #ffffff 24px);
1281    --dtc-gradient-metal-border: linear-gradient(
1282      160deg,
1283      #c8c8c8 0%,
1284      #b0b0b0 30%,
1285      #787878 70%,
1286      #606060 100%
1287    );
1288    --dtc-gradient-ecosystem: radial-gradient(
1289        ellipse 135% 44% at 50% 100%,
1290        #ffffff 0%,
1291        rgba(255, 255, 255, 0.92) 14%,
1292        rgba(255, 255, 255, 0.55) 34%,
1293        rgba(255, 255, 255, 0) 60%
1294      ),
1295      radial-gradient(
1296        ellipse 115% 22% at 50% 0%,
1297        #ffffff 0%,
1298        rgba(255, 255, 255, 0.82) 20%,
1299        rgba(255, 255, 255, 0.38) 48%,
1300        rgba(255, 255, 255, 0) 72%
1301      ),
1302      radial-gradient(
1303        ellipse 56% 68% at 12% 34%,
1304        rgba(186, 224, 208, 0.78) 0%,
1305        rgba(186, 224, 208, 0.38) 48%,
1306        rgba(186, 224, 208, 0) 76%
1307      ),
1308      radial-gradient(
1309        ellipse 52% 64% at 88% 32%,
1310        rgba(237, 208, 188, 0.74) 0%,
1311        rgba(237, 208, 188, 0.34) 46%,
1312        rgba(237, 208, 188, 0) 74%
1313      ),
1314      radial-gradient(
1315        ellipse 70% 62% at 50% 40%,
1316        rgba(247, 240, 232, 0.88) 0%,
1317        rgba(247, 240, 232, 0.42) 50%,
1318        rgba(247, 240, 232, 0) 78%
1319      ),
1320      radial-gradient(
1321        ellipse 50% 48% at 14% 62%,
1322        rgba(186, 224, 208, 0.52) 0%,
1323        rgba(186, 224, 208, 0) 72%
1324      ),
1325      radial-gradient(
1326        ellipse 46% 44% at 86% 60%,
1327        rgba(237, 208, 188, 0.48) 0%,
1328        rgba(237, 208, 188, 0) 70%
1329      );
1330    --dtc-gradient-ecosystem-about-us: radial-gradient(
1331        ellipse 120% 38% at 50% 100%,
1332        #ffffff 0%,
1333        rgba(255, 255, 255, 0.92) 16%,
1334        rgba(255, 255, 255, 0.5) 36%,
1335        rgba(255, 255, 255, 0) 58%
1336      ),
1337      radial-gradient(
1338        ellipse 100% 18% at 50% 0%,
1339        #ffffff 0%,
1340        rgba(255, 255, 255, 0.78) 18%,
1341        rgba(255, 255, 255, 0.28) 44%,
1342        rgba(255, 255, 255, 0) 66%
1343      ),
1344      radial-gradient(
1345        ellipse 40% 48% at 14% 16%,
1346        rgba(186, 224, 208, 0.48) 0%,
1347        rgba(186, 224, 208, 0.22) 42%,
1348        rgba(186, 224, 208, 0) 68%
1349      ),
1350      radial-gradient(
1351        ellipse 38% 46% at 86% 14%,
1352        rgba(237, 208, 188, 0.46) 0%,
1353        rgba(237, 208, 188, 0.2) 40%,
1354        rgba(237, 208, 188, 0) 66%
1355      ),
1356      radial-gradient(
1357        ellipse 52% 46% at 50% 22%,
1358        rgba(247, 240, 232, 0.55) 0%,
1359        rgba(247, 240, 232, 0.24) 46%,
1360        rgba(247, 240, 232, 0) 72%
1361      ),
1362      radial-gradient(
1363        ellipse 36% 36% at 16% 38%,
1364        rgba(186, 224, 208, 0.28) 0%,
1365        rgba(186, 224, 208, 0) 64%
1366      ),
1367      radial-gradient(
1368        ellipse 34% 34% at 84% 36%,
1369        rgba(237, 208, 188, 0.26) 0%,
1370        rgba(237, 208, 188, 0) 62%
1371      );
1372
1373    /* ── 4b. Radial gradients ── */
1374    --dtc-radial-community-hero-glow: radial-gradient(circle at 20% 58%, rgba(227, 248, 242, 0.68) 0%, rgba(227, 248, 242, 0) 35%),
1375      radial-gradient(circle at 55% 34%, rgba(247, 235, 189, 0.65) 0%, rgba(247, 235, 189, 0) 38%),
1376      radial-gradient(circle at 86% 42%, rgba(255, 224, 205, 0.8) 0%, rgba(255, 224, 205, 0) 42%);
1377    --dtc-radial-community-hero-panel: radial-gradient(circle at 15% 14%, rgba(227, 248, 242, 0.72) 0%, rgba(227, 248, 242, 0) 36%),
1378      radial-gradient(circle at 52% 34%, rgba(247, 235, 189, 0.68) 0%, rgba(247, 235, 189, 0) 42%),
1379      radial-gradient(circle at 88% 28%, rgba(255, 224, 205, 0.82) 0%, rgba(255, 224, 205, 0) 42%),
1380      #f7f7f4;
1381    --dtc-radial-about-us-accomplishments: radial-gradient(ellipse 55% 55% at 30% 50%, rgba(251, 145, 74, 0.14) 0%, rgba(251, 145, 74, 0) 70%),
1382      radial-gradient(ellipse 50% 50% at 70% 50%, rgba(163, 191, 240, 0.22) 0%, rgba(210, 226, 252, 0.08) 60%, rgba(246, 248, 246, 0) 100%);
1383    --dtc-radial-about-us-history: radial-gradient(55% 55% at 50% 50%, rgba(251, 145, 74, 0.14) 0%, rgba(182, 220, 190, 0.22) 45%, rgba(246, 248, 246, 0) 100%);
1384    --dtc-radial-about-us-map: radial-gradient(ellipse 55% 50% at 18% 42%, rgba(168, 210, 168, 0.28) 0%, rgba(255, 255, 255, 0) 72%),
1385      radial-gradient(ellipse 70% 58% at 52% 58%, rgba(252, 210, 153, 0.52) 0%, rgba(255, 238, 214, 0.22) 55%, rgba(255, 255, 255, 0) 100%),
1386      radial-gradient(ellipse 48% 42% at 82% 38%, rgba(251, 145, 74, 0.18) 0%, rgba(255, 255, 255, 0) 70%);
1387    --dtc-radial-faq-glow: radial-gradient(circle, #ebe0c8 0%, rgba(246, 248, 246, 0) 72%);
1388    --dtc-radial-coffee-tasting-glow: radial-gradient(
1389        ellipse 52% 62% at 78% 58%,
1390        rgba(237, 208, 188, 0.72) 0%,
1391        rgba(237, 208, 188, 0) 74%
1392      ),
1393      radial-gradient(
1394        ellipse 36% 48% at 62% 38%,
1395        rgba(186, 224, 208, 0.32) 0%,
1396        rgba(186, 224, 208, 0) 70%
1397      );
1398    --dtc-radial-coffee-story-hero: radial-gradient(26.75% 101.47% at 50.13% 50%, rgba(0, 0, 0, 0.86) 0%, rgba(0, 0, 0, 0) 100%);
1399    --dtc-radial-affiliate-comparison: radial-gradient(50% 70% at 50% 50%, rgba(163, 191, 240, 0.42) 0%, rgba(163, 191, 240, 0.08) 60%, rgba(163, 191, 240, 0) 100%);
1400    --dtc-radial-vesync-ecosystem-cards-glow: radial-gradient(ellipse 42% 38% at 78% 62%, rgba(255, 178, 130, 0.3) 0%, transparent 72%),
1401      radial-gradient(ellipse 38% 42% at 18% 58%, rgba(165, 210, 185, 0.28) 0%, transparent 70%),
1402      radial-gradient(ellipse 55% 48% at 50% 28%, rgba(163, 191, 240, 0.42) 0%, rgba(210, 226, 252, 0.14) 55%, transparent 80%);
1403    --dtc-radial-pollutant-sources-bg: radial-gradient(
1404      ellipse 78% 43% at 50% 50%,
1405      #e0c8b8 0%,
1406      #f0e4db 50%,
1407      #f9f3ef 75%,
1408      #ffffff 100%
1409    );
1410    --dtc-radial-shop-cat-nav-card: radial-gradient(
1411      ellipse 78% 43% at 50% 45%,
1412      #e0c8b8 0%,
1413      #f0e4db 50%,
1414      #f9f3ef 75%,
1415      rgba(255, 255, 255, 0) 100%
1416    );
1417    --dtc-radial-social-stories-bg: radial-gradient(
1418      ellipse 70% 60% at 50% 50%,
1419      rgba(120, 190, 240, 1) 0%,
1420      rgba(150, 210, 245, 0.85) 15%,
1421      rgba(180, 225, 248, 0.6) 35%,
1422      rgba(210, 235, 250, 0.3) 55%,
1423      rgba(255, 255, 255, 0) 75%
1424    );
1425    --dtc-radial-vesync-app-download-globe: radial-gradient(
1426      circle at center,
1427      rgba(255, 255, 255, 0.86) 0%,
1428      rgba(255, 255, 255, 0.64) 50%,
1429      rgba(255, 255, 255, 0.32) 60%,
1430      rgba(255, 255, 255, 0.12) 70%,
1431      rgba(255, 255, 255, 0) 100%
1432    );
1433    --dtc-radial-vesync-app-hero-brand-blue: radial-gradient(circle, rgba(163, 191, 240, 0.8) 0%, rgba(255, 255, 255, 0) 60%);
1434    --dtc-radial-vesync-app-hero-brand-orange: radial-gradient(circle, rgba(230, 130, 70, 0.8) 0%, rgba(255, 255, 255, 0) 60%);
1435    --dtc-radial-vesync-app-hero-brand-mint: radial-gradient(circle, rgba(140, 230, 200, 0.8) 0%, rgba(255, 255, 255, 0) 60%);
1436    --dtc-radial-vacuum-glow-blob: radial-gradient(
1437      ellipse at center,
1438      rgba(231, 173, 134, 0.65) 0%,
1439      rgba(240, 228, 219, 0.45) 30%,
1440      rgba(189, 222, 193, 0.2) 55%,
1441      transparent 75%
1442    );
1443    --dtc-radial-vacuum-glow-mobile-dual: radial-gradient(
1444        ellipse 90% 50% at 35% 45%,
1445        rgba(231, 173, 134, 0.55) 0%,
1446        rgba(240, 228, 219, 0.35) 40%,
1447        transparent 75%
1448      ),
1449      radial-gradient(
1450        ellipse 80% 45% at 25% 75%,
1451        rgba(189, 222, 193, 0.45) 0%,
1452        rgba(249, 243, 239, 0.2) 45%,
1453        transparent 80%
1454      );
1455    --dtc-radial-vacuum-glow-tablet: radial-gradient(ellipse 40% 60% at var(--glow-x, 78%) 50%, rgba(231, 173, 134, 0.5) 0%, rgba(189, 222, 193, 0.22) 50%, transparent 100%);
1456    --dtc-radial-cert-banner: radial-gradient(
1457      ellipse 70% 160% at 50% 50%,
1458      #d6e8f8 0%,
1459      #e4eff9 35%,
1460      #eef4fb 60%,
1461      #f5f8fc 80%,
1462      #ffffff 100%
1463    );
1464    --dtc-radial-placeholder-blue: radial-gradient(ellipse at 45% 40%, #e6eef8 0%, #c8d8f0 100%);
1465    --dtc-radial-newsletter-icon-badge: radial-gradient(circle, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0) 72%);
1466    --dtc-radial-salient-features-bg: radial-gradient(
1467        ellipse 135% 48% at 50% 100%,
1468        #ffffff 0%,
1469        rgba(255, 255, 255, 0.94) 14%,
1470        rgba(255, 255, 255, 0.58) 34%,
1471        rgba(255, 255, 255, 0) 62%
1472      ),
1473      radial-gradient(
1474        ellipse 56% 68% at 12% 38%,
1475        rgba(232, 242, 232, 0.82) 0%,
1476        rgba(186, 224, 208, 0.42) 48%,
1477        rgba(186, 224, 208, 0) 76%
1478      ),
1479      radial-gradient(
1480        ellipse 52% 64% at 88% 36%,
1481        rgba(249, 233, 218, 0.78) 0%,
1482        rgba(237, 208, 188, 0.36) 46%,
1483        rgba(237, 208, 188, 0) 74%
1484      ),
1485      radial-gradient(
1486        ellipse 70% 62% at 50% 38%,
1487        rgba(251, 249, 242, 0.9) 0%,
1488        rgba(247, 240, 232, 0.44) 50%,
1489        rgba(247, 240, 232, 0) 78%
1490      );
1491    --dtc-mask-vesync-app-hero-pattern: radial-gradient(ellipse 120% 90% at 50% 18%, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.35) 72%, rgba(0, 0, 0, 0) 100%);
1492    --dtc-mask-vesync-app-hero-pattern-mobile: radial-gradient(ellipse 140% 85% at 50% 16%, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.35) 72%, rgba(0, 0, 0, 0) 100%);
1493
1494    /* ── 5. Masks ── */
1495    --dtc-mask-fade-vertical-soft: linear-gradient(
1496      to bottom,
1497      transparent 0%,
1498      #000 18%,
1499      #000 58%,
1500      transparent 82%
1501    );
1502    --dtc-mask-fade-bottom-card: linear-gradient(
1503      0deg,
1504      #000 0%,
1505      #000 62%,
1506      rgba(0, 0, 0, 0.65) 82%,
1507      transparent 100%
1508    );
1509    --dtc-mask-content-bottom: linear-gradient(
1510      to bottom,
1511      rgba(0, 0, 0, 0) 0%,
1512      rgba(0, 0, 0, 0.4) 15%,
1513      rgba(0, 0, 0, 1) 40%
1514    );
1515    --dtc-mask-content-right: linear-gradient(
1516      to right,
1517      rgba(0, 0, 0, 0) 0%,
1518      rgba(0, 0, 0, 0.4) 15%,
1519      rgba(0, 0, 0, 1) 40%
1520    );
1521    --dtc-mask-content-bottom-half: linear-gradient(
1522      to bottom,
1523      black 0%,
1524      black 50%,
1525      transparent 100%
1526    );
1527    --dtc-mask-ecosystem-top: linear-gradient(
1528      to top,
1529      black 30%,
1530      transparent 100%
1531    );
1532    --dtc-mask-vacuum-vertical: linear-gradient(
1533      to bottom,
1534      transparent 0%,
1535      black 18%,
1536      black 82%,
1537      transparent 100%
1538    );
1539    --dtc-mask-vacuum-featured-glow: linear-gradient(
1540      to bottom,
1541      transparent 0%,
1542      black 8%,
1543      black 92%,
1544      transparent 100%
1545    );
1546
1547    /* ── 6. Typography ── */
1548    --dtc-font-family: 'Gilroy', sans-serif;
1549    --dtc-font-size-body: 18px;
1550    --dtc-line-height-body: 1.52;
1551    --dtc-description-clamp-height: calc(var(--dtc-line-height-body) * var(--dtc-font-size-body) * 2);
1552
1553    /* ── 7. Layout / component defaults ── */
1554    --dtc-container-max-width: 1400px;
1555    --dtc-scenario-card-bg-height: 286px;
1556    --dtc-scenario-card-icon-bg: var(--dtc-color-primary-legacy);
1557    --dtc-card-gradient-from: var(--dtc-color-card-from);
1558    --dtc-card-gradient-via: var(--dtc-color-card-via);
1559    --dtc-mc-article-shadow-pad-y: 20px;
1560    --dtc-mc-article-shadow-pad-x: 8px;
1561    --dtc-shadow-card: 0 8px 24px rgba(0, 0, 0, 0.08);
1562    --dtc-article-card-shadow-pad-y: 16px;
1563    --dtc-pts-badge-bg: var(--dtc-color-badge-default-bg);
1564    --dtc-pts-badge-color: var(--dtc-color-badge-default-text);
1565    --dtc-eco-total: 168vh;
1566    --dtc-eco-total-newsroom: 122vh;
1567    --dtc-eco-total-about-us: 148vh;
1568    --dtc-eco-total-mobile: 245vh;
1569    --dtc-eco-total-about-us-mobile: 220vh;
1570  }
1571</style>
1572<link href="//cosori.com/cdn/shop/t/166/assets/dtc.css?v=55653486016935701031789674181" rel="stylesheet" type="text/css" media="all" />�<link rel="preload" as="font" href="//cosori.com/cdn/fonts/poppins/poppins_n4.0ba78fa5af9b0e1a374041b3ceaadf0a43b41362.woff2" type="font/woff2" crossorigin><link rel="preload" as="font" href="//cosori.com/cdn/fonts/poppins/poppins_n4.0ba78fa5af9b0e1a374041b3ceaadf0a43b41362.woff2" type="font/woff2" crossorigin><link
1573        rel="stylesheet"
1574        href="//cosori.com/cdn/shop/t/166/assets/component-predictive-search.css?v=58413710502365906001789674181"
1575        media="print"
1576        onload="this.media='all'"
1577      >
1577<script>
1578      document.documentElement.className = document.documentElement.className.replace('no-js', 'js');
1579      if (Shopify.designMode) {
1580        document.documentElement.classList.add('shopify-design-mode');
1581      }
1582    </script>
1582
1583
1584    <!--
1585      
1585<script
1586        src="https://solve-widget.forethought.ai/embed.js"
1587        id="forethought-widget-embed-script"
1588        data-api-key="fb4cc9bc-8889-423b-af70-966703f8ac84"
1589        data-ft-brand="cosori"
1590      ></script>
1590
1591    -->
1592
1593    <!-- Hotjar Tracking Code for https://www.cosori.com/ -->
1594    �<style>
1595  /* Hide Klaviyo fullscreen popups immediately */
1596  [role="dialog"][aria-modal="true"][aria-label="FULLSCREEN Form"],
1597  div.kl-private-reset-css-Xuajs1[style*="z-index: 90000"],
1598  .klaviyo-form-popup,
1599  .klaviyo-form[data-type="popup"],
1600  div[class*="klaviyo-form-"][data-type="popup"] {
1601    display: none !important;
1602    visibility: hidden !important;
1603    pointer-events: none !important;
1604  }
1605
1606  /* Prevent Klaviyo scroll lock */
1607  body.klaviyo-prevent-body-scrolling,
1608  html.klaviyo-prevent-body-scrolling {
1609    overflow: auto !important;
1610    position: static !important;
1611    height: auto !important;
1612    width: auto !important;
1613    touch-action: auto !important;
1614  }
1615</style>
1616
1617<script>
1618  (function() {
1619    'use strict';
1620
1621    /* Close via Klaviyo's own event API — popup/fullscreen/flyout only, never embeds */
1622    var POPUP_TYPES = { popup: 1, fullscreen: 1, flyout: 1, flyover: 1 };
1623    function isEmbeddedForm(formElement) {
1624      if (!formElement) return false;
1625      if (formElement.closest('.juni-ke__form-container')) return true;
1626      var wrapper = formElement.closest('[data-type]');
1627      if (wrapper && wrapper.getAttribute('data-type') === 'embed') return true;
1628      return false;
1629    }
1630    window.addEventListener('klaviyoForms', function(e) {
1631      if (!e.detail || e.detail.type !== 'open') return;
1632      var meta = e.detail.metaData || {};
1633      var formType = meta.formType || meta.form_type || '';
1634      if (formType && !POPUP_TYPES[formType]) return;
1635      if (isEmbeddedForm(e.detail.formElement)) return;
1636      if (e.detail.formElement) e.detail.formElement.style.display = 'none';
1637      if (typeof e.detail.close === 'function') e.detail.close();
1638    });
1639
1640    /* Find and remove fullscreen Klaviyo overlays */
1641    function removeKlaviyoPopups(root) {
1642      root = root || document;
1643
1644      /* Target dialog wrappers */
1645      root.querySelectorAll('[aria-label="FULLSCREEN Form"], [role="dialog"][aria-modal="true"]').forEach(function(el) {
1646        if (el.querySelector('form.klaviyo-form') || el.closest('.kl-private-reset-css-Xuajs1')) {
1647          el.remove();
1648        }
1649      });
1650
1651      /* Target forms and climb to fixed overlay parent — skip embeds */
1652      root.querySelectorAll('form.klaviyo-form').forEach(function(form) {
1653        if (form.closest('.juni-ke__form-container')) return;
1654        var p = form.parentElement;
1655        for (var i = 0; i < 8 && p; i++) {
1656          if (p.classList && p.classList.contains('juni-ke__form-container')) return;
1657          var style = window.getComputedStyle(p);
1658          if (style.position === 'fixed' && parseInt(style.zIndex || '0', 10) >= 9000) {
1659            p.remove();
1660            return;
1661          }
1662          p = p.parentElement;
1663        }
1664      });
1665
1666      /* Unlock scroll */
1667      document.body.classList.remove('klaviyo-prevent-body-scrolling');
1668      document.documentElement.classList.remove('klaviyo-prevent-body-scrolling');
1669    }
1670
1671    /* Run immediately and watch for dynamically injected popups */
1672    removeKlaviyoPopups();
1673
1674    var observer = new MutationObserver(function(mutations) {
1675      for (var i = 0; i < mutations.length; i++) {
1676        for (var j = 0; j < mutations[i].addedNodes.length; j++) {
1677          var node = mutations[i].addedNodes[j];
1678          if (node.nodeType === 1) {
1679            if (node.classList && node.classList.contains('kl-private-reset-css-Xuajs1')) {
1680              removeKlaviyoPopups(node.parentElement);
1681            } else if (node.querySelector && node.querySelector('.kl-private-reset-css-Xuajs1, form.klaviyo-form')) {
1682              removeKlaviyoPopups(node);
1683            }
1684          }
1685        }
1686      }
1687    });
1688
1689    observer.observe(document.documentElement, { childList: true, subtree: true });
1690  })();
1691</script>
1691
1692�<!-- BEGIN app block: shopify://apps/elevar-conversion-tracking/blocks/dataLayerEmbed/bc30ab68-b15c-4311-811f-8ef485877ad6 -->
1693
1694
1695
1696<script type="module" dynamic>
1697  const configUrl = "/a/elevar/static/configs/896ebe9793ebdb22ed3ac920f8919a1980be6ff6/config.js";
1698  const config = (await import(configUrl)).default;
1699  const scriptUrl = config.script_src_app_theme_embed;
1700
1701  if (scriptUrl) {
1702    const { handler } = await import(scriptUrl);
1703
1704    await handler(
1705      config,
1706      {
1707        cartData: {
1708  marketId: "52010713397",
1709  localeCountryCode:"US",
1710  attributes:{},
1711  cartTotal: "0.0",
1712  currencyCode:"USD",
1713  items: []
1714}
1715,
1716        user: {
1717  cartTotal: "0.0",
1718  currencyCode:"USD",
1719  customer: {},
1720}
1721,
1722        isOnCartPage:false,
1723        collectionView:null,
1724        searchResultsView:null,
1725        productView:{
1726    attributes:{},
1727    currencyCode:"USD",defaultVariant: {id:"KAAPCMCSSUS0001Y",name:"Juni™ The Automatic Pour-Over Coffee Machine",
1728        brand:"COSORI",
1729        category:"",
1730        variant:"Glass",
1731        price: "299.99",
1732        productId: "10566370951477",
1733        variantId: "53460911227189",
1734        compareAtPrice: "299.99",image:"\/\/cosori.com\/cdn\/shop\/files\/PDP_Image01_1.png?v=1788295666",url:"\/products\/juni-coffee-maker?variant=53460911227189"},items: [{id:"KAAPCMCSSUS0001Y",name:"Juni™ The Automatic Pour-Over Coffee Machine",
1735          brand:"COSORI",
1736          category:"",
1737          variant:"Glass",
1738          price: "299.99",
1739          productId: "10566370951477",
1740          variantId: "53460911227189",
1741          compareAtPrice: "299.99",image:"\/\/cosori.com\/cdn\/shop\/files\/PDP_Image01_1.png?v=1788295666",url:"\/products\/juni-coffee-maker?variant=53460911227189"},{id:"KAAPCMCSSUS0002Y",name:"Juni™ The Automatic Pour-Over Coffee Machine",
1742          brand:"COSORI",
1743          category:"",
1744          variant:"Stainless steel",
1745          price: "349.99",
1746          productId: "10566370951477",
1747          variantId: "53460911259957",
1748          compareAtPrice: "299.99",image:"\/\/cosori.com\/cdn\/shop\/files\/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150",url:"\/products\/juni-coffee-maker?variant=53460911259957"},]
1749  },
1750      }
1751    );
1752  }
1753</script>
1753
1754
1755
1756<!-- END app block --><!-- BEGIN app block: shopify://apps/yotpo-product-reviews/blocks/settings/eb7dfd7d-db44-4334-bc49-c893b51b36cf -->
1757
1758
1759<script type="text/javascript">
1760  (function e(){var e=document.createElement("script");
1761  e.type="text/javascript",e.async=true,
1762  e.src="//staticw2.yotpo.com/YR9U1WMgmUXA98XO2Fjto2y73jEvJupPZ4B2VPrX/widget.js?lang=en";
1763  var t=document.getElementsByTagName("script")[0];
1764  t.parentNode.insertBefore(e,t)})();
1765</script>
1765
1766
1767
1768
1769  
1770<!-- END app block --><!-- BEGIN app block: shopify://apps/vesync-element-kit-cosori/blocks/app-embed/019bc4a8-048d-72cd-8be8-aa4d86b7d580 -->
1771
1772
1773
1774
1775<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788  
1788<script async src="https://static.klaviyo.com/onsite/js/SvTWYw/klaviyo.js?company_id=SvTWYw"></script>
1788
1789  
1789<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
1789
1790
1791  
1792    
1792<script id="viewed_product">
1793      if (item == null) {
1794        var _learnq = _learnq || [];
1795
1796        var MetafieldReviews = null
1797        var MetafieldYotpoRating = null
1798        var MetafieldYotpoCount = null
1799        var MetafieldLooxRating = null
1800        var MetafieldLooxCount = null
1801        var okendoProduct = null
1802        var okendoProductReviewCount = null
1803        var okendoProductReviewAverageValue = null
1804        try {
1805          // The following fields are used for Customer Hub recently viewed in order to add reviews.
1806          // This information is not part of __kla_viewed. Instead, it is part of __kla_viewed_reviewed_items
1807          MetafieldReviews = {};
1808          MetafieldYotpoRating = null
1809          MetafieldYotpoCount = null
1810          MetafieldLooxRating = null
1811          MetafieldLooxCount = null
1812
1813          okendoProduct = null
1814          // If the okendo metafield is not legacy, it will error, which then requires the new json formatted data
1815          if (okendoProduct && 'error' in okendoProduct) {
1816            okendoProduct = null
1817          }
1818          okendoProductReviewCount = okendoProduct ? okendoProduct.reviewCount : null
1819          okendoProductReviewAverageValue = okendoProduct ? okendoProduct.reviewAverageValue : null
1820        } catch (error) {
1821          console.error('Error in Klaviyo onsite reviews tracking:', error);
1822        }
1823
1824        var item = {
1825          Name: "Juni™ The Automatic Pour-Over Coffee Machine",
1826          ProductID: 10566370951477,
1827          Categories: ["Coffee","Shop All COSORI Products","What's New"],
1828          ImageURL: "https://cosori.com/cdn/shop/files/PDP_Image01_1_grande.png?v=1788295666",
1829          URL: "https://cosori.com/products/juni-coffee-maker",
1830          Brand: "COSORI",
1831          Price: "$299.99",
1832          Value: "299.99",
1833          CompareAtPrice: "$299.99"
1834        };
1835        _learnq.push(['track', 'Viewed Product', item]);
1836        _learnq.push(['trackViewedItem', {
1837          Title: item.Name,
1838          ItemId: item.ProductID,
1839          Categories: item.Categories,
1840          ImageUrl: item.ImageURL,
1841          Url: item.URL,
1842          Metadata: {
1843            Brand: item.Brand,
1844            Price: item.Price,
1845            Value: item.Value,
1846            CompareAtPrice: item.CompareAtPrice
1847          },
1848          metafields:{
1849            reviews: MetafieldReviews,
1850            yotpo:{
1851              rating: MetafieldYotpoRating,
1852              count: MetafieldYotpoCount,
1853            },
1854            loox:{
1855              rating: MetafieldLooxRating,
1856              count: MetafieldLooxCount,
1857            },
1858            okendo: {
1859              rating: okendoProductReviewAverageValue,
1860              count: okendoProductReviewCount,
1861            }
1862          }
1863        }]);
1864      }
1865    </script>
1865
1866  
1867
1868
1869
1870
1871  
1871<script>
1872    window.klaviyoReviewsProductDesignMode = false
1873  </script>
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883<!-- END app block --><!-- BEGIN app block: shopify://apps/triplewhale/blocks/triple_pixel_snippet/483d496b-3f1a-4609-aea7-8eee3b6b7a2a --><link rel='preconnect dns-prefetch' href='https://api.config-security.com/' crossorigin />
1884<link rel='preconnect dns-prefetch' href='https://conf.config-security.com/' crossorigin />
1885<script>
1886/* >> TriplePixel :: start*/
1887window.TriplePixelData={TripleName:"cosori-2023.myshopify.com",ver:"2.16",plat:"SHOPIFY",isHeadless:false,src:'SHOPIFY_EXT',product:{id:"10566370951477",name:`Juni™ The Automatic Pour-Over Coffee Machine`,price:"299.99",variant:"53460911227189",av:{ "53460911227189":true,"53460911259957":true }},search:"",collection:"",cart:"drawer",template:"product",curr:"USD" || "USD", market:"52010713397"},function(W,H,A,L,E,_,B,N){function O(U,T,P,H,R){void 0===R&&(R=!1),H=new XMLHttpRequest,P?(H.open("POST",U,!0),H.setRequestHeader("Content-Type","text/plain")):H.open("GET",U,!0),H.send(JSON.stringify(P||{})),H.onreadystatechange=function(){4===H.readyState&&200===H.status?(R=H.responseText,U.includes("/first")?eval(R):P||(N[B]=R)):(299<H.status||H.status<200)&&T&&!R&&(R=!0,O(U,T-1,P))}}if(N=window,!N[H+"sn"]){N[H+"sn"]=1,L=function(){return Date.now().toString(36)+"_"+Math.random().toString(36)};try{A.setItem(H,1+(0|A.getItem(H)||0)),(E=JSON.parse(A.getItem(H+"U")||"[]")).push({u:location.href,r:document.referrer,t:Date.now(),id:L()}),A.setItem(H+"U",JSON.stringify(E))}catch(e){}var i,m,p;A.getItem('"!nC`')||(_=A,A=N,A[H]||(E=A[H]=function(t,e,i){return void 0===i&&(i=[]),"State"==t?E.s:(W=L(),(E._q=E._q||[]).push([W,t,e].concat(i)),W)},E.s="Installed",E._q=[],E.ch=W,B="configSecurityConfModel",N[B]=1,O("https://conf.config-security.com/model",5),i=L(),m=A[atob("c2NyZWVu")],_.setItem("di_pmt_wt",i),p={id:i,action:"profile",avatar:_.getItem("auth-security_rand_salt_"),time:m[atob("d2lkdGg=")]+":"+m[atob("aGVpZ2h0")],host:A.TriplePixelData.TripleName,plat:A.TriplePixelData.plat,url:window.location.href.slice(0,500),ref:document.referrer,ver:A.TriplePixelData.ver},O("https://api.config-security.com/event",5,p),O("https://api.config-security.com/first?host=".concat(p.host,"&plat=").concat(p.plat),5)))}}("","TriplePixel",localStorage);
1888/* << TriplePixel :: end*/
1889</script>
1889
1890
1891
1892
1893<!-- END app block --><!-- BEGIN app block: shopify://apps/hulk-form-builder/blocks/app-embed/b6b8dd14-356b-4725-a4ed-77232212b3c3 --><!-- BEGIN app snippet: hulkapps-formbuilder-theme-ext -->
1893<script type="text/javascript">
1894  
1895  if (typeof window.formbuilder_customer != "object") {
1896        window.formbuilder_customer = {}
1897  }
1898
1899  
1900
1901  window.hulkFormBuilder = {
1902    form_data: {"form_Tu6djKmd5gV9J-yTPpvs2A":{"uuid":"Tu6djKmd5gV9J-yTPpvs2A","form_name":"COSORI_Collaborator Inquiry Webform_2023-10-12","form_data":{"div_back_gradient_1":"#fff","div_back_gradient_2":"#fff","back_color":"#fff","form_title":"","form_submit":"Submit","after_submit":"hideAndmessage","after_submit_msg":"","captcha_enable":"no","label_style":"blockLabels","input_border_radius":"2","back_type":"transparent","input_back_color":"#fff","input_back_color_hover":"#fff","back_shadow":"none","label_font_clr":"#333333","input_font_clr":"#333333","button_align":"fullBtn","button_clr":"#fff","button_back_clr":"#333333","button_border_radius":"2","form_width":"600px","form_border_size":"2","form_border_clr":"transparent","form_border_radius":"1","label_font_size":"14","input_font_size":"12","button_font_size":"16","form_padding":"35","input_border_color":"#ccc","input_border_color_hover":"#ccc","btn_border_clr":"#333333","btn_border_size":"1","form_name":"COSORI_Collaborator Inquiry Webform_2023-10-12","form_access_message":"\u
1902003cp\u003ePlease login to access the form\u003cbr\u003eDo not have an account? Create account\u003c\/p\u003e","form_description":"","captcha_honeypot":"no","captcha_version_3_enable":"no","formElements":[{"type":"text","position":0,"label":"First Name","customClass":"","halfwidth":"yes","Conditions":{},"page_number":1},{"type":"text","position":1,"label":"Last Name","halfwidth":"yes","Conditions":{},"page_number":1},{"Conditions":{},"type":"textarea","position":2,"label":"Your Social Handles","halfwidth":"no","required":"no","page_number":1},{"type":"email","position":3,"label":"Email","required":"yes","email_confirm":"yes","Conditions":{},"page_number":1,"halfwidth":"no"},{"Conditions":{},"type":"phone","position":4,"label":"Phone","page_number":1},{"Conditions":{},"type":"select","position":5,"label":"Your Location (State)","required":"yes","values":"Alabama\nAlaska \nArizona \nArkansas \nCalifornia \nColorado\nConnecticut \nDelaware \nFlorida \nGeorgia \nHawaii \nIdaho \nIllinois \nIndiana \nIowa \nKansas \nKentucky \nLouisiana \nMaine \nMaryland\nMassachusetts \nMichigan\nMinnesota \nMississippi\nMissouri \nMontana \nNebraska\nNevada\nNew Hampshire \nNew Jersey\nNew Mexico \nNew York \nNorth Carolina \nNorth Dakota \nOhio \nOklahoma \nOregon \nPennsylvania \nRhode Island \nSouth Carolina\nSouth Dakota \nTennessee \nTexas \nUtah \nVermont \nVirginia \nWashington\nWest \nVirginia \nWisconsin \nWyoming","elementCost":{},"page_number":1},{"type":"textarea","position":6,"label":"Tell us about your idea and how our brand aligns with your passion","required":"yes","Conditions":{},"page_number":1}]},"is_spam_form":false,"shop_uuid":"z6uTn0J3SdSWfyLiIqcfYA","shop_timezone":"America\/Los_Angeles","shop_id":93460,"shop_is_after_submit_enabled":true,"shop_shopify_plan":"Plus","shop_shopify_domain":"cosori-2023.myshopify.com","popup_settings":{},"form_is_active":true}},
1903    shop_data: {"shop_z6uTn0J3SdSWfyLiIqcfYA":{"shop_uuid":"z6uTn0J3SdSWfyLiIqcfYA","shop_timezone":"America\/Los_Angeles","shop_id":93460,"shop_is_after_submit_enabled":true,"shop_shopify_plan":"Plus","shop_shopify_domain":"cosori-2023.myshopify.com","shop_created_at":"2023-10-18T23:34:05.785-05:00","is_skip_metafield":false,"shop_deleted":false,"shop_disabled":false}},
1904    settings_data: {"shop_settings":{"shop_customise_msgs":[],"default_customise_msgs":{"is_required":"is required","thank_you":"Thank you! The form was submitted successfully.","processing":"Processing...","valid_data":"Please provide valid data","valid_email":"Provide valid email format","valid_tags":"HTML Tags are not allowed","valid_phone":"Provide valid phone number","valid_captcha":"Please provide a valid CAPTCHA response.","valid_url":"Provide valid URL","only_number_alloud":"Provide valid number in","number_less":"must be less than","number_more":"must be more than","image_must_less":"Image must be less than 20MB","image_number":"Images allowed","image_extension":"Invalid extension! Please provide image file","error_image_upload":"Error in image upload. Please try again.","error_file_upload":"Error in file upload. Please try again.","your_response":"Your response","error_form_submit":"Error occur.Please try again after sometime.","email_submitted":"Form with this email is already submitted","invalid_email_by_zerobounce":"The email address you entered appears to be invalid. Please check it and try again.","download_file":"Download file","card_details_invalid":"Your card details are invalid","card_details":"Card details","please_enter_card_details":"Please enter card details","card_number":"Card number","exp_mm":"Exp MM","exp_yy":"Exp YY","crd_cvc":"CVV","payment_value":"Payment amount","please_enter_payment_amount":"Please enter a payment amount.","address1":"Address line 1","address2":"Address line 2","city":"City","province":"Province","zipcode":"Zip code","country":"Country","blocked_domain":"This form does not accept addresses from","file_must_less":"File must be less than 20MB","file_extension":"Invalid extension! Please provide file","only_file_number_alloud":"files allowed","previous":"Previous","next":"Next","must_have_a_input":"Please enter at least one field.","please_enter_required_data":"Please enter required data","atleast_one_special_char":"Include at least one special character","atleast_one_lowercase_char":"Include at least one lowercase character","atleast_one_uppercase_char":"Include at least one uppercase character","atleast_one_number":"Include at least one number","must_have_8_chars":"Must have 8 characters long","be_between_8_and_12_chars":"Be between 8 and 12 characters long","please_select":"Please Select","phone_submitted":"Form with this phone number is already submitted","user_res_parse_error":"Error while submitting the form","valid_same_values":"values must be the same","product_choice_clear_selection":"Clear Selection","picture_choice_clear_selection":"Clear Selection","remove_all_for_file_image_upload":"Remove All","invali
1904d_file_type_for_image_upload":"You can't upload files of this type.","invalid_file_type_for_signature_upload":"You can't upload files of this type.","max_files_exceeded_for_file_upload":"You can not upload any more files.","max_files_exceeded_for_image_upload":"You can not upload any more files.","file_already_exist":"File already uploaded","max_limit_exceed":"You have added the maximum number of text fields.","cancel_upload_for_file_upload":"Cancel upload","cancel_upload_for_image_upload":"Cancel upload","cancel_upload_for_signature_upload":"Cancel upload"}}},
1905    features_data: {"shop_plan_features":{"shop_plan_features":["unlimited-forms","full-design-customization","export-form-submissions","multiple-recipients-for-form-submissions","multiple-admin-notifications","enable-captcha","unlimited-file-uploads","save-submitted-form-data","set-auto-response-message","conditional-logic","form-banner","save-as-draft-facility","include-user-response-in-admin-email","disable-form-submission","forms-limit","submissions-visibility-limit","file-upload"]}},
1906    shop: null,
1907    shop_id: null,
1908    plan_features: null,
1909    validateDoubleQuotes: false,
1910    assets: {
1911      searchableDropdown: "https://cdn.shopify.com/extensions/01a08a53-1431-71a3-8d75-dd04d3c69aa4/form-builder-by-hulkapps-74/assets/searchable-dropdown.js",
1912      extraFunctions: "https://cdn.shopify.com/extensions/01a08a53-1431-71a3-8d75-dd04d3c69aa4/form-builder-by-hulkapps-74/assets/extra-functions.js",
1913      extraStyles: "https://cdn.shopify.com/extensions/01a08a53-1431-71a3-8d75-dd04d3c69aa4/form-builder-by-hulkapps-74/assets/extra-styles.css",
1914      bootstrapStyles: "https://cdn.shopify.com/extensions/01a08a53-1431-71a3-8d75-dd04d3c69aa4/form-builder-by-hulkapps-74/assets/theme-app-extension-bootstrap.css",
1915    },
1916    translations: {
1917      htmlTagNotAllowed: "HTML Tags are not allowed",
1918      sqlQueryNotAllowed: "SQL Queries are not allowed",
1919      doubleQuoteNotAllowed: "Double quotes are not allowed",
1920      
1921      maxTextFieldsReached: "You have added the maximum number of text fields.",
1922      
1923
1924      
1925      zerobounceApiErrorMsg: "We couldn\u0026#39;t verify your email due to a technical issue. Please try again later.",
1926    }
1927
1928  }
1929
1930  
1931
1932  window.FbThemeAppExtSettingsHash = {}
1933  
1934</script>
1934<!-- END app snippet --><!-- END app block --><!-- BEGIN app block: shopify://apps/vesync-storefront-cosori/blocks/storefront-embed/019f8dc4-5c4a-7c6e-bf28-fa28d4d39457 -->
1935
1936
1937  
1937<script>
1938    window.__vesyncStorefront = {
1939      features: {
1940        cookieSync: true
1941      },
1942      customerId: null,
1943      proxyBase: "/apps/vesync-storefront"
1944    };
1945  </script>
1945
1946  
1946<script src="https://cdn.shopify.com/extensions/019fea43-16f5-7382-854a-1bb41619ec27/vesync-storefront-cosori-4/assets/storefront-bootstrap.js" defer></script>
1946
1947
1948
1949
1950<!-- END app block --><link href="https://cdn.shopify.com/extensions/019c4049-633e-76f1-9885-b359b64ba331/vesync-element-kit-cosori-6/assets/vapp-seo-heading.css" rel="stylesheet" type="text/css" media="all">
1951<script src="https://cdn.shopify.com/extensions/01a08a53-1431-71a3-8d75-dd04d3c69aa4/form-builder-by-hulkapps-74/assets/form-builder-script.js" type="text/javascript" defer="defer"></script>
1951
1952<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1953<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 74265723189,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "product"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 1953
1953
1954<script>
1955  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
1956</script>
vendor: 1 bytes, line 1956
1956
1957<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
1957).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 74265723189,storefrontBaseUrl: "https://cosori.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://cosori.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"3002892597","configuration":"{\"shopDomain\":\"cosori-2023.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"a66a63c87620a15a65456a5d9d2858e2","type":"APP","apiClientId":19382,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2947154229","configuration":"{\"accountID\":\"1956670\",\"domain\":\"spfy-pxl.archive-digger.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"256e0f107bfa102eabd3cbf632fd11d1","type":"APP","apiClientId":117664743425,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":[],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2308997429","configuration":"{\"accountId\":\"cosori-2023.myshopify.com\",\"trackingOrigin\":\"https:\\\/\\\/shdid.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7e4a2932f61f97828d974aeb88ceba49","type":"APP","apiClientId":94099111937,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2104754485","configuration":"{\"shopId\":\"143429\",\"env\":\"production\",\"metaData\":\"[]\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"36f244aeba196ca7e2f6b8a611f4e21b","type":"APP","apiClientId":2773553,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
1957,"dataSharingState":"unrestricted"},{"id":"1943896373","configuration":"{\"campaignID\":\"41709\",\"externalExecutionURL\":\"https:\/\/engine.saasler.com\/api\/v1\/webhook_executions\/7bb150efd0c138fa230c3d527e74a323\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7a47b06116c806e4367c27d301f4f458","type":"APP","apiClientId":3546795,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1703903541","configuration":"{\"accountID\":\"53709240-eb8d-4579-804d-b98cd68c5aef\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"a28b838aed79eff02fcca912bdccb6f5","type":"APP","apiClientId":2376822,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1195999541","configuration":"{\"accountID\":\"SvTWYw\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"863994165","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"GT-TWMW5GRT\\\",\\\"G-0S433F551Q\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"MC-G48DVVGPS9\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"MC-G48DVVGPS9\\\",\\\"AW-11229908004\\\/NeZyCJnf168YEKSY6-op\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"MC-G48DVVGPS9\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"343343413","configuration":"{\"tagID\":\"2612816568556\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7ae565e198624b39e0856d352b9a6b4c","type":"APP","apiClientId":3009811,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"146080053","configuration":"{\"shopId\":\"cosori-2023.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7093dff47f098f6de2afb75b62011ebe","type":"APP","apiClientId":2753413,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"137429301","configuration":"{\"myshopifyDomain\":\"cosori-2023.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"23b97d18e2aa74363140dc29c9284e87","type":"APP","apiClientId":2775569,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_phone","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"}
1957,{"id":"128680245","configuration":"{\"config_url\": \"https:\/\/shopify-gtm-suite.getelevar.com\/configs\/896ebe9793ebdb22ed3ac920f8919a1980be6ff6\/config.js\"}","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"7ae63d00911d5ee26809bf1e3232d852","type":"APP","apiClientId":2509311,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"82280757","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"4","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Elevar Custom Events API Beta "},{"id":"114622773","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"2","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"cj-network-integration-pixel"},{"id":"188088629","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"20","type":"CUSTOM","privacyPurposes":["SALE_OF_DATA"],"name":"GTM Checkout Tracking"},{"id":"189006133","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Insider Custom Pixel"},{"id":"220725557","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"CDP"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"COSORI","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"cosori-2023.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/cosori.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":299.99,"currencyCode":"USD"},"product":{"title":"Juni™ The Automatic Pour-Over Coffee Machine","vendor":"COSORI","id":"10566370951477","untranslatedTitle":"Juni™ The Automatic Pour-Over Coffee Machine","url":"\/products\/juni-coffee-maker","type":""},"id":"53460911227189","image":{"src":"\/\/cosori.com\/cdn\/shop\/files\/PDP_Image01_1.png?v=1788295666"},"sku":"KAAPCMCSSUS0001Y","title":"Glass","untranslatedTitle":"Glass"},{"price":{"amount":349.99,"currencyCode":"USD"},"product":{"title":"Juni™ The Automatic Pour-Over Coffee Machine","vendor":"COSORI","id":"10566370951477","untranslatedTitle":"Juni™ The Automatic Pour-Over Coffee Machine","url":"\/products\/juni-coffee-maker","type":""},"id":"53460911259957","image":{"src":"\/\/cosori.com\/cdn\/shop\/files\/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150"},"sku":"KAAPCMCSSUS0002Y","title":"Stainless steel","untranslatedTitle":"Stainless steel"}],"products":[{"id":"10566370951477","handle":"juni-coffee-maker","isCollective":null,"title":"Juni™ The Automatic Pour-Over Coffee Machine","type":null,"untranslatedTitle":"Juni™ The Automatic Pour-Over Coffee Machine","url":"\/products\/juni-coffee-maker","vendor":"COSORI","remoteShopId":null,"variants":[{"id":"53460911227189","image":{"src":"\/\/cosori.com\/cdn\/shop\/files\/PDP_Image01_1.png?v=1788295666"},"price":{"amount":299.99,"currencyCode":"USD"},"sku":"KAAPCMCSSUS0001Y","title":"Glass","untranslatedTitle":"Glass"},{"id":"53460911259957","image":{"src":"\/\/cosori.com\/cdn\/shop\/files\/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150"},"price":{"amount":349.99,"currencyCode":"USD"},"sku":"KAAPCMCSSUS0002Y","title":"Stainless steel","untranslatedTitle":"Stainless steel"}]},{"id":"10187947344181","handle":"nutrilens-smart-nutrition-scale","
1957isCollective":null,"title":"Cosori NutriLens Smart Nutrition Scale","type":"Air Fryer Accessories","untranslatedTitle":"Cosori NutriLens Smart Nutrition Scale","url":"\/products\/nutrilens-smart-nutrition-scale","vendor":"COSORI","remoteShopId":null,"variants":[{"id":"51222975611189","image":{"src":"\/\/cosori.com\/cdn\/shop\/files\/1.0_CNS-R001S-X_US_Black_LP0A1.jpg?v=1755497282"},"price":{"amount":49.99,"currencyCode":"USD"},"sku":"KAMTNSCSSUS0021Y","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"8273570201909","handle":"smart-electric-gooseneck-kettle-cs108-nk","isCollective":null,"title":"Smart Electric Gooseneck Kettle","type":"Electric Kettles","untranslatedTitle":"Smart Electric Gooseneck Kettle","url":"\/products\/smart-electric-gooseneck-kettle-cs108-nk","vendor":"Cosori","remoteShopId":null,"variants":[{"id":"45003288019253","image":{"src":"\/\/cosori.com\/cdn\/shop\/products\/new-electric-kettle-img.png?v=1762457669"},"price":{"amount":77.99,"currencyCode":"USD"},"sku":"KAAPGKCSSUS0004","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"8273569743157","handle":"premium-stainless-steel-food-dehydrator-cp267-fd","isCollective":null,"title":"COSORI Premium 6-Tray Stainless Steel Food Dehydrator","type":"Food Dehydrator","untranslatedTitle":"COSORI Premium 6-Tray Stainless Steel Food Dehydrator","url":"\/products\/premium-stainless-steel-food-dehydrator-cp267-fd","vendor":"Cosori","remoteShopId":null,"variants":[{"id":"45003286282549","image":{"src":"\/\/cosori.com\/cdn\/shop\/products\/01.01_OA1_CP267-FD_Silver_03.png?v=1762457668"},"price":{"amount":159.99,"currencyCode":"USD"},"sku":"KAAPFDCSNUS0002","title":"Silver","untranslatedTitle":"Silver"}]}],"purchasingCompany":null},},"https://cosori.com/cdn","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"191325929781","themePublished":"true","eventMetadataId":"73ede097-ddef-4e02-8a54-b9ee0d03e1d1","pageType":"product","resourceId":"10566370951477","shopId":"74265723189","storefrontBaseUrl":"https:\/\/cosori.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"c8540278we853e1abpb62b2c4amde256306","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":299.99,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Juni™ The Automatic Pour-Over Coffee Machine\",\"vendor\":\"COSORI\",\"id\":\"10566370951477\",\"untranslatedTitle\":\"Juni™ The Automatic Pour-Over Coffee Machine\",\"url\":\"\/products\/juni-coffee-maker\",\"type\":\"\"},\"id\":\"53460911227189\",\"image\":{\"src\":\"\/\/cosori.com\/cdn\/shop\/files\/PDP_Image01_1.png?v=1788295666\"},\"sku\":\"KAAPCMCSSUS0001Y\",\"title\":\"Glass\",\"untranslatedTitle\":\"Glass\"}}]]"});})();</script>
1957<script>
1958  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
1959  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
1960  window.ShopifyAnalytics.meta.currency = 'USD';
1961  var meta = {"product":{"id":10566370951477,"gid":"gid:\/\/shopify\/Product\/10566370951477","vendor":"COSORI","type":"","handle":"juni-coffee-maker","variants":[{"id":53460911227189,"price":29999,"name":"Juni™ The Automatic Pour-Over Coffee Machine - Glass","public_title":"Glass","sku":"KAAPCMCSSUS0001Y"},{"id":53460911259957,"price":34999,"name":"Juni™ The Automatic Pour-Over Coffee Machine - Stainless steel","public_title":"Stainless steel","sku":"KAAPCMCSSUS0002Y"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":10566370951477,"requestId":"bfcd4b41-3f27-4398-8c93-08c38f54e6c9-1790380475"}};
1962  for (var attr in meta) {
1963    window.ShopifyAnalytics.meta[attr] = meta[attr];
1964  }
1965</script>
vendor: 1 bytes, line 1965
1965
1966<script class="analytics">
1967  (function () {
1968    var customDocumentWrite = function(content) {
1969      var jquery = null;
1970
1971      if (window.jQuery) {
1972        jquery = window.jQuery;
1973      } else if (window.Checkout && window.Checkout.$) {
1974        jquery = window.Checkout.$;
1975      }
1976
1977      if (jquery) {
1978        jquery('body').append(content);
1979      }
1980    };
1981
1982    var hasLoggedConversion = function(token) {
1983      if (token) {
1984        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
1985      }
1986      return false;
1987    }
1988
1989    var setCookieIfConversion = function(token) {
1990      if (token) {
1991        var twoMonthsFromNow = new Date(Date.now());
1992        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
1993
1994        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
1995      }
1996    }
1997
1998    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
1999    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
2000    if (trekkie.integrations) {
2001      return;
2002    }
2003    trekkie.methods = [
2004      'identify',
2005      'page',
2006      'ready',
2007      'track',
2008      'trackForm',
2009      'trackLink'
2010    ];
2011    trekkie.factory = function(method) {
2012      return function() {
2013        var args = Array.prototype.slice.call(arguments);
2014        args.unshift(method);
2015        trekkie.push(args);
2016        if (method == 'track' || method == 'page') {
2017          var pageUrl;
2018          try {
2019            pageUrl = window.location.href;
2020          } catch (e) {}
2021          var pageReferrer;
2022          try {
2023            pageReferrer = document.referrer;
2024          } catch (e) {}
2025          try {
2026            if (window.__TREKKIE_SHIM_QUEUE == null) {
2027              window.__TREKKIE_SHIM_QUEUE = [];
2028            }
2029            window.__TREKKIE_SHIM_QUEUE.push({
2030              from: 'trekkie-stub',
2031              method: method,
2032              args: args.slice(1),
2033              pageContext: {
2034                url: pageUrl,
2035                referrer: pageReferrer
2036              }
2037            });
2038          } catch (e) {
2039            // no-op
2040          }
2041        }
2042        return trekkie;
2043      };
2044    };
2045    for (var i = 0; i < trekkie.methods.length; i++) {
2046      var key = trekkie.methods[i];
2047      trekkie[key] = trekkie.factory(key);
2048    }
2049    trekkie.load = function(config) {
2050      trekkie.config = config || {};
2051      trekkie.config.initialDocumentCookie = document.cookie;
2052      var first = document.getElementsByTagName('script')[0];
2053var script = document.createElement('script');
2054script.type = 'text/javascript';
2055script.onerror = function(e) {
2056  var scriptFallback = document.createElement('script');
2057  scriptFallback.type = 'text/javascript';
2058  scriptFallback.onerror = function(error) {
2059          var Monorail = {
2060      produce: function produce(monorailDomain, schemaId, payload) {
2061        var currentMs = new Date().getTime();
2062        var event = {
2063          schema_id: schemaId,
2064          payload: payload,
2065          metadata: {
2066            event_created_at_ms: currentMs,
2067            event_sent_at_ms: currentMs
2068          }
2069        };
2070        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
2071      },
2072      sendRequest: function sendRequest(endpointUrl, payload) {
2073        // Try the sendBeacon API
2074        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
2075          var blobData = new window.Blob([payload], {
2076            type: 'text/plain'
2077          });
2078
2079          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
2080            return true;
2081          } // sendBeacon was not successful
2082
2083        } // XHR beacon
2084
2085        var xhr = new XMLHttpRequest();
2086
2087        try {
2088          xhr.open('POST', endpointUrl);
2089          xhr.setRequestHeader('Content-Type', 'text/plain');
2090          xhr.send(payload);
2091        } catch (e) {
2092          console.log(e);
2093        }
2094
2095        return false;
2096      },
2097      isIos12: function isIos12() {
2098        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
2099      }
2100    };
2101    Monorail.produce('monorail-edge.shopifysvc.com',
2102      'trekkie_storefront_load_errors/1.1',
2103      {shop_id: 74265723189,
2104      theme_id: 191325929781,
2105      app_name: "storefront",
2106      context_url: window.location.href,
2107      source_url: "//cosori.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"});
2108
2109  };
2110  scriptFallback.async = true;
2111  scriptFallback.src = '//cosori.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
2112  first.parentNode.insertBefore(scriptFallback, first);
2113};
2114script.async = true;
2115script.src = '//cosori.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
2116first.parentNode.insertBefore(script, first);
2117
2118    };
2119    trekkie.load(
2120      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":74265723189,"isMerchantRequest":null,"themeId":191325929781,"themeCityHash":"1025471158232734705","contentLanguage":"en","currency":"USD","eventMetadataId":"73ede097-ddef-4e02-8a54-b9ee0d03e1d1"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}}
2121    );
2122
2123    var loaded = false;
2124    trekkie.ready(function() {
2125      if (loaded) return;
2126      loaded = true;
2127
2128      window.ShopifyAnalytics.lib = window.trekkie;
2129
2130      var originalDocumentWrite = document.write;
2131      document.write = customDocumentWrite;
2132      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
2133      document.write = originalDocumentWrite;
2134
2135      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
2136      var token = match? match[1]: undefined;
2137      if (!hasLoggedConversion(token)) {
2138        setCookieIfConversion(token);
2139        window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"USD","variantId":53460911227189,"productId":10566370951477,"productGid":"gid:\/\/shopify\/Product\/10566370951477","name":"Juni™ The Automatic Pour-Over Coffee Machine - Glass","price":"299.99","sku":"KAAPCMCSSUS0001Y","brand":"COSORI","variant":"Glass","category":"","nonInteraction":true,"remote":false,"available":true},undefined,undefined,{"shopifyEmitted":true});
2140      }
2141    });
2142
2143    window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":10
2143566370951477,"requestId":"bfcd4b41-3f27-4398-8c93-08c38f54e6c9-1790380475","shopifyEmitted":true});
2144
2145    var eventsListenerScript = document.createElement('script');
2146    eventsListenerScript.async = true;
2147    eventsListenerScript.src = "//cosori.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
2148    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
2149})();</script>
vendor: 1 bytes, line 2149
2149
2150<script
2151  defer
2152  src="https://cosori.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
2153  data-application="storefront-renderer"
2154  data-shop-id="74265723189"
2155  data-render-region="gcp-us-central1"
2156  data-page-type="product"
2157  data-theme-instance-id="191325929781"
2158  data-theme-name="Cosori"
2159  data-theme-version="13.0.1"
2160  data-monorail-region="shop_domain"
2161  data-resource-timing-sampling-rate="10"
2162  data-shs="true"
2163  data-shs-beacon="true"
2164  data-shs-export-with-fetch="true"
2165  data-shs-logs-sample-rate="1"
2166  data-shs-beacon-endpoint="https://cosori.com/api/collect"
2167></script>
2167
2168<meta name="shopify-y" content="8c8089f9-05c0-4104-8017-716f44887dd7" data-expiration="1821938075000"><meta name="shopify-s" content="95a0118f-763e-4b84-8fbe-b5b967d7f469" data-expiration="1790382275000"><meta name="new-cookie-storage-activated" content="t">
2169</head>
2170
2171  <body
2172    data-template="product"
2173    data-customer-logged-in="false"
2174    class="template-product handle_juni-coffee-maker temp-supx-juni-launch not_active  gradient"
2175  >
2176    <a class="skip-to-content-link button visually-hidden" href="#MainContent">
2177      Skip to content
2178    </a>
2179    <span
2180      id="page-data"
2181      
2182        data-url="/products/juni-coffee-maker"
2183      
2184    ></span>
2185    
2186    
2187
2188�<!-- Google Tag Manager (noscript) -->
vendor: 69 bytes, lines 2188-2189
2188
2189<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
2189GTM-PWGHF7VP
vendor: 85 bytes, lines 2189-2190
2189"
2190height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
2191<!-- End Google Tag Manager (noscript) -->
2192
2193    �<!-- BEGIN sections: dtc-header-group -->
2194<aside id="shopify-section-sections--28135024722229__dtc_header_top_bar_cfJcVM" class="shopify-section shopify-section-group-dtc-header-group dtc-header-top-bar-section"><style data-shopify>#shopify-section-sections--28135024722229__dtc_header_top_bar_cfJcVM .dtc-header-top-bar {
2195    background-color: #fb914a;
2196    color: #ffffff;
2197  }</style>
2197<script>
2198  (function() {
2199    var key = 'dtc-topbar-dismissed-shopify-section-sections--28135024722229__dtc_header_top_bar_cfJcVM';
2200    if (sessionStorage.getItem(key) === 'dismissed') {
2201      document.write('<style>#shopify-section-sections--28135024722229__dtc_header_top_bar_cfJcVM{display:none!important}</style>');
2202    }
2203  })();
2204</script>
2204
2205
2206<dtc-header-top-bar class="dtc-header-top-bar">
2207  <div class="dtc-header-top-bar__inner"><a
2208        href="/pages/shipping-and-delivery-cosori"
2209        class="dtc-header-top-bar__announcement dtc-header-top-bar__announcement--linked"
2210        target="_blank"
2211        rel="noopener noreferrer"
2212        data-v-gtm-promo-strip
2213        data-v-gtm-promo-name="Free Shipping to Continental US"
2214      ><span class="dtc-header-top-bar__announcement-img" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
2215            <path d="M0.5 7.49924C0.500827 6.70384 0.817163 5.94126 1.37959 5.37883C1.94202 4.8164 2.7046 4.50007 3.5 4.49924H5.9875C6.16938 4.48862 9.33875 4.26549 12.3569 1.73424C12.5026 1.61183 12.6803 1.53356 12.869 1.50862C13.0576 1.48368 13.2495 1.51311 13.4221 1.59344C13.5946 1.67377 13.7407 1.80168 13.843 1.96213C13.9454 2.12258 13.9999 2.30891 14 2.49924V12.4992C14 12.6896 13.9456 12.876 13.8433 13.0366C13.741 13.1971 13.5949 13.3251 13.4224 13.4055C13.2498 13.4859 13.0579 13.5154 12.8691 13.4905C12.6804 13.4656 12.5027 13.3873 12.3569 13.2649C9.99625 11.2849 7.54437 10.7174 6.5 10.5586V12.5411C6.50021 12.7059 6.4597 12.8682 6.38206 13.0135C6.30442 13.1589 6.19207 13.2828 6.055 13.3742L5.3675 13.8324C5.23462 13.9211 5.08241 13.9766 4.92364 13.9944C4.76487 14.0122 4.60415 13.9917 4.45494 13.9346C4.30573 13.8775 4.17237 13.7854 4.06603 13.6662C3.95969 13.547 3.88347 13.404 3.84375 13.2492L3.10812 10.4767C2.38642 10.3807 1.72414 10.0259 1.24441 9.47821C0.764683 8.93055 0.500153 8.22731 0.5 7.49924ZM13 12.4949V2.49924C10.3244 4.74361 7.58563 5.31174 6.5 5.45174V9.54424C7.58437 9.68674 10.3225 10.2536 13 12.4949ZM4.8125 12.9949V13.0017L5.5 12.5436V10.4992H4.15L4.8125 12.9949ZM3.5 9.49924H5.5V5.49924H3.5C2.96957 5.49924 2.46086 5.70995 2.08579 6.08503C1.71071 6.4601 1.5 6.96881 1.5 7.49924C1.5 8.02967 1.71071 8.53838 2.08579 8.91345C2.46086 9.28853 2.96957 9.49924 3.5 9.49924Z" fill="currentColor"/>
2216          </svg></span><div class="dtc-header-top-bar__announcement-text"><p>Free Shipping to Continental US</p></div></a><div class="dtc-header-top-bar__right"><div class="dtc-header-top-bar__brands">
2217        <span class="dtc-header-top-bar__brands-label">Explore brands:</span>
2218        <nav class="dtc-header-top-bar__brands-list" aria-label="Explore brands">
2219          <a href="https://levoit.com" target="_blank" rel="noopener" class="dtc-header-top-bar__brand-link" aria-label="Levoit">
2220            <svg xmlns="http://www.w3.org/2000/svg" width="42" height="13" viewBox="0 0 42 13" fill="none">
2221              <path d="M27.1151 12.7394C26.2234 12.7387 25.3519 12.4854 24.6108 12.0115C23.8697 11.5376 23.2923 10.8644 22.9516 10.077C22.6108 9.28961 22.5221 8.42333 22.6965 7.58772C22.8709 6.7521 23.3007 5.98465 23.9315 5.38239C24.5623 4.78013 25.3658 4.3701 26.2404 4.20412C27.1151 4.03815 28.0216 4.12368 28.8454 4.44992C29.6692 4.77616 30.3732 5.32844 30.8686 6.03697C31.3639 6.74549 31.6283 7.57844 31.6283 8.43051C31.6268 9.57349 31.1507 10.6692 30.3046 11.4771C29.4584 12.285 28.3113 12.739 27.1151 12.7394ZM27.1151 5.99503C26.6109 5.99468 26.118 6.13722 25.6986 6.40462C25.2792 6.67203 24.9522 7.05227 24.759 7.49727C24.5658 7.94226 24.5151 8.43201 24.6132 8.90457C24.7113 9.37712 24.954 9.81125 25.3103 10.152C25.6667 10.4928 26.1209 10.725 26.6154 10.8191C27.1098 10.9132 27.6224 10.8651 28.0882 10.6808C28.5541 10.4965 28.9523 10.1843 29.2324 9.78378C29.5126 9.38323 29.6621 8.91228 29.6621 8.43051C29.6616 7.78503 29.3932 7.1661 28.9157 6.70951C28.4382 6.25292 27.7907 5.99597 27.1151 5.99503Z" fill="currentColor"/>
2222              <path d="M13.3181 8.99242C13.3448 8.80616 13.3583 8.61839 13.3588 8.43039C13.3588 7.28759 12.8837 6.1916 12.038 5.38352C11.1923 4.57544 10.0453 4.12146 8.8493 4.12146C7.65332 4.12146 6.50632 4.57544 5.66063 5.38352C4.81495 6.1916 4.33984 7.28759 4.33984 8.43039C4.34025 8.61839 4.35385 8.80616 4.38054 8.99242C4.50285 9.88494 4.91484 10.7184 5.55859 11.3755C6.20233 12.0327 7.04545 12.4806 7.96938 12.6561C8.89332 12.8317 9.8516 12.7261 10.7095 12.3543C11.5674 11.9824 12.2817 11.363 12.7521 10.5831L11.0541 9.64636C10.8 10.0692 10.4188 10.4093 9.95981 10.6223C9.50085 10.8354 8.98544 10.9116 8.48055 10.8411C7.97566 10.7705 7.50465 10.5565 7.12872 10.2268C6.7528 9.89716 6.48935 9.46706 6.37261 8.99242H13.3181ZM6.50394 7.49367C6.54731 7.39781 6.59673 7.30456 6.65191 7.21442C6.88888 6.82106 7.23632 6.49892 7.65492 6.28444C8.07353 6.06995 8.5466 5.97168 9.02061 6.00073C9.49463 6.02979 9.95068 6.18501 10.3372 6.44885C10.7237 6.71269 11.0252 7.
222207461 11.2076 7.49367H6.50394Z" fill="currentColor"/>
2223              <path d="M20.4678 4.30908L17.9874 10.3289L15.507 4.30908H13.3984L16.7963 12.5523H19.1786L22.5746 4.30908H20.4678Z" fill="currentColor"/>
2224              <path d="M39.9383 10.4897C39.8543 10.6361 39.7215 10.7513 39.561 10.817C39.4005 10.8826 39.2215 10.895 39.0528 10.852C38.8841 10.8091 38.7353 10.7133 38.6302 10.58C38.5252 10.4467 38.4699 10.2836 38.4733 10.1168V5.80789H40.7817V4.30913H38.4733V0.751343H36.5127V10.1186C36.5116 10.6961 36.7103 11.2577 37.0778 11.7161C37.4453 12.1746 37.961 12.5041 38.5448 12.6535C39.1286 12.8029 39.7476 12.7637 40.3057 12.5421C40.8638 12.3205 41.3296 11.9289 41.6307 11.4282L39.9383 10.4897Z" fill="currentColor"/>
2225              <path d="M34.8278 4.30908H32.8672V12.5505H34.8278V4.30908Z" fill="currentColor"/>
2226              <path d="M33.8483 3.40732C34.4979 3.40732 35.0246 2.90405 35.0246 2.28325C35.0246 1.66244 34.4979 1.15918 33.8483 1.15918C33.1986 1.15918 32.6719 1.66244 32.6719 2.28325C32.6719 2.90405 33.1986 3.40732 33.8483 3.40732Z" fill="currentColor"/>
2227              <path d="M3.14441 10.7634C3.02644 10.8307 2.89154 10.8661 2.75414 10.8659C2.54614 10.8659 2.34666 10.7869 2.19958 10.6464C2.05251 10.5059 1.96988 10.3153 1.96988 10.1165V0.749268H0V10.1165C0.000978735 10.8118 0.290486 11.4784 0.80504 11.9701C1.31959 12.4618 2.0172 12.7384 2.74489 12.7393C3.22648 12.7398 3.69954 12.6178 4.11548 12.3859L3.14441 10.7634Z" fill="currentColor"/>
2228              <path d="M8.85609 3.22728C7.94625 3.22588 7.05267 2.9967 6.26438 2.56256C5.4761 2.12842 4.82063 1.50448 4.36328 0.752914L5.72093 0C6.04042 0.526264 6.49913 0.962996 7.05103 1.26638C7.60293 1.56977 8.22862 1.72915 8.86534 1.72852C9.49892 1.72606 10.1208 1.56522 10.6692 1.26198C11.2175 0.958748 11.6733 0.523677 11.9913 0L13.3489 0.751147C12.8918 1.50305 12.2364 2.12734 11.4481 2.56179C10.6598 2.99625 9.76612 3.2257 8.85609 3.22728Z" fill="currentColor"/>
2229            </svg>
2230          </a>
2231          <a href="https://www.etekcity.com" target="_blank" rel="noopener" class="dtc-header-top-bar__brand-link" aria-label="Etekcity">
2232            <svg xmlns="http://www.w3.org/2000/svg" width="58" height="16" viewBox="0 0 58 16" fill="none">
2233              <g clip-path="url(#clip0_cosori_topbar_etekcity)">
2234              <path d="M19.2995 2.4455C19.3784 2.43049 19.4888 2.43921 19.5734 2.43332C20.7062 2.35448 21.8318 2.68123 22.689 3.46387C23.7981 4.47648 24.0457 5.82177 24.1124 7.27987L16.8973 7.27717C16.9685 9.35651 18.7619 10.6865 20.7515 10.2586C21.4197 10.1148 21.9651 9.73191 22.4453 9.25435C22.9849 8.67944 23.5429 8.74057 24.1698 9.12147C24.0203 9.31883 23.8865 9.57073 23.7359 9.77644C22.7671 11.0994 21.5201 11.686 19.9273 11.6932C14.3722 11.7184 13.8727 3.26971 19.2995 2.4455ZM17.0126 5.98283C17.3116 5.95356 17.7878 5.96841 18.098 5.96884L20.0057 5.97045L22.5893 5.96787C22.2973 5.10863 21.9882 4.49377 21.1497 4.0509C20.7411 3.83508 20.0584 3.7127 19.6113 3.79645C18.2658 3.88798 17.4576 4.75872 17.0126 5.98283Z" fill="currentColor"/>
2235              <path d="M37.5979 2.39254C37.9618 2.32833 39.1529 2.4563 39.5403 2.52117C39.536 2.99623 39.5369 3.47133 39.542 3.9464C38.9142 3.82055 37.9488 3.73648 37.3065 3.8633C35.3806 4.2436 34.5639 6.05089 34.927 7.88722C35.0773 8.63827 35.512 9.29986 36.1384 9.73023C37.1896 10.4374 38.3623 10.3616 39.546 10.1183C39.5324 10.3761 39.5383 10.6815 39.5369 10.943L39.544 11.5459C37.891 11.8784 36.2452 11.7879 34.9086 10.6417C33.0061 9.0102 32.8481 5.79715 34.4288 3.89046C35.252 2.89768 36.3599 2.49424 37.5979 2.39254Z" fill="currentColor"/>
2236              <path d="M41.832 3.31711C42.2579 3.32804 42.8654 3.23674 43.191 3.54444C43.5017 3.83794 43.4264 4.44907 43.4249 4.85483L43.4204 6.27482C43.4125 8.0737 43.4167 9.87261 43.4332 11.6714C42.9155 11.6483 42.3554 11.6601 41.8374 11.6658L41.832 3.31711Z" fill="currentColor"/>
2237              <path d="M42.2305 0.867188C42.7498 0.878393 43.2882 0.871646 43.8089 0.871962C43.7982 1.30778 43.9013 1.95961 43.575 2.27535C43.2052 2.54811 42.7068 2.47349 42.235 2.47036C42.2381 1.93596 42.2367 1.40155 42.2305 0.867188Z" fill="currentColor"/>
2238              <path d="M0 6.93984C0.0573211 6.57456 0.0713741 6.22936 0.152033 5.85938C0.390162 4.80235 0.995358 3.86709 
22381.85738 3.22397C2.78466 2.54305 4.03182 2.28956 5.15493 2.4708C6.19778 2.63598 7.13379 3.2121 7.75869 4.07343C8.39792 4.96794 8.64944 6.19248 8.63953 7.28077L1.43736 7.27569C1.56995 9.2564 2.92053 10.4507 4.87962 10.3125C5.44009 10.2738 5.97797 10.0738 6.4299 9.73602C6.93088 9.35747 7.22596 8.78586 7.93494 8.83458C8.24545 8.85591 8.4394 8.96137 8.69526 9.1206C8.13019 10.0409 7.59886 10.7167 6.60961 11.2188C5.2321 11.918 3.38495 11.8596 2.06726 11.0304C1.10236 10.4228 0.415645 9.45172 0.158462 8.33106C0.0776897 7.9768 0.0637922 7.5058 0 7.24091V6.93984ZM1.55695 5.96702L4.57341 5.96954C5.40804 5.96909 6.28843 5.98299 7.11926 5.96427C6.69222 4.51767 5.67015 3.62107 4.12845 3.79572C2.8061 3.89769 1.98254 4.74778 1.55695 5.96702Z" fill="currentColor"/>
2239              <path d="M51.1684 2.4375C51.8497 2.46383 52.4563 2.71696 52.5818 3.48105C52.6543 3.92214 52.6135 4.43557 52.6172 4.8881C52.6257 5.91012 52.5999 6.93513 52.6169 7.95735C52.6398 8.58909 52.7789 9.35124 53.2645 9.79072C53.9113 10.3761 54.9721 10.4219 55.6948 9.96076C56.7021 9.31798 56.5772 7.87021 56.5772 6.82777L56.5755 4.58688C56.5738 3.93713 56.4602 3.20721 57.0178 2.75214C57.3327 2.49498 57.6137 2.46104 57.9942 2.44998V11.8047C57.9597 11.9292 57.9118 12.2841 57.8852 12.4308C57.794 12.9188 57.6032 13.3822 57.3245 13.791C56.8734 14.4468 56.1394 14.8799 55.3666 14.9953C53.175 15.3228 51.649 14.3732 51.2601 12.1591C51.7365 12.1841 52.236 12.1714 52.7129 12.1629C52.8086 12.5184 52.8961 12.7949 53.1436 13.0877C53.7686 13.8269 55.1466 13.8705 55.8647 13.25C56.5534 12.6549 56.5191 11.9294 56.5783 11.1028C55.2915 11.9162 53.3407 11.8677 52.2133 10.7718C51.001 9.59328 51.1721 7.73579 51.1726 6.17521L51.1684 2.4375Z" fill="currentColor"/>
2240              <path d="M25.998 0H27.5056C27.5527 1.3716 27.4812 2.84936 27.5095 4.22965C27.5171 4.60066 27.4785 5.6236 27.5402 5.91366C27.5919 5.96335 27.5706 5.95005 27.653 5.9532C27.8391 5.87332 28.0668 5.58128 28.2106 5.41832C28.9579 4.57144 29.7562 3.69672 30.5061 2.85952C31.0379 2.26597 32.0863 2.43446 32.8936 2.43837C32.6056 2.83018 31.9365 3.52195 31.5893 3.90925C30.6599 4.94827 29.7248 5.98219 28.7843 7.01095C29.1686 7.37858 29.8228 8.16978 30.1895 8.58821L32.8925 11.6739C32.3731 11.6406 31.4845 11.7555 31.0314 11.5892C30.3149 11.3264 28.0142 8.14122 27.
22406576 8.05844C27.6142 8.04837 27.5922 8.073 27.5563 8.09511C27.4727 8.28462 27.5143 11.2346 27.5189 11.6716C27.0568 11.6409 26.4618 11.6599 25.9976 11.6657C25.9774 10.2747 25.9963 8.83217 25.9963 7.43762L25.998 0Z" fill="currentColor"/>
2241              <path d="M45.5618 0H47.0672L47.0723 2.4359L49.0801 2.43517L49.0809 2.71442C49.0792 4.17428 48.239 3.84688 47.0658 3.83986C47.0873 4.99286 47.0548 6.17035 47.0678 7.32585C47.0754 7.88837 47.0468 8.44769 47.0953 9.00883C47.2233 10.4908 48.751 10.4933 49.7303 9.8388C49.7291 10.2327 49.8441 11.1115 49.5822 11.3876C49.3299 11.6537 48.6395 11.6876 48.2849 11.6953C47.5563 11.7066 46.8294 11.5041 46.3091 10.9635C45.5344 10.1579 45.5573 9.21382 45.559 8.18076V6.45468L45.5618 0Z" fill="currentColor"/>
2242              <path d="M10.4974 0H12.0057L12.0077 2.43635L14.0373 2.43528C14.036 4.16949 13.4898 3.84608 12.0037 3.84126C12.0321 5.53838 11.9622 7.28941 12.022 8.98498C12.0736 10.4471 13.6682 10.5045 14.6747 9.8394C14.6661 10.1683 14.7529 11.3055 14.5287 11.4031C12.4141 12.3233 10.3914 11.1175 10.5003 8.70371C10.5411 7.79854 10.4981 6.96608 10.4981 6.2595L10.4974 0Z" fill="currentColor"/>
2243              </g>
2244              <defs>
2245              <clipPath id="clip0_cosori_topbar_etekcity">
2246              <rect width="57.996" height="16" fill="white"/>
2247              </clipPath>
2248              </defs>
2249            </svg>
2250          </a>
2251          <a href="https://www.vesync.com/" target="_blank" rel="noopener" class="dtc-header-top-bar__brand-link" aria-label="VeSync">
2252            <svg width="46" height="19" viewBox="0 0 46 19" fill="none" xmlns="http://www.w3.org/2000/svg">
2253              <g clip-path="url(#clip0_cosori_topbar_vesync)">
2254              <path d="M11.1183 7.34063C11.1307 7.33932 11.1431 7.33814 11.1555 7.33709C11.9665 7.26842 13.019 7.59997 13.6158 8.13687C14.6708 9.08599 14.7782 10.0498 14.8792 11.3225L8.80486 11.3201C8.86481 12.0139 9.02572 12.5762 9.53534 13.0939C10.0169 13.582 10.6754 13.858 11.3635 13.8604C12.4189 13.8681 12.9268 13.5048 13.6217 12.8252C14.0543 12.5148 14.4779 12.5867 14.9097 12.8521C14.7608 13.1131 14.5814 13.3855 14.3873 13.6148C13.7304 14.4022 12.7821 14.8941 11.7561 14.9797C8.14235 15.2838 6.39828 11.2588 8.53509 8.58204C9.1692 7.78774 10.1134 7.41795 11.1183 7.34063ZM8.89431 10.2735C9.79227 10.2828 10.6903 10.2854 11.5883 10.2811L13.5942 10.2792C13.3889 9.5978 13.1065 9.06856 12.4465 8.70771C11.9514 8.43705 11.4687 8.43779 10.9201 8.47293C10.2073 8.60757 9.70823 8.89492 9.27701 9.49878C9.06052 9.8019 9.03459 9.97387 8.89431 10.2735Z" fill="currentColor"/>
2255              <path d="M20.5045 4.08594C20.5071 4.08687 20.5097 4.08772 20.5122 4.08877C20.6392 4.14111 24.134 7.6475 24.4221 8.00646C24.7111 8.36888 24.9451 8.77113 25.1174 9.20059C25.5737 10.3376 25.5605 11.6075 25.0804 12.7348C24.5758 13.9246 23.609 14.8617 22.399 15.3337C19.9352 16.316 17.1907 15.0392 16.2126 12.6188C15.9468 11.9512 15.872 11.2047 15.9001 10.4928C16.1388 10.5335 16.8375 10.5174 17.0919 10.509C17.2303 11.6567 17.2409 12.4494 18.1421 13.3671C18.7971 14.0381 19.6965 14.4189 20.6375 14.4238C21.5568 14.433 22.4928 14.0483 23.1479 13.4092C23.8147 12.7665 24.1932 11.8845 24.1982 10.9617C24.2096 9.52771 23.519 8.77594 22.5585 7.8449C22.0085 7.28961 21.448 6.74422 20.8801 6.20699C20.4737 5.82249 20.4938 5.38035 20.4974 4.86749L20.5045 4.08594Z" fill="currentColor"/>
2256              <path d="M36.3026 7.38936C36.5537 7.33425 37.0408 7.3937 37.2984 7.43945C37.8774 7.54776 38.4498 7.85563 38.82 8.31545C39.6178 9.30637 39.4776 10.6203 39.4773 11.8111L39.4794 14.9432C38.9795 14.9352 38.5572 14.8022 38.3436 14.3058C38.2297 14.0405 38.2638 13.561 38.2638 13.2633L38.2653 11.2711C38.266 10.1406 38.369 8.86127 36.9685 8.55884C36.4613 8.48324 35.836 8.56216 35.4631 8.94567C34.8683 9.55733 34.972 10.4832 34.9733 11.2683L34.9771 13.6313C34.9753 14.4418 34.6332 14.95 33.766 14.9437C33.7095 14.3207 33.746 13.1989 33.7456 12.546L33.744 11.0101C33.7438 10.5634 33.7193 10.1358 33.8068 9.69505C34.0889 8.27664 34.8712 7.55594 36.3026 7.38936Z" fill="currentColor"/>
2257              <path d="M0.412789 7.36441C1.24454 7.32985 1.72578 7.4565 2.02596 8.27667C2.20543 8.76704 2.40903 9.27814 2.59588 9.76723C2.85742 10.4595 3.12342 11.1501 3.39382 11.839C3.46696 12.0268 3.62052 12.5261 3.72581 12.6673C3.79554 12.7121 3.80629 12.7142 3.88894 12.725C4.0733 12.6572 4.39725 11.6496 4.48469 11.4202L5.41161 8.98073C5.87186 7.76419 5.87777 7.32298 7.33943 7.36993C7.22074 7.76539 6.85847 8.60737 6.69697 9.03033C5.90552 10.9952 5.17027 12.9996 4.36945 14.959C4.04862 14.9809 3.64751 14.9708 3.3205 14.9709L1.43238 10.1921L0.68556 8.29761C0.62378 8.13932 0.338254 7.48335 0.36062 7.3761L0.412789 7.36441Z" fill="currentColor"/>
2258              <path d="M44.0788 7.33992C44.4616 7.29173 45.2325 7.40347 45.619 7.45438C45.6247 7.84028 45.6249 8.22623 45.
22586199 8.61212C45.0054 8.49004 44.2565 8.4603 43.6236 8.58744C41.3968 9.03245 41.0351 12.3217 42.8917 13.4247C43.6655 13.8846 44.7584 13.8885 45.6177 13.6774L45.6247 14.4497L45.6312 14.849C45.3866 14.8718 45.0828 14.9335 44.8228 14.9657C41.1453 15.4213 39.1974 11.3671 41.3481 8.59296C42.0055 7.74518 43.014 7.43342 44.0788 7.33992Z" fill="currentColor"/>
2259              <path d="M26.6561 7.34919C27.0382 7.38103 27.3277 7.447 27.5976 7.74415C27.9087 8.08658 27.8338 8.66252 27.8298 9.11809L27.8262 10.9153C27.8237 12.0947 27.7221 13.6392 29.3108 13.7899C29.6374 13.8208 29.9697 13.7706 30.2692 13.638C31.2908 13.1857 31.1864 11.7553 31.1864 10.8276L31.1851 9.14895C31.1846 8.78344 31.1784 8.46125 31.2181 8.09578C31.262 7.69366 32.05 7.19798 32.3518 7.3841C32.3926 7.44346 32.3713 8.39761 32.3713 8.54685L32.3715 11.1156C32.3715 12.3259 32.3738 13.5365 32.3706 14.7466C32.3699 14.98 32.3338 15.2504 32.2955 15.4737C32.1041 16.5913 31.37 17.4649 30.2286 17.6955C30.1396 17.7135 29.9401 17.7511 29.8589 17.7824H29.1477C28.9341 17.729 28.7227 17.6817 28.5118 17.618C27.4333 17.2921 26.8491 16.4199 26.6976 15.3502C27.1006 15.377 27.506 15.3388 27.8951 15.3625C28.0393 15.809 28.2415 16.2272 28.6828 16.4475C29.0923 16.6519 29.6386 16.6786 30.0718 16.5391C31.0619 16.2201 31.1142 15.3469 31.1878 14.4687C30.1131 15.2638 28.0277 15.0694 27.2408 13.9281C26.7874 13.2702 26.6216 12.5581 26.6445 11.7701C26.6867 10.3159 26.5823 8.79723 26.6561 7.34919Z" fill="currentColor"/>
2260              <path d="M20.2641 0.804688H21.1009C21.1627 0.827841 21.7106 0.92 21.8368 0.951729C22.4856 1.11475 23.1706 1.48335 23.6637 1.928C24.4246 2.60382 24.935 3.5136 25.1131 4.51164C25.1575 4.77356 25.1661 5.04353 25.1793 5.30886C24.7853 5.2981 24.3727 5.30282 23.977 5.30213C23.92 5.03774 23.8935 4.761 23.8282 4.49235C23.6514 3.77378 23.2325 3.13686 22.6413 2.68717C21.9613 2.16254 21.1207 1.9564 20.2701 2.06251C19.4153 2.16233 18.637 2.60017 18.1113 3.27703C17.693 3.80854 17.4568 4.4589 17.437 5.13317C17.4024 6.53697 18.0073 7.16023 18.9233 8.06897C19.305 8.44944 19.6894 8.82707 20.0767 9.20187C20.4338 9.54541 20.818 9.82901 20.8652 10.3549C20.8793 10.512 20.9034 11.494 20.8362 11.579L20.8078 11.5805C20.6677 11.4821 20.4534 11.2622 20.3186 11.1334C20.0145 10.8467 19.7136 10.5565 19.4162 10.263C18.9212 9.78095 18.4294 9.2957 17.9407 8.80735C17.5813 8.44589 17.1849 8.07022 16.8982 7.65193C16.5944 7.20994 16.3802 6.71344 16.2675 6.19011C16.0081 5.03475 16.268 3.83138 16.9033 2.83893C17.4664 1.95962 18.3284 1.31 19.3327 1.00805C19.6776 0.905051 19.9214 0.880764 20.2641 0.804688Z" fill="currentColor"/>
2261              </g>
2262              <defs>
2263              <clipPath id="clip0_cosori_topbar_vesync">
2264              <rect width="45.9491" height="16.9787" fill="white" transform="translate(0 0.804688)"/>
2265              </clipPath>
2266              </defs>
2267            </svg>
2268          </a>
2269        </nav>
2270      </div><span class="dtc-header-top-bar__divider" aria-hidden="true"></span><a href="https://support.cosori.com/s/?_gl=1*46knml*_gcl_au*OTE4NDgxMzI1LjE3ODA5MDI2NTA.*_ga*MzA5Njc4MzAwLjE3NzI3NjUwNjY.*_ga_0S433F551Q*czE3ODA5MDI2NTAkbzIwJGcwJHQxNzgwOTAyNjU4JGo1MiRsMCRoMTMxMTQyMzA3" class="dtc-header-top-bar__support-link">Support</a></div><button
2271      class="dtc-header-top-bar__close"
2272      aria-label="Close announcement"
2273      type="button"
2274    >
2275      <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true">
2276        <path d="M12.5 3.5L3.5 12.5M3.5 3.5L12.5 12.5" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2277      </svg>
2278    </button>
2279
2280  </div>
2281</dtc-header-top-bar></aside><header id="shopify-section-sections--28135024722229__dtc_header_Cjn8AK" class="shopify-section shopify-section-group-dtc-header-group section-header dtc-header-section"><link rel="stylesheet" href="//cosori.com/cdn/shop/t/166/assets/component-search.css?v=165164710990765432851789674181" media="print" onload="this.media='all'"><link rel="stylesheet" href="//cosori.com/cdn/shop/t/166/assets/component-price.css?v=34032550459237142151789674181" media="print" onload="this.media='all'">
2281<script src="//cosori.com/cdn/shop/t/166/assets/search-form.js?v=133129549252120666541789674181" defer="defer"></script>
2281<style data-shopify>#shopify-section-sections--28135024722229__dtc_header_Cjn8AK {
2282    position: sticky;
2283    top: 0;
2284    left: 0;
2285    right: 0;
2286    z-index: 40;
2287  }</style><div class="dtc-header" id="dtc-header-sections--28135024722229__dtc_header_Cjn8AK" data-v-gtm-scope="header">
2288  <div class="dtc-header__inner"><div class="dtc-header__mobile-right">
2289      <span class="dtc-header__mobile-divider" aria-hidden="true"></span><dtc-mobile-nav class="dtc-mobile-nav"><button
2290    type="button"
2291    class="dtc-mobile-nav__toggle"
2292    aria-expanded="false"
2293    aria-controls="dtc-mobile-nav-drop-sections--28135024722229__dtc_header_Cjn8AK"
2294    aria-label="Menu"
2295  ><span class="dtc-mobile-nav__icon dtc-mobile-nav__icon--menu" aria-hidden="true">
2296      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
2297        <path d="M21 7.75H3C2.59 7.75 2.25 7.41 2.25 7C2.25 6.59 2.59 6.25 3 6.25H21C21.41 6.25 21.75 6.59 21.75 7C21.75 7.41 21.41 7.75 21 7.75Z" fill="currentColor"/>
2298        <path d="M21 12.75H3C2.59 12.75 2.25 12.41 2.25 12C2.25 11.59 2.59 11.25 3 11.25H21C21.41 11.25 21.75 11.59 21.75 12C21.75 12.41 21.41 12.75 21 12.75Z" fill="currentColor"/>
2299        <path d="M21 17.75H3C2.59 17.75 2.25 17.41 2.25 17C2.25 16.59 2.59 16.25 3 16.25H21C21.41 16.25 21.75 16.59 21.75 17C21.75 17.41 21.41 17.75 21 17.75Z" fill="currentColor"/>
2300      </svg>
2301    </span><span class="dtc-mobile-nav__icon dtc-mobile-nav__icon--close" aria-hidden="true">
2302      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
2303        <path d="M18 6L6 18M6 6L18 18" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2304      </svg>
2305    </span>
2306  </button><div
2307    id="dtc-mobile-nav-drop-sections--28135024722229__dtc_header_Cjn8AK"
2308    class="dtc-mobile-nav__drop"
2309    aria-hidden="true"
2310  >
2311    <div class="dtc-mobile-nav__drop-inner"><div class="dtc-mobile-nav__drop-scroll"><div class="dtc-mobile-nav__search dtc-drop-anim" data-delay="0"><div class="dtc-header-search"><predictive-search class="dtc-header-search__predictive" data-loading-text="Loading..."><form
2312      action="/search"
2313      method="get"
2314      role="search"
2315      class="dtc-header-search__form"
2316      data-search-form
2317    >
2318      <label class="dtc-header-search__field">
2319        <span class="dtc-header-search__icon" aria-hidden="true">
2320          <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
2321            <path d="M9.16667 15.8333C12.8486 15.8333 15.8333 12.8486 15.8333 9.16667C15.8333 5.48477 12.8486 2.5 9.16667 2.5C5.48477 2.5 2.5 5.48477 2.5 9.16667C2.5 12.8486 5.48477 15.8333 9.16667 15.8333Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2322            <path d="M17.5 17.5L13.875 13.875" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2323          </svg>
2324        </span>
2325        <input
2326          class="dtc-header-search__input"
2327          id="Dtc-Search-Mobile-"
2328          type="search"
2329          name="q"
2330          value=""
2331          placeholder="Search..."
2332          aria-label="Find your next kitchen companion..."
2333          data-search-input
2334          data-element-location="header_drawer"role="combobox"
2335            aria-expanded="false"
2336            aria-owns="predictive-search-results"
2337            aria-controls="predictive-search-results"
2338            aria-haspopup="listbox"
2339            aria-autocomplete="list"
2340            autocorrect="off"
2341            autocomplete="off"
2342            autocapitalize="off"
2343            spellcheck="false">
2344        <button type="submit" class="visually-hidden" data-search-submit>Find your next kitchen companion...</button>
2345      </label>
2346
2347      <input type="hidden" name="options[prefix]" value="last"><aside class="dtc-mobile-nav__search-results">
2348          <div class="predictive-search predictive-search--header" tabindex="-1" data-predictive-search>
2349
2350<link href="//cosori.com/cdn/shop/t/166/assets/component-loading-spinner.css?v=116724955567955766481789674181" rel="stylesheet" type="text/css" media="all" />
2351
2352<div class="predictive-search__loading-state">
2353  <svg
2354    aria-hidden="true"
2355    focusable="false"
2356    class="spinner"
2357    viewBox="0 0 66 66"
2358    xmlns="http://www.w3.org/2000/svg"
2359  >
2360    <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>
2361  </svg>
2362</div>
2363</div>
2364        </aside>
2365        <span class="predictive-search-status visually-hidden" role="status" aria-hidden="true"></span></form></predictive-search></div>
2366</div><nav class="dtc-mobile-nav__nav" aria-label="Main navigation">
2367          <ul class="dtc-mobile-nav__menu" role="list"><li class="dtc-mobile-nav__item dtc-drop-anim" data-delay="1"><details class="dtc-mobile-nav__sub-details">
2368                    <summary class="dtc-mobile-nav__link dtc-mobile-nav__link--has-sub">
2369                      <span>Shop</span>
2370                      <span class="dtc-mobile-nav__chevron" aria-hidden="true">
2371                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none">
2372                          <path d="M19.9201 8.95001L13.4001 15.47C12.6301 16.24 11.3701 16.24 10.6001 15.47L4.08008 8.95001" stroke="#121A25" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
2373                        </svg>
2374                      </span>
2375                    </summary>
2376                    <div class="dtc-mobile-nav__sub-panel">
2377                      <div class="dtc-mobile-nav__sub-panel-inner"><div class="dtc-mobile-nav__mega-shop">
2378                        <div class="dtc-mobile-nav__mega-cards"><a
2379                                href="/collections/air-fryers"
2380                                class="dtc-header__mega-card dtc-mega-anim"
2381                                data-mega-delay="0"
2382                                title="Air Fryers"
2383                              >
2384                                <span class="dtc-header__mega-card-icon" aria-hidden="true"><img src="//cosori.com/cdn/shop/files/CGTM_2303_CAF-DC601-KUS_WA1_01_Front_v2_1_43fa6802-67e3-4603-9ad1-54c54f2e5a8a.png?v=1762457880&width=72" alt="" width="36" height="36" loading="lazy"></span>
2385                                <span class="dtc-header__mega-card-text">
2386                                  <span class="dtc-header__mega-card-title">Air Fryers</span><span class="dtc-header__mega-card-desc">Smart and classic air fryers</span></span>
2387                                <svg class="dtc-header__mega-card-arrow" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2388                                  <path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2389                                </svg>
2390                              </a><a
2391                                href="/products/juni-coffee-maker"
2392                                class="dtc-header__mega-card dtc-mega-anim"
2393                                data-mega-delay="1"
2394                                title="Coffee Machines &amp; Accessories"
2395                              >
2396                                <span class="dtc-header__mega-card-icon" aria-hidden="true"><img src="//cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&width=72" alt="" width="36" height="36" loading="lazy"></span>
2397                                <span class="dtc-header__mega-card-text">
2398                                  <span class="dtc-header__mega-card-title">Coffee Machines & Accessories</span><span class="dtc-header__mega-card-desc">Coffee makers & brewing accessories</span></span>
2399                                <svg class="dtc-header__mega-card-arrow" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2400                                  <path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2401                                </svg>
2402                              </a><a
2403                                href="/collections/kettles"
2404                                class="dtc-header__mega-card dtc-mega-anim"
2405                                data-mega-delay="2"
2406                                title="Kettles"
2407                              >
2408                                <span class="dtc-header__mega-card-icon" aria-hidden="true"><img src="//cosori.com/cdn/shop/files/1.7kettle.png?v=1777276501&width=72" alt="" width="36" height="36" loading="lazy"></span>
2409                                <span class="dtc-header__mega-card-text">
2410                                  <span class="dtc-header__mega-card-title">Kettles</span><span class="dtc-header__mega-card-desc">Electric kettles with precise control</span></span>
2411                                <svg class="dtc-header__mega-card-arrow" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2412                                  <path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2413                                </svg>
2414                              </a><a
2415                                href="/collections/multicookers"
2416                                class="dtc-header__mega-card dtc-mega-anim"
2417                                data-mega-delay="3"
2418                                title="Multi-Cookers"
2419                              >
2420                                <span class="dtc-header__mega-card-icon" aria-hidden="true"><img src="//cosori.com/cdn/shop/files/rice-cooker-front-view_9b6348a0-6b96-4e1e-9856-f84ca524e6c4.png?v=1762457775&width=72" alt="" width="36" height="36" loading="lazy"></span>
2421                                <span class="dtc-header__mega-card-text">
2422                                  <span class="dtc-header__mega-card-title">Multi-Cookers</span><span class="dtc-header__mega-card-desc">Rice cookers, pressure cookers & more</span></span>
2423                                <svg class="dtc-header__mega-card-arrow" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2424                                  <path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2425                                </svg>
2426                              </a><a
2427                                href="/collections/food-dehydrators"
2428                                class="dtc-header__mega-card dtc-mega-anim"
2429                                data-mega-delay="4"
2430                                title="Food Dehydrators"
2431                              >
2432                                <span class="dtc-header__mega-card-icon" aria-hidden="true"><img src="//cosori.com/cdn/shop/products/01.00_WA1_0522CFD-P101-SUS_LP_04b.png?v=1684946576&width=72" alt="" width="36" height="36" loading="lazy"></span>
2433                                <span class="dtc-header__mega-card-text">
2434                                  <span class="dtc-header__mega-card-title">Food Dehydrators</span><span class="dtc-header__mega-card-desc">Dehydrators for snacks, jerky, and more</span></span>
2435                                <svg class="dtc-header__mega-card-arrow" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2436                                  <path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2437                                </svg>
2438                              </a></div><a
2439                            href="/collections/daily-sale"
2440                            class="dtc-header__mega-promo dtc-mobile-nav__mega-promo dtc-mega-anim"
2441                            data-mega-delay="5"
2442                          >
2443                            <div class="dtc-header__mega-promo-img"><div class="v-image "><picture><img src="//cosori.com/cdn/shop/files/card_c4192c9d-aeb1-4ea0-82c2-1cf244b81429.png?v=1780911046&amp;width=648" alt="image" srcset="//cosori.com/cdn/shop/files/card_c4192c9d-aeb1-4ea0-82c2-1cf244b81429.png?v=1780911046&amp;width=200 200w, //cosori.com/cdn/shop/files/card_c4192c9d-aeb1-4ea0-82c2-1cf244b81429.png?v=1780911046&amp;width=400 400w, //cosori.com/cdn/shop/files/card_c4192c9d-aeb1-4ea0-82c2-1cf244b8
24431429.png?v=1780911046&amp;width=600 600w" width="648" height="682" loading="lazy" sizes="(max-width: 699px) 400px, 686px" style="object-position:46.68% 37.891%;--image-max-width: 686px; --image-mobile-max-width: 400px"></picture>
2444  </div><style></style>
2445</div>
2446                            <div class="dtc-header__mega-promo-overlay">
2447                              <div class="dtc-header__mega-promo-content"><span class="dtc-header__mega-promo-tags">Air Fryers + Dehydrators+ Rice Cookers</span><span class="dtc-header__mega-promo-title">Shop The Daily Sale</span><span class="dtc-header__mega-promo-desc">Upgrade your everyday cooking with COSORI.</span></div><span class="dtc-header__mega-promo-btn">Shop now</span></div>
2448                          </a></div></div>
2449                    </div>
2450                  </details></li><li class="dtc-mobile-nav__item dtc-drop-anim" data-delay="2"><details class="dtc-mobile-nav__sub-details">
2451                    <summary class="dtc-mobile-nav__link dtc-mobile-nav__link--has-sub">
2452                      <span>Explore</span>
2453                      <span class="dtc-mobile-nav__chevron" aria-hidden="true">
2454                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none">
2455                          <path d="M19.9201 8.95001L13.4001 15.47C12.6301 16.24 11.3701 16.24 10.6001 15.47L4.08008 8.95001" stroke="#121A25" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
2456                        </svg>
2457                      </span>
2458                    </summary>
2459                    <div class="dtc-mobile-nav__sub-panel">
2460                      <div class="dtc-mobile-nav__sub-panel-inner"><div class="dtc-mobile-nav__mega-explore"><a
2461                            href="/pages/coffee-story"
2462                            class="dtc-header__mega-card dtc-header__mega-explore-featured dtc-mega-anim"
2463                            data-mega-delay="0"
2464                            title="Coffee Hub"
2465                          >
2466                            <span class="dtc-header__mega-explore-featured-top">
2467                              <span class="dtc-header__mega-card-icon" aria-hidden="true"><img src="//cosori.com/cdn/shop/files/Coffee.png?v=1787730496&width=64" alt="" width="32" height="32" loading="lazy"></span>
2468                              <span class="dtc-header__mega-card-text">
2469                                <span class="dtc-header__mega-card-title">Coffee Hub</span><span class="dtc-header__mega-card-desc">Explore recipes, tips, partnerships, andcoffee knowledge</span></span>
2470                              <svg class="dtc-header__mega-card-arrow" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2471                                <path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2472                              </svg>
2473                            </span>
2474                            <span class="dtc-header__mega-explore-gallery"><span class="dtc-header__mega-explore-gallery-item"><div class="v-image dtc-header__mega-explore-gallery-image"><picture><img src="//cosori.com/cdn/shop/files/expolre-coffee-1.png?v=1787564629&amp;width=202" alt="Coffee Hub" srcset="//cosori.com/cdn/shop/files/expolre-coffee-1.png?v=1787564629&amp;width=200 200w" width="202" height="221" loading="lazy" sizes="(max-width: 699px) 360px, 404px" style="object-position:35.547% 69.434%;--image-max-width: 404px; --image-mobile-max-width: 360px"></picture>
2475  </div><style></style>
2476</span><span class="dtc-header__mega-explore-gallery-item"><div class="v-image dtc-header__mega-explore-gallery-image"><picture><img src="//cosori.com/cdn/shop/files/expolre-coffee-2.png?v=1787564629&amp;width=202" alt="Coffee Hub" srcset="//cosori.com/cdn/shop/files/expolre-coffee-2.png?v=1787564629&amp;width=200 200w" width="202" height="221" loading="lazy" sizes="(max-width: 699px) 360px, 404px" style="object-position:41.504% 74.707%;--image-max-width: 404px; --image-mobile-max-width: 360px"></picture>
2477  </div><style></style>
2478</span><span class="dtc-header__mega-explore-gallery-item"><div class="v-image dtc-header__mega-explore-gallery-image"><picture><img src="//cosori.com/cdn/shop/files/expolre-coffee-3.png?v=1787564629&amp;width=202" alt="Coffee Hub" srcset="//cosori.com/cdn/shop/files/expolre-coffee-3.png?v=1787564629&amp;width=200 200w" width="202" height="221" loading="lazy" sizes="(max-width: 699px) 360px, 404px" style="object-position:49.121% 98.926%;--image-max-width: 404px; --image-mobile-max-width: 360px"></picture>
2479  </div><style></style>
2480</span></span>
2481                          </a><div class="dtc-header__mega-explore-side"><a
2482                                href="/blogs/recipes"
2483                                class="dtc-header__mega-card dtc-mega-anim"
2484                                data-mega-delay="1"
2485                                title="Recipes"
2486                              >
2487                                <span class="dtc-header__mega-card-icon" aria-hidden="true"><img src="//cosori.com/cdn/shop/files/ForkKnife.png?v=1787730526&width=64" alt="" width="32" height="32" loading="lazy"></span>
2488                                <span class="dtc-header__mega-card-text">
2489                                  <span class="dtc-header__mega-card-title">Recipes</span><span class="dtc-header__mega-card-desc">Browse our collection of recipes and find your next favorite dish</span></span>
2490                                <svg class="dtc-header__mega-card-arrow" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2491                                  <path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2492                                </svg>
2493                              </a><a
2494                                href="/pages/for-smart-kitchens"
2495                                class="dtc-header__mega-card dtc-mega-anim"
2496                                data-mega-delay="2"
2497                                title="For smart systems"
2498                              >
2499                                <span class="dtc-header__mega-card-icon" aria-hidden="true"><img src="//cosori.com/cdn/shop/files/Vector_c091c9ed-1550-4c24-8ae8-e81efee7ccbf.png?v=1787730549&width=64" alt="" width="32" height="32" loading="lazy"></span>
2500                                <span class="dtc-header__mega-card-text">
2501                                  <span class="dtc-header__mega-card-title">For smart systems</span><span class="dtc-header__mega-card-desc">Explore smarter ways to cook at home with Cosori</span></span>
2502                                <svg class="dtc-header__mega-card-arrow" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2503                                  <path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2504                                </svg>
2505                              </a></div>
2506                      </div></div>
2507                    </div>
2508                  </details></li><li class="dtc-mobile-nav__item dtc-drop-anim" data-delay="3">
2509                <details class="dtc-mobile-nav__sub-details">
2510                  <summary class="dtc-mobile-nav__link dtc-mobile-nav__link--has-sub">
2511                    <span>Learn</span>
2512                    <span class="dtc-mobile-nav__chevron" aria-hidden="true">
2513                      <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none">
2514                        <path d="M19.9201 8.95001L13.4001 15.47C12.6301 16.24 11.3701 16.24 10.6001 15.47L4.08008 8.95001" stroke="#121A25" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
2515                      </svg>
2516                    </span>
2517                  </summary>
2518                  <div class="dtc-mobile-nav__sub-panel">
2519                    <div class="dtc-mobile-nav__sub-panel-inner">
2520                      <div class="dtc-mobile-nav__mega-learn">
2521                        <div class="dtc-mobile-nav__mega-learn-stack"><a
2522                              href="/blogs/learning-hub"
2523                              class="dtc-header__learn-card dtc-mega-anim"
2524                              data-mega-delay="0"
2525                            >
2526                              <span class="dtc-header__learn-card-title">Learning Hub</span>
2527                              <svg class="dtc-header__learn-card-arrow" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2528                                <path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2529                              </svg>
2530                            </a><a
2531                              href="/blogs/newsroom"
2532                              class="dtc-header__learn-card dtc-mega-anim"
2533                              data-mega-delay="1"
2534                            >
2535                              <span class="dtc-header__learn-card-title">Newsroom</span>
2536                              <svg class="dtc-header__learn-card-arrow" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2537                                <path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2538                              </svg>
2539                            </a></div>
2540                      </div>
2541                    </div>
2542                  </div>
2543                </details>
2544              </li></ul>
2545        </nav></div><div class="dtc-mobile-nav__footer dtc-drop-anim" data-delay="9">
2546        <a
2547          href="https://shopify.com/74265723189/account?locale=en&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJjb3NvcmktMjAyMy5teXNob3BpZnkuY29tIiwiZmxhZ3MiOltdLCJleHAiOjE3OTA5ODUyNzUsIm5iZiI6MTc5MDM4MDQ3NX0.-FZmFHawzlIOqrkLqayinhlQIMEClVlivpDNey7OxHU&region_country=US"
2548          class="dtc-mobile-nav__btn dtc-mobile-nav__btn--primary"
2549        >
2550          Account
2551        </a>
2552        <a href="/cart" class="dtc-mobile-nav__btn dtc-mobile-nav__btn--outline">
2553          Cart
2554        </a>
2555      </div>
2556
2557    </div>
2558  </div>
2559
2560</dtc-mobile-nav>
2561</div><div class="dtc-header__logo-wrap">
2562    <a href="/" class="dtc-header__logo"><img src="//cosori.com/cdn/shop/files/Cosori_by_VeSync_CLR_1.png?v=1780910563&amp;width=250" alt="COSORI" srcset="//cosori.com/cdn/shop/files/Cosori_by_VeSync_CLR_1.png?v=1780910563&amp;width=50 50w, //cosori.com/cdn/shop/files/Cosori_by_VeSync_CLR_1.png?v=1780910563&amp;width=100 100w, //cosori.com/cdn/shop/files/Cosori_by_VeSync_CLR_1.png?v=1780910563&amp;width=150 150w, //cosori.com/cdn/shop/files/Cosori_by_VeSync_CLR_1.png?v=1780910563&amp;width=200 200w, //cosori.com/cdn/shop/files/Cosori_by_VeSync_CLR_1.png?v=1780910563&amp;width=250 250w" width="100" height="34.285714285714285" class="dtc-header__logo-img dtc-header__logo-img--desktop dtc-header__logo-img--solid" style="object-position:0.879% 50.0%;">�<img src="//cosori.com/cdn/shop/files/Cosori_by_VeSync_WHT_1.png?v=1780910563&amp;width=250" alt="COSORI" srcset="//cosori.com/cdn/shop/files/Cosori_by_VeSync_WHT_1.png?v=1780910563&amp;width=50 50w, //cosori.com/cdn/shop/files/Cosori_by_VeSync_WHT_1.png?v=1780910563&amp;width=100 100w, //cosori.com/cdn/shop/files/Cosori_by_VeSync_WHT_1.png?v=1780910563&amp;width=150 150w, //cosori.com/cdn/shop/files/Cosori_by_VeSync_WHT_1.png?v=1780910563&amp;width=200 200w, //cosori.com/cdn/shop/files/Cosori_by_VeSync_WHT_1.png?v=1780910563&amp;width=250 250w" width="100" height="34.862385321100916" class="dtc-header__logo-img dtc-header__logo-img--desktop dtc-header__logo-img--transparent" style="object-position:0.879% 49.121%;">�<img src="//cosori.com/cdn/shop/files/Cosori_by_VeSync_CLR_1.png?v=1780910563&amp;width=160" alt="COSORI" srcset="//cosori.com/cdn/shop/files/Cosori_by_VeSync_CLR_1.png?v=1780910563&amp;width=40 40w, //cosori.com/cdn/shop/files/Cosori_by_VeSync_CLR_1.png?v=1780910563&amp;width=80 80w, //cosori.com/cdn/shop/files/Cosori_by_VeSync_CLR_1.png?v=1780910563&amp;width=120 120w, //cosori.com/cdn/shop/files/Cosori_by_VeSync_CLR_1.png?v=1780910563&amp;width=160 160w" width="100" height="34.285714285714285" class="dtc-header__logo-img dtc-header__logo-img--mobile dtc-header__logo-img--solid" style="object-position:0.879% 50.0%;">�</a>
2563    </div><nav class="dtc-header__nav" aria-label="Main navigation">
2564        <ul class="dtc-header__nav-list"><li class="dtc-header__nav-item dtc-header__nav-item--has-mega" >
2565              <a href="/" class="dtc-header__nav-link" aria-haspopup="true" aria-expanded="false">Shop<svg class="dtc-header__caret" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true">
2566                    <path d="M4 6L8 10L12 6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2567                  </svg></a><div class="dtc-header__mega" aria-label="Shop menu"><div class="dtc-header__mega-inner dtc-header__mega-inner--shop">
2568                      <div class="dtc-header__mega-shop-head">
2569                        <div class="dtc-header__mega-shop-head-cell"><p class="dtc-header__mega-label">Shop by Product</p></div><div class="dtc-header__mega-shop-head-cell"><p class="dtc-header__mega-label">Featured</p></div></div>
2570                      <div class="dtc-header__mega-shop-body">
2571                        <div class="dtc-header__mega-grid dtc-header__mega-grid--2col"><a href="/collections/air-fryers" class="dtc-header__mega-card" title="Air Fryers">
2572                                <span class="dtc-header__mega-card-icon" aria-hidden="true"><img src="//cosori.com/cdn/shop/files/CGTM_2303_CAF-DC601-KUS_WA1_01_Front_v2_1_43fa6802-67e3-4603-9ad1-54c54f2e5a8a.png?v=1762457880&width=72" alt="" width="36" height="36" loading="lazy"></span>
2573                                <span class="dtc-header__mega-card-text">
2574                                  <span class="dtc-header__mega-card-title">Air Fryers</span><span class="dtc-header__mega-card-desc">Smart and classic air fryers</span></span>
2575                                <svg class="dtc-header__mega-card-arrow" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2576                                  <path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2577                                </svg>
2578                              </a><a href="/products/juni-coffee-maker" class="dtc-header__mega-card" title="Coffee Machines &amp; Accessories">
2579                                <span class="dtc-header__mega-card-icon" aria-hidden="true"><img src="//cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&width=72" alt="" width="36" height="36" loading="lazy"></span>
2580                                <span class="dtc-header__mega-card-text">
2581                                  <span class="dtc-header__mega-card-title">Coffee Machines & Accessories</span><span class="dtc-header__mega-card-desc">Coffee makers & brewing accessories</span></span>
2582                                <svg class="dtc-header__mega-card-arrow" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2583                                  <path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2584                                </svg>
2585                              </a><a href="/collections/kettles" class="dtc-header__mega-card" title="Kettles">
2586                                <span class="dtc-header__mega-card-icon" aria-hidden="true"><img src="//cosori.com/cdn/shop/files/1.7kettle.png?v=1777276501&width=72" alt="" width="36" height="36" loading="lazy"></span>
2587                                <span class="dtc-header__mega-card-text">
2588                                  <span class="dtc-header__mega-card-title">Kettles</span><span class="dtc-header__mega-card-desc">Electric kettles with precise control</span></span>
2589                                <svg class="dtc-header__mega-card-arrow" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2590                                  <path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2591                                </svg>
2592                              </a><a href="/collections/multicookers" class="dtc-header__mega-card" title="Multi-Cookers">
2593                                <span class="dtc-header__mega-card-icon" aria-hidden="true"><img src="//cosori.com/cdn/shop/files/rice-cooker-front-view_9b6348a0-6b96-4e1e-9856-f84ca524e6c4.png?v=1762457775&width=72" alt="" width="36" height="36" loading="lazy"></span>
2594                                <span class="dtc-header__mega-card-text">
2595                                  <span class="dtc-header__mega-card-title">Multi-Cookers</span><span class="dtc-header__mega-card-desc">Rice cookers, pressure cookers & more</span></span>
2596                                <svg class="dtc-header__mega-card-arrow" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2597                                  <path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2598                                </svg>
2599                              </a><a href="/collections/food-dehydrators" class="dtc-header__mega-card" title="Food Dehydrators">
2600                                <span class="dtc-header__mega-card-icon" aria-hidden="true"><img src="//cosori.com/cdn/shop/products/01.00_WA1_0522CFD-P101-SUS_LP_04b.png?v=1684946576&width=72" alt="" width="36" height="36" loading="lazy"></span>
2601                                <span class="dtc-header__mega-card-text">
2602                                  <span class="dtc-header__mega-card-title">Food Dehydrators</span><span class="dtc-header__mega-card-desc">Dehydrators for snacks, jerky, and more</span></span>
2603                                <svg class="dtc-header__mega-card-arrow" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2604                                  <path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2605                                </svg>
2606                              </a></div><a href="/collections/daily-sale" class="dtc-header__mega-promo dtc-header__mega-featured">
2607                            <div class="dtc-header__mega-promo-img"><div class="v-image "><picture><img src="//cosori.com/cdn/shop/files/card_c4192c9d-aeb1-4ea0-82c2-1cf244b81429.png?v=1780911046&amp;width=648" alt="image" srcset="//cosori.com/cdn/shop/files/card_c4192c9d-aeb1-4ea0-82c2-1cf244b81429.png?v=1780911046&amp;width=200 200w, //cosori.com/cdn/shop/files/card_c4192c9d-aeb1-4ea0-82c2-1cf244b81429.png?v=1780911046&amp;width=400 400w, //cosori.com/cdn/shop/files/card_c4192c9d-aeb1-4ea0-82c2-1cf244b81429.png?v=1780911046&amp;width=600 600w" width="648" height="682" loading="lazy" sizes="(max-width: 699px) 400px, 648px" style="object-position:46.68% 37.891%;--image-max-width: 648px; --image-mobile-max-width: 400px"></picture>
2608  </div><style></style>
2609</div>
2610                            <div class="dtc-header__mega-promo-overlay">
2611                              <div class="dtc-header__mega-promo-content"><span class="dtc-header__mega-promo-tags">Air Fryers + Dehydrators+ Rice Cookers</span><span class="dtc-header__mega-promo-title">Shop The Daily Sale</span><span class="dtc-header__mega-promo-desc">Upgrade your everyday cooking with COSORI.</span></div><span class="dtc-header__mega-promo-btn">Shop now</span></div>
2612                          </a></div>
2613                    </div></div></li><li class="dtc-header__nav-item dtc-header__nav-item--has-mega" >
2614              <a href="/" class="dtc-header__nav-link" aria-haspopup="true" aria-expanded="false">Explore<svg class="dtc-header__caret" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true">
2615                    <path d="M4 6L8 10L12 6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2616                  </svg></a><div class="dtc-header__mega" aria-label="Explore menu"><div class="dtc-header__mega-inner dtc-header__mega-inner--explore"><a href="/pages/coffee-story" class="dtc-header__mega-card dtc-header__mega-explore-featured">
2617                          <span class="dtc-header__mega-explore-featured-top">
2618                            <span class="dtc-header__mega-card-icon" aria-hidden="true"><img src="//cosori.com/cdn/shop/files/Coffee.png?v=1787730496&width=72" alt="" width="32" height="32" loading="lazy"></span>
2619                            <span class="dtc-header__mega-card-text">
2620                              <span class="dtc-header__mega-card-title">Coffee Hub</span><span class="dtc-header__mega-card-desc">Explore recipes, tips, partnerships, andcoffee knowledge</span></span>
2621                            <svg class="dtc-header__mega-card-arrow" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2622                              <path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2623                            </svg>
2624                          </span>
2625                          <span class="dtc-header__mega-explore-gallery"><span class="dtc-header__mega-explore-gallery-item"><div class="v-image dtc-header__mega-explore-gallery-image"><picture><img src="//cosori.com/cdn/shop/files/expolre-coffee-1.png?v=1787564629&amp;width=202" alt="Coffee Hub" srcset="//cosori.com/cdn/shop/files/expolre-coffee-1.png?v=1787564629&amp;width=200 200w" width="202" height="221" loading="lazy" sizes="(max-width: 699px) 360px, 404px" style="object-position:35.547% 69.434%;--image-max-width: 404px; --image-mobile-max-width: 360px"></picture>
2626  </div><style></style>
2627</span><span class="dtc-header__mega-explore-gallery-item"><div class="v-image dtc-header__mega-explore-gallery-image"><picture><img src="//cosori.com/cdn/shop/files/expolre-coffee-2.png?v=1787564629&amp;width=202" alt="Coffee Hub" srcset="//cosori.com/cdn/shop/files/expolre-coffee-2.png?v=1787564629&amp;width=200 200w" width="202" height="221" loading="lazy" sizes="(max-width: 699px) 360px, 404px" style="object-position:41.504% 74.707%;--image-max-width: 404px; --image-mobile-max-width: 360px"></picture>
2628  </div><style></style>
2629</span><span class="dtc-header__mega-explore-gallery-item"><div class="v-image dtc-header__mega-explore-gallery-image"><picture><img src="//cosori.com/cdn/shop/files/expolre-coffee-3.png?v=1787564629&amp;width=202" alt="Coffee Hub" srcset="//cosori.com/cdn/shop/files/expolre-coffee-3.png?v=1787564629&amp;width=200 200w" width="202" height="221" loading="lazy" sizes="(max-width: 699px) 360px, 404px" style="object-position:49.121% 98.926%;--image-max-width: 404px; --image-mobile-max-width: 360px"></picture>
2630  </div><style></style>
2631</span></span>
2632                        </a><div class="dtc-header__mega-explore-side"><a href="/blogs/recipes" class="dtc-header__mega-card">
2633                              <span class="dtc-header__mega-card-icon" aria-hidden="true"><img src="//cosori.com/cdn/shop/files/ForkKnife.png?v=1787730526&width=72" alt="" width="32" height="32" loading="lazy"></span>
2634                              <span class="dtc-header__mega-card-text">
2635                                <span class="dtc-header__mega-card-title">Recipes</span><span class="dtc-header__mega-card-desc">Browse our collection of recipes and find your next favorite dish</span></span>
2636                              <svg class="dtc-header__mega-card-arrow" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2637                                <path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2638                              </svg>
2639                            </a><a href="/pages/for-smart-kitchens" class="dtc-header__mega-card">
2640                              <span class="dtc-header__mega-card-icon" aria-hidden="true"><img src="//cosori.com/cdn/shop/files/Vector_c091c9ed-1550-4c24-8ae8-e81efee7ccbf.png?v=1787730549&width=72" alt="" width="32" height="32" loading="lazy"></span>
2641                              <span class="dtc-header__mega-card-text">
2642                                <span class="dtc-header__mega-card-title">For smart systems</span><span class="dtc-header__mega-card-desc">Explore smarter ways to cook at home with Cosori</span></span>
2643                              <svg class="dtc-header__mega-card-arrow" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2644                                <path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2645                              </svg>
2646                            </a></div>
2647                    </div></div></li></ul>
2648      </nav><div class="dtc-header__actions"><div class="dtc-header__learn-wrap" >
2649          <button
2650            type="button"
2651            class="dtc-header__learn-link"
2652            aria-haspopup="true"
2653            aria-expanded="false"
2654          >Learn<svg class="dtc-header__caret" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true">
2655              <path d="M4 6L8 10L12 6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2656            </svg>
2657          </button>
2658          <div class="dtc-header__learn-mega" aria-label="Learn menu">
2659            <div class="dtc-header__learn-mega-inner"><a href="/blogs/learning-hub" class="dtc-header__learn-card">
2660                  <span class="dtc-header__learn-card-title">Learning Hub</span>
2661                  <svg class="dtc-header__learn-card-arrow" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2662                    <path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2663                  </svg>
2664                </a><a href="/blogs/newsroom" class="dtc-header__learn-card">
2665                  <span class="dtc-header__learn-card-title">Newsroom</span>
2666                  <svg class="dtc-header__learn-card-arrow" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2667                    <path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2668                  </svg>
2669                </a></div>
2670          </div>
2671        </div><div class="dtc-header__search-desktop"><div class="dtc-header-search"><predictive-search class="dtc-header-search__predictive" data-loading-text="Loading..."><form
2672      action="/search"
2673      method="get"
2674      role="search"
2675      class="dtc-header-search__form"
2676      data-search-form
2677    >
2678      <label class="dtc-header-search__field">
2679        <span class="dtc-header-search__icon" aria-hidden="true">
2680          <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
2681            <path d="M9.16667 15.8333C12.8486 15.8333 15.8333 12.8486 15.8333 9.16667C15.8333 5.48477 12.8486 2.5 9.16667 2.5C5.48477 2.5 2.5 5.48477 2.5 9.16667C2.5 12.8486 5.48477 15.8333 9.16667 15.8333Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2682            <path d="M17.5 17.5L13.875 13.875" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2683          </svg>
2684        </span>
2685        <input
2686          class="dtc-header-search__input"
2687          id="Dtc-Search-Desktop-"
2688          type="search"
2689          name="q"
2690          value=""
2691          placeholder="Search..."
2692          aria-label="Find your next kitchen companion..."
2693          data-search-input
2694          data-element-location="header"role="combobox"
2695            aria-expanded="false"
2696            aria-owns="predictive-search-results"
2697            aria-controls="predictive-search-results"
2698            aria-haspopup="listbox"
2699            aria-autocomplete="list"
2700            autocorrect="off"
2701            autocomplete="off"
2702            autocapitalize="off"
2703            spellcheck="false">
2704        <button type="submit" class="visually-hidden" data-search-submit>Find your next kitchen companion...</button>
2705      </label>
2706
2707      <input type="hidden" name="options[prefix]" value="last"><aside class="dtc-header__search-results">
2708          <div class="predictive-search predictive-search--header" tabindex="-1" data-predictive-search>
2709
2710<link href="//cosori.com/cdn/shop/t/166/assets/component-loading-spinner.css?v=116724955567955766481789674181" rel="stylesheet" type="text/css" media="all" />
2711
2712<div class="predictive-search__loading-state">
2713  <svg
2714    aria-hidden="true"
2715    focusable="false"
2716    class="spinner"
2717    viewBox="0 0 66 66"
2718    xmlns="http://www.w3.org/2000/svg"
2719  >
2720    <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>
2721  </svg>
2722</div>
2723</div>
2724        </aside>
2725        <span class="predictive-search-status visually-hidden" role="status" aria-hidden="true"></span></form></predictive-search></div>
2726</div><div class="dtc-header__search-tablet"><dtc-header-search-drawer class="dtc-header-search-drawer">
2727  <details class="dtc-header-search-drawer__details">
2728    <summary
2729      class="dtc-header-search-drawer__toggle"
2730      aria-label="Find your next kitchen companion..."
2731      data-ga4-track
2732      data-ga4-event="search_bar_open"
2733      data-button-name="Search Icon"
2734    >
2735      <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true">
2736        <path d="M9.16667 15.8333C12.8486 15.8333 15.8333 12.8486 15.8333 9.16667C15.8333 5.48477 12.8486 2.5 9.16667 2.5C5.48477 2.5 2.5 5.48477 2.5 9.16667C2.5 12.8486 5.48477 15.8333 9.16667 15.8333Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2737        <path d="M17.5 17.5L13.875 13.875" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2738      </svg>
2739    </summary>
2740
2741    <div class="dtc-header-search-drawer__overlay" aria-hidden="true"></div>
2742
2743    <aside class="dtc-header-search-drawer__panel" role="dialog" aria-modal="true" aria-label="Find your next kitchen companion...">
2744      <div class="dtc-header-search-drawer__panel-inner">
2745        <header class="dtc-header-search-drawer__header">
2746          <button type="button" class="dtc-header-search-drawer__close" aria-label="Close">
2747            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2748              <path d="M18 6L6 18M6 6L18 18" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2749            </svg>
2750          </button>
2751          <a href="/" class="dtc-header-search-drawer__logo"><img src="//cosori.com/cdn/shop/files/Cosori_by_VeSync_CLR_1.png?v=1780910563&amp;width=250" alt="COSORI" srcset="//cosori.com/cdn/shop/files/Cosori_by_VeSync_CLR_1.png?v=1780910563&amp;width=50 50w, //cosori.com/cdn/shop/files/Cosori_by_VeSync_CLR_1.png?v=1780910563&amp;width=100 100w, //cosori.com/cdn/shop/files/Cosori_by_VeSync_CLR_1.png?v=1780910563&amp;width=150 150w, //cosori.com/cdn/shop/files/Cosori_by_VeSync_CLR_1.png?v=1780910563&amp;width=200 200w, //cosori.com/cdn/shop/files/Cosori_by_VeSync_CLR_1.png?v=1780910563&amp;width=250 250w" width="100" height="34.285714285714285" style="object-position:0.879% 50.0%;">�</a>
2752        </header><div class="dtc-header-search"><predictive-search class="dtc-header-search__predictive" data-loading-text="Loading..."><form
2753      action="/search"
2754      method="get"
2755      role="search"
2756      class="dtc-header-search__form"
2757      data-search-form
2758    >
2759      <label class="dtc-header-search__field">
2760        <span class="dtc-header-search__icon" aria-hidden="true">
2761          <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
2762            <path d="M9.16667 15.8333C12.8486 15.8333 15.8333 12.8486 15.8333 9.16667C15.8333 5.48477 12.8486 2.5 9.16667 2.5C5.48477 2.5 2.5 5.48477 2.5 9.16667C2.5 12.8486 5.48477 15.8333 9.16667 15.8333Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2763            <path d="M17.5 17.5L13.875 13.875" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2764          </svg>
2765        </span>
2766        <input
2767          class="dtc-header-search__input"
2768          id="Dtc-Search-Tablet-"
2769          type="search"
2770          name="q"
2771          value=""
2772          placeholder="Search..."
2773          aria-label="Find your next kitchen companion..."
2774          data-search-input
2775          data-element-location="search_drawer"role="combobox"
2776            aria-expanded="false"
2777            aria-owns="predictive-search-results"
2778            aria-controls="predictive-search-results"
2779            aria-haspopup="listbox"
2780            aria-autocomplete="list"
2781            autocorrect="off"
2782            autocomplete="off"
2783            autocapitalize="off"
2784            spellcheck="false">
2785        <button type="submit" class="visually-hidden" data-search-submit>Find your next kitchen companion...</button>
2786      </label>
2787
2788      <input type="hidden" name="options[prefix]" value="last"><aside class="dtc-header-search-drawer__results">
2789          <div class="predictive-search predictive-search--header" tabindex="-1" data-predictive-search>
2790
2791<link href="//cosori.com/cdn/shop/t/166/assets/component-loading-spinner.css?v=116724955567955766481789674181" rel="stylesheet" type="text/css" media="all" />
2792
2793<div class="predictive-search__loading-state">
2794  <svg
2795    aria-hidden="true"
2796    focusable="false"
2797    class="spinner"
2798    viewBox="0 0 66 66"
2799    xmlns="http://www.w3.org/2000/svg"
2800  >
2801    <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>
2802  </svg>
2803</div>
2804</div>
2805        </aside>
2806        <span class="predictive-search-status visually-hidden" role="status" aria-hidden="true"></span></form></predictive-search></div>
2807</div>
2808    </aside>
2809  </details>
2810</dtc-header-search-drawer>
2811</div><span class="dtc-header__divider" aria-hidden="true"></span><a href="/cart" id="cart-icon-bubble" class="dtc-header__cart-link" aria-label="0 items">
2812        <svg xmlns="http://www.w3.org/2000/svg" width="21" height="19" viewBox="0 0 21 19" fill="none">
2813          <path d="M20.9932 17.0737L19.6564 5.82375C19.613 5.45721 19.436 5.11952 19.1593 4.87529C18.8825 4.63106 18.5254 4.49744 18.1564 4.5H15.0035C15.0035 3.30653 14.5294 2.16193 13.6855 1.31802C12.8416 0.474106 11.697 0 10.5035 0C9.31007 0 8.16548 0.474106 7.32156 1.31802C6.47765 2.16193 6.00354 3.30653 6.00354 4.5H2.84698C2.47789 4.49744 2.12082 4.63106 1.84407 4.87529C1.56733 5.11952 1.39034 5.45721 1.34698 5.82375L0.0101074 17.0737C-0.0143916 17.2837 0.00576748 17.4965 0.0692628 17.6981C0.132758 17.8998 0.238156 18.0857 0.378545 18.2438C0.519949 18.4025 0.693226 18.5296 0.887072 18.6168C1.08092 18.704 1.29098 18.7494 1.50355 18.75H19.496C19.7099 18.7505 19.9214 18.7056 20.1166 18.6183C20.3118 18.5311 20.4863 18.4034 20.6285 18.2438C20.7683 18.0854 20.873 17.8993 20.9358 17.6977C20.9987 17.4961 21.0182 17.2835 20.9932 17.0737ZM10.5035 1.5C11.2992 1.5 12.0623 1.81607 12.6249 2.37868C13.1875 2.94129 13.5035 3.70435 13.5035 4.5H7.50354C7.50354 3.70435 7.81962 2.94129 8.38222 2.37868C8.94483 1.81607 9.7079 1.5 10.5035 1.5ZM1.50355 17.25L2.84698 6H6.00354V8.25C6.00354 8.44891 6.08256 8.63968 6.22322 8.78033C6.36387 8.92098 6.55463 9 6.75354 9C6.95246 9 7.14322 8.92098 7.28387 8.78033C7.42453 8.63968 7.50354 8.44891 7.50354 8.25V6H13.5035V8.25C13.5035 8.44891 13.5826 8.63968 13.7232 8.78033C13.8639 8.92098 14.0546 9 14.2535 9C14.4525 9 14.6432 8.92098 14.7839 8.78033C14.9245 8.63968 15.0035 8.44891 15.0035 8.25V6H18.1676L19.496 17.25H1.50355Z" fill="currentColor"/>
2814        </svg>
2815        <span class="dtc-header__cart-count dtc-header__cart-count--empty"></span>
2816      </a><div class="dtc-header__account-wrap">
2817        <button class="dtc-header__account-link" aria-label="Account" aria-haspopup="true" aria-expanded="false">
2818          <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
2819            <path d="M9.75 0C7.82164 0 5.93657 0.571828 4.33319 1.64317C2.72982 2.71451 1.48013 4.23726 0.742179 6.01884C0.00422452 7.80042 -0.188858 9.76082 0.187348 11.6521C0.563554 13.5434 1.49215 15.2807 2.85571 16.6443C4.21928 18.0079 5.95656 18.9365 7.84787 19.3127C9.73919 19.6889 11.6996 19.4958 13.4812 18.7578C15.2627 18.0199 16.7855 16.7702 17.8568 15.1668C18.9282 13.5634 19.5 11.6784 19.5 9.75C19.4973 7.16498 18.4692 4.68661 16.6413 2.85872C14.8134 1.03084 12.335 0.00272983 9.75 0ZM4.695 16.2656C5.23757 15.4171 5.98501 14.7188 6.86843 14.2351C7.75185 13.7513 8.74283 13.4978 9.75 13.4978C10.7572 13.4978 11.7482 13.7513 12.6316 14.2351C13.515 14.7188 14.2624 15.4171 14.805 16.2656C13.3597 17.3897 11.581 17.9999 9.75 17.9999C7.91905 17.9999 6.14032 17.3897 4.695 16.2656ZM6.75 9C6.75 8.40666 6.92595 7.82664 7.2556 7.33329C7.58524 6.83994 8.05378 6.45542 8.60195 6.22836C9.15013 6.0013 9.75333 5.94189 10.3353 6.05764C10.9172 6.1734 11.4518 6.45912 11.8713 6.87868C12.2909 7.29824 12.5766 7.83279 12.6924 8.41473C12.8081 8.99667 12.7487 9.59987 12.5216 10.1481C12.2946 10.6962 11.9101 11.1648 11.4167 11.4944C10.9234 11.8241 10.3433 12 9.75 12C8.95436 12 8.19129 11.6839 7.62868 11.1213C7.06607 10.5587 6.75 9.79565 6.75 9ZM15.915 15.2259C15.0785 14.0138 13.9024 13.0761 12.5344 12.5306C13.2692 11.9519 13.8054 11.1585 14.0684 10.2608C14.3315 9.3632 14.3082 8.4059 14.002 7.52207C13.6957 6.63825 13.1216 5.87183 12.3596 5.3294C11.5975 4.78696 10.6854 4.49548 9.75 4.49548C8.81462 4.49548 7.90248 4.78696 7.14044 5.3294C6.37839 5.87183 5.80432 6.63825 5.49805 7.52207C5.19179 8.4059 5.16855 9.3632 5.43157 10.2608C5.69459 11.1585 6.2308 11.9519 6.96563 12.5306C5.59765 13.0761 4.42147 14.0138 3.585 15.2259C2.52804 14.0373 1.8372 12.5685 1.59567 10.9964C1.35415 9.42427 1.57224 7.81584 2.22368 6.36478C2.87512 4.91372 3.93213 3.68192 5.26745 2.81769C6.60276 1.95346 8.15943 1.49367 9.75 1.49367C11.3406 1.49367 12.8973 1.95346 14.2326 2.81769C15.5679 3.68192 16.6249 4.91372 17.2763 6.36478C17.9278 7.81584 18.1459 9.42427 17.9043 10.9964C17.6628 12.5685 16.972 14.0373 15.915 15.2259Z" fill="currentColor"/>
2820          </svg>
2821        </button>
2822        <div class="dtc-header__account-dropdown">
2823          <div class="dtc-header__account-dropdown-panel">
2824            <p class="dtc-header__account-dropdown-label">Account</p><a href="https://shopify.com/74265723189/account?locale=en&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJjb3NvcmktMjAyMy5teXNob3BpZnkuY29tIiwiZmxhZ3MiOltdLCJleHAiOjE3OTA5ODUyNzUsIm5iZiI6MTc5MDM4MDQ3NX0.-FZmFHawzlIOqrkLqayinhlQIMEClVlivpDNey7OxHU&region_country=US" class="dtc-header__account-dropdown-item" data-v-gtm-auth="login">
2825                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
2826                  <path d="M19.5 3H4.5C4.10218 3 3.72064 3.15804 3.43934 3.43934C3.15804 3.72064 3 4.10218 3 4.5V19.5C3 19.8978 3.15804 20.2794 3.43934 20.5607C3.72064 20.842 4.10218 21 4.5 21H19.5C19.8978 21 20.2794 20.842 20.5607 20.5607C20.842 20.2794 21 19.8978 21 19.5V4.5C21 4.10218 20.842 3.72064 20.5607 3.43934C20.2794 3.15804 19.8978 3 19.5 3ZM19.5 19.5H4.5V4.5H19.5V19.5ZM8.46937 15.5306C8.39964 15.461 8.34432 15.3783 8.30658 15.2872C8.26884 15.1962 8.24941 15.0986 8.24941 15C8.24941 14.9014 8.26884 14.8038 8.30658 14.7128C8.34432 14.6217 8.39964 14.539 8.46937 14.4694L13.1897 9.75H10.5C10.3011 9.75 10.1103 9.67098 9.96967 9.53033C9.82902 9.38968 9.75 9.19891 9.75 9C9.75 8.80109 9.82902 8.61032 9.96967 8.46967C10.1103 8.32902 10.3011 8.25 10.5 8.25H15C15.1989 8.25 15.3897 8.32902 15.5303 8.46967C15.671 8.61032 15.75 8.80109 15.75 9V13.5C15.75 13.6989 15.671 13.8897 15.5303 14.0303C15.3897 14.171 15.1989 14.25 15 14.25C14.8011 14.25 14.6103 14.171 14.4697 14.0303C14.329 13.8897 14.25 13.6989 14.25 13.5V10.8103L9.53063 15.5306C9.46097 15.6004 9.37825 15.6557 9.28721 15.6934C9.19616 15.7312 9.09856 15.7506 9 15.7506C8.90144 15.7506 8.8
28260384 15.7312 8.71279 15.6934C8.62175 15.6557 8.53903 15.6004 8.46937 15.5306Z" fill="#0F0928"/>
2827                </svg>
2828                <span>Log in</span>
2829              </a><a href="/pages/favorites" class="dtc-header__account-dropdown-item">
2830              <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2831                <path d="M12 2L15.09 8.26L22 9.27L17 14.14L18.18 21.02L12 17.77L5.82 21.02L7 14.14L2 9.27L8.91 8.26L12 2Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2832              </svg>
2833              <span>Favourites</span>
2834            </a>
2835            <a href="/pages/contact-us" class="dtc-header__account-dropdown-item">
2836              <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
2837                <circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5"/>
2838                <circle cx="12" cy="12" r="4" stroke="currentColor" stroke-width="1.5"/>
2839                <path d="M14.83 9.17L19.07 4.93M9.17 14.83L4.93 19.07M14.83 14.83L19.07 19.07M9.17 9.17L4.93 4.93" stroke="currentColor" stroke-width="1.5"/>
2840              </svg>
2841              <span>Support</span>
2842            </a>
2843          </div>
2844        </div>
2845      </div>
2846    </div>
2847
2848  </div>
2849
2850
2851</div></header>
2852<!-- END sections: dtc-header-group -->
2853
2854<link href="//cosori.com/cdn/shop/t/166/assets/quantity-popover.css?v=20559803192580579951789674181" rel="stylesheet" type="text/css" media="all" />
2855<link href="//cosori.com/cdn/shop/t/166/assets/component-card.css?v=2868478906504407581789674181" rel="stylesheet" type="text/css" media="all" />
2856
2857<script src="//cosori.com/cdn/shop/t/166/assets/cart.js?v=95952935067914273241789674181" defer="defer"></script>
vendor: 2 bytes, line 2857
2857
2858<script src="//cosori.com/cdn/shop/t/166/assets/quantity-popover.js?v=131972415075478610701789674181" defer="defer"></script>
2858
2859
2860<style>
2861  .drawer {
2862    visibility: hidden;
2863  }
2864</style>
2865
2866<cart-drawer class="drawer is-empty">
2867  <div id="CartDrawer" class="cart-drawer">
2868    <div id="CartDrawer-Overlay" class="cart-drawer__overlay"></div>
2869    <div
2870      class="drawer__inner gradient color-scheme-1"
2871      role="dialog"
2872      aria-modal="true"
2873      aria-label="Your cart"
2874      tabindex="-1"
2875    ><div class="drawer__inner-empty">
2876          <div class="cart-drawer__warnings center">
2877            <div class="cart-drawer__empty-content">
2878              <h2 class="cart__empty-text">Your cart is empty</h2>
2879              <button
2880                class="drawer__close"
2881                type="button"
2882                onclick="this.closest('cart-drawer').close()"
2883                aria-label="Close"
2884              >
2885                <svg
2886  xmlns="http://www.w3.org/2000/svg"
2887  aria-hidden="true"
2888  focusable="false"
2889  class="icon icon-close"
2890  fill="none"
2891  viewBox="0 0 18 17"
2892>
2893  <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor">
2894</svg>
2895
2896              </button>
2897              <a
2898                href="/collections/all"
2899                class="button"
2900                data-ga4-track
2901                data-ga4-event="go_shopping"
2902                data-ga4-module="Cart Popup"
2903                data-button-name="Continue shopping"
2904              >
2905                Continue shopping
2906              </a><p class="cart__login-title h3">Have an account?</p>
2907                <p class="cart__login-paragraph">
2908                  
2909                  <a
2910                    href="https://shopify.com/74265723189/account?locale=en&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJjb3NvcmktMjAyMy5teXNob3BpZnkuY29tIiwiZmxhZ3MiOltdLCJleHAiOjE3OTA5ODUyNzUsIm5iZiI6MTc5MDM4MDQ3NX0.-FZmFHawzlIOqrkLqayinhlQIMEClVlivpDNey7OxHU&region_country=US"
2911                    class="link underlined-link"
2912                    data-ga4-track
2913                    data-ga4-event="click_log_in"
2914                    data-ga4-module="Cart Popup"
2915                    data-button-name="Log in"
2916                    >Log in</a
2917                  >
2918                  to check out faster.
2919                </p></div>
2920          </div></div><div class="drawer__header">
2921        <div class="drawer__heading"> Cart (0 Items)</div>
2922        <button
2923          class="drawer__close"
2924          type="button"
2925          onclick="this.closest('cart-drawer').close()"
2926          aria-label="Close"
2927        >
2928          
2929          
2930
2931
2932<svg class=" icon icon-close" width="16" height="16" viewBox="0 0 17 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
2933      <path fill-rule="evenodd" clip-rule="evenodd" d="M2.31794 0.363246C1.91626 -0.0384324 1.26499 -0.0384323 0.863316 0.363247C0.461637 0.764925 0.461637 1.41619 0.863316 1.81787L7.04545 8L0.863316 14.1821C0.461637 14.5838 0.461637 15.2351 0.863316 15.6368C1.26499 16.0384 1.91626 16.0384 2.31794 15.6368L8.50007 9.45462L14.6822 15.6368C15.0838 16.0384 15.7351 16.0384 16.1368 15.6368C16.5385 15.2351 16.5384 14.5838 16.1368 14.1821L9.95469 8L16.1368 1.81787C16.5384 1.41625 16.5385 0.764926 16.1368 0.363247C15.7351 -0.0384316 15.0838 -0.0383736 14.6822 0.363246L8.50007 6.54538L2.31794 0.363246Z" fill="currentColor"/>
2934    </svg>
2935
2936        </button>
2937      </div>
2938      <cart-drawer-items
2939        
2940          class=" is-empty"
2941        
2942      >
2943        <form
2944          action="/cart"
2945          id="CartDrawer-Form"
2946          class="cart__contents cart-drawer__form"
2947          method="post"
2948        >
2949          <div id="CartDrawer-CartItems" class="drawer__contents js-contents"><p id="CartDrawer-LiveRegionText" class="visually-hidden" role="status"></p>
2950            <p id="CartDrawer-LineItemStatus" class="visually-hidden" aria-hidden="true" role="status">
2951              Loading...
2952            </p>
2953          </div>
2954          <div id="CartDrawer-CartErrors" role="alert"></div>
2955        </form>
2956      </cart-drawer-items>
2957      <div class="drawer__footer"><!-- Start blocks -->
2958        <!-- Subtotals -->
2959
2960        <div class="cart-drawer__footer" >
2961          <div></div>
2962
2963          <div class="totals" role="status">
2964            <div class="totals__total">Estimated total</div>
2965            <p class="totals__total-value">$0.00 USD</p>
2966          </div>
2967
2968          <small class="tax-note caption-large rte">Taxes, Discounts and <a href="/policies/shipping-policy">shipping</a> calculated at checkout�</small>
2969        </div>
2970
2971        
2972          <div class="cart_d_text">
2973            <p>Free Shipping & Returns | Limited Warranty on All Products</p>
2974          </div>
2975        
2976
2977        <!-- CTAs -->
2978
2979        <div class="cart__ctas" >
2980          <noscript>
2981            <button type="submit" class="cart__update-button button button--secondary" form="CartDrawer-Form">
2982              Update
2983            </button>
2984          </noscript>
2985
2986          <button
2987            type="submit"
2988            id="CartDrawer-Checkout"
2989            class="cart__checkout-button button"
2990            name="checkout"
2991            form="CartDrawer-Form"
2992            data-ga4-track
2993            data-ga4-event="checkout_button"
2994            data-ga4-module="Cart Popup"
2995            data-button-name="Checkout"
2996            
2997              disabled
2998            
2999          >
3000            Check out
3001          </button>
3002        </div>
3003      </div>
3004    </div>
3005  </div>
3006</cart-drawer>
3007
3008<script>
3009  document.addEventListener('DOMContentLoaded', function () {
3010    function isIE() {
3011      const ua = window.navigator.userAgent;
3012      const msie = ua.indexOf('MSIE ');
3013      const trident = ua.indexOf('Trident/');
3014
3015      return msie > 0 || trident > 0;
3016    }
3017
3018    if (!isIE()) return;
3019    const cartSubmitInput = document.createElement('input');
3020    cartSubmitInput.setAttribute('name', 'checkout');
3021    cartSubmitInput.setAttribute('type', 'hidden');
3022    document.querySelector('#cart').appendChild(cartSubmitInput);
3023    document.querySelector('#checkout').addEventListener('click', function (event) {
3024      document.querySelector('#cart').submit();
3025    });
3026  });
3027</script>
3027
3028<div id="shopify-section-dtc-cart-drawer" class="shopify-section dtc-cart-drawer-section"><style data-shopify>#shopify-section-dtc-cart-drawer {
3029    height: 0;
3030    overflow: clip;
3031    margin: 0;
3032    padding: 0;
3033    border: 0;
3034  }</style><dtc-cart-drawer
3035  id="DtcCartDrawer"
3036  class="dtc-cart-drawer is-empty"
3037  data-v-gtm-view-cart
3038  data-v-gtm-module="Cart Popup"
3039>
3040  <div class="dtc-cart-drawer__overlay" data-dtc-cart-close></div>
3041
3042  <div
3043    class="dtc-cart-drawer__main is-empty"
3044    role="dialog"
3045    aria-modal="true"
3046    aria-label="Your cart"
3047    tabindex="-1"
3048  >
3049    <div class="dtc-cart-drawer__inner" tabindex="-1">
3050      <header class="dtc-cart-drawer__header">
3051        <div class="dtc-cart-drawer__heading">Your cart</div>
3052        <button
3053          class="dtc-cart-drawer__close"
3054          type="button"
3055          aria-label="Close"
3056          data-dtc-cart-close
3057        >
3058
3059
3060<svg
3061        class=""
3062        width="15"
3063        height="15"
3064        viewBox="0 0 15 15"
3065        fill="none"
3066        xmlns="http://www.w3.org/2000/svg"
3067      >
3068        <path d="M12.8536 2.85355C13.0488 2.65829 13.0488 2.34171 12.8536 2.14645C12.6583 1.95118 12.3417 1.95118 12.1464 2.14645L7.5 6.79289L2.85355 2.14645C2.65829 1.95118 2.34171 1.95118 2.14645 2.14645C1.95118 2.34171 1.95118 2.65829 2.14645 2.85355L6.79289 7.5L2.14645 12.1464C1.95118 12.3417 1.95118 12.6583 2.14645 12.8536C2.34171 13.0488 2.65829 13.0488 2.85355 12.8536L7.5 8.20711L12.1464 12.8536C12.3417 13.0488 12.6583 13.0488 12.8536 12.8536C13.0488 12.6583 13.0488 12.3417 12.8536 12.1464L8.20711 7.5L12.8536 2.85355Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path>
3069      </svg>
3070</button>
3071      </header>
3072
3073      <div class="dtc-cart-drawer__items is-empty">
3074        <form id="DtcCartDrawer-Form" action="/cart" method="post" class="dtc-cart-drawer__form">
3075          <div class="dtc-cart-drawer__contents"><div class="dtc-cart-drawer__empty">
3076                <p class="dtc-cart-drawer__empty-title">Your cart is empty</p>
3077                <button type="button" class="dtc-cart-drawer__button dtc-cart-drawer__button--primary" data-dtc-cart-close>
3078                  Continue Shopping
3079                </button>
3080              </div><p id="DtcCartDrawer-LiveRegionText" class="sr-only" role="status"></p>
3081            <p id="DtcCartDrawer-LineItemStatus" class="sr-only" aria-hidden="true" role="status">
3082              Loading...
3083            </p>
3084          </div>
3085        </form>
3086      </div>
3087
3088      <footer class="dtc-cart-drawer__footer">
3089        <div class="totals dtc-cart-drawer__subtotal" role="status">
3090          <div class="totals__subtotal dtc-cart-drawer__subtotal-label">Subtotal:</div>
3091          <p class="totals__subtotal-value dtc-cart-drawer__subtotal-value">
3092            $0
3093          </p>
3094        </div>
3095
3096        <div class="dtc-cart-drawer__benefits" aria-label="Cart benefits">
3097          <div class="dtc-cart-drawer__benefit">
3098
3099
3100<svg
3101        class="dtc-cart-drawer__benefit-icon"
3102        width="16"
3103        height="16"
3104        viewBox="0 0 256 256"
3105        fill="none"
3106        xmlns="http://www.w3.org/2000/svg"
3107        aria-hidden="true"
3108      >
3109        <path d="M16 64h152v112H16V64Z" stroke="currentColor" stroke-width="16" stroke-linejoin="round"/>
3110        <path d="M168 104h40l32 40v32h-72v-72Z" stroke="currentColor" stroke-width="16" stroke-linejoin="round"/>
3111        <circle cx="72" cy="184" r="24" stroke="currentColor" stroke-width="16"/>
3112        <circle cx="200" cy="184" r="24" stroke="currentColor" stroke-width="16"/>
3113        <path d="M16 176h32M96 176h80" stroke="currentColor" stroke-width="16" stroke-linecap="round"/>
3114      </svg>
3115<span>Free shipping</span>
3116          </div>
3117          <div class="dtc-cart-drawer__benefit">
3118
3119
3120<svg
3121        class="dtc-cart-drawer__benefit-icon"
3122        width="16"
3123        height="16"
3124        viewBox="0 0 256 256"
3125        fill="none"
3126        xmlns="http://www.w3.org/2000/svg"
3127        aria-hidden="true"
3128      >
3129        <path d="M56 96H16V56" stroke="currentColor" stroke-width="16" stroke-linecap="round" stroke-linejoin="round"/>
3130        <path d="M50.2 176A88 88 0 1 0 40 88" stroke="currentColor" stroke-width="16" stroke-linecap="round"/>
3131        <path d="M128 80v56l40 24" stroke="currentColor" stroke-width="16" stroke-linecap="round" stroke-linejoin="round"/>
3132      </svg>
3133<span>2-year warranty</span>
3134          </div>
3135          <div class="dtc-cart-drawer__benefit">
3136
3137
3138<svg
3139        class="dtc-cart-drawer__benefit-icon"
3140        width="16"
3141        height="16"
3142        viewBox="0 0 256 256"
3143        fill="none"
3144        xmlns="http://www.w3.org/2000/svg"
3145        aria-hidden="true"
3146      >
3147        <path d="M56 96H16V56" stroke="currentColor" stroke-width="16" stroke-linecap="round" stroke-linejoin="round"/>
3148        <path d="M50.2 176A88 88 0 1 0 40 88" stroke="currentColor" stroke-width="16" stroke-linecap="round"/>
3149        <path d="M128 80v56l40 24" stroke="currentColor" stroke-width="16" stroke-linecap="round" stroke-linejoin="round"/>
3150      </svg>
3151<span>30-day returns</span>
3152          </div>
3153        </div>
3154
3155        <div class="cart__ctas dtc-cart-drawer__ctas">
3156          <noscript>
3157            <button type="submit" class="cart__update-button dtc-cart-drawer__button dtc-cart-drawer__button--secondary" form="DtcCartDrawer-Form">
3158              Update
3159            </button>
3160          </noscript>
3161
3162          <button type="button" class="dtc-cart-drawer__button dtc-cart-drawer__button--secondary" data-dtc-cart-close>
3163            Continue Shopping
3164          </button>
3165
3166          <button
3167            type="submit"
3168            id="DtcCartDrawer-Checkout"
3169            class="cart__checkout-button button dtc-cart-drawer__button dtc-cart-drawer__button--primary"
3170            name="checkout"
3171            form="DtcCartDrawer-Form"
3172            data-v-gtm-checkout
3173            data-v-gtm-module="Cart Popup"
3174            data-v-gtm-button-name="Checkout"
3175            
3176              disabled
3177            
3178          >
3179            Check out
3180          </button>
3181        </div>
3182
3183        <div id="DtcCartDrawer-CartErrors" role="alert" class="dtc-cart-drawer__errors"></div>
3184      </footer>
3185    </div>
3186
3187    <div class="dtc-cart-drawer__loading" aria-hidden="true">
3188      <span class="dtc-cart-drawer__loading-spinner loader-spinner" role="status" aria-label="Loading...">
3189
3190
3191<svg
3192        class=" inline-block h-5 w-5 animate-spin text-white"
3193        xmlns="http://www.w3.org/2000/svg"
3194        fill="none"
3195        viewBox="0 0 24 24"
3196        aria-hidden="true"
3197      >
3198        <circle class="opacity-25" cx="12" cy="12" r="10" stroke="black" stroke-width="4"></circle>
3199        <path class="opacity-75" fill="black" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
3200      </svg>
3201</span>
3202    </div>
3203  </div>
3204</dtc-cart-drawer>
3205
3206</div><main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1">
3207      <section id="shopify-section-template--28135044186421__main" class="shopify-section section"><div class="breadcrumbs_main breadcrumbs_product">
3208  
3209  <div class="page-width">
3210    <nav class="breadcrumb" role="navigation" aria-label="breadcrumbs">
3211      <a href="/" title="Home">Home</a>
3212
3213      
3214        
3215        / <span class="product_title">Juni™ The Automatic Pour-Over Coffee Machine</span>
3216      
3217    </nav>
3218  </div>
3219
3220
3221</div>
3222<section
3223  id="MainProduct-template--28135044186421__main"
3224  class="product_main section-template--28135044186421__main-padding gradient color-scheme-1"
3225  data-section="template--28135044186421__main"
3226>
3227  <link href="//cosori.com/cdn/shop/t/166/assets/section-main-product.css?v=161891742243770795701789674181" rel="stylesheet" type="text/css" media="all" />
3228  <link href="//cosori.com/cdn/shop/t/166/assets/component-accordion.css?v=119364686647466659431789674181" rel="stylesheet" type="text/css" media="all" />
3229  <link href="//cosori.com/cdn/shop/t/166/assets/component-price.css?v=34032550459237142151789674181" rel="stylesheet" type="text/css" media="all" />
3230  <link href="//cosori.com/cdn/shop/t/166/assets/component-slider.css?v=164302892904981776131789674181" rel="stylesheet" type="text/css" media="all" />
3231  <link href="//cosori.com/cdn/shop/t/166/assets/component-rating.css?v=173690043817323355641789674181" rel="stylesheet" type="text/css" media="all" />
3232  <link href="//cosori.com/cdn/shop/t/166/assets/component-deferred-media.css?v=14096082462203297471789674181" rel="stylesheet" type="text/css" media="all" />
3233  
3234    <link href="//cosori.com/cdn/shop/t/166/assets/component-product-variant-picker.css?v=167434723806732782051789674181" rel="stylesheet" type="text/css" media="all" />
3235    <link href="//cosori.com/cdn/shop/t/166/assets/component-swatch-input.css?v=184205075229120217711789674181" rel="stylesheet" type="text/css" media="all" />
3236    <link href="//cosori.com/cdn/shop/t/166/assets/component-swatch.css?v=61896725941242793861789674181" rel="stylesheet" type="text/css" media="all" />
3237  �<style data-shopify>.section-template--28135044186421__main-padding {
3238      padding-top: 36px;
3239      padding-bottom: 9px;
3240    }
3241
3242    @media (min-width: 768px) {
3243      .section-template--28135044186421__main-padding {
3244        padding-top: 48px;
3245        padding-bottom: 12px;
3246      }
3247    }</style>
3247<script src="//cosori.com/cdn/shop/t/166/assets/product-info.js?v=125122232605238659181789674181" defer="defer"></script>
3247
3248  
3248<script src="//cosori.com/cdn/shop/t/166/assets/product-form.js?v=157174077156496872421789674181" defer="defer"></script>
3248
3249    
3249<script id="EnableZoomOnHover-main" src="//cosori.com/cdn/shop/t/166/assets/magnify.js?v=137710018090829782941789674181" defer="defer"></script>
3249
3250  �
3251
3252  <div class="page-width">
3253    <div class="product product--medium product--left product--thumbnail_slider product--mobile-show grid grid--1-col grid--2-col-tablet-ss">
3254      <div class="grid__item product__media-wrapper">
3255        
3256<media-gallery
3257  id="MediaGallery-template--28135044186421__main"
3258  role="region"
3259  
3260  aria-label="Gallery Viewer"
3261  data-desktop-layout="thumbnail_slider"
3262>
3263  <div id="GalleryStatus-template--28135044186421__main" class="visually-hidden" role="status"></div>
3264  <slider-component id="GalleryViewer-template--28135044186421__main" class="slider-mobile-gutter"><a class="skip-to-content-link button visually-hidden quick-add-hidden" href="#ProductInfo-template--28135044186421__main">
3265        Skip to product information
3266      </a><ul
3267      id="Slider-Gallery-template--28135044186421__main"
3268      class="product__media-list contains-media grid grid--peek list-unstyled slider slider--mobile"
3269      role="list"
3270    ><li
3271          id="Slide-template--28135044186421__main-56695870030133"
3272          class="product__media-item grid__item slider__slide is-active product__media-item--variant"
3273          data-media-id="template--28135044186421__main-56695870030133"
3274        >
3275
3276<div
3277  class="product-media-container media-type-image media-fit-contain global-media-settings gradient constrain-height"
3278  style="--ratio: 1.1228070175438596; --preview-ratio: 1.1228070175438596;"
3279>
3280  <noscript><div class="product__media media">
3281        <img src="//cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=1946" alt="Juni automatic pour-over coffee maker with glass carafe and SCA certification badge" srcset="//cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=246 246w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=493 493w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=600 600w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=713 713w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=823 823w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=990 990w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=1100 1100w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=1206 1206w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=1346 1346w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=1426 1426w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=1646 1646w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=1946 1946w" width="1946" height="1733" sizes="(min-width: 1650px) 853px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 768px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)">
3282      </div></noscript>
3283
3284  <modal-opener
3285    class="product__modal-opener product__modal-opener--image no-js-hidden"
3286    data-modal="#ProductModal-template--28135044186421__main"
3287  >
3288    <span
3289      class="product__media-icon motion-reduce quick-add-hidden product__media-icon--hover"
3290      aria-hidden="true"
3291    ><svg
3292  aria-hidden="true"
3293  focusable="false"
3294  class="icon icon-plus"
3295  width="19"
3296  height="19"
3297  viewBox="0 0 19 19"
3298  fill="none"
3299  xmlns="http://www.w3.org/2000/svg"
3300>
3301  <path fill-rule="evenodd" clip-rule="evenodd" d="M4.66724 7.93978C4.66655 7.66364 4.88984 7.43922 5.16598 7.43853L10.6996 7.42464C10.9758 7.42395 11.2002 7.64724 11.2009 7.92339C11.2016 8.19953 10.9783 8.42395 10.7021 8.42464L5.16849 8.43852C4.89235 8.43922 4.66793 8.21592 4.66724 7.93978Z" fill="currentColor"/>
3302  <path fill-rule="evenodd" clip-rule="evenodd" d="M7.92576 4.66463C8.2019 4.66394 8.42632 4.88723 8.42702 5.16337L8.4409 10.697C8.44159 10.9732 8.2183 11.1976 7.94215 11.1983C7.66601 11.199 7.44159 10.9757 7.4409 10.6995L7.42702 5.16588C7.42633 4.88974 7.64962 4.66532 7.92576 4.66463Z" fill="currentColor"/>
3303  <path fill-rule="evenodd" clip-rule="evenodd" d="M12.8324 3.03011C10.1255 0.323296 5.73693 0.323296 3.03011 3.03011C0.323296 5.73693 0.323296 10.1256 3.03011 12.8324C5.73693 15.5392 10.1255 15.5392 12.8324 12.8324C15.5392 10.1256 15.5392 5.73693 12.8324 3.03011ZM2.32301 2.32301C5.42035 -0.774336 10.4421 -0.774336 13.5395 2.32301C16.6101 5.39361 16.6366 10.3556 13.619 13.4588L18.2473 18.0871C18.4426 18.2824 18.4426 18.599 18.2473 18.7943C18.0521 18.9895 17.7355 18.9895 17.5402 18.7943L12.8778 14.1318C9.76383 16.6223 5.20839 16.4249 2.32301 13.5395C-0.774335 10.4421 -0.774335 5.42035 2.32301 2.32301Z" fill="currentColor"/>
3304</svg>
3305</span>
3306
3307<link href="//cosori.com/cdn/shop/t/166/assets/component-loading-spinner.css?v=116724955567955766481789674181" rel="stylesheet" type="text/css" media="all" />
3308
3309<div class="loading__spinner hidden">
3310  <svg
3311    aria-hidden="true"
3312    focusable="false"
3313    class="spinner"
3314    viewBox="0 0 66 66"
3315    xmlns="http://www.w3.org/2000/svg"
3316  >
3317    <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>
3318  </svg>
3319</div>
3320<div class="product__media media media--transparent">
3321      <img src="//cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=1946" alt="Juni automatic pour-over coffee maker with glass carafe and SCA certification badge" srcset="//cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=246 246w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=493 493w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=600 600w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=713 713w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=823 823w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=990 990w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=1100 1100w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=1206 1206w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=1346 1346w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=1426 1426w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=1646 1646w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=1946 1946w" width="1946" height="1733" class="image-magnify-hover" sizes="(min-width: 1650px) 853px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 768px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)">
3322    </div>
3323    <button
3324      class="product__media-toggle quick-add-hidden product__media-zoom-hover"
3325      type="button"
3326      aria-haspopup="dialog"
3327      data-media-id="56695870030133"
3328    >
3329      <span class="visually-hidden">
3330        Open media 1 in modal
3331      </span>
3332    </button>
3333  </modal-opener></div>
3334
3335        </li><li
3336            id="Slide-template--28135044186421__main-56803289858357"
3337            class="product__media-item grid__item slider__slide"
3338            data-media-id="template--28135044186421__main-56803289858357"
3339          >
3340
3341<div
3342  class="product-media-container media-type-image media-fit-contain global-media-settings gradient constrain-height"
3343  style="--ratio: 1.0; --preview-ratio: 1.0;"
3344>
3345  <noscript><div class="product__media media">
3346        <img src="//cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=1946" alt="Front view of Juni automatic pour-over coffee maker with glass carafe and handle" srcset="//cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=246 246w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=493 493w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=600 600w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=713 713w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=823 823w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=990 990w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=1100 1100w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=1206 1206w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=1346 1346w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=1426 1426w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=1646 1646w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=1946 1946w" width="1946" height="1946" loading="lazy" sizes="(min-width: 1650px) 853px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 768px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)">
3347      </div></noscript>
3348
3349  <modal-opener
3350    class="product__modal-opener product__modal-opener--image no-js-hidden"
3351    data-modal="#ProductModal-template--28135044186421__main"
3352  >
3353    <span
3354      class="product__media-icon motion-reduce quick-add-hidden product__media-icon--hover"
3355      aria-hidden="true"
3356    ><svg
3357  aria-hidden="true"
3358  focusable="false"
3359  class="icon icon-plus"
3360  width="19"
3361  height="19"
3362  viewBox="0 0 19 19"
3363  fill="none"
3364  xmlns="http://www.w3.org/2000/svg"
3365>
3366  <path fill-rule="evenodd" clip-rule="evenodd" d="M4.66724 7.93978C4.66655 7.66364 4.88984 7.43922 5.16598 7.43853L10.6996 7.42464C10.9758 7.42395 11.2002 7.64724 11.2009 7.92339C11.2016 8.19953 10.9783 8.42395 10.7021 8.42464L5.16849 8.43852C4.89235 8.43922 4.66793 8.21592 4.66724 7.93978Z" fill="currentColor"/>
3367  <path fill-rule="evenodd" clip-rule="evenodd" d="M7.92576 4.66463C8.2019 4.66394 8.42632 4.88723 8.42702 5.16337L8.4409 10.697C8.44159 10.9732 8.2183 11.1976 7.94215 11.
33671983C7.66601 11.199 7.44159 10.9757 7.4409 10.6995L7.42702 5.16588C7.42633 4.88974 7.64962 4.66532 7.92576 4.66463Z" fill="currentColor"/>
3368  <path fill-rule="evenodd" clip-rule="evenodd" d="M12.8324 3.03011C10.1255 0.323296 5.73693 0.323296 3.03011 3.03011C0.323296 5.73693 0.323296 10.1256 3.03011 12.8324C5.73693 15.5392 10.1255 15.5392 12.8324 12.8324C15.5392 10.1256 15.5392 5.73693 12.8324 3.03011ZM2.32301 2.32301C5.42035 -0.774336 10.4421 -0.774336 13.5395 2.32301C16.6101 5.39361 16.6366 10.3556 13.619 13.4588L18.2473 18.0871C18.4426 18.2824 18.4426 18.599 18.2473 18.7943C18.0521 18.9895 17.7355 18.9895 17.5402 18.7943L12.8778 14.1318C9.76383 16.6223 5.20839 16.4249 2.32301 13.5395C-0.774335 10.4421 -0.774335 5.42035 2.32301 2.32301Z" fill="currentColor"/>
3369</svg>
3370</span>
3371
3372<link href="//cosori.com/cdn/shop/t/166/assets/component-loading-spinner.css?v=116724955567955766481789674181" rel="stylesheet" type="text/css" media="all" />
3373
3374<div class="loading__spinner hidden">
3375  <svg
3376    aria-hidden="true"
3377    focusable="false"
3378    class="spinner"
3379    viewBox="0 0 66 66"
3380    xmlns="http://www.w3.org/2000/svg"
3381  >
3382    <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>
3383  </svg>
3384</div>
3385<div class="product__media media media--transparent">
3386      <img src="//cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=1946" alt="Front view of Juni automatic pour-over coffee maker with glass carafe and handle" srcset="//cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=246 246w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=493 493w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=600 600w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=713 713w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=823 823w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=990 990w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=1100 1100w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=1206 1206w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=1346 1346w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=1426 1426w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=1646 1646w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=1946 1946w" width="1946" height="1946" loading="lazy" class="image-magnify-hover" sizes="(min-width: 1650px) 853px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 768px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)">
3387    </div>
3388    <button
3389      class="product__media-toggle quick-add-hidden product__media-zoom-hover"
3390      type="button"
3391      aria-haspopup="dialog"
3392      data-media-id="56803289858357"
3393    >
3394      <span class="visually-hidden">
3395        Open media 2 in modal
3396      </span>
3397    </button>
3398  </modal-opener></div>
3399
3400          </li><li
3401            id="Slide-template--28135044186421__main-56803306930485"
3402            class="product__media-item grid__item slider__slide product__media-item--variant"
3403            data-media-id="template--28135044186421__main-56803306930485"
3404          >
3405
3406<div
3407  class="product-media-container media-type-image media-fit-contain global-media-settings gradient constrain-height"
3408  style="--ratio: 1.0; --preview-ratio: 1.0;"
3409>
3410  <noscript><div class="product__media media">
3411        <img src="//cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=1946" alt="Juni automatic pour-over coffee maker with brew basket and glass carafe, front angle" srcset="//cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=246 246w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=493 493w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackgroun
3411d_1.jpg?v=1788767150&amp;width=600 600w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=713 713w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=823 823w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=990 990w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=1100 1100w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=1206 1206w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=1346 1346w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=1426 1426w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=1646 1646w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=1946 1946w" width="1946" height="1946" loading="lazy" sizes="(min-width: 1650px) 853px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 768px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)">
3412      </div></noscript>
3413
3414  <modal-opener
3415    class="product__modal-opener product__modal-opener--image no-js-hidden"
3416    data-modal="#ProductModal-template--28135044186421__main"
3417  >
3418    <span
3419      class="product__media-icon motion-reduce quick-add-hidden product__media-icon--hover"
3420      aria-hidden="true"
3421    ><svg
3422  aria-hidden="true"
3423  focusable="false"
3424  class="icon icon-plus"
3425  width="19"
3426  height="19"
3427  viewBox="0 0 19 19"
3428  fill="none"
3429  xmlns="http://www.w3.org/2000/svg"
3430>
3431  <path fill-rule="evenodd" clip-rule="evenodd" d="M4.66724 7.93978C4.66655 7.66364 4.88984 7.43922 5.16598 7.43853L10.6996 7.42464C10.9758 7.42395 11.2002 7.64724 11.2009 7.92339C11.2016 8.19953 10.9783 8.42395 10.7021 8.42464L5.16849 8.43852C4.89235 8.43922 4.66793 8.21592 4.66724 7.93978Z" fill="currentColor"/>
3432  <path fill-rule="evenodd" clip-rule="evenodd" d="M7.92576 4.66463C8.2019 4.66394 8.42632 4.88723 8.42702 5.16337L8.4409 10.697C8.44159 10.9732 8.2183 11.1976 7.94215 11.1983C7.66601 11.199 7.44159 10.9757 7.4409 10.6995L7.42702 5.16588C7.42633 4.88974 7.64962 4.66532 7.92576 4.66463Z" fill="currentColor"/>
3433  <path fill-rule="evenodd" clip-rule="evenodd" d="M12.8324 3.03011C10.1255 0.323296 5.73693 0.323296 3.03011 3.03011C0.323296 5.73693 0.323296 10.1256 3.03011 12.8324C5.73693 15.5392 10.1255 15.5392 12.8324 12.8324C15.5392 10.1256 15.5392 5.73693 12.8324 3.03011ZM2.32301 2.32301C5.42035 -0.774336 10.4421 -0.774336 13.5395 2.32301C16.6101 5.39361 16.6366 10.3556 13.619 13.4588L18.2473 18.0871C18.4426 18.2824 18.4426 18.599 18.2473 18.7943C18.0521 18.9895 17.7355 18.9895 17.5402 18.7943L12.8778 14.1318C9.76383 16.6223 5.20839 16.4249 2.32301 13.5395C-0.774335 10.4421 -0.774335 5.42035 2.32301 2.32301Z" fill="currentColor"/>
3434</svg>
3435</span>
3436
3437<link href="//cosori.com/cdn/shop/t/166/assets/component-loading-spinner.css?v=116724955567955766481789674181" rel="stylesheet" type="text/css" media="all" />
3438
3439<div class="loading__spinner hidden">
3440  <svg
3441    aria-hidden="true"
3442    focusable="false"
3443    class="spinner"
3444    viewBox="0 0 66 66"
3445    xmlns="http://www.w3.org/2000/svg"
3446  >
3447    <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>
3448  </svg>
3449</div>
3450<div class="product__media media media--transparent">
3451      <img src="//cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=1946" alt="Juni automatic pour-over coffee maker with brew basket and glass carafe, front angle" srcset="//cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=246 246w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=493 493w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=600 600w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=713 713w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackgroun
3451d_1.jpg?v=1788767150&amp;width=823 823w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=990 990w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=1100 1100w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=1206 1206w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=1346 1346w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=1426 1426w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=1646 1646w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=1946 1946w" width="1946" height="1946" loading="lazy" class="image-magnify-hover" sizes="(min-width: 1650px) 853px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 768px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)">
3452    </div>
3453    <button
3454      class="product__media-toggle quick-add-hidden product__media-zoom-hover"
3455      type="button"
3456      aria-haspopup="dialog"
3457      data-media-id="56803306930485"
3458    >
3459      <span class="visually-hidden">
3460        Open media 3 in modal
3461      </span>
3462    </button>
3463  </modal-opener></div>
3464
3465          </li><li
3466            id="Slide-template--28135044186421__main-56803574874421"
3467            class="product__media-item grid__item slider__slide"
3468            data-media-id="template--28135044186421__main-56803574874421"
3469          >
3470
3471<div
3472  class="product-media-container media-type-image media-fit-contain global-media-settings gradient constrain-height"
3473  style="--ratio: 1.0; --preview-ratio: 1.0;"
3474>
3475  <noscript><div class="product__media media">
3476        <img src="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=1946" alt="Close-up of Juni coffee maker control panel and base with brew settings buttons" srcset="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=246 246w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=493 493w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=600 600w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=713 713w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=823 823w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=990 990w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=1100 1100w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=1206 1206w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=1346 1346w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=1426 1426w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=1646 1646w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=1946 1946w" width="1946" height="1946" loading="lazy" sizes="(min-width: 1650px) 853px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 768px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)">
3477      </div></noscript>
3478
3479  <modal-opener
3480    class="product__modal-opener product__modal-opener--image no-js-hidden"
3481    data-modal="#ProductModal-template--28135044186421__main"
3482  >
3483    <span
3484      class="product__media-icon motion-reduce quick-add-hidden product__media-icon--hover"
3485      aria-hidden="true"
3486    ><svg
3487  aria-hidden="true"
3488  focusable="false"
3489  class="icon icon-plus"
3490  width="19"
3491  height="19"
3492  viewBox="0 0 19 19"
3493  fill="none"
3494  xmlns="http://www.w3.org/2000/svg"
3495>
3496  <path fill-rule="evenodd" clip-rule="evenodd" d="M4.66724 7.93978C4.66655 7.66364 4.88984 7.43922 5.16598 7.43853L10.6996 7.42464C10.9758 7.42395 11.2002 7.64724 11.2009 7.92339C11.2016 8.19953 10.9783 8.42395 10.7021 8.42464L5.16849 8.43852C4.89235 8.43922 4.66793 8.21592 4.66724 7.93978Z" fill="currentColor"/>
3497  <path fill-rule="evenodd" clip-rule="evenodd" d="M7.92576 4.66463C8.2019 4.66394 8.42632 4.88723 8.42702 5.16337L8.4409 10.697C8.44159 10.9732 8.2183 11.1976 7.94215 11.
34971983C7.66601 11.199 7.44159 10.9757 7.4409 10.6995L7.42702 5.16588C7.42633 4.88974 7.64962 4.66532 7.92576 4.66463Z" fill="currentColor"/>
3498  <path fill-rule="evenodd" clip-rule="evenodd" d="M12.8324 3.03011C10.1255 0.323296 5.73693 0.323296 3.03011 3.03011C0.323296 5.73693 0.323296 10.1256 3.03011 12.8324C5.73693 15.5392 10.1255 15.5392 12.8324 12.8324C15.5392 10.1256 15.5392 5.73693 12.8324 3.03011ZM2.32301 2.32301C5.42035 -0.774336 10.4421 -0.774336 13.5395 2.32301C16.6101 5.39361 16.6366 10.3556 13.619 13.4588L18.2473 18.0871C18.4426 18.2824 18.4426 18.599 18.2473 18.7943C18.0521 18.9895 17.7355 18.9895 17.5402 18.7943L12.8778 14.1318C9.76383 16.6223 5.20839 16.4249 2.32301 13.5395C-0.774335 10.4421 -0.774335 5.42035 2.32301 2.32301Z" fill="currentColor"/>
3499</svg>
3500</span>
3501
3502<link href="//cosori.com/cdn/shop/t/166/assets/component-loading-spinner.css?v=116724955567955766481789674181" rel="stylesheet" type="text/css" media="all" />
3503
3504<div class="loading__spinner hidden">
3505  <svg
3506    aria-hidden="true"
3507    focusable="false"
3508    class="spinner"
3509    viewBox="0 0 66 66"
3510    xmlns="http://www.w3.org/2000/svg"
3511  >
3512    <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>
3513  </svg>
3514</div>
3515<div class="product__media media media--transparent">
3516      <img src="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=1946" alt="Close-up of Juni coffee maker control panel and base with brew settings buttons" srcset="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=246 246w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=493 493w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=600 600w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=713 713w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=823 823w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=990 990w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=1100 1100w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=1206 1206w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=1346 1346w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=1426 1426w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=1646 1646w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=1946 1946w" width="1946" height="1946" loading="lazy" class="image-magnify-hover" sizes="(min-width: 1650px) 853px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 768px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)">
3517    </div>
3518    <button
3519      class="product__media-toggle quick-add-hidden product__media-zoom-hover"
3520      type="button"
3521      aria-haspopup="dialog"
3522      data-media-id="56803574874421"
3523    >
3524      <span class="visually-hidden">
3525        Open media 4 in modal
3526      </span>
3527    </button>
3528  </modal-opener></div>
3529
3530          </li><li
3531            id="Slide-template--28135044186421__main-56803595059509"
3532            class="product__media-item grid__item slider__slide"
3533            data-media-id="template--28135044186421__main-56803595059509"
3534          >
3535
3536<div
3537  class="product-media-container media-type-image media-fit-contain global-media-settings gradient constrain-height"
3538  style="--ratio: 1.0; --preview-ratio: 1.0;"
3539>
3540  <noscript><div class="product__media media">
3541        <img src="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=1946" alt="Juni automatic pour-over coffee maker, full front view with pour-over brew basket" srcset="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=246 246w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=493 493w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Backgroun
3541d_4.jpg?v=1788767590&amp;width=600 600w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=713 713w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=823 823w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=990 990w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=1100 1100w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=1206 1206w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=1346 1346w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=1426 1426w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=1646 1646w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=1946 1946w" width="1946" height="1946" loading="lazy" sizes="(min-width: 1650px) 853px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 768px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)">
3542      </div></noscript>
3543
3544  <modal-opener
3545    class="product__modal-opener product__modal-opener--image no-js-hidden"
3546    data-modal="#ProductModal-template--28135044186421__main"
3547  >
3548    <span
3549      class="product__media-icon motion-reduce quick-add-hidden product__media-icon--hover"
3550      aria-hidden="true"
3551    ><svg
3552  aria-hidden="true"
3553  focusable="false"
3554  class="icon icon-plus"
3555  width="19"
3556  height="19"
3557  viewBox="0 0 19 19"
3558  fill="none"
3559  xmlns="http://www.w3.org/2000/svg"
3560>
3561  <path fill-rule="evenodd" clip-rule="evenodd" d="M4.66724 7.93978C4.66655 7.66364 4.88984 7.43922 5.16598 7.43853L10.6996 7.42464C10.9758 7.42395 11.2002 7.64724 11.2009 7.92339C11.2016 8.19953 10.9783 8.42395 10.7021 8.42464L5.16849 8.43852C4.89235 8.43922 4.66793 8.21592 4.66724 7.93978Z" fill="currentColor"/>
3562  <path fill-rule="evenodd" clip-rule="evenodd" d="M7.92576 4.66463C8.2019 4.66394 8.42632 4.88723 8.42702 5.16337L8.4409 10.697C8.44159 10.9732 8.2183 11.1976 7.94215 11.1983C7.66601 11.199 7.44159 10.9757 7.4409 10.6995L7.42702 5.16588C7.42633 4.88974 7.64962 4.66532 7.92576 4.66463Z" fill="currentColor"/>
3563  <path fill-rule="evenodd" clip-rule="evenodd" d="M12.8324 3.03011C10.1255 0.323296 5.73693 0.323296 3.03011 3.03011C0.323296 5.73693 0.323296 10.1256 3.03011 12.8324C5.73693 15.5392 10.1255 15.5392 12.8324 12.8324C15.5392 10.1256 15.5392 5.73693 12.8324 3.03011ZM2.32301 2.32301C5.42035 -0.774336 10.4421 -0.774336 13.5395 2.32301C16.6101 5.39361 16.6366 10.3556 13.619 13.4588L18.2473 18.0871C18.4426 18.2824 18.4426 18.599 18.2473 18.7943C18.0521 18.9895 17.7355 18.9895 17.5402 18.7943L12.8778 14.1318C9.76383 16.6223 5.20839 16.4249 2.32301 13.5395C-0.774335 10.4421 -0.774335 5.42035 2.32301 2.32301Z" fill="currentColor"/>
3564</svg>
3565</span>
3566
3567<link href="//cosori.com/cdn/shop/t/166/assets/component-loading-spinner.css?v=116724955567955766481789674181" rel="stylesheet" type="text/css" media="all" />
3568
3569<div class="loading__spinner hidden">
3570  <svg
3571    aria-hidden="true"
3572    focusable="false"
3573    class="spinner"
3574    viewBox="0 0 66 66"
3575    xmlns="http://www.w3.org/2000/svg"
3576  >
3577    <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>
3578  </svg>
3579</div>
3580<div class="product__media media media--transparent">
3581      <img src="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=1946" alt="Juni automatic pour-over coffee maker, full front view with pour-over brew basket" srcset="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=246 246w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=493 493w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=600 600w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=713 713w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=823 823w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Backgroun
3581d_4.jpg?v=1788767590&amp;width=990 990w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=1100 1100w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=1206 1206w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=1346 1346w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=1426 1426w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=1646 1646w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=1946 1946w" width="1946" height="1946" loading="lazy" class="image-magnify-hover" sizes="(min-width: 1650px) 853px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 768px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)">
3582    </div>
3583    <button
3584      class="product__media-toggle quick-add-hidden product__media-zoom-hover"
3585      type="button"
3586      aria-haspopup="dialog"
3587      data-media-id="56803595059509"
3588    >
3589      <span class="visually-hidden">
3590        Open media 5 in modal
3591      </span>
3592    </button>
3593  </modal-opener></div>
3594
3595          </li><li
3596            id="Slide-template--28135044186421__main-56803603677493"
3597            class="product__media-item grid__item slider__slide"
3598            data-media-id="template--28135044186421__main-56803603677493"
3599          >
3600
3601<div
3602  class="product-media-container media-type-image media-fit-contain global-media-settings gradient constrain-height"
3603  style="--ratio: 1.0; --preview-ratio: 1.0;"
3604>
3605  <noscript><div class="product__media media">
3606        <img src="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=1946" alt="Side profile view of Juni automatic pour-over coffee maker showing slim design" srcset="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=246 246w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=493 493w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=600 600w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=713 713w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=823 823w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=990 990w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=1100 1100w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=1206 1206w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=1346 1346w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=1426 1426w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=1646 1646w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=1946 1946w" width="1946" height="1946" loading="lazy" sizes="(min-width: 1650px) 853px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 768px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)">
3607      </div></noscript>
3608
3609  <modal-opener
3610    class="product__modal-opener product__modal-opener--image no-js-hidden"
3611    data-modal="#ProductModal-template--28135044186421__main"
3612  >
3613    <span
3614      class="product__media-icon motion-reduce quick-add-hidden product__media-icon--hover"
3615      aria-hidden="true"
3616    ><svg
3617  aria-hidden="true"
3618  focusable="false"
3619  class="icon icon-plus"
3620  width="19"
3621  height="19"
3622  viewBox="0 0 19 19"
3623  fill="none"
3624  xmlns="http://www.w3.org/2000/svg"
3625>
3626  <path fill-rule="evenodd" clip-rule="evenodd" d="M4.66724 7.93978C4.66655 7.66364 4.88984 7.43922 5.16598 7.43853L10.6996 7.42464C10.9758 7.42395 11.2002 7.64724 11.2009 7.92339C11.2016 8.19953 10.9783 8.42395 10.7021 8.42464L5.16849 8.43852C4.89235 8.43922 4.66793 8.21592 4.66724 7.93978Z" fill="currentColor"/>
3627  <path fill-rule="evenodd" clip-rule="evenodd" d="M7.92576 4.66463C8.2019 4.66394 8.42632 4.88723 8.42702 5.16337L8.4409 10.697C8.44159 10.9732 8.2183 11.1976 7.94215 11.
36271983C7.66601 11.199 7.44159 10.9757 7.4409 10.6995L7.42702 5.16588C7.42633 4.88974 7.64962 4.66532 7.92576 4.66463Z" fill="currentColor"/>
3628  <path fill-rule="evenodd" clip-rule="evenodd" d="M12.8324 3.03011C10.1255 0.323296 5.73693 0.323296 3.03011 3.03011C0.323296 5.73693 0.323296 10.1256 3.03011 12.8324C5.73693 15.5392 10.1255 15.5392 12.8324 12.8324C15.5392 10.1256 15.5392 5.73693 12.8324 3.03011ZM2.32301 2.32301C5.42035 -0.774336 10.4421 -0.774336 13.5395 2.32301C16.6101 5.39361 16.6366 10.3556 13.619 13.4588L18.2473 18.0871C18.4426 18.2824 18.4426 18.599 18.2473 18.7943C18.0521 18.9895 17.7355 18.9895 17.5402 18.7943L12.8778 14.1318C9.76383 16.6223 5.20839 16.4249 2.32301 13.5395C-0.774335 10.4421 -0.774335 5.42035 2.32301 2.32301Z" fill="currentColor"/>
3629</svg>
3630</span>
3631
3632<link href="//cosori.com/cdn/shop/t/166/assets/component-loading-spinner.css?v=116724955567955766481789674181" rel="stylesheet" type="text/css" media="all" />
3633
3634<div class="loading__spinner hidden">
3635  <svg
3636    aria-hidden="true"
3637    focusable="false"
3638    class="spinner"
3639    viewBox="0 0 66 66"
3640    xmlns="http://www.w3.org/2000/svg"
3641  >
3642    <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>
3643  </svg>
3644</div>
3645<div class="product__media media media--transparent">
3646      <img src="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=1946" alt="Side profile view of Juni automatic pour-over coffee maker showing slim design" srcset="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=246 246w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=493 493w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=600 600w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=713 713w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=823 823w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=990 990w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=1100 1100w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=1206 1206w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=1346 1346w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=1426 1426w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=1646 1646w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=1946 1946w" width="1946" height="1946" loading="lazy" class="image-magnify-hover" sizes="(min-width: 1650px) 853px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 768px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)">
3647    </div>
3648    <button
3649      class="product__media-toggle quick-add-hidden product__media-zoom-hover"
3650      type="button"
3651      aria-haspopup="dialog"
3652      data-media-id="56803603677493"
3653    >
3654      <span class="visually-hidden">
3655        Open media 6 in modal
3656      </span>
3657    </button>
3658  </modal-opener></div>
3659
3660          </li><li
3661            id="Slide-template--28135044186421__main-56803606888757"
3662            class="product__media-item grid__item slider__slide"
3663            data-media-id="template--28135044186421__main-56803606888757"
3664          >
3665
3666<div
3667  class="product-media-container media-type-image media-fit-contain global-media-settings gradient constrain-height"
3668  style="--ratio: 1.0; --preview-ratio: 1.0;"
3669>
3670  <noscript><div class="product__media media">
3671        <img src="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=1946" alt="Juni automatic pour-over coffee maker brewing directly into a cup, no carafe" srcset="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=246 246w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=493 493w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Backgroun
3671d_5.jpg?v=1788767614&amp;width=600 600w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=713 713w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=823 823w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=990 990w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=1100 1100w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=1206 1206w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=1346 1346w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=1426 1426w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=1646 1646w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=1946 1946w" width="1946" height="1946" loading="lazy" sizes="(min-width: 1650px) 853px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 768px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)">
3672      </div></noscript>
3673
3674  <modal-opener
3675    class="product__modal-opener product__modal-opener--image no-js-hidden"
3676    data-modal="#ProductModal-template--28135044186421__main"
3677  >
3678    <span
3679      class="product__media-icon motion-reduce quick-add-hidden product__media-icon--hover"
3680      aria-hidden="true"
3681    ><svg
3682  aria-hidden="true"
3683  focusable="false"
3684  class="icon icon-plus"
3685  width="19"
3686  height="19"
3687  viewBox="0 0 19 19"
3688  fill="none"
3689  xmlns="http://www.w3.org/2000/svg"
3690>
3691  <path fill-rule="evenodd" clip-rule="evenodd" d="M4.66724 7.93978C4.66655 7.66364 4.88984 7.43922 5.16598 7.43853L10.6996 7.42464C10.9758 7.42395 11.2002 7.64724 11.2009 7.92339C11.2016 8.19953 10.9783 8.42395 10.7021 8.42464L5.16849 8.43852C4.89235 8.43922 4.66793 8.21592 4.66724 7.93978Z" fill="currentColor"/>
3692  <path fill-rule="evenodd" clip-rule="evenodd" d="M7.92576 4.66463C8.2019 4.66394 8.42632 4.88723 8.42702 5.16337L8.4409 10.697C8.44159 10.9732 8.2183 11.1976 7.94215 11.1983C7.66601 11.199 7.44159 10.9757 7.4409 10.6995L7.42702 5.16588C7.42633 4.88974 7.64962 4.66532 7.92576 4.66463Z" fill="currentColor"/>
3693  <path fill-rule="evenodd" clip-rule="evenodd" d="M12.8324 3.03011C10.1255 0.323296 5.73693 0.323296 3.03011 3.03011C0.323296 5.73693 0.323296 10.1256 3.03011 12.8324C5.73693 15.5392 10.1255 15.5392 12.8324 12.8324C15.5392 10.1256 15.5392 5.73693 12.8324 3.03011ZM2.32301 2.32301C5.42035 -0.774336 10.4421 -0.774336 13.5395 2.32301C16.6101 5.39361 16.6366 10.3556 13.619 13.4588L18.2473 18.0871C18.4426 18.2824 18.4426 18.599 18.2473 18.7943C18.0521 18.9895 17.7355 18.9895 17.5402 18.7943L12.8778 14.1318C9.76383 16.6223 5.20839 16.4249 2.32301 13.5395C-0.774335 10.4421 -0.774335 5.42035 2.32301 2.32301Z" fill="currentColor"/>
3694</svg>
3695</span>
3696
3697<link href="//cosori.com/cdn/shop/t/166/assets/component-loading-spinner.css?v=116724955567955766481789674181" rel="stylesheet" type="text/css" media="all" />
3698
3699<div class="loading__spinner hidden">
3700  <svg
3701    aria-hidden="true"
3702    focusable="false"
3703    class="spinner"
3704    viewBox="0 0 66 66"
3705    xmlns="http://www.w3.org/2000/svg"
3706  >
3707    <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>
3708  </svg>
3709</div>
3710<div class="product__media media media--transparent">
3711      <img src="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=1946" alt="Juni automatic pour-over coffee maker brewing directly into a cup, no carafe" srcset="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=246 246w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=493 493w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=600 600w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=713 713w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=823 823w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Backgroun
3711d_5.jpg?v=1788767614&amp;width=990 990w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=1100 1100w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=1206 1206w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=1346 1346w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=1426 1426w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=1646 1646w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=1946 1946w" width="1946" height="1946" loading="lazy" class="image-magnify-hover" sizes="(min-width: 1650px) 853px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 768px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)">
3712    </div>
3713    <button
3714      class="product__media-toggle quick-add-hidden product__media-zoom-hover"
3715      type="button"
3716      aria-haspopup="dialog"
3717      data-media-id="56803606888757"
3718    >
3719      <span class="visually-hidden">
3720        Open media 7 in modal
3721      </span>
3722    </button>
3723  </modal-opener></div>
3724
3725          </li></ul><div class="product_slider_btn slider-buttons no-js-hidden quick-add-hidden small-hide">
3726        <button
3727          type="button"
3728          class="slider-button slider-button--prev"
3729          name="previous"
3730          aria-label="Slide left"
3731        >
3732          <svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
3733<path d="M39.583 25L10.4163 25" stroke="#87B18F" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
3734<path d="M25 39.583L10.4167 24.9997L25 10.4163" stroke="#87B18F" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
3735</svg>
3736
3737        </button>
3738        <div class="slider-counter caption">
3739          <span class="slider-counter--current">1</span>
3740          <span aria-hidden="true"> / </span>
3741          <span class="visually-hidden">of</span>
3742          <span class="slider-counter--total">6</span>
3743        </div>
3744        <button
3745          type="button"
3746          class="slider-button slider-button--next"
3747          name="next"
3748          aria-label="Slide right"
3749        >
3750          <svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
3751<path d="M10.417 25H39.5837" stroke="#87B18F" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
3752<path d="M25 10.417L39.5833 25.0003L25 39.5837" stroke="#87B18F" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
3753</svg>
3754
3755        </button>
3756      </div></slider-component><slider-component
3757      id="GalleryThumbnails-template--28135044186421__main"
3758      class="thumbnail-slider slider-mobile-gutter quick-add-hidden"
3759    >
3760      <button
3761        type="button"
3762        class="slider-button slider-button--prev"
3763        name="previous"
3764        aria-label="Slide left"
3765        aria-controls="GalleryThumbnails-template--28135044186421__main"
3766        data-step="3"
3767      >
3768        <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6">
3769  <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor">
3770</svg>
3771
3772      </button>
3773      <ul
3774        id="Slider-Thumbnails-template--28135044186421__main"
3775        class="thumbnail-list list-unstyled slider slider--mobile slider--tablet-up"
3776      ><li
3777            id="Slide-Thumbnails-template--28135044186421__main-0"
3778            class="thumbnail-list__item slider__slide thumbnail-list_item--variant"
3779            data-target="template--28135044186421__main-56695870030133"
3780            data-media-position="1"
3781          ><button
3782              class="thumbnail global-media-settings global-media-settings--no-shadow"
3783              aria-label="Load image 1 in gallery view"
3784              aria-current="true"
3785              aria-controls="GalleryViewer-template--28135044186421__main"
3786              aria-describedby="Thumbnail-template--28135044186421__main-0
3787"
3788            >
3789              <img src="//cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=416" alt="Juni automatic pour-over coffee maker with glass carafe and SCA certification badge" srcset="//cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=54 54w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=74 74w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=104 104w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=162 162w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=208 208w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=324 324w, //cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&amp;width=416 416w" width="416" height="371" loading="lazy" sizes="(min-width: 1650px) calc((853 - 4rem) / 4),
3790          (min-width: 990px) calc((55.0vw - 4rem) / 4),
3791          (min-width: 768px) calc((100vw - 15rem) / 8),
3792          calc((100vw - 8rem) / 3)" id="Thumbnail-template--28135044186421__main-0
3793">
3794            </button>
3795          </li><li
3796              id="Slide-Thumbnails-template--28135044186421__main-2"
3797              class="thumbnail-list__item slider__slide"
3798              data-target="template--28135044186421__main-56803289858357"
3799              data-media-position="2"
3800            ><button
3801                class="thumbnail global-media-settings global-media-settings--no-shadow"
3802                aria-label="Load image 2 in gallery view"
3803                
3804                aria-controls="GalleryViewer-template--28135044186421__main"
3805                aria-describedby="Thumbnail-template--28135044186421__main-2
3806"
3807              >
3808                <img src="//cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackgroun
3808d.jpg?v=1788767129&amp;width=416" alt="Front view of Juni automatic pour-over coffee maker with glass carafe and handle" srcset="//cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=54 54w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=74 74w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=104 104w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=162 162w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=208 208w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=324 324w, //cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&amp;width=416 416w" width="416" height="416" loading="lazy" sizes="(min-width: 1650px) calc((853 - 4rem) / 4),
3809          (min-width: 990px) calc((55.0vw - 4rem) / 4),
3810          (min-width: 768px) calc((100vw - 15rem) / 8),
3811          calc((100vw - 8rem) / 3)" id="Thumbnail-template--28135044186421__main-2
3812">
3813              </button>
3814            </li><li
3815              id="Slide-Thumbnails-template--28135044186421__main-3"
3816              class="thumbnail-list__item slider__slide thumbnail-list_item--variant"
3817              data-target="template--28135044186421__main-56803306930485"
3818              data-media-position="3"
3819            ><button
3820                class="thumbnail global-media-settings global-media-settings--no-shadow"
3821                aria-label="Load image 3 in gallery view"
3822                
3823                aria-controls="GalleryViewer-template--28135044186421__main"
3824                aria-describedby="Thumbnail-template--28135044186421__main-3
3825"
3826              >
3827                <img src="//cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=416" alt="Juni automatic pour-over coffee maker with brew basket and glass carafe, front angle" srcset="//cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=54 54w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=74 74w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=104 104w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=162 162w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=208 208w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=324 324w, //cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&amp;width=416 416w" width="416" height="416" loading="lazy" sizes="(min-width: 1650px) calc((853 - 4rem) / 4),
3828          (min-width: 990px) calc((55.0vw - 4rem) / 4),
3829          (min-width: 768px) calc((100vw - 15rem) / 8),
3830          calc((100vw - 8rem) / 3)" id="Thumbnail-template--28135044186421__main-3
3831">
3832              </button>
3833            </li><li
3834              id="Slide-Thumbnails-template--28135044186421__main-4"
3835              class="thumbnail-list__item slider__slide"
3836              data-target="template--28135044186421__main-56803574874421"
3837              data-media-position="4"
3838            ><button
3839                class="thumbnail global-media-settings global-media-settings--no-shadow"
3840                aria-label="Load image 4 in gallery view"
3841                
3842                aria-controls="GalleryViewer-template--28135044186421__main"
3843                aria-describedby="Thumbnail-template--28135044186421__main-4
3844"
3845              >
3846                <img src="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=416" alt="Close-up of Juni coffee maker control panel and base with brew settings buttons" srcset="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=54 54w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=74 74w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=104 104w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Backgroun
3846d_1.jpg?v=1788767561&amp;width=162 162w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=208 208w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=324 324w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&amp;width=416 416w" width="416" height="416" loading="lazy" sizes="(min-width: 1650px) calc((853 - 4rem) / 4),
3847          (min-width: 990px) calc((55.0vw - 4rem) / 4),
3848          (min-width: 768px) calc((100vw - 15rem) / 8),
3849          calc((100vw - 8rem) / 3)" id="Thumbnail-template--28135044186421__main-4
3850">
3851              </button>
3852            </li><li
3853              id="Slide-Thumbnails-template--28135044186421__main-5"
3854              class="thumbnail-list__item slider__slide"
3855              data-target="template--28135044186421__main-56803595059509"
3856              data-media-position="5"
3857            ><button
3858                class="thumbnail global-media-settings global-media-settings--no-shadow"
3859                aria-label="Load image 5 in gallery view"
3860                
3861                aria-controls="GalleryViewer-template--28135044186421__main"
3862                aria-describedby="Thumbnail-template--28135044186421__main-5
3863"
3864              >
3865                <img src="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=416" alt="Juni automatic pour-over coffee maker, full front view with pour-over brew basket" srcset="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=54 54w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=74 74w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=104 104w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=162 162w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=208 208w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=324 324w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&amp;width=416 416w" width="416" height="416" loading="lazy" sizes="(min-width: 1650px) calc((853 - 4rem) / 4),
3866          (min-width: 990px) calc((55.0vw - 4rem) / 4),
3867          (min-width: 768px) calc((100vw - 15rem) / 8),
3868          calc((100vw - 8rem) / 3)" id="Thumbnail-template--28135044186421__main-5
3869">
3870              </button>
3871            </li><li
3872              id="Slide-Thumbnails-template--28135044186421__main-6"
3873              class="thumbnail-list__item slider__slide"
3874              data-target="template--28135044186421__main-56803603677493"
3875              data-media-position="6"
3876            ><button
3877                class="thumbnail global-media-settings global-media-settings--no-shadow"
3878                aria-label="Load image 6 in gallery view"
3879                
3880                aria-controls="GalleryViewer-template--28135044186421__main"
3881                aria-describedby="Thumbnail-template--28135044186421__main-6
3882"
3883              >
3884                <img src="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=416" alt="Side profile view of Juni automatic pour-over coffee maker showing slim design" srcset="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=54 54w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=74 74w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=104 104w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=162 162w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=208 208w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=324 324w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&amp;width=416 416w" width="416" height="416" loading="lazy" sizes="(min-width: 1650px) calc((853 - 4rem) / 4),
3885          (min-width: 990px) calc((55.0vw - 4rem) / 4),
3886          (min-width: 768px) calc((100vw - 15rem) / 8),
3887          calc((100vw - 8rem) / 3)" id="Thumbnail-template--28135044186421__main-6
3888">
3889              </button>
3890            </li><li
3891              id="Slide-Thumbnails-template--28135044186421__main-7"
3892              class="thumbnail-list__item slider__slide"
3893              data-target="template--28135044186421__main-56803606888757"
3894              data-media-position="7"
3895            ><button
3896                class="thumbnail global-media-settings global-media-settings--no-shadow"
3897                aria-label="Load image 7 in gallery view"
3898                
3899                aria-controls="GalleryViewer-template--28135044186421__main"
3900                aria-describedby="Thumbnail-template--28135044186421__main-7
3901"
3902              >
3903                <img src="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Backgroun
3903d_5.jpg?v=1788767614&amp;width=416" alt="Juni automatic pour-over coffee maker brewing directly into a cup, no carafe" srcset="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=54 54w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=74 74w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=104 104w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=162 162w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=208 208w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=324 324w, //cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&amp;width=416 416w" width="416" height="416" loading="lazy" sizes="(min-width: 1650px) calc((853 - 4rem) / 4),
3904          (min-width: 990px) calc((55.0vw - 4rem) / 4),
3905          (min-width: 768px) calc((100vw - 15rem) / 8),
3906          calc((100vw - 8rem) / 3)" id="Thumbnail-template--28135044186421__main-7
3907">
3908              </button>
3909            </li></ul>
3910      <button
3911        type="button"
3912        class="slider-button slider-button--next"
3913        name="next"
3914        aria-label="Slide right"
3915        aria-controls="GalleryThumbnails-template--28135044186421__main"
3916        data-step="3"
3917      >
3918        <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6">
3919  <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor">
3920</svg>
3921
3922      </button>
3923    </slider-component></media-gallery>
3924
3925      </div>
3926      <div class="product__info-wrapper product_info_main grid__item">
3927        <product-info
3928          id="ProductInfo-template--28135044186421__main"
3929          data-section="template--28135044186421__main"
3930          data-url="/products/juni-coffee-maker"
3931          class="product__info-container"
3932        ><div id="shopify-block-AZFJtazdqMkJPa3BvL__bazaarvoice_reviews_photos_rating_summary_block_6pQPjg" class="shopify-block shopify-app-block">
3933  
3934
3935  
3936
3937  
3938    
3939      <div data-bv-show="rating_summary" data-bv-seo="true" data-bv-product-id="10566370951477"> </div>
3940    
3941  
3942
3943
3944
3945</div>�<div class="product__title" >
3946                  <h1>Juni™ The Automatic Pour-Over Coffee Machine</h1>
3947                  <a href="/products/juni-coffee-maker" class="product__title">
3948                    <h2 class="h1">
3949                      Juni™ The Automatic Pour-Over Coffee Machine
3950                    </h2>
3951                  </a>
3952
3953                  
3954                </div><p
3955                  class="product__text inline-richtext"
3956                  
3957                >CCM-P151S-KUS, CCM-P151S-WUS </p><div class="product__description rte quick-add-hidden" >
3958                    <p class="p1">Brew barista-level, pour-over coffee without the guesswork. Juni is designed for <span class="s1">all experience levels, from</span> those new to pour-over with quick brew functionality and AI recipe generation, or expert-level brewers who want complete control of every parameter. With <span class="s1">built-in</span> taste intelligence, Juni adapts to your taste with each pour to achieve your perfect cup consistently.</p>
3959                  </div>
3960<variant-selects
3961    id="variant-selects-template--28135044186421__main"
3962    class="no-js-hidden"
3963    data-section="template--28135044186421__main"
3964    data-url="/products/juni-coffee-maker"
3965    
3966    
3967  ><fieldset class="js product-form__input product-form__input--pill">
3968          <legend class="form__label">Material</legend>
3969          
3970
3971<input
3972      type="radio"
3973      id="template--28135044186421__main-1-0"
3974      name="Material"
3975      value="Glass"
3976      form="product-form-template--28135044186421__main"
3977      
3978        checked
3979      
3980      
3981    >
3982    <label for="template--28135044186421__main-1-0">
3983      Glass
3984    <span class="visually-hidden label-unavailable">Variant sold out or unavailable</span>
3985    </label>
3986<input
3987      type="radio"
3988      id="template--28135044186421__main-1-1"
3989      name="Material"
3990      value="Stainless steel"
3991      form="product-form-template--28135044186421__main"
3992      
3993      
3994    >
3995    <label for="template--28135044186421__main-1-1">
3996      Stainless steel
3997    <span class="visually-hidden label-unavailable">Variant sold out or unavailable</span>
3998    </label>
3999        </fieldset>
3999<script type="application/json">
4000      [{"id":53460911227189,"title":"Glass","option1":"Glass","option2":null,"option3":null,"sku":"KAAPCMCSSUS0001Y","requires_shipping":true,"taxable":true,"featured_image":{"id":67440796795189,"product_id":10566370951477,"position":1,"created_at":"2026-09-01T13:47:45-07:00","updated_at":"2026-09-01T13:47:46-07:00","alt":"Juni automatic pour-over coffee maker with glass carafe and SCA certification badge","width":1344,"height":1197,"src":"\/\/cosori.com\/cdn\/shop\/files\/PDP_Image01_1.png?v=1788295666","variant_ids":[53460911227189]},"available":true,"name":"Juni™ The Automatic Pour-Over Coffee Machine - Glass","public_title":"Glass","options":["Glass"],"price":29999,"weight":0,"compare_at_price":29999,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":"Juni automatic pour-over coffee maker with glass carafe and SCA certification badge","id":56695870030133,"position":1,"preview_image":{"aspect_ratio":1.123,"height":1197,"width":1344,"src":"\/\/cosori.com\/cdn\/shop\/files\/PDP_Image01_1.png?v=1788295666"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53460911259957,"title":"Stainless steel","option1":"Stainless steel","option2":null,"option3":null,"sku":"KAAPCMCSSUS0002Y","requires_shipping":true,"taxable":true,"featured_image":{"id":67548984181045,"product_id":10566370951477,"position":3,"created_at":"2026-09-07T00:45:49-07:00","updated_at":"2026-09-07T00:45:50-07:00","alt":"Juni automatic pour-over coffee maker with brew basket and glass carafe, front angle","width":699,"height":699,"src":"\/\/cosori.com\/cdn\/shop\/files\/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150","variant_ids":[53460911259957]},"available":true,"name":"Juni™ The Automatic Pour-Over Coffee Machine - Stainless steel","public_title":"Stainless steel","options":["Stainless steel"],"price":34999,"weight":0,"compare_at_price":29999,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":"Juni automatic pour-over coffee maker with brew basket and glass carafe, front angle","id":56803306930485,"position":3,"preview_image":{"aspect_ratio":1.0,"height":699,"width":699,"src":"\/\/cosori.com\/cdn\/shop\/files\/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}]
4001    </script>
4001
4002  </variant-selects><noscript class="product-form__noscript-wrapper-template--28135044186421__main">
4003  <div class="product-form__input">
4004    <label class="form__label" for="Variants-template--28135044186421__main">Product variants</label>
4005    <div class="select">
4006      <select
4007        name="id"
4008        id="Variants-template--28135044186421__main"
4009        class="select__select"
4010        form="product-form-template--28135044186421__main"
4011      ><option
4012            
4013              selected="selected"
4014            
4015            
4016            value="53460911227189"
4017          >Glass - $299.99</option><option
4018            
4019            
4020            value="53460911259957"
4021          >Stainless steel - $349.99</option></select>
4022      <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6">
4023  <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor">
4024</svg>
4025
4026    </div>
4027  </div>
4028</noscript>
4029�<div
4030                  id="Quantity-Form-template--28135044186421__main"
4031                  class="product-form__input product-form__quantity"
4032                  
4033                >
4034                  
4035                  �
4036                  <label class="quantity__label form__label" for="Quantity-template--28135044186421__main">
4037                    Quantity:
4038                    <span class="quantity__rules-cart no-js-hidden hidden">
4039
4040<link href="//cosori.com/cdn/shop/t/166/assets/component-loading-spinner.css?v=116724955567955766481789674181" rel="stylesheet" type="text/css" media="all" />
4041
4042<div class="loading__spinner hidden">
4043  <svg
4044    aria-hidden="true"
4045    focusable="false"
4046    class="spinner"
4047    viewBox="0 0 66 66"
4048    xmlns="http://www.w3.org/2000/svg"
4049  >
4050    <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>
4051  </svg>
4052</div>
4053<span
4054                        >(<span class="quantity-cart">0</span> in cart)</span
4055                      >
4056                    </span>
4057                  </label>
4058                  <div class="price-per-item__container">
4059                    <quantity-input class="quantity" data-url="/products/juni-coffee-maker" data-section="template--28135044186421__main">
4060                      <button class="quantity__button no-js-hidden" name="minus" type="button">
4061                        <span class="visually-hidden">Decrease quantity for Juni™ The Automatic Pour-Over Coffee Machine</span>
4062                        <svg
4063  xmlns="http://www.w3.org/2000/svg"
4064  aria-hidden="true"
4065  focusable="false"
4066  class="icon icon-minus"
4067  fill="none"
4068  viewBox="0 0 10 2"
4069>
4070  <path fill-rule="evenodd" clip-rule="evenodd" d="M.5 1C.5.7.7.5 1 .5h8a.5.5 0 110 1H1A.5.5 0 01.5 1z" fill="currentColor">
4071</svg>
4072
4073                      </button>
4074                      <input
4075                        class="quantity__input"
4076                        type="number"
4077                        name="quantity"
4078                        id="Quantity-template--28135044186421__main"
4079                        data-cart-quantity="0"
4080                        data-min="1"
4081                        min="1"
4082                        
4083                        step="1"
4084                        value="1"
4085                        form="product-form-template--28135044186421__main"
4086                      >
4087                      <button class="quantity__button no-js-hidden" name="plus" type="button">
4088                        <span class="visually-hidden">Increase quantity for Juni™ The Automatic Pour-Over Coffee Machine</span>
4089                        <svg
4090  xmlns="http://www.w3.org/2000/svg"
4091  aria-hidden="true"
4092  focusable="false"
4093  class="icon icon-plus"
4094  fill="none"
4095  viewBox="0 0 10 10"
4096>
4097  <path fill-rule="evenodd" clip-rule="evenodd" d="M1 4.51a.5.5 0 000 1h3.5l.01 3.5a.5.5 0 001-.01V5.5l3.5-.01a.5.5 0 00-.01-1H5.5L5.49.99a.5.5 0 00-1 .01v3.5l-3.5.01H1z" fill="currentColor">
4098</svg>
4099
4100                      </button>
4101                    </quantity-input></div>
4102                  <div class="quantity__rules caption no-js-hidden" id="Quantity-Rules-template--28135044186421__main"></div></div><div
4103                  class="price_main no-js-hidden"
4104                  id="price-template--28135044186421__main"
4105                  role="status"
4106                  
4107                >
4108<div
4109  class="
4110    price price-v2 price--large price--show-badge"
4111>
4112  <div class="price__container"><div class="price__regular"><span class="visually-hidden visually-hidden--inline">Regular price</span>
4113        <span class="price-item price-item--regular">
4114          $299.99
4115        </span></div>
4116    <div class="price__sale">
4117      
4117<script>
4118        console.log('Debug current_variant:', {"id":53460911227189,"title":"Glass","option1":"Glass","option2":null,"option3":null,"sku":"KAAPCMCSSUS0001Y","requires_shipping":true,"taxable":true,"featured_image":{"id":67440796795189,"product_id":10566370951477,"position":1,"created_at":"2026-09-01T13:47:45-07:00","updated_at":"2026-09-01T13:47:46-07:00","alt":"Juni automatic pour-over coffee maker with glass carafe and SCA certification badge","width":1344,"height":1197,"src":"\/\/cosori.com\/cdn\/shop\/files\/PDP_Image01_1.png?v=1788295666","variant_ids":[53460911227189]},"available":true,"name":"Juni™ The Automatic Pour-Over Coffee Machine - Glass","public_title":"Glass","options":["Glass"],"price":29999,"weight":0,"compare_at_price":29999,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":"Juni automatic pour-over coffee maker with glass carafe and SCA certification badge","id":56695870030133,"position":1,"preview_image":{"aspect_ratio":1.123,"height":1197,"width":1344,"src":"\/\/cosori.com\/cdn\/shop\/files\/PDP_Image01_1.png?v=1788295666"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}});
4119        console.log('Debug product:', {"id":10566370951477,"title":"Juni™ The Automatic Pour-Over Coffee Machine","handle":"juni-coffee-maker","description":"\u003cp class=\"p1\"\u003eBrew barista-level, pour-over coffee without the guesswork. Juni is designed for \u003cspan class=\"s1\"\u003eall experience levels, from\u003c\/span\u003e those new to pour-over with quick brew functionality and AI recipe generation, or expert-level brewers who want complete control of every parameter. With \u003cspan class=\"s1\"\u003ebuilt-in\u003c\/span\u003e taste intelligence, Juni adapts to your taste with each pour to achieve your perfect cup consistently.\u003c\/p\u003e","published_at":"2026-09-08T00:01:07-07:00","created_at":"2026-06-24T03:41:42-07:00","vendor":"COSORI","type":"","tags":[],"price":29999,"price_min":29999,"price_max":34999,"available":true,"price_varies":true,"compare_at_price":29999,"compare_at_price_min":29999,"compare_at_price_max":29999,"compare_at_price_varies":false,"variants":[{"id":53460911227189,"title":"Glass","option1":"Glass","option2":null,"option3":null,"sku":"KAAPCMCSSUS0001Y","requires_shipping":true,"taxable":true,"featured_image":{"id":67440796795189,"product_id":10566370951477,"position":1,"created_at":"2026-09-01T13:47:45-07:00","updated_at":"2026-09-01T13:47:46-07:00","alt":"Juni automatic pour-over coffee maker with glass carafe and SCA certification badge","width":1344,"height":1197,"src":"\/\/cosori.com\/cdn\/shop\/files\/PDP_Image01_1.png?v=1788295666","variant_ids":[53460911227189]},"available":true,"name":"Juni™ The Automatic Pour-Over Coffee Machine - Glass","public_title":"Glass","options":["Glass"],"price":29999,"weight":0,"compare_at_price":29999,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":"Juni automatic pour-over coffee maker with glass carafe and SCA certification badge","id":56695870030133,"position":1,"preview_image":{"aspect_ratio":1.123,"height":1197,"width":1344,"src":"\/\/cosori.com\/cdn\/shop\/files\/PDP_Image01_1.png?v=1788295666"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53460911259957,"title":"Stainless steel","option1":"Stainless steel","option2":null,"option3":null,"sku":"KAAPCMCSSUS0002Y","requires_shipping":true,"taxable":true,"featured_image":{"id":67548984181045,"product_id":10566370951477,"position":3,"created_at":"2026-09-07T00:45:49-07:00","updated_at":"2026-09-07T00:45:50-07:00","alt":"Juni automatic pour-over coffee maker with brew basket and glass carafe, front angle","width":699,"height":699,"src":"\/\/cosori.com\/cdn\/shop\/files\/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150","variant_ids":[53460911259957]},"available":true,"name":"Juni™ The Automatic Pour-Over Coffee Machine - Stainless steel","public_title":"Stainless steel","options":["Stainless steel"],"price":34999,"weight":0,"compare_at_price":29999,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":"Juni automatic pour-over coffee maker with brew basket and glass carafe, front angle","id":56803306930485,"position":3,"preview_image":{"aspect_ratio":1.0,"height":699,"width":699,"src":"\/\/cosori.com\/cdn\/shop\/files\/JuniStainlessCarafeWhiteBackgroun
4119d_1.jpg?v=1788767150"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/cosori.com\/cdn\/shop\/files\/PDP_Image01_1.png?v=1788295666","\/\/cosori.com\/cdn\/shop\/files\/JuniGlassCarafeWhiteBackground.jpg?v=1788767129","\/\/cosori.com\/cdn\/shop\/files\/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150","\/\/cosori.com\/cdn\/shop\/files\/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561","\/\/cosori.com\/cdn\/shop\/files\/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590","\/\/cosori.com\/cdn\/shop\/files\/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607","\/\/cosori.com\/cdn\/shop\/files\/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614"],"featured_image":"\/\/cosori.com\/cdn\/shop\/files\/PDP_Image01_1.png?v=1788295666","options":["Material"],"media":[{"alt":"Juni automatic pour-over coffee maker with glass carafe and SCA certification badge","id":56695870030133,"position":1,"preview_image":{"aspect_ratio":1.123,"height":1197,"width":1344,"src":"\/\/cosori.com\/cdn\/shop\/files\/PDP_Image01_1.png?v=1788295666"},"aspect_ratio":1.123,"height":1197,"media_type":"image","src":"\/\/cosori.com\/cdn\/shop\/files\/PDP_Image01_1.png?v=1788295666","width":1344},{"alt":"Front view of Juni automatic pour-over coffee maker with glass carafe and handle","id":56803289858357,"position":2,"preview_image":{"aspect_ratio":1.0,"height":700,"width":700,"src":"\/\/cosori.com\/cdn\/shop\/files\/JuniGlassCarafeWhiteBackground.jpg?v=1788767129"},"aspect_ratio":1.0,"height":700,"media_type":"image","src":"\/\/cosori.com\/cdn\/shop\/files\/JuniGlassCarafeWhiteBackground.jpg?v=1788767129","width":700},{"alt":"Juni automatic pour-over coffee maker with brew basket and glass carafe, front angle","id":56803306930485,"position":3,"preview_image":{"aspect_ratio":1.0,"height":699,"width":699,"src":"\/\/cosori.com\/cdn\/shop\/files\/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150"},"aspect_ratio":1.0,"height":699,"media_type":"image","src":"\/\/cosori.com\/cdn\/shop\/files\/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150","width":699},{"alt":"Close-up of Juni coffee maker control panel and base with brew settings buttons","id":56803574874421,"position":4,"preview_image":{"aspect_ratio":1.0,"height":700,"width":700,"src":"\/\/cosori.com\/cdn\/shop\/files\/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561"},"aspect_ratio":1.0,"height":700,"media_type":"image","src":"\/\/cosori.com\/cdn\/shop\/files\/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561","width":700},{"alt":"Juni automatic pour-over coffee maker, full front view with pour-over brew basket","id":56803595059509,"position":5,"preview_image":{"aspect_ratio":1.0,"height":700,"width":700,"src":"\/\/cosori.com\/cdn\/shop\/files\/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590"},"aspect_ratio":1.0,"height":700,"media_type":"image","src":"\/\/cosori.com\/cdn\/shop\/files\/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590","width":700},{"alt":"Side profile view of Juni automatic pour-over coffee maker showing slim design","id":56803603677493,"position":6,"preview_image":{"aspect_ratio":1.0,"height":700,"width":700,"src":"\/\/cosori.com\/cdn\/shop\/files\/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607"},"aspect_ratio":1.0,"height":700,"media_type":"image","src":"\/\/cosori.com\/cdn\/shop\/files\/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607","width":700},{"alt":"Juni automatic pour-over coffee maker brewing directly into a cup, no carafe","id":56803606888757,"position":7,"preview_image":{"aspect_ratio":1.0,"height":700,"width":700,"src":"\/\/cosori.com\/cdn\/shop\/files\/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614"},"aspect_ratio":1.0,"height":700,"media_type":"image","src":"\/\/cosori.com\/cdn\/shop\/files\/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614","width":700}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp class=\"p1\"\u003eBrew barista-level, pour-over coffee without the guesswork. Juni is designed for \u003cspan class=\"s1\"\u003eall experience levels, from\u003c\/span\u003e those new to pour-over with quick brew functionality and AI recipe generation, or expert-level brewers who want complete control of every parameter. With \u003cspan class=\"s1\"\u003ebuilt-in\u003c\/span\u003e taste intelligence, Juni adapts to your taste with each pour to achieve your perfect cup consistently.\u003c\/p\u003e"});
4120      </script>
4120
4121<span class="visually-hidden visually-hidden--inline">Sale price</span>
4122        <span class="price-item price-item--sale price-item--last"></span></div>
4123    <small class="unit-price caption hidden">
4124      <span class="visually-hidden">Unit price</span>
4125      <span class="price-item price-item--last">
4126        <span></span>
4127        <span aria-hidden="true">/</span>
4128        <span class="visually-hidden">&nbsp;per&nbsp;</span>
4129        <span>
4130        </span>
4131      </span>
4132    </small>
4133  </div>
4134  
4135</div>
4136</div><div class="product__tax caption rte"><a href="/policies/shipping-policy">Shipping</a> calculated at checkout.�</div>
4137
4138                
4139
4140              
4141<div class="buy-buttons" >
4142  <div><product-form
4143        class="product-form"
4144        data-hide-errors="false"
4145        data-section-id="template--28135044186421__main"
4146        data-price="$299.99"
4147      >
4148        <div class="product-form__error-message-wrapper" role="alert" hidden>
4149          <svg
4150            aria-hidden="true"
4151            focusable="false"
4152            class="icon icon-error"
4153            viewBox="0 0 13 13"
4154          >
4155            <circle cx="6.5" cy="6.50049" r="5.5" stroke="white" stroke-width="2"/>
4156            <circle cx="6.5" cy="6.5" r="5.5" fill="#EB001B" stroke="#EB001B" stroke-width="0.7"/>
4157            <path d="M5.87413 3.52832L5.97439 7.57216H7.02713L7.12739 3.52832H5.87413ZM6.50076 9.66091C6.88091 9.66091 7.18169 9.37267 7.18169 9.00504C7.18169 8.63742 6.88091 8.34917 6.50076 8.34917C6.12061 8.34917 5.81982 8.63742 5.81982 9.00504C5.81982 9.37267 6.12061 9.66091 6.50076 9.66091Z" fill="white"/>
4158            <path d="M5.87413 3.17832H5.51535L5.52424 3.537L5.6245 7.58083L5.63296 7.92216H5.97439H7.02713H7.36856L7.37702 7.58083L7.47728 3.537L7.48617 3.17832H7.12739H5.87413ZM6.50076 10.0109C7.06121 10.0109 7.5317 9.57872 7.5317 9.00504C7.5317 8.43137 7.06121 7.99918 6.50076 7.99918C5.94031 7.99918 5.46982 8.43137 5.46982 9.00504C5.46982 9.57872 5.94031 10.0109 6.50076 10.0109Z" fill="white" stroke="#EB001B" stroke-width="0.7">
4159          </svg>
4160          <span class="product-form__error-message"></span>
4161        </div><form method="post" action="/cart/add" id="product-form-template--28135044186421__main" accept-charset="UTF-8" class="form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
4162            type="hidden"
4163            name="id"
4164            value="53460911227189"
4165            
4166            class="product-variant-id"
4167          ><div class="product-form__buttons"><div class="btn_parent">
4168              <button
4169                id="ProductSubmitButton-template--28135044186421__main"
4170                type="submit"
4171                name="add"
4172                class="product-form__submit button button--full-width button--secondary"
4173                data-dtc-add-to-cart�data-v-gtm-event="add_to_cart"data-v-gtm-module="Product Details Page"data-v-gtm-button_name="Add to cart"data-v-gtm-item-id="KAAPC
4173MCSSUS0001Y"data-v-gtm-product-id="10566370951477"data-v-gtm-variant-id="53460911227189"data-v-gtm-item-name="Juni™ The Automatic Pour-Over Coffee Machine"data-v-gtm-item-variant="Glass"data-v-gtm-price="299.99"data-v-gtm-quantity="1"data-v-gtm-discount="0"data-v-gtm-index="1"data-v-gtm-item-list-id="Product Details Page"data-v-gtm-item-list-name="Product Details Page"
4174              >
4175                <span>Add to cart�</span>
4176
4177<link href="//cosori.com/cdn/shop/t/166/assets/component-loading-spinner.css?v=116724955567955766481789674181" rel="stylesheet" type="text/css" media="all" />
4178
4179<div class="loading__spinner hidden">
4180  <svg
4181    aria-hidden="true"
4182    focusable="false"
4183    class="spinner"
4184    viewBox="0 0 66 66"
4185    xmlns="http://www.w3.org/2000/svg"
4186  >
4187    <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>
4188  </svg>
4189</div>
4190</button>
4191            </div><div
4192                class="btn_parent product-form__dynamic-checkout dtc-product-form__dynamic-checkout dtc-dynamic-checkout--loading"data-v-gtm-event="express_checkout"data-v-gtm-module="Product Details Page"data-v-gtm-item-id="KAAPC
4192MCSSUS0001Y"data-v-gtm-product-id="10566370951477"data-v-gtm-variant-id="53460911227189"data-v-gtm-item-name="Juni™ The Automatic Pour-Over Coffee Machine"data-v-gtm-item-variant="Glass"data-v-gtm-price="299.99"data-v-gtm-quantity="1"data-v-gtm-discount="0"data-v-gtm-index="1"data-v-gtm-item-list-id="Product Details Page"data-v-gtm-item-list-name="Product Details Page">
4193                <div data-shopify="payment-button" class="shopify-payment-button"> <shopify-accelerated-checkout recommended="{&quot;supports_subs&quot;:true,&quot;supports_def_opts&quot;:false,&quot;name&quot;:&quot;shop_pay&quot;,&quot;wallet_params&quot;:{&quot;shopId&quot;:74265723189,&quot;merchantName&quot;:&quot;COSORI&quot;,&quot;personalized&quot;:true}}" fallback="{&quot;supports_subs&quot;:true,&quot;supports_def_opts&quot;:true,&quot;name&quot;:&quot;buy_it_now&quot;,&quot;wallet_params&quot;:{}}" access-token="91c6a17a7aa75bdcc543b074d063db88" buyer-country="US" buyer-locale="en" buyer-currency="USD" variant-params="[{&quot;id&quot;:53460911227189,&quot;requiresShipping&quot;:true},{&quot;id&quot;:53460911259957,&quot;requiresShipping&quot;:true}]" shop-id="74265723189" enabled-flags="[&quot;1172c16a&quot;,&quot;a1d1f9a1&quot;,&quot;f5afabb3&quot;,&quot;370070f3&quot;]" > <div class="shopify-payment-button__button" role="button" disabled aria-hidden="true" style="background-color: transparent; border: none"> <div class="shopify-payment-button__skeleton">&nbsp;</div> </div> <div class="shopify-payment-button__more-options shopify-payment-button__skeleton" role="button" disabled aria-hidden="true">&nbsp;</div> </shopify-accelerated-checkout> </div>
4194              </div></div><input type="hidden" name="product-id" value="10566370951477" /><input type="hidden" name="section-id" value="template--28135044186421__main" /></form></product-form></div>
4195  
4195<script>
4196    var variantSku = "KAAPCMCSSUS0001Y";
4197    console.log("Product variant sku is: ", variantSku);
4198  </script>
4198
4199  <div class="product_extra_btn"><div
4200      class="button ps-widget"
4201      ps-sku="KAAPCMCSSUS0001Y"
4202      ps-widget-type="lightbox"
4203    ></div>
4204  </div><link href="//cosori.com/cdn/shop/t/166/assets/component-pickup-availability.css?v=75280788494841395931789674181" rel="stylesheet" type="text/css" media="all" />�<pickup-availability
4205      class="product__pickup-availabilities no-js-hidden quick-add-hidden"
4206      
4207      data-root-url="/"
4208      data-variant-id="53460911227189"
4209      data-has-only-default-variant="false"
4210      data-product-page-color-scheme="gradient color-scheme-1"
4211    >
4212      <template>
4213        <pickup-availability-preview class="pickup-availability-preview">
4214          <svg
4215  xmlns="http://www.w3.org/2000/svg"
4216  fill="none"
4217  aria-hidden="true"
4218  focusable="false"
4219  class="icon icon-unavailable"
4220  fill="none"
4221  viewBox="0 0 20 20"
4222>
4223  <path fill="#DE3618" stroke="#fff" d="M13.94 3.94L10 7.878l-3.94-3.94A1.499 1.499 0 103.94 6.06L7.88 10l-3.94 3.94a1.499 1.499 0 102.12 2.12L10 12.12l3.94 3.94a1.497 1.497 0 002.12 0 1.499 1.499 0 000-2.12L12.122 10l3.94-3.94a1.499 1.499 0 10-2.121-2.12z"/>
4224</svg>
4225
4226          <div class="pickup-availability-info">
4227            <p class="caption-large">Couldn&#39;t load pickup availability</p>
4228            <button class="pickup-availability-button link link--text underlined-link">
4229              Refresh
4230            </button>
4231          </div>
4232        </pickup-availability-preview>
4233      </template>
4234    </pickup-availability>
4235
4236    
4236<script src="//cosori.com/cdn/shop/t/166/assets/pickup-availability.js?v=66138958121968076331789674181" defer="defer"></script>
4236</div>
4237
4238                �<div class="product_highlight_main">
4239            <h2 class="product-small-heading">Why shop with us:</h2>
4240            <div class="why_shop_with_content">
4241              
4242                
4243                
4244                
4245                
4246                
4247                
4248                
4249                
4250                
4251                
4252                    <div class="why_icon_text_item">
4253                      
4254                        <div class="v-image "><picture><img src="//cosori.com/cdn/shop/files/IRON_-_FREESHIPPING.svg?v=1753174442&amp;width=32" alt="image" width="32" height="32" loading="lazy" sizes="(max-width: 767px) 32px, 32px" style="--image-max-width: 32px; --image-mobile-max-width: 32px"></picture>
4255  </div><style></style>
4256
4257                      
4258                      <p>Free Shipping</p>
4259                    </div>
4260                
4261                    <div class="why_icon_text_item">
4262                      
4263                        <div class="v-image "><picture><img src="//cosori.com/cdn/shop/files/ICON_-_WARRANTY.svg?v=1753174442&amp;width=32" alt="image" width="32" height="32" loading="lazy" sizes="(max-width: 767px) 32px, 32px" style="--image-max-width: 32px; --image-mobile-max-width: 32px"></picture>
4264  </div><style></style>
4265
4266                      
4267                      <p>2-Year Limited Warranty</p>
4268                    </div>
4269                
4270                    <div class="why_icon_text_item">
4271                      
4272                        <div class="v-image "><picture><img src="//cosori.com/cdn/shop/files/ICONS-_FreeReturns.svg?v=1753174441&amp;width=32" alt="image" width="32" height="32" loading="lazy" sizes="(max-width: 767px) 32px, 32px" style="--image-max-width: 32px; --image-mobile-max-width: 32px"></picture>
4273  </div><style></style>
4274
4275                      
4276                      <p>30-Day Free Returns</p>
4277                    </div>
4278            </div>
4279          </div>
4280
4281          <div
4282            class="product_accordian_main"
4283            data-v-gtm-product-accordion
4284            data-v-gtm-module="Product Details Page"
4285          ><details
4286                id="Details--template--28135044186421__main-"
4287                class="border-b"
4288                rotate-icon
4289              >
4290                <summary class="product-accordian-title">
4291                  <p class="p_accordian_title">Product Specs</p>
4292                  <div class="plusminus"></div>
4293                </summary>
4294                <div
4295                  class=" pb-3"
4296                  id="ProductAccordion--template--28135044186421__main-"
4297                >
4298                  <ul class="flex flex-col gap-2 pl-6"><li>
4299                        <strong>Power Supply</strong>: 120V
4300                      </li><li>
4301                        <strong>Rated Power</strong>:  1,500W
4302                      </li><li>
4303                        <strong>Capacity</strong>: 1.6 qt / 1.5 L
4304                      </li><li>
4305                        <strong>Temperature Range</strong>: 176°–205°F / 80°–96°C 
4306                      </li><li>
4307                        <strong>Time Range</strong>: 1–15 min
4308                      </li><li>
4309                        <strong>Dimensions</strong>: 15.2 × 8.9 × 12.4 in / 38.5 × 22.5 × 31.5 cm
4310                      </li><li>
4311                        <strong>Weight (Without Carafe)</strong>: 8.4 lb / 3.8 kg
4312                      </li>
4313                      <li><strong>Model Number</strong>: CCM-P151S-KUS, CCM-P151S-WUS </li>
4314                    
4315                  </ul>
4316                </div>
4317              </details><details
4318                  id="Details--template--28135044186421__main-summary"
4319                  class="border-b"
4320                  rotate-icon
4321                >
4322                  <summary class="product-accordian-title">
4323                    <p class="p_accordian_title">Summary</p>
4324                    <div class="plusminus"></div>
4325                  </summary>
4326                  <div
4327                    class="prose_content_main"
4328                    id="ProductAccordion--template--28135044186421__main-summary"
4329                  >
4330                    <div class="prose_content"><div class="metafield-rich_text_field"><ul><li>2 Brew Baskets: Dedicated cone or flat bottom brew baskets optimize extraction from single cup to batch brewing. </li><li>Precision Temperature Control: Precise heating delivers stable brew temperatures for consistent extraction in every pour. </li><li>Dynamic Pour Patterns: Coordinated nozzle movement and basket rotation recreates the precision of hand-crafted, pour-over techniques. </li><li>Vibration Extraction: Gently agitates the coffee bed during the brew process to promote even saturation, consistent extraction, and balanced flavor. </li><li>Clean Finish: An automatic drip stop prevents post-brew drips for a cleaner brewing experience. </li></ul></div></div>
4331                  </div>
4332                </details>
4332<details
4333                  id="Details--template--28135044186421__main-whats-in-the-box"
4334                  class="border-b"
4335                  rotate-icon
4336                >
4337                  <summary class="product-accordian-title">
4338                    <p class="p_accordian_title">What's in the Box</p>
4339                    <div class="plusminus"></div>
4340                  </summary>
4341                  <div
4342                    class="prose_content_main"
4343                    id="ProductAccordion--template--28135044186421__main-whats-in-the-box"
4344                  >
4345                    <div class="prose_content"><div class="metafield-rich_text_field"><p>1 × Cosori Juni™ Automatic Pour-Over Machine <br />
43461 × Flat Bottom Brew Basket <br />
43471 × Cone Brew Basket <br />
43481 × Carafe <br />
43491 × Dual-Sided Measuring Spoon <br />
43501 × Quick Guide <br />
43511 × User Manual </p></div></div>
4352                  </div>
4353                </details><details
4354                  id="Details--template--28135044186421__main-how-it-works"
4355                  class="border-b"
4356                  rotate-icon
4357                >
4358                  <summary class="product-accordian-title">
4359                    <p class="p_accordian_title">How it Works</p>
4360                    <div class="plusminus"></div>
4361                  </summary>
4362                  <div
4363                    class="prose_content_main"
4364                    id="ProductAccordion--template--28135044186421__main-how-it-works"
4365                  >
4366                    <div class="prose_content"><div class="metafield-rich_text_field"><p>3 Pour Patterns: The retractable nozzle and rotating basket create spiral, circular, center pour patterns, replicating manual techniques used by experienced baristas.</p><p>Vibrating Basket: Gentle agitation levels the coffee bed for full, even saturation and extraction as the grounds bloom.</p><p>Staged Pouring: Water is poured in stages to control flavor extraction. Barista Mode offers fully customized pour control to fine tune the flavor, body, and clarity of your final cup.</p><p>Precision Water Control: From temperature and flow rate to volume, every parameter is customizable to adjust to your preferences at every stage of the pour-over process.</p><p>Adapts to Your Feedback: After each brew, rate the acidity, sweetness, bitterness, and body to provide Juni with insights to refine your next cup to your preferences.</p></div></div>
4367                  </div>
4368                </details><details
4369                id="Details--template--28135044186421__main-downloads"
4370                class="border-b"
4371                rotate-icon
4372              >
4373                <summary class="product-accordian-title">
4374                  <p class="p_accordian_title">User Manuals</p>
4375                  <div class="plusminus"></div>
4376                </summary>
4377                <div
4378                  class=" pb-3"
4379                  id="ProductAccordion--template--28135044186421__main-"
4380                >
4381                  <ul class="flex flex-col gap-2 pl-6"><li>
4382                        <a href="//cosori.com/cdn/shop/files/6100000068_Coffee_Maker_Manual_A2-260703.pdf?v=17968790351254837375" target="_blank">Juni Manual (Glass)</a>
4383                      </li><li>
4384                        <a href="//cosori.com/cdn/shop/files/6100000069_Coffee_Maker_Manual_A2-260703.pdf?v=3585532092445898372" target="_blank">Juni Manual (Stainless steel)</a>
4385                      </li></ul>
4386                </div>
4387              </details></div>
4388
4389          <a href="/products/juni-coffee-maker" class="link product__view-details animate-arrow">
4390            View full details
4391            <svg
4392  viewBox="0 0 14 10"
4393  fill="none"
4394  aria-hidden="true"
4395  focusable="false"
4396  class="icon icon-arrow"
4397  xmlns="http://www.w3.org/2000/svg"
4398>
4399  <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor">
4400</svg>
4401
4402          </a><style>
4403  .product-proposition {
4404    margin-top: 32px;
4405    /* border-radius: 16px; */
4406    /* border: 1px solid #ADADAD; */
4407    /* padding: 16px; */
4408    .title-warning {
4409      color: #333333;
4410      cursor: pointer;
4411      text-decoration: underline;
4412      text-decoration-color: var(--text-decoration-color);
4413      text-decoration-thickness: var(--text-decoration-thickness);
4414      text-underline-offset: var(--text-decoration-offset);
4415    }
4416    .title-warning-text {
4417      color: #5b5b5b;
4418    }
4419    .modal-container {
4420      display: none;
4421      position: fixed;
4422      top: 0;
4423      left: 0;
4424      width: 100%;
4425      height: 100%;
4426      background-color: rgba(0, 0, 0, 0.5);
4427      z-index: 1000;
4428    }
4429    .modal-detail {
4430      position: absolute;
4431      top: 50%;
4432      left: 50%;
4433      transform: translate(-50%, -50%);
4434      width: 582px;
4435      height: auto;
4436      background-color: #fff;
4437      border-radius: 16px;
4438      padding: 24px;
4439    }
4440    .modal-header {
4441      display: flex;
4442      justify-content: space-between;
4443      align-items: center;
4444      margin-bottom: 24px;
4445      line-height: 1;
4446      gap: 16px;
4447    }
4448    .modal-title {
4449      font-size: 20px;
4450      font-weight: 600;
4451      color: #333333;
4452    }
4453    .modal-close {
4454      cursor: pointer;
4455    }
4456    a {
4457      color: #333333;
4458      text-decoration: underline;
4459      text-decoration-color: var(--text-decoration-color);
4460      text-decoration-thickness: var(--text-decoration-thickness);
4461      text-underline-offset: var(--text-decoration-offset);
4462    }
4463  }
4464
4465  @media (max-width: 767px) {
4466    .product-proposition {
4467      .modal-detail {
4468        width: 80vw;
4469      }
4470    }
4471  }
4472</style>
4473<div class="product-proposition">
4474  <div class="title">
4475    <span class="title-warning">WARNING:</span>
4476    <span class="title-warning-text">California’s Proposition 65</span>
4477  </div>
4478  <div class="modal-container">
4479    <div class="modal-detail">
4480      <div class="modal-header">
4481        <div class="modal-title">Proposition 65 Warning for California Consumers</div>
4482        <div class="modal-close">
4483          <svg xmlns="http://www.w3.org/2000/svg" width="33" height="33" viewBox="0 0 33 33" fill="none">
4484            <rect x="10.9619" y="23.3903" width="2.18734" height="17.4988" rx="1.09367" transform="rotate(-135 10.9619 23.3903)" fill="#333333"/>
4485            <rect x="9.74536" y="11.2374" width="2.18734" height="17.4988" rx="1.09367" transform="rotate(-45 9.74536 11.2374)" fill="#333333"/>
4486          </svg>
4487        </div>
4488      </div>
4489      <div class="modal-content">
4490        <svg
4491          width="30"
4492          height="30"
4493          viewBox="0 0 30 30"
4494          fill="none"
4495          xmlns="http://www.w3.org/2000/svg"
4496          style="display: inline-block;vertical-align: text-bottom;"
4497        >
4498          <path d="M13.285 4.85831C14.0618 3.56363 15.9382 3.56363 16.715 4.85831L28.1826 23.971C28.9824 25.3041 28.0222 27 26.4676 27H3.53238C1.97779 27 1.01757 25.3041 1.81739 23.971L13.285 4.85831Z" fill="#FFDD01" stroke="black" stroke-width="2"/>
4499          <path d="M13.2744 22.2693C13.2741 22.0356 13.3213 21.8042 13.413 21.5892C13.5047 21.3742 13.6391 21.1801 13.808 21.0185C13.9768 20.8569 14.1767 20.7312 14.3955 20.649C14.6144 20.5669 14.8476 20.5299 15.0811 20.5404C15.5396 20.5404 15.9794 20.7226 16.3036 21.0468C16.6278 21.3711 16.81 21.8108 16.81 22.2693C16.81 22.7279 16.6278 23.1676 16.3036 23.4919C15.9794 23.8161 15.5396 23.9982 15.0811 23.9982C14.8476 24.0088 14.6144 23.9718 14.3955 23.8897C14.1767 23.8075 13.9768 23.6818 13.808 23.5202C13.6391 23.3586 13.5047 23.1644 13.413 22.9494C13.3213 22.7344 13.2741 22.5031 13.2744 22.2693ZM13.6893 11.5934L13.6288 9H16.5593L16.4988 11.5934L15.8677 18.9239H14.2253L13.6893 11.5934Z" fill="black"/>
4500        </svg>
4501        <b>WARNING:</b> This product can expose you to chemicals including Lead which is known to the State of
4502        California to cause cancer and birth defects or other reproductive harm. For more information go to
4503        <a href="https://www.p65warnings.ca.gov/" target="_blank">www.p65warnings.ca.gov</a>
4504      </div>
4505    </div>
4506  </div>
4507</div>
4508<script>
4509  document.addEventListener('DOMContentLoaded', function () {
4510    const warningTitle = document.querySelector('.product-proposition .title-warning');
4511    const modalContainer = document.querySelector('.product-proposition .modal-container');
4512    const closeButton = document.querySelector('.product-proposition .modal-close');
4513    warningTitle.addEventListener('click', function () {
4514      modalContainer.style.display = 'block';
4515    });
4516    closeButton.addEventListener('click', function () {
4517      modalContainer.style.display = 'none';
4518    });
4519  });
4520</script>
4520
4521�</product-info>
4522      </div></div>
4523
4524    
4525
4526<product-modal id="ProductModal-template--28135044186421__main" class="product-media-modal media-modal">
4527  <div
4528    class="product-media-modal__dialog color-scheme-1 gradient"
4529    role="dialog"
4530    aria-label="Media gallery"
4531    aria-modal="true"
4532    tabindex="-1"
4533  >
4534    <button
4535      id="ModalClose-template--28135044186421__main"
4536      type="button"
4537      class="product-media-modal__toggle"
4538      aria-label="Close"
4539    >
4540      <svg
4541  xmlns="http://www.w3.org/2000/svg"
4542  aria-hidden="true"
4543  focusable="false"
4544  class="icon icon-close"
4545  fill="none"
4546  viewBox="0 0 18 17"
4547>
4548  <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor">
4549</svg>
4550
4551    </button>
4552
4553    <div
4554      class="product-media-modal__content color-scheme-1 gradient"
4555      role="document"
4556      aria-label="Media gallery"
4557      tabindex="0"
4558    >
4559<img
4560    class="global-media-settings global-media-settings--no-shadow product__media-item--variant"
4561    srcset="//cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&width=550 550w,//cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&width=1100 1100w,//cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666 1344w
4562    "
4563    sizes="(min-width: 768px) calc(100vw - 22rem), 1100px"
4564    src="//cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666&width=1445"
4565    alt="Juni automatic pour-over coffee maker with glass carafe and SCA certification badge"
4566    loading="lazy"
4567    width="1100"
4568    height="980"
4569    data-media-id="56695870030133"
4570  >
4571<img
4572    class="global-media-settings global-media-settings--no-shadow"
4573    srcset="//cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&width=550 550w,//cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129 700w
4574    "
4575    sizes="(min-width: 768px) calc(100vw - 22rem), 1100px"
4576    src="//cosori.com/cdn/shop/files/JuniGlassCarafeWhiteBackground.jpg?v=1788767129&width=1445"
4577    alt="Front view of Juni automatic pour-over coffee maker with glass carafe and handle"
4578    loading="lazy"
4579    width="1100"
4580    height="1100"
4581    data-media-id="56803289858357"
4582  >
4583<img
4584    class="global-media-settings global-media-settings--no-shadow product__media-item--variant"
4585    srcset="//cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&width=550 550w,//cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150 699w
4586    "
4587    sizes="(min-width: 768px) calc(100vw - 22rem), 1100px"
4588    src="//cosori.com/cdn/shop/files/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150&width=1445"
4589    alt="Juni automatic pour-over coffee maker with brew basket and glass carafe, front angle"
4590    loading="lazy"
4591    width="1100"
4592    height="1100"
4593    data-media-id="56803306930485"
4594  >
4595<img
4596    class="global-media-settings global-media-settings--no-shadow"
4597    srcset="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&width=550 550w,//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561 700w
4598    "
4599    sizes="(min-width: 768px) calc(100vw - 22rem), 1100px"
4600    src="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_1.jpg?v=1788767561&width=1445"
4601    alt="Close-up of Juni coffee maker control panel and base with brew settings buttons"
4602    loading="lazy"
4603    width="1100"
4604    height="1100"
4605    data-media-id="56803574874421"
4606  >
4607<img
4608    class="global-media-settings global-media-settings--no-shadow"
4609    srcset="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&width=550 550w,//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590 700w
4610    "
4611    sizes="(min-width: 768px) calc(100vw - 22rem), 1100px"
4612    src="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_4.jpg?v=1788767590&width=1445"
4613    alt="Juni automatic pour-over coffee maker, full front view with pour-over brew basket"
4614    loading="lazy"
4615    width="1100"
4616    height="1100"
4617    data-media-id="56803595059509"
4618  >
4619<img
4620    class="global-media-settings global-media-settings--no-shadow"
4621    srcset="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Backgroun
4621d_6.jpg?v=1788767607&width=550 550w,//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607 700w
4622    "
4623    sizes="(min-width: 768px) calc(100vw - 22rem), 1100px"
4624    src="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_6.jpg?v=1788767607&width=1445"
4625    alt="Side profile view of Juni automatic pour-over coffee maker showing slim design"
4626    loading="lazy"
4627    width="1100"
4628    height="1100"
4629    data-media-id="56803603677493"
4630  >
4631<img
4632    class="global-media-settings global-media-settings--no-shadow"
4633    srcset="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&width=550 550w,//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614 700w
4634    "
4635    sizes="(min-width: 768px) calc(100vw - 22rem), 1100px"
4636    src="//cosori.com/cdn/shop/files/Juni_Glass_Carafe_White_Background_5.jpg?v=1788767614&width=1445"
4637    alt="Juni automatic pour-over coffee maker brewing directly into a cup, no carafe"
4638    loading="lazy"
4639    width="1100"
4640    height="1100"
4641    data-media-id="56803606888757"
4642  ></div>
4643  </div>
4644</product-modal>
4645
4646
4647    �
4647<script src="//cosori.com/cdn/shop/t/166/assets/product-modal.js?v=116616134454508949461789674181" defer="defer"></script>
4647
4648      
4648<script src="//cosori.com/cdn/shop/t/166/assets/media-gallery.js?v=44650165723660075311789674181" defer="defer"></script>
4648<script>
4649      document.addEventListener('DOMContentLoaded', function () {
4650        function isIE() {
4651          const ua = window.navigator.userAgent;
4652          const msie = ua.indexOf('MSIE ');
4653          const trident = ua.indexOf('Trident/');
4654
4655          return msie > 0 || trident > 0;
4656        }
4657
4658        if (!isIE()) return;
4659        const hiddenInput = document.querySelector('#product-form-template--28135044186421__main input[name="id"]');
4660        const noScriptInputWrapper = document.createElement('div');
4661        const variantPicker = document.querySelector('variant-selects[data-section="template--28135044186421__main"]');
4662        noScriptInputWrapper.innerHTML = document.querySelector(
4663          '.product-form__noscript-wrapper-template--28135044186421__main'
4664        ).textContent;
4665        variantPicker.outerHTML = noScriptInputWrapper.outerHTML;
4666
4667        document.querySelector('#Variants-template--28135044186421__main').addEventListener('change', function (event) {
4668          hiddenInput.value = event.currentTarget.value;
4669        });
4670      });
4671    </script>
4671
4672
4673  </div>
4674</section>
4675
4676<script>
4677  var klaviyo = klaviyo || [];
4678  klaviyo.init({
4679    account: 'SvTWYw',
4680    platform: 'shopify',
4681    exclude_on_tags: 'limited edition',
4682  });
4683  klaviyo.enable('backinstock', {
4684    trigger: {
4685      product_page_text: 'Notify Me When Available ',
4686      product_page_class: 'btn',
4687      product_page_text_align: 'center',
4688      product_page_margin: '0px',
4689      replace_anchor: false,
4690    },
4691    modal: {
4692      headline: '{product_name}',
4693      body_content: 'Register to receive a notification when this item comes back in stock.',
4694      email_field_label: 'Email',
4695      button_label: 'NOTIFY ME WHEN AVAILABLE ',
4696      subscription_success_label: "You're in! We'll let you know when it's back.",
4697      footer_content: '',
4698      additional_styles: 'system+font',
4699      drop_background_color: '#6E695F',
4700      background_color: '#fff',
4701      text_color: '#6E695F',
4702      button_text_color: '#E1DED3',
4703      button_background_color: '#6C5936',
4704      close_button_color: '#ccc',
4705      error_background_color: '#E1DED3',
4706      error_text_color: '#E1DED3',
4707      font_family: 'system+font',
4708      headers_font_family: 'system+font',
4709      success_background_color: '#d3efcd',
4710      success_text_color: '#1B9500',
4711    },
4712  });
4713</script>
4713
4714
4715
4716</section><section id="shopify-section-template--28135044186421__feature_carousel_L88KQX" class="shopify-section feature-carousel-section">
4717<section
4718  id="feature-carousel-template--28135044186421__feature_carousel_L88KQX"
4719  class="fc"
4720  data-loop="true"
4721  data-autoplay="false"
4722  data-autoplay-interval="6"
4723  data-swipe="true"
4724><div class="fc__header"><span class="fc__header-text">JUNI™</span><span class="fc__header-rule" aria-hidden="true"></span></div><div class="fc__viewport" data-roll-viewport>
4725      <div class="fc__track" data-roll-track role="list"><article
4726            class="fc__slide fc__slide--fill is-active"
4727            data-index="0"
4728            role="listitem"
4729            aria-roledescription="slide"
4730            aria-label="1 of 5"
4731            style="--fc-focal: 50% 50%; --fc-body-w: 372px;"
4732            
4733          ><div class="fc__media">
4734              <div class="fc__layer is-active" data-fc-layer="0"><video
4735                  class="fc__media-video"
4736                  muted
4737                  loop
4738                  playsinline
4739                  preload="auto"
4740                  
4741                  data-autoplay
4742                ><source src="//cosori.com/cdn/shop/videos/c/vp/071b160c95ef4fb18bc93b8a25cba099/071b160c95ef4fb18bc93b8a25cba099.m3u8?v=0" type="application/x-mpegURL"><source src="//cosori.com/cdn/shop/videos/c/vp/071b160c95ef4fb18bc93b8a25cba099/071b160c95ef4fb18bc93b8a25cba099.SD-480p-1.5Mbps-92167570.mp4?v=0" type="video/mp4"></video></div></div><div
4743              class="fc__content"
4744              
4745            ><h3 class="fc__title">2 Brew Baskets</h3>
4746<div class="fc__desc"><p>Dedicated cone or flat bottom brew baskets optimize extraction from single cup to batch brewing. </p></div></div></article><article
4747            class="fc__slide"
4748            data-index="1"
4749            role="listitem"
4750            aria-roledescription="slide"
4751            aria-label="2 of 5"
4752            style="--fc-focal: 50% 50%; --fc-body-w: 372px;"
4753            
4754          ><div class="fc__media">
4755              <div class="fc__layer is-active" data-fc-layer="0"><video
4756                  class="fc__media-video"
4757                  muted
4758                  loop
4759                  playsinline
4760                  preload="auto"
4761                  
4762                  data-autoplay
4763                ><source src="//cosori.com/cdn/shop/videos/c/vp/f55ee0c795ba4de0914b22eab146d909/f55ee0c795ba4de0914b22eab146d909.m3u8?v=0" type="application/x-mpegURL"><source src="//cosori.com/cdn/shop/videos/c/vp/f55ee0c795ba4de0914b22eab146d909/f55ee0c795ba4de0914b22eab146d909.HD-1080p-7.2Mbps-94627421.mp4?v=0" type="video/mp4"></video></div></div><div
4764              class="fc__content"
4765              
4766            ><h3 class="fc__title">Precision Temperature Control</h3>
4767<div class="fc__desc"><p>Precise heating delivers stable brew temperatures for consistent extraction.</p></div></div></article><article
4768            class="fc__slide fc__slide--fill"
4769            data-index="2"
4770            role="listitem"
4771            aria-roledescription="slide"
4772            aria-label="3 of 5"
4773            style="--fc-focal: 50% 50%; --fc-body-w: 372px;"
4774            
4775          ><div class="fc__media">
4776              <div class="fc__layer is-active" data-fc-layer="0"><video
4777                  class="fc__media-video"
4778                  muted
4779                  loop
4780                  playsinline
4781                  preload="auto"
4782                  
4783                  data-autoplay
4784                ><source src="//cosori.com/cdn/shop/videos/c/vp/db45cb13734f465d97dcf8eea10b3fd9/db45cb13734f465d97dcf8eea10b3fd9.m3u8?v=0" type="application/x-mpegURL"><source src="//cosori.com/cdn/shop/videos/c/vp/db45cb13734f465d97dcf8eea10b3fd9/db45cb13734f465d97dcf8eea10b3fd9.HD-1080p-7.2Mbps-93216157.mp4?v=0" type="video/mp4"></video></div><div class="fc__layer" data-fc-layer="1"><video aria-hidden="true" class="fc__media-video" muted loop playsinline preload="none"
4785                           data-fc-chip-video><source src="//cosori.com/cdn/shop/videos/c/vp/db45cb13734f465d97dcf8eea10b3fd9/db45cb13734f465d97dcf8eea10b3fd9.m3u8?v=0" type="application/x-mpegURL"><source src="//cosori.com/cdn/shop/videos/c/vp/db45cb13734f465d97dcf8eea10b3fd9/db45cb13734f465d97dcf8eea10b3fd9.HD-1080p-7.2Mbps-93216157.mp4?v=0" type="video/mp4"></video></div><div class="fc__layer" data-fc-layer="2"><video aria-hidden="true" class="fc__media-video" muted loop playsinline preload="none"
4786                           data-fc-chip-video><source src="//cosori.com/cdn/shop/videos/c/vp/18bd0d00d85b4afd869c27d0a5719887/18bd0d00d85b4afd869c27d0a5719887.m3u8?v=0" type="application/x-mpegURL"><source src="//cosori.com/cdn/shop/videos/c/vp/18bd0d00d85b4afd869c27d0a5719887/18bd0d00d85b4afd869c27d0a5719887.HD-1080p-7.2Mbps-93594296.mp4?v=0" type="video/mp4"></video></div><div class="fc__layer" data-fc-layer="3"><video aria-hidden="true" class="fc__media-video" muted loop playsinline preload="none"
4787                           data-fc-chip-video><source src="//cosori.com/cdn/shop/videos/c/vp/92bb6d63724a4173a97d56e154f8a89a/92bb6d63724a4173a97d56e154f8a89a.m3u8?v=0" type="application/x-mpegURL"><source src="//cosori.com/cdn/shop/videos/c/vp/92bb6d63724a4173a97d56e154f8a89a/92bb6d63724a4173a97d56e154f8a89a.HD-1080p-7.2Mbps-93594345.mp4?v=0" type="video/mp4"></video></div><div class="fc__chips" data-fc-chips role="group" aria-label="Dynamic Pour Patterns:"><button type="button" class="fc__chip is-selected"
4788                        data-fc-chip="1" aria-pressed="true">Spiral Pour</button><button type="button" class="fc__chip"
4789                        data-fc-chip="2" aria-pressed="false">Circular Pour</button><button type="button" class="fc__chip"
4790                        data-fc-chip="3" aria-pressed="false">Center Pour</button></div></div><div
4791              class="fc__content"
4792              
4793            ><h3 class="fc__title">Dynamic Pour Patterns:</h3>
4794<div class="fc__desc"><p>Coordinated nozzle movement and basket rotation recreates the precision of hand-crafted, pour-over techniques.</p></div></div></article><article
4795            class="fc__slide"
4796            data-index="3"
4797            role="listitem"
4798            aria-roledescription="slide"
4799            aria-label="4 of 5"
4800            style="--fc-focal: 50% 50%; --fc-body-w: 372px;"
4801            
4802          ><div class="fc__media">
4803              <div class="fc__layer is-active" data-fc-layer="0"><video
4804                  class="fc__media-video"
4805                  muted
4806                  loop
4807                  playsinline
4808                  preload="auto"
4809                  
4810                  data-autoplay
4811                ><source src="//cosori.com/cdn/shop/videos/c/vp/f6344194b6ff441ca0e7410d81a87ad7/f6344194b6ff441ca0e7410d81a87ad7.m3u8?v=0" type="application/x-mpegURL"><source src="//cosori.com/cdn/shop/videos/c/vp/f6344194b6ff441ca0e7410d81a87ad7/f6344194b6ff441ca0e7410d81a87ad7.HD-1080p-7.2Mbps-93596147.mp4?v=0" type="video/mp4"></video></div></div><div
4812              class="fc__content"
4813              
4814            ><h3 class="fc__title">Vibration Extraction</h3>
4815<div class="fc__desc"><p>Gently agitates the coffee bed during the brew process to promote even saturation, consistent extraction, and balanced flavor.</p></div></div></article><article
4816            class="fc__slide fc__slide--fill"
4817            data-index="4"
4818            role="listitem"
4819            aria-roledescription="slide"
4820            aria-label="5 of 5"
4821            style="--fc-focal: 50% 50%; --fc-body-w: 372px;"
4822            
4823          ><div class="fc__media">
4824              <div class="fc__layer is-active" data-fc-layer="0"><video
4825                  class="fc__media-video"
4826                  muted
4827                  loop
4828                  playsinline
4829                  preload="auto"
4830                  
4831                  data-autoplay
4832                ><source src="//cosori.com/cdn/shop/videos/c/vp/9c2231581ff24b48bd6371c93148532a/9c2231581ff24b48bd6371c93148532a.m3u8?v=0" type="application/x-mpegURL"><source src="//cosori.com/cdn/shop/videos/c/vp/9c2231581ff24b48bd6371c93148532a/9c2231581ff24b48bd6371c93148532a.HD-1080p-7.2Mbps-93596149.mp4?v=0" type="video/mp4"></video></div></div><div
4833              class="fc__content"
4834              
4835            ><h3 class="fc__title">Clean Finish</h3>
4836<div class="fc__desc"><p>An automatic drip stop prevents post-brew drips for a cleaner brewing experience.</p></div></div></article></div><div class="fc__nav">
4837          <button class="fc__arrow fc__arrow--prev" type="button" aria-label="Previous slide">
4838            <svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
4839              <polyline points="15 18 9 12 15 6"/>
4840            </svg>
4841          </button>
4842          <button class="fc__arrow fc__arrow--next" type="button" aria-label="Next slide">
4843            <svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
4844              <polyline points="9 18 15 12 9 6"/>
4845            </svg>
4846          </button>
4847        </div></div><div class="fc__mtext" data-roll-viewport>
4848      <div class="fc__mtext-track" data-roll-track><div
4849            class="fc__mtext-item is-active"
4850            data-index="0"
4851            aria-hidden="false"
4852          ><span class="fc__badge" aria-hidden="true">1</span><h3 class="fc__mtitle">2 Brew Baskets</h3><div class="fc__mdesc"><p>Dedicated cone or flat bottom brew baskets optimize extraction from single cup to batch brewing. </p></div></div><div
4853            class="fc__mtext-item"
4854            data-index="1"
4855            aria-hidden="true"
4856          ><span class="fc__badge" aria-hidden="true">2</span><h3 class="fc__mtitle">Precision Temperature Control</h3><div class="fc__mdesc"><p>Precise heating delivers stable brew temperatures for consistent extraction.</p></div></div><div
4857            class="fc__mtext-item"
4858            data-index="2"
4859            aria-hidden="true"
4860          ><span class="fc__badge" aria-hidden="true">3</span><h3 class="fc__mtitle">Dynamic Pour Patterns:</h3><div class="fc__mdesc"><p>Coordinated nozzle movement and basket rotation recreates the precision of hand-crafted, pour-over techniques.</p></div></div><div
4861            class="fc__mtext-item"
4862            data-index="3"
4863            aria-hidden="true"
4864          ><span class="fc__badge" aria-hidden="true">4</span><h3 class="fc__mtitle">Vibration Extraction</h3><div class="fc__mdesc"><p>Gently agitates the coffee bed during the brew process to promote even saturation, consistent extraction, and balanced flavor.</p></div></div><div
4865            class="fc__mtext-item"
4866            data-index="4"
4867            aria-hidden="true"
4868          ><span class="fc__badge" aria-hidden="true">5</span><h3 class="fc__mtitle">Clean Finish</h3><div class="fc__mdesc"><p>An automatic drip stop prevents post-brew drips for a cleaner brewing experience.</p></div></div></div>
4869    </div><div class="fc__mmedia" data-roll-viewport>
4870      <div class="fc__mmedia-track" data-roll-track><div
4871            class="fc__mmedia-item"
4872            data-index="0"
4873            style="--fc-m-focal: 50% 50%;"
4874          >
4875            <div class="fc__layer is-active" data-fc-layer="0"><video
4876                class="fc__mmedia-video"
4877                muted
4878                loop
4879                playsinline
4880                preload="auto"
4881                
4882                data-autoplay
4883              ><source src="//cosori.com/cdn/shop/videos/c/vp/1bc5374d1339477d99ba239f9cd2a850/1bc5374d1339477d99ba239f9cd2a850.m3u8?v=0" type="application/x-mpegURL"><source src="//cosori.com/cdn/shop/videos/c/vp/1bc5374d1339477d99ba239f9cd2a850/1bc5374d1339477d99ba239f9cd2a850.HD-1080p-7.2Mbps-93595706.mp4?v=0" type="video/mp4"></video></div></div><div
4884            class="fc__mmedia-item"
4885            data-index="1"
4886            style="--fc-m-focal: 50% 50%;"
4887          >
4888            <div class="fc__layer is-active" data-fc-layer="0"><video
4889                class="fc__mmedia-video"
4890                muted
4891                loop
4892                playsinline
4893                preload="auto"
4894                
4895                data-autoplay
4896              ><source src="//cosori.com/cdn/shop/videos/c/vp/81eb2a67af374b2a8523fe75a16523f8/81eb2a67af374b2a8523fe75a16523f8.m3u8?v=0" type="application/x-mpegURL"><source src="//cosori.com/cdn/shop/videos/c/vp/81eb2a67af374b2a8523fe75a16523f8/81eb2a67af374b2a8523fe75a16523f8.HD-1080p-7.2Mbps-94627645.mp4?v=0" type="video/mp4"></video></div></div><div
4897            class="fc__mmedia-item"
4898            data-index="2"
4899            style="--fc-m-focal: 50% 50%;"
4900          >
4901            <div class="fc__layer is-active" data-fc-layer="0"><video
4902                class="fc__mmedia-video"
4903                muted
4904                loop
4905                playsinline
4906                preload="auto"
4907                
4908                data-autoplay
4909              ><source src="//cosori.com/cdn/shop/videos/c/vp/38b14b5fb5ef4bcea095b7ae7d35bb1c/38b14b5fb5ef4bcea095b7ae7d35bb1c.m3u8?v=0" type="application/x-mpegURL"><source src="//cosori.com/cdn/shop/videos/c/vp/38b14b5fb5ef4bcea095b7ae7d35bb1c/38b14b5fb5ef4bcea095b7ae7d35bb1c.HD-1080p-7.2Mbps-93218096.mp4?v=0" type="video/mp4"></video></div><div class="fc__layer" data-fc-layer="1"><video aria-hidden="true" class="fc__mmedia-video" muted loop playsinline preload="none"
4910                         data-fc-chip-video><source src="//cosori.com/cdn/shop/videos/c/vp/400a1bdd4050449e81bbc8a3e61f436e/400a1bdd4050449e81bbc8a3e61f436e.m3u8?v=0" type="application/x-mpegURL"><source src="//cosori.com/cdn/shop/videos/c/vp/400a1bdd4050449e81bbc8a3e61f436e/400a1bdd4050449e81bbc8a3e61f436e.HD-1080p-7.2Mbps-93595901.mp4?v=0" type="video/mp4"></video></div><div class="fc__layer" data-fc-layer="2"><video aria-hidden="true" class="fc__mmedia-video" muted loop playsinline preload="none"
4911                         data-fc-chip-video><source src="//cosori.com/cdn/shop/videos/c/vp/8e266a630c34474eb518cf2e64e78d14/8e266a630c34474eb518cf2e64e78d14.m3u8?v=0" type="application/x-mpegURL"><source src="//cosori.com/cdn/shop/videos/c/vp/8e266a630c34474eb518cf2e64e78d14/8e266a630c34474eb518cf2e64e78d14.HD-1080p-7.2Mbps-93594673.mp4?v=0" type="video/mp4"></video></div><div class="fc__layer" data-fc-layer="3"><video aria-hidden="true" class="fc__mmedia-video" muted loop playsinline preload="none"
4912                         data-fc-chip-video><source src="//cosori.com/cdn/shop/videos/c/vp/4621c1521600463db492d8bf377882ac/4621c1521600463db492d8bf377882ac.m3u8?v=0" type="application/x-mpegURL"><source src="//cosori.com/cdn/shop/videos/c/vp/4621c1521600463db492d8bf377882ac/4621c1521600463db492d8bf377882ac.HD-1080p-7.2Mbps-93594696.mp4?v=0" type="video/mp4"></video></div><div class="fc__chips fc__chips--m" data-fc-chips role="group" aria-label="Dynamic Pour Patterns:"><button type="button" class="fc__chip is-selected"
4913                      data-fc-chip="1" aria-pressed="true">Spiral Pour</button><button type="button" class="fc__chip"
4914                      data-fc-chip="2" aria-pressed="false">Circular Pour</button><button type="button" class="fc__chip"
4915                      data-fc-chip="3" aria-pressed="false">Center Pour</button></div></div><div
4916            class="fc__mmedia-item"
4917            data-index="3"
4918            style="--fc-m-focal: 50% 50%;"
4919          >
4920            <div class="fc__layer is-active" data-fc-layer="0"><video
4921                class="fc__mmedia-video"
4922                muted
4923                loop
4924                playsinline
4925                preload="auto"
4926                
4927                data-autoplay
4928              ><source src="//cosori.com/cdn/shop/videos/c/vp/f6344194b6ff441ca0e7410d81a87ad7/f6344194b6ff441ca0e7410d81a87ad7.m3u8?v=0" type="application/x-mpegURL"><source src="//cosori.com/cdn/shop/videos/c/vp/f6344194b6ff441ca0e7410d81a87ad7/f6344194b6ff441ca0e7410d81a87ad7.HD-1080p-7.2Mbps-93596147.mp4?v=0" type="video/mp4"></video></div></div><div
4929            class="fc__mmedia-item"
4930            data-index="4"
4931            style="--fc-m-focal: 50% 50%;"
4932          >
4933            <div class="fc__layer is-active" data-fc-layer="0"><video
4934                class="fc__mmedia-video"
4935                muted
4936                loop
4937                playsinline
4938                preload="auto"
4939                
4940                data-autoplay
4941              ><source src="//cosori.com/cdn/shop/videos/c/vp/9e0d683a6f4a4a72934efc513c36191d/9e0d683a6f4a4a72934efc513c36191d.m3u8?v=0" type="application/x-mpegURL"><source src="//cosori.com/cdn/shop/videos/c/vp/9e0d683a6f4a4a72934efc513c36191d/9e0d683a6f4a4a72934efc513c36191d.HD-1080p-7.2Mbps-93596170.mp4?v=0" type="video/mp4"></video></div></div></div>
4941<button class="fc__tap fc__tap--prev" type="button" aria-label="Previous slide"></button>
4942        <button class="fc__tap fc__tap--next" type="button" aria-label="Next slide"></button></div><div class="fc__dots" role="tablist" aria-label="Slide navigation"><button
4943            class="fc__dot is-active"
4944            type="button"
4945            data-index="0"
4946            role="tab"
4947            aria-label="Go to slide 1"
4948            aria-selected="true"
4949          ></button><button
4950            class="fc__dot"
4951            type="button"
4952            data-index="1"
4953            role="tab"
4954            aria-label="Go to slide 2"
4955            aria-selected="false"
4956          ></button><button
4957            class="fc__dot"
4958            type="button"
4959            data-index="2"
4960            role="tab"
4961            aria-label="Go to slide 3"
4962            aria-selected="false"
4963          ></button><button
4964            class="fc__dot"
4965            type="button"
4966            data-index="3"
4967            role="tab"
4968            aria-label="Go to slide 4"
4969            aria-selected="false"
4970          ></button><button
4971            class="fc__dot"
4972            type="button"
4973            data-index="4"
4974            role="tab"
4975            aria-label="Go to slide 5"
4976            aria-selected="false"
4977          ></button></div></section>
4978
4979<style>
4980  #feature-carousel-template--28135044186421__feature_carousel_L88KQX {
4981    /* ── Section ── */
4982    --fc-bg: #ffffff;
4983    --fc-pad-top: 37px;
4984    --fc-pad-bottom: 60px;
4985
4986    /* ── Header lock-up ── */
4987    --fc-logo-w: 130px;
4988    --fc-header-gap: 16px;
4989    --fc-rule-w: 200px;
4990    --fc-rule-color: #512a44;
4991    --fc-header-mb: 32px;
4992
4993    /* ── Desktop card ── */
4994    --fc-card-w: min(1000px, calc(100vw - 300px));
4995    --fc-card-radius: 12px;
4996    --fc-card-gap: 22px;
4997    --fc-card-bg: linear-gradient(90deg, #292727 0%, #464142 100%);
4998    --fc-card-shadow: 4.491px 4.491px 7.485px rgba(0, 0, 0, 0.15);
4999
5000    /* ── Desktop copy ── */
5001    --fc-text: #e8e0d5;
5002    --fc-copy-left: 64px;
5003    --fc-copy-gap: 8px;
5004    --fc-title-size: 20px;
5005    --fc-body-size: 16px;
5006    --fc-body-w: 372px;
5007
5008    /* ── Desktop media box ── */
5009    --fc-media-right: 0%;
5010    --fc-media-w: 100%;
5011    --fc-media-ar: 1 / 1;
5012    --fc-media-radius: 0px;
5013    --fc-media-shadow: none;
5014    --fc-overlay: #000000;
5015    --fc-overlay-stop: 53%;
5016
5017    /* ── Control panel (panel slides) ──
5018       The four img percentages are Liquid-computed from the crop rectangle so the
5019       stylesheet carries plain numbers; calc() on unitless custom properties is a
5020       trap worth avoiding. Fallbacks are the dehydrator crop, which is what these
5021       values resolve to when no panel image is picked and the rules go unused. */
5022    --fcp-ar: 1323 / 267;
5023    --fcp-img-w: 309.6%;
5024    --fcp-img-h: 1534.082%;
5025    --fcp-img-l: -106.803%;
5026    --fcp-img-t: -695.506%;
5027    --fcp-hl: #fdf3e0;
5028    --fcp-hl-ring: rgba(253, 243, 224, 0.14);
5029    --fcp-hl-glow: rgba(253, 243, 224, 0.5);
5030    --fcp-mk-size: 34px;
5031    --fcp-mk-text: #292727;
5032    --fcp-gap: 18px;
5033    --fcp-radius: 6px;
5034    --fcp-stack-gap: 28px;
5035
5036    /* ── Arrows ── */
5037    --fc-arrow-size: 44px;
5038    --fc-arrow-bg: rgba(255,255,255,0.2);
5039    --fc-arrow-color: #ffffff;
5040    --fc-arrow-offset: 82px;
5041
5042    /* ── Mobile ── */
5043    --fc-pad-top-m: 32px;
5044    --fc-pad-bottom-m: 48px;
5045    --fc-logo-w-m: 150px;
5046    --fc-header-gap-m: 12px;
5047    --fc-rule-w-m: 180px;
5048    --fc-header-mb-m: 15px;
5049    --fc-m-text: #333535;
5050    --fc-m-badge-border: #333535;
5051    --fc-m-badge-size: 32px;
5052    --fc-m-title-size: 32px;
5053    --fc-m-body-size: 20px;
5054    --fc-m-item-w: 350px;
5055    --fc-m-item-gap: 100px;
5056    --fc-m-side: 20px;
5057    --fc-m-inner-gap: 16px;
5058    --fc-m-text-h: 258px;--fc-m-card-side: 16px;
5059    --fc-m-card-w: min(358px, calc(100vw - (var(--fc-m-card-side) * 2)));
5060    --fc-m-card-h: 447px;
5061    --fc-m-card-radius: 16px;
5062    --fc-m-card-border: rgba(255,255,255,0.2);
5063
5064    /* ── Dots ── */
5065    --fc-dot-size: 9px;
5066    --fc-dot-gap: 14px;
5067    --fc-dot-mt: 16px;
5068    --fc-dot-active: #fb914a;
5069    --fc-dot-inactive: #e8e0d5;
5070  }
5071
5072  #feature-carousel-template--28135044186421__feature_carousel_L88KQX {
5073    position: relative;
5074    width: 100%;
5075    box-sizing: border-box;
5076    background-color: var(--fc-bg);
5077    padding-top: var(--fc-pad-top);
5078    padding-bottom: var(--fc-pad-bottom);
5079    /* Each roll clips itself, so the section needs no overflow of its own —
5080       `overflow-x: hidden` here would compute overflow-y to auto and can add a
5081       stray vertical scrollbar. */
5082    -webkit-font-smoothing: antialiased;
5083    -moz-osx-font-smoothing: grayscale;
5084  }
5085
5086  #feature-carousel-template--28135044186421__feature_carousel_L88KQX *,
5087  #feature-carousel-template--28135044186421__feature_carousel_L88KQX *::before,
5088  #feature-carousel-template--28135044186421__feature_carousel_L88KQX *::after {
5089    box-sizing: border-box;
5090  }@media (min-width: 769px) {
5091    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .line-break--mobile { display: none; }
5092  }
5093  @media (max-width: 768px) {
5094    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .line-break--desktop { display: none; }
5095  }
5096
5097  /* ══ Header lock-up ══ */
5098  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__header {
5099    display: flex;
5100    flex-direction: column;
5101    align-items: center;
5102    gap: var(--fc-header-gap);
5103    margin: 0 auto var(--fc-header-mb);
5104    padding: 0 20px;
5105  }
5106
5107  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__header-image {
5108    display: block;
5109    width: var(--fc-logo-w);
5110    max-width: 100%;
5111    height: auto;
5112  }
5113
5114  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__header-text {
5115    font-family: 'Gilroy-SemiBold', 'Gilroy-Semibold', 'Gilroy', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
5116    font-weight: 600;
5117    font-size: 24px;
5118    line-height: 1.2;
5119    letter-spacing: 0.24em;
5120    text-transform: uppercase;
5121    color: var(--fc-m-text);
5122  }#feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__header-rule {
5123    display: block;
5124    width: var(--fc-rule-w);
5125    max-width: 100%;
5126    height: 1px;
5127    background-color: var(--fc-rule-color);
5128  }
5129
5130  /* ══ Desktop viewport + track ══ */
5131  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__viewport {
5132    position: relative;
5133    width: 100%;
5134    /* Height follows the card so the arrows can centre on it. */
5135    height: calc(var(--fc-card-w) * 620 / 1000);
5136    overflow: hidden;
5137  }
5138
5139  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__track {
5140    display: flex;
5141    align-items: stretch;
5142    gap: var(--fc-card-gap);
5143    height: 100%;
5144    /* Centred by JS via translateX; starts at 0 to avoid a first-paint flash. */
5145    transform: translateX(0);
5146    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
5147    will-change: transform;
5148  }
5149
5150  @media (prefers-reduced-motion: reduce) {
5151    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__track,
5152    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mtext-track,
5153    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mmedia-track {
5154      transition: none;
5155    }
5156  }
5157
5158  /* ══ Desktop card ══ */
5159  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__slide {
5160    position: relative;
5161    flex: 0 0 var(--fc-card-w);
5162    width: var(--fc-card-w);
5163    height: 100%;
5164    border-radius: var(--fc-card-radius);
5165    overflow: hidden;
5166    background: var(--fc-card-bg);
5167    box-shadow: var(--fc-card-shadow);
5168  }
5169
5170  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__cardbg,
5171  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__cardbg-img {
5172    position: absolute;
5173    inset: 0;
5174    width: 100%;
5175    height: 100%;
5176  }
5177
5178  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__cardbg-img {
5179    object-fit: cover;
5180  }
5181
5182  /* Media box: pinned right, sized by settings. Cosori default is a flush-right
5183     square that fills the card height;
5183 Levoit's look is a smaller inset box. */#feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__media {
5184    position: absolute;
5185    right: var(--fc-media-right);
5186    width: var(--fc-media-w);
5187    top: 0;
5188    height: 100%;
5189    aspect-ratio: auto;
5190    z-index: 1;
5191    border-radius: var(--fc-media-radius);
5192    overflow: hidden;
5193    box-shadow: var(--fc-media-shadow);
5194  }#feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__media-img,
5195  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__media-video {
5196    display: block;
5197    width: 100%;
5198    height: 100%;
5199    object-fit: cover;
5200    object-position: var(--fc-focal, 50% 50%);
5201    border-radius: var(--fc-media-radius);
5202  }#feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__layer {
5203    position: absolute;
5204    inset: 0;
5205    opacity: 0;
5206    visibility: hidden;
5207    transition: opacity 350ms ease, visibility 0s linear 350ms;
5208  }
5209
5210  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__layer.is-active {
5211    opacity: 1;
5212    visibility: visible;
5213    transition: opacity 350ms ease, visibility 0s linear 0s;
5214  }
5215
5216  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__chips {
5217    position: absolute;
5218    left: 50%;
5219    transform: translateX(-50%);
5220    bottom: 32px;
5221    z-index: 3;
5222    display: flex;
5223    align-items: center;
5224    gap: 12px;
5225    max-width: calc(100% - 24px);
5226    padding: 8px;
5227    border-radius: 170px;
5228    background: rgba(0,0,0,0.25);
5229    overflow-x: auto;
5230    scrollbar-width: none;
5231    visibility: hidden;
5232    opacity: 0;
5233    transition: opacity 200ms ease, visibility 0s linear 200ms;
5234  }
5235
5236  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__chips::-webkit-scrollbar { display: none; }#feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__slide--fill .fc__chips {
5237    left: calc(100% - var(--fc-media-right) - (var(--fc-media-w) / 2));
5238  }@media (min-width: 769px) {
5239    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__chips,
5240    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__slide--fill .fc__chips {
5241      left: 72%;
5242    }
5243  }#feature-carousel-template--28135044186421__feature_carousel_L88KQX .is-active .fc__chips {
5244    visibility: visible;
5245    opacity: 1;
5246    transition: opacity 200ms ease, visibility 0s linear 0s;
5247  }
5248
5249  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__chip {
5250    flex: 0 0 auto;
5251    appearance: none;
5252    -webkit-appearance: none;
5253    margin: 0;
5254    padding: 10px 32px;
5255    border: 1px solid transparent;
5256    border-radius: 52px;
5257    background: none;
5258    cursor: pointer;
5259    font-family: 'Gilroy', sans-serif;
5260    font-weight: 500;
5261    font-size: 16px;
5262    line-height: 1.4;
5263    white-space: nowrap;
5264    color: #e8e0d5;
5265  }
5266
5267  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__chip.is-selected {
5268    background: #e8e0d5;
5269    border-color: #ccd1e2;
5270    color: #464142;
5271  }
5272
5273  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__chip:focus-visible {
5274    outline: 2px solid #e8e0d5;
5275    outline-offset: 2px;
5276  }
5277
5278  /* Full-bleed variant: media fills the card, copy sits over a left gradient. */
5279  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__slide--fill .fc__media {
5280    right: 0;
5281    top: 0;
5282    transform: none;
5283    width: 100%;
5284    height: 100%;
5285    aspect-ratio: auto;
5286    border-radius: 0;
5287    box-shadow: none;
5288  }
5289
5290  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__slide--fill::after {
5291    content: '';
5292    position: absolute;
5293    inset: 0;
5294    z-index: 1;
5295    pointer-events: none;
5296    background: linear-gradient(90deg, var(--fc-overlay) 0%, transparent var(--fc-overlay-stop));
5297  }
5298
5299  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__content {
5300    position: absolute;
5301    z-index: 2;
5302    left: var(--fc-copy-left);
5303    top: 50%;
5304    transform: translateY(-50%);
5305    display: flex;
5306    flex-direction: column;
5307    gap: var(--fc-copy-gap);
5308    max-width: var(--fc-body-w);
5309    color: var(--fc-text);
5310  }
5311
5312  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__title {
5313    margin: 0;
5314    font-family: 'Gilroy-SemiBold', 'Gilroy-Semibold', 'Gilroy', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
5315    font-weight: 600;
5316    font-size: var(--fc-title-size);
5317    line-height: 1.2;
5318    color: inherit;
5319  }
5320
5321  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__desc {
5322    font-family: 'Gilroy-Regular', 'Gilroy', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
5323    font-weight: 400;
5324    font-size: var(--fc-body-size);
5325    line-height: 1.2;
5326    color: inherit;
5327    width: var(--fc-body-w);
5328    max-width: 100%;
5329  }#feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__title p,
5330  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__desc p,
5331  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mtitle p,
5332  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mdesc p {
5333    margin: 0;
5334  }
5335
5336  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__desc p + p,
5337  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mdesc p + p {
5338    margin-top: 0.5em;
5339  }
5340
5341  /* ══ Panel spotlight slides ══
5342     A different card composition to `box`/`fill`: the copy is in normal flow at the
5343     top and the panel spans the card below it, which buys the strip ~872px on a
5344     1000px card so the individual controls stay legible. The card's own height rule
5345     is untouched, so the carousel's geometry does not move. */
5346  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__slide--panel {
5347    display: flex;
5348    flex-direction: column;
5349    justify-content: center;
5350    gap: var(--fcp-stack-gap);
5351    padding: var(--fc-copy-left);
5352  }
5353
5354  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__slide--panel .fc__content {
5355    position: static;
5356    transform: none;
5357    max-width: none;
5358  }
5359
5360  /* --fc-body-w is a hard width on .fc__desc, which would pin the copy to the
5361     narrow column the overlaid layouts want. Panel slides get the card instead. */
5362  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__slide--panel .fc__desc {
5363    width: 100%;
5364    max-width: 640px;
5365  }
5366
5367  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__chead {
5368    display: flex;
5369    align-items: center;
5370    gap: 14px;
5371  }#feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__dbadge {
5372    flex: none;
5373    display: flex;
5374    align-items: center;
5375    justify-content: center;
5376    width: var(--fcp-mk-size);
5377    height: var(--fcp-mk-size);
5378    border: 1px solid currentColor;
5379    border-radius: 50%;
5380    font-family: 'Proxima Sera', Georgia, 'Times New Roman', serif;
5381    font-weight: 400;
5382    font-size: 16px;
5383    line-height: 1;
5384    color: inherit;
5385  }
5386
5387  /* Overflow stays visible so the marker and connector can sit outside the frame;
5388     the margins reserve room for them on both sides, so every slide in the track
5389     reserves the same space whichever side its own marker takes. */
5390  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__panel {
5391    position: relative;
5392    width: 100%;
5393    margin: calc(var(--fcp-mk-size) + var(--fcp-gap) + 6px) 0;
5394  }
5395
5396  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__panel-frame {
5397    position: relative;
5398    width: 100%;
5399    aspect-ratio: var(--fcp-ar);
5400    overflow: hidden;
5401    border-radius: var(--fcp-radius);
5402  }#feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__panel-img {
5403    position: absolute;
5404    left: var(--fcp-img-l);
5405    top: var(--fcp-img-t);
5406    width: var(--fcp-img-w);
5407    height: var(--fcp-img-h);
5408    max-width: none;
5409    display: block;
5410  }
5411
5412  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__panel-hl {
5413    position: absolute;
5414    z-index: 1;
5415    border: 1.5px solid var(--fcp-hl);
5416    border-radius: 8px;
5417    box-shadow: 0 0 0 3px var(--fcp-hl-ring), 0 0 26px var(--fcp-hl-glow);
5418    opacity: 0;
5419    transform: scale(0.94);
5420    transition: opacity 0.45s ease, transform 0.45s cubic-bezier(0.2, 0.9, 0.2, 1);
5421    pointer-events: none;
5422  }
5423
5424  /* The connector is a sibling of the frame, not a child, so the frame's
5425     overflow:hidden does not clip the part that runs outside it. */
5426  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__panel-line {
5427    position: absolute;
5428    z-index: 2;
5429    width: 1px;
5430    background: var(--fcp-hl);
5431    transform: translateX(-50%);
5432    opacity: 0;
5433    transition: opacity 0.45s ease;
5434    pointer-events: none;
5435  }
5436
5437  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__panel-mk {
5438    position: absolute;
5439    z-index: 3;
5440    display: flex;
5441    align-items: center;
5442    justify-content: center;
5443    width: var(--fcp-mk-size);
5444    height: var(--fcp-mk-size);
5445    border-radius: 50%;
5446    background: var(--fcp-hl);
5447    color: var(--fcp-mk-text);
5448    font-family: 'Gilroy-SemiBold', 'Gilroy-Semibold', 'Gilroy', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
5449    font-weight: 600;
5450    font-size: 15px;
5451    line-height: 1;
5452    opacity: 0;
5453    transform: translateX(-50%) scale(0.94);
5454    transition: opacity 0.45s ease, transform 0.45s cubic-bezier(0.2, 0.9, 0.2, 1);
5455    pointer-events: none;
5456  }
5457
5458  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__panel-mk--above { bottom: calc(100% + var(--fcp-gap)); }
5459  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__panel-mk--below { top: calc(100% + var(--fcp-gap)); }
5460
5461  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__panel-mk::before {
5462    content: '';
5463    position: absolute;
5464    inset: -6px;
5465    border-radius: 50%;
5466    border: 2px solid var(--fcp-hl);
5467    opacity: 0;
5468  }#feature-carousel-template--28135044186421__feature_carousel_L88KQX .is-active .fc__panel-hl {
5469    opacity: 1;
5470    transform: scale(1);
5471  }
5472
5473  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .is-active .fc__panel-line { opacity: 0.95; }
5474
5475  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .is-active .fc__panel-mk {
5476    opacity: 1;
5477    transform: translateX(-50%) scale(1);
5478  }
5479
5480  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .is-active .fc__panel-mk::before {
5481    animation: fcp-pulse-template--28135044186421__feature_carousel_L88KQX 1.6s ease-out infinite;
5482  }
5483
5484  @keyframes fcp-pulse-template--28135044186421__feature_carousel_L88KQX {
5485    0% { opacity: 0.85; transform: scale(0.85); }
5486    100% { opacity: 0; transform: scale(1.9); }
5487  }
5488
5489  @media (prefers-reduced-motion: reduce) {
5490    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__panel-hl,
5491    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__panel-line,
5492    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__panel-mk {
5493      transition: none;
5494    }
5495    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .is-active .fc__panel-mk::before { animation: none; }
5496  }
5497
5498  /* ══ Arrows ══
5499     Centred on a point `arrow_offset` outside the card edge, so they float in the
5500     gutter over the peeking neighbours rather than straddling the active card. */
5501  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__nav {
5502    position: absolute;
5503    inset: 0;
5504    pointer-events: none;
5505    z-index: 5;
5506  }
5507
5508  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__arrow {
5509    position: absolute;
5510    top: 50%;
5511    pointer-events: auto;
5512    width: var(--fc-arrow-size);
5513    height: var(--fc-arrow-size);
5514    border-radius: 50%;
5515    border: none;
5516    padding: 0;
5517    background: var(--fc-arrow-bg);
5518    color: var(--fc-arrow-color);
5519    cursor: pointer;
5520    display: inline-flex;
5521    align-items: center;
5522    justify-content: center;
5523    -webkit-backdrop-filter: blur(2px);
5524    backdrop-filter: blur(2px);
5525    transition: opacity 0.2s ease, background 0.2s ease;
5526  }
5527
5528  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__arrow--prev {
5529    left: calc(50% - (var(--fc-card-w) / 2) - var(--fc-arrow-offset));
5530    transform: translate(-50%, -50%);
5531  }
5532
5533  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__arrow--next {
5534    left: calc(50% + (var(--fc-card-w) / 2) + var(--fc-arrow-offset));
5535    transform: translate(-50%, -50%);
5536  }
5537
5538  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__arrow:hover {
5539    background: var(--fc-arrow-bg);
5540    opacity: 0.8;
5541  }
5542
5543  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__arrow:disabled {
5544    opacity: 0.35;
5545    cursor: not-allowed;
5546  }
5547
5548  /* ══ Mobile pieces: hidden on desktop ══ */
5549  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mtext,
5550  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mmedia,
5551  #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__dots {
5552    display: none;
5553  }
5554
5555  /* ══════════════ Mobile (<=768px) ══════════════ */
5556  @media (max-width: 768px) {
5557    #feature-carousel-template--28135044186421__feature_carousel_L88KQX {
5558      padding-top: var(--fc-pad-top-m);
5559      padding-bottom: var(--fc-pad-bottom-m);
5560    }
5561
5562    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__header {
5563      gap: var(--fc-header-gap-m);
5564      margin-bottom: var(--fc-header-mb-m);
5565    }
5566
5567    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__header-image { width: var(--fc-logo-w-m); }
5568    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__header-rule { width: var(--fc-rule-w-m); }
5569
5570    /* The desktop card roll is replaced wholesale by the two rolls below. */
5571    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__viewport { display: none; }
5572
5573    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mtext,
5574    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mmedia {
5575      display: block;
5576    }
5577
5578    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__dots {
5579      display: flex;
5580      align-items: center;
5581      justify-content: center;
5582      gap: var(--fc-dot-gap);
5583      margin-top: var(--fc-dot-mt);
5584    }
5585
5586    /* ── Text roll ──
5587       Fixed height, so a longer body copy never pushes the media card down and the
5588       card stays put between slides. */
5589    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mtext {
5590      position: relative;
5591      width: 100%;
5592      height: var(--fc-m-text-h);
5593      /* The left inset moved onto the item, which now owns the full slot width -
5594         see the note there. place() measures items[0].offsetLeft as its base, so
5595         it follows either arrangement. */
5596      overflow: hidden;
5597    }
5598
5599    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mtext-track {
5600      display: flex;
5601      align-items: flex-start;
5602      gap: var(--fc-m-item-gap);
5603      height: 100%;
5604      transform: translateX(0);
5605      transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
5606      will-change: transform;
5607    }#feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mtext-item {
5608      flex: 0 0 100%;
5609      width: 100%;
5610      padding-left: max(var(--fc-m-side), calc((100% - var(--fc-m-item-w)) / 2));
5611      padding-right: max(var(--fc-m-side), calc((100% - var(--fc-m-item-w)) / 2));
5612      display: flex;
5613      flex-direction: column;
5614      align-items: flex-start;
5615      gap: var(--fc-m-inner-gap);
5616      color: var(--fc-m-text);
5617    }
5618
5619    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__badge {
5620      flex: none;
5621      display: flex;
5622      align-items: center;
5623      justify-content: center;
5624      width: var(--fc-m-badge-size);
5625      height: var(--fc-m-badge-size);
5626      border: 0.5px solid var(--fc-m-badge-border);
5627      border-radius: 50%;
5628      font-family: 'Proxima Sera', Georgia, 'Times New Roman', serif;
5629      font-weight: 400;
5630      font-size: 16px;
5631      line-height: 1.4;
5632      color: var(--fc-m-text);
5633    }
5634
5635    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mtitle {
5636      margin: 0;
5637      font-family: 'Gilroy-SemiBold', 'Gilroy-Semibold', 'Gilroy', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
5638      font-weight: 600;
5639      font-size: var(--fc-m-title-size);
5640      line-height: 1.2;
5641      color: inherit;
5642    }
5643
5644    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mdesc {
5645      font-family: 'Gilroy-Regular', 'Gilroy', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
5646      font-weight: 400;
5647      font-size: var(--fc-m-body-size);
5648      line-height: 1.4;
5649      color: inherit;
5650    }
5651
5652    /* ── Media card ── */
5653    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mmedia {
5654      position: relative;
5655      width: var(--fc-m-card-w);
5656      height: var(--fc-m-card-h);
5657      margin: 0 auto;
5658      border-radius: var(--fc-m-card-radius);
5659      border: 1px solid var(--fc-m-card-border);
5660      overflow: hidden;
5661    }
5662
5663    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mmedia-track {
5664      display: flex;
5665      align-items: stretch;
5666      height: 100%;
5667      transform: translateX(0);
5668      transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
5669      will-change: transform;
5670    }
5671
5672    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mmedia-item {
5673      flex: 0 0 100%;
5674      width: 100%;
5675      height: 100%;
5676      /* Containing block for .fc__layer. Without it the absolutely positioned
5677         layers resolve against .fc__mmedia (the only positioned ancestor), so
5678         every slide's media stacks at the viewport instead of travelling with
5679         the track — the media then sits ~1000px off to the left. */
5680      position: relative;
5681    }
5682
5683    /* Figma 1689:16439: the bar sits 19px up with tighter chips at 12px. */
5684    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__chips--m {
5685      bottom: 19px;
5686      gap: 10px;
5687      max-width: calc(100% - 16px);
5688    }#feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__chips--m {
5689      gap: clamp(6px, calc(10px - (390px - 100vw) * 0.13), 10px);
5690      z-index: 4;
5691    }
5692
5693    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__chips--m .fc__chip {
5694      padding: 10px clamp(8px, calc(16px - (390px - 100vw) * 0.27), 16px);
5695      font-size: 12px;
5696    }#feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mmedia-img,
5697    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mmedia-video {
5698      display: block;
5699      width: 100%;
5700      height: 100%;
5701      object-fit: cover;
5702      object-position: var(--fc-m-focal, 50% 50%);
5703    }
5704
5705    /* ── Panel spotlight on the portrait card ──
5706       The strip is zoomed to --fcp-m-w of the card and slid by --fcp-m-l, both
5707       Liquid-computed per slide so the highlighted control lands mid-card. The item
5708       clips its own overflow: the strip is wider than the card and would otherwise
5709       bleed into the neighbouring slide in the flex track. */
5710    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mmedia-item--panel {
5711      position: relative;
5712      display: flex;
5713      align-items: center;
5714      overflow: hidden;
5715      background: var(--fc-card-bg);
5716    }
5717
5718    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mpanel {
5719      flex: none;
5720      position: relative;
5721      width: var(--fcp-m-w, 240%);
5722      margin-left: var(--fcp-m-l, 0%);
5723    }
5724
5725    /* Square off the corners here — the card already rounds and clips them, and a
5726       second radius inside it reads as a seam against the gradient. */
5727    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__mpanel .fc__panel-frame {
5728      border-radius: 0;
5729    }
5730
5731    /* Invisible half-width tap targets — the mobile design has no arrows. */
5732    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__tap {
5733      position: absolute;
5734      top: 0;
5735      width: 50%;
5736      height: 100%;
5737      z-index: 3;
5738      padding: 0;
5739      border: none;
5740      background: transparent;
5741      cursor: pointer;
5742      -webkit-tap-highlight-color: transparent;
5743    }
5744
5745    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__tap--prev { left: 0; }
5746    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__tap--next { right: 0; }#feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__tap {
5747      height: calc(100% - 19px - 56px);
5748    }#feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__tap:focus-visible {
5749      outline: 2px solid var(--fc-dot-active);
5750      outline-offset: -4px;
5751    }
5752
5753    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__dot {
5754      width: var(--fc-dot-size);
5755      height: var(--fc-dot-size);
5756      border-radius: 50%;
5757      border: none;
5758      padding: 0;
5759      background: var(--fc-dot-inactive);
5760      cursor: pointer;
5761      transition: background 0.2s ease;
5762    }
5763
5764    #feature-carousel-template--28135044186421__feature_carousel_L88KQX .fc__dot.is-active {
5765      background: var(--fc-dot-active);
5766    }
5767  }
5768</style>
5769
5770<script>
5771  (function () {
5772    var section = document.getElementById('feature-carousel-template--28135044186421__feature_carousel_L88KQX');
5773    if (!section) return;
5774
5775    var n = 5;
5776    if (n === 0) return;
5777
5778    var loop = section.getAttribute('data-loop') === 'true' && n > 1;
5779
5780    // ── Rolls ──
5781    // Three independent tracks driven by one index. The desktop card roll centres
5782    // its active item in the viewport; the two mobile rolls align the active item
5783    // to their own left edge. Measuring offsetLeft (rather than doing pitch
5784    // arithmetic) keeps this correct when a card is width-clamped on a narrow
5785    // viewport.
5786    var rolls = [];
5787    Array.prototype.forEach.call(section.querySelectorAll('[data-roll-viewport]'), function (vp) {
5788      var track = vp.querySelector('[data-roll-track]');
5789      if (!track) return;
5790      rolls.push({
5791        vp: vp,
5792        track: track,
5793        mode: track.classList.contains('fc__track') ? 'center' : 'start',
5794        items: []
5795      });
5796    });
5797    if (!rolls.length) return;
5798
5799    // ── Infinite loop ──
5800    // Clone the last item to the front and the first to the back of EVERY track,
5801    // so a peek is always available on the desktop roll and all three stay index
5802    // aligned. `current` indexes the padded list; realIndexOf() maps back.
5803    rolls.forEach(function (roll) {
5804      var kids = Array.prototype.filter.call(roll.track.children, function (el) {
5805        return el.hasAttribute('data-index');
5806      });
5807      if (loop && kids.length) {
5808        var firstClone = kids[0].cloneNode(true);
5809        var lastClone = kids[kids.length - 1].cloneNode(true);
5810        [firstClone, lastClone].forEach(function (c) {
5811          c.setAttribute('aria-hidden', 'true');
5812          c.classList.add('fc--clone');
5813          // Clones must never be focus targets or duplicate ids in the a11y tree.
5814          Array.prototype.forEach.call(c.querySelectorAll('button, a, input'), function (f) {
5815            f.setAttribute('tabindex', '-1');
5816          });
5817        });
5818        roll.track.insertBefore(lastClone, kids[0]);
5819        roll.track.appendChild(firstClone);
5820      }
5821      roll.items = Array.prototype.filter.call(roll.track.children, function (el) {
5822        return el.hasAttribute('data-index');
5823      });
5824    });
5825
5826    var dots = Array.prototype.slice.call(section.querySelectorAll('.fc__dot'));
5827    var prevBtn = section.querySelector('.fc__arrow--prev');
5828    var nextBtn = section.querySelector('.fc__arrow--next');
5829    var tapPrev = section.querySelector('.fc__tap--prev');
5830    var tapNext = section.querySelector('.fc__tap--next');
5831
5832    var current = loop ? 1 : 0;
5833    var animating = false;
5834    var animTimer = null;
5835
5836    function realIndexOf(paddedIndex) {
5837      if (!loop) return paddedIndex;
5838      if (paddedIndex === 0) return n - 1;   // leading clone = last real
5839      if (paddedIndex === n + 1) return 0;   // trailing clone = first real
5840      return paddedIndex - 1;
5841    }
5842
5843    function place(roll, index, animate) {
5844      var item = roll.items[index];
5845      // A hidden roll measures as 0 and would compute a garbage offset. Skip it;
5846      // settle() re-places every roll on resize, which includes crossing the
5847      // breakpoint, so it is corrected before it is ever seen.
5848      if (!item || !roll.vp.clientWidth) return;
5849      // Measure from the first item, not from the offsetParent's border box: the
5850      // mobile text roll carries a left padding and the media card a 1px border,
5851      // and a raw offsetLeft would translate those away.
5852      var base = roll.items[0].offsetLeft;
5853      var x = item.offsetLeft - base;
5854      var offset = roll.mode === 'center'
5855        ? roll.vp.clientWidth / 2 - (x + item.offsetWidth / 2)
5856        : -x;
5857      roll.track.style.transition = animate ? '' : 'none';
5858      roll.track.style.transform = 'translateX(' + offset + 'px)';
5859      if (!animate) {
5860        void roll.track.offsetWidth; // force reflow so the next animated move starts here
5861        roll.track.style.transition = '';
5862      }
5863    }
5864
5865    function placeAll(index, animate) {
5866      rolls.forEach(function (roll) { place(roll, index, animate); });
5867    }
5868
5869    function playActiveVideos(index) {
5870      rolls.forEach(function (roll) {
5871        roll.items.forEach(function (item, i) {
5872          Array.prototype.forEach.call(item.querySelectorAll('video[data-autoplay]'), function (v) {
5873            if (i === index) {
5874              var p = v.play();
5875              if (p && p.catch) p.catch(function () {});
5876            } else if (!v.paused) {
5877              // Off-centre: pause but leave the current frame on screen.
5878              v.pause();
5879            }
5880          });
5881        });
5882      });
5883    }
5884
5885    // ── Pour-pattern options ──
5886    // Scoped to the media box that was clicked, so the desktop card and the
5887    // mobile card keep their own selection; only one is on screen at a time.
5888    section.addEventListener('click', function (e) {
5889      var chip = e.target.closest ? e.target.closest('[data-fc-chip]') : null;
5890      if (!chip || !section.contains(chip)) return;
5891      var bar = chip.closest('[data-fc-chips]');
5892      var box = bar && bar.parentNode;
5893      if (!box) return;
5894
5895      var want = chip.getAttribute('data-fc-chip');
5896      Array.prototype.slice.call(bar.querySelectorAll('[data-fc-chip]')).forEach(function (c) {
5897        var on = c === chip;
5898        c.classList.toggle('is-selected', on);
5899        c.setAttribute('aria-pressed', on ? 'true' : 'false');
5900      });
5901
5902      Array.prototype.slice.call(box.children).forEach(function (layer) {
5903        if (!layer.classList || !layer.classList.contains('fc__layer')) return;
5904        var on = layer.getAttribute('data-fc-layer') === want;
5905        layer.classList.toggle('is-active', on);
5906        var v = layer.querySelector('video');
5907        if (!v) return;
5908        if (on) {
5909          var p = v.play();
5910          if (p && p.catch) p.catch(function () {});
5911        } else if (!v.paused) {
5912          v.pause();
5913        }
5914      });
5915    });
5916
5917    function syncUI() {
5918      var real = realIndexOf(current);
5919      rolls.forEach(function (roll) {
5920        roll.items.forEach(function (item, i) {
5921          var on = i === current;
5922          item.classList.toggle('is-active', on);
5923          if (item.classList.contains('fc__mtext-item')) {
5924            item.setAttribute('aria-hidden', on ? 'false' : 'true');
5925          }
5926        });
5927      });
5928      dots.forEach(function (dot, i) {
5929        var on = i === real;
5930        dot.classList.toggle('is-active', on);
5931        dot.setAttribute('aria-selected', on ? 'true' : 'false');
5932      });
5933      if (!loop) {
5934        if (prevBtn) prevBtn.disabled = current === 0;
5935        if (nextBtn) nextBtn.disabled = current === n - 1;
5936      }
5937    }
5938
5939    function goTo(index, animate) {
5940      current = index;
5941      placeAll(current, animate);
5942      syncUI();
5943      playActiveVideos(current);
5944    }
5945
5946    // After an animated move onto a clone, jump (untransitioned) to its real twin.
5947    function onTransitionEnd() {
5948      clearTimeout(animTimer);
5949      animating = false;
5950      if (!loop) return;
5951      if (current === n + 1) { current = 1; placeAll(current, false); syncUI(); playActiveVideos(current); }
5952      else if (current === 0) { current = n; placeAll(current, false); syncUI(); playActiveVideos(current); }
5953    }
5954
5955    // Bound to every track: only one is visible at a time, and a second call is a
5956    // no-op because current has already been normalised.
5957    rolls.forEach(function (roll) {
5958      roll.track.addEventListener('transitionend', function (e) {
5959        if (e.propertyName === 'transform' && e.target === roll.track) onTransitionEnd();
5960      });
5961    });
5962
5963    function step(dir) {
5964      if (animating) return;
5965      var target = current + dir;
5966      if (!loop) {
5967        target = Math.max(0, Math.min(target, n - 1));
5968        if (target === current) return;
5969      }
5970      animating = true;
5971      goTo(target, true);
5972      // Safety net: if transitionend is missed (interrupted transition, a
5973      // background tab, or prefers-reduced-motion where it never fires at all),
5974      // release the lock so input keeps working.
5975      clearTimeout(animTimer);
5976      animTimer = setTimeout(onTransitionEnd, 650);
5977    }
5978
5979    if (prevBtn) prevBtn.addEventListener('click', function () { step(-1); });
5980    if (nextBtn) nextBtn.addEventListener('click', function () { step(1); });
5981    if (tapPrev) tapPrev.addEventListener('click', function () { step(-1); });
5982    if (tapNext) tapNext.addEventListener('click', function () { step(1); });
5983
5984    dots.forEach(function (dot) {
5985      dot.addEventListener('click', function () {
5986        if (animating) return;
5987        var real = parseInt(dot.getAttribute('data-index'), 10) || 0;
5988        goTo(loop ? real + 1 : real, true);
5989      });
5990    });
5991
5992    // ── Swipe (opt-in) ──
5993    // Committed on touchend by total horizontal delta, so a normal finger flick
5994    // reliably advances one slide. Passive listeners keep vertical scrolling smooth.
5995    if (section.getAttribute('data-swipe') === 'true' && n > 1) {
5996      rolls.forEach(function (roll) {
5997        var sx = 0, sy = 0, tracking = false;
5998        roll.vp.addEventListener('touchstart', function (e) {
5999          if (!e.touches || e.touches.length !== 1) { tracking = false; return; }
6000          sx = e.touches[0].clientX; sy = e.touches[0].clientY; tracking = true;
6001        }, { passive: true });
6002        roll.vp.addEventListener('touchend', function (e) {
6003          if (!tracking) return;
6004          tracking = false;
6005          var t = e.changedTouches && e.changedTouches[0];
6006          if (!t) return;
6007          var dx = sx - t.clientX;
6008          var dy = sy - t.clientY;
6009          if (Math.abs(dx) > 40 && Math.abs(dx) > Math.abs(dy)) step(dx > 0 ? 1 : -1);
6010        }, { passive: true });
6011        roll.vp.addEventListener('touchcancel', function () { tracking = false; }, { passive: true });
6012      });
6013    }
6014
6015    // ── Autoplay (opt-in) ──
6016    var timer = null;
6017    var startAutoplay = function () {};
6018    var stopAutoplay = function () {};
6019    if (section.getAttribute('data-autoplay') === 'true' && n > 1) {
6020      var ms = (parseFloat(section.getAttribute('data-autoplay-interval')) || 6) * 1000;
6021      startAutoplay = function () { if (!timer) timer = setInterval(function () { step(1); }, ms); };
6022      stopAutoplay = function () { if (timer) { clearInterval(timer); timer = null; } };
6023      startAutoplay();
6024      section.addEventListener('mouseenter', stopAutoplay);
6025      section.addEventListener('mouseleave', startAutoplay);
6026    }
6027
6028    // ── Prime a first frame on every video ──
6029    // Some browsers won't render a preloaded but never-played <video>, so an
6030    // off-centre slide that hasn't been active shows black. Nudging currentTime a
6031    // hair past 0 forces that frame to paint while the video stays paused.
6032    function primeFrame(v) {
6033      var paint = function () {
6034        try { if (v.paused && v.currentTime < 0.04) v.currentTime = 0.04; } catch (e) {}
6035      };
6036      if (v.readyState >= 2) paint();
6037      else v.addEventListener('loadeddata', paint, { once: true });
6038    }
6039    Array.prototype.forEach.call(section.querySelectorAll('video[data-autoplay]'), primeFrame);
6040
6041    // ── Init, and keep every roll placed across resize / breakpoint changes ──
6042    function settle() { placeAll(current, false); }
6043    if (document.readyState === 'complete') settle();
6044    else window.addEventListener('load', settle);
6045    requestAnimationFrame(settle);
6046
6047    var rt;
6048    window.addEventListener('resize', function () {
6049      clearTimeout(rt);
6050      rt = setTimeout(settle, 120);
6051    });
6052
6053    // Theme editor lifecycle: tear the interval down so a re-render doesn't leave
6054    // a second one running against a detached section.
6055    document.addEventListener('shopify:section:unload', function (e) {
6056      if (e.detail && e.detail.sectionId && String(e.detail.sectionId) !== 'template--28135044186421__feature_carousel_L88KQX') return;
6057      stopAutoplay();
6058      clearTimeout(animTimer);
6059      clearTimeout(rt);
6060    });
6061    document.addEventListener('shopify:section:select', stopAutoplay);
6062    document.addEventListener('shopify:section:deselect', startAutoplay);
6063
6064    syncUI();
6065    playActiveVideos(current);
6066  })();
6067</script>
6067
6068
6069
6070</section><section id="shopify-section-template--28135044186421__feature_card_slider_9AH7NT" class="shopify-section section-feature-card-slider">
6071
6072<section class="pfs pfs--mobile-dots" id="pfs-template--28135044186421__feature_card_slider_9AH7NT"><div class="pfs__head"><h2 class="pfs__heading">Taste Intelligence</h2><p class="pfs__subheading">Share your feedback and Juni will refine the recipe to your taste</p></div><div class="pfs__track-wrap">
6073    <ul class="pfs__track" id="pfs-track-template--28135044186421__feature_card_slider_9AH7NT" role="list"><li class="pfs__card" >
6074            <div class="pfs__card-text"><h3 class="pfs__card-title">Rate your coffee</h3><p class="pfs__card-desc">After completing a brew, you will be prompted to give a rating</p></div><div class="pfs__card-media"><picture><source
6075                      media="(max-width: 768px)"
6076                      srcset="//cosori.com/cdn/shop/files/Image_52.png?v=1788283254&width=400 400w, //cosori.com/cdn/shop/files/Image_52.png?v=1788283254&width=800 800w"
6077                      sizes="88vw"
6078                    ><img
6079                    src="//cosori.com/cdn/shop/files/Image_49.png?v=1788280352&width=800"
6080                    srcset="
6081                      //cosori.com/cdn/shop/files/Image_49.png?v=1788280352&width=400 400w,
6082                      //cosori.com/cdn/shop/files/Image_49.png?v=1788280352&width=800 800w
6083                    "
6084                    sizes="(max-width: 640px) 85vw, 420px"
6085                    alt="A dark mobile app or website modal dialog asking &#39;How was your coffee?&#39; with options &#39;Loved it!&#39;, &#39;Could be better&#39;, and a &#39;Submit&#39; button."
6086                    width="1260"
6087                    height="770"
6088                    loading="lazy"
6089                    class="pfs__card-img"
6090                  >
6091                </picture>
6092              </div></li><li class="pfs__card" >
6093            <div class="pfs__card-text"><h3 class="pfs__card-title">Provide feedback</h3><p class="pfs__card-desc">If you select &quot;Could be better,&quot; you can provide feedback on sweetness, acidity, bitterness, and body</p></div><div class="pfs__card-media"><video
6094                    class="pfs__card-video pfs__card-video--desktop"
6095                    muted loop playsinline
6096                    preload="none"
6097                    poster="//cosori.com/cdn/shop/files/Image_50.png?v=1788280366&width=800"
6098                  ><source src="//cosori.com/cdn/shop/videos/c/vp/262df7077b61474988b02e9f0cace12c/262df7077b61474988b02e9f0cace12c.HD-720p-1.6Mbps-93201934.mp4?v=0" type="video/mp4"><source src="//cosori.com/cdn/shop/videos/c/vp/262df7077b61474988b02e9f0cace12c/262df7077b61474988b02e9f0cace12c.m3u8?v=0" type="application/x-mpegURL"></video><video
6099                    class="pfs__card-video pfs__card-video--mobile"
6100                    muted loop playsinline
6101                    preload="none"
6102                    poster="//cosori.com/cdn/shop/files/Image_50.png?v=1788280366&width=800"
6103                  ><source src="//cosori.com/cdn/shop/videos/c/vp/27fbf9832c0f48fe8936b565dad206d2/27fbf9832c0f48fe8936b565dad206d2.HD-1080p-2.5Mbps-93595226.mp4?v=0" type="video/mp4"><source src="//cosori.com/cdn/shop/videos/c/vp/27fbf9832c0f48fe8936b565dad206d2/27fbf9832c0f48fe8936b565dad206d2.m3u8?v=0" type="application/x-mpegURL"></video></div></li><li class="pfs__card" >
6104            <div class="pfs__card-text"><h3 class="pfs__card-title">Get AI recommendations</h3><p class="pfs__card-desc">Based on your feedback, you will receive recommendations to improve the recipe</p></div><div class="pfs__card-media"><video
6105                    class="pfs__card-video pfs__card-video--desktop"
6106                    muted loop playsinline
6107                    preload="none"
6108                    
6109                  ><source src="//cosori.com/cdn/shop/videos/c/vp/4fbaef83897046c0ae8b11e8fb621cc3/4fbaef83897046c0ae8b11e8fb621cc3.HD-720p-2.1Mbps-93595313.mp4?v=0" type="video/mp4"><source src="//cosori.com/cdn/shop/videos/c/vp/4fbaef83897046c0ae8b11e8fb621cc3/4fbaef83897046c0ae8b11e8fb621cc3.m3u8?v=0" type="application/x-mpegURL"></video><video
6110                    class="pfs__card-video pfs__card-video--mobile"
6111                    muted loop playsinline
6112                    preload="none"
6113                    
6114                  ><source src="//cosori.com/cdn/shop/videos/c/vp/7dc22cb45b7e4b4d95132bc93fdee15f/7dc22cb45b7e4b4d95132bc93fdee15f.HD-1080p-2.5Mbps-93595259.mp4?v=0" type="video/mp4"><source src="//cosori.com/cdn/shop/videos/c/vp/7dc22cb45b7e4b4d95132bc93fdee15f/7dc22cb45b7e4b4d95132bc93fdee15f.m3u8?v=0" type="application/x-mpegURL"></video></div></li><li class="pfs__card" >
6115            <div class="pfs__card-text"><h3 class="pfs__card-title">Brew again</h3><p class="pfs__card-desc">The recipe is updated based on your selection for future brews that better match your preferences</p></div><div class="pfs__card-media"><picture><source
6116                      media="(max-width: 768px)"
6117                      srcset="//cosori.com/cdn/shop/files/Image_53.png?v=1788283269&width=400 400w, //cosori.com/cdn/shop/files/Image_53.png?v=1788283269&width=800 800w"
6118                      sizes="88vw"
6119                    ><img
6120                    src="//cosori.com/cdn/shop/files/Image_51.png?v=1788280436&width=800"
6121                    srcset="
6122                      //cosori.com/cdn/shop/files/Image_51.png?v=1788280436&width=400 400w,
6123                      //cosori.com/cdn/shop/files/Image_51.png?v=1788280436&width=800 800w
6124                    "
6125                    sizes="(max-width: 640px) 85vw, 420px"
6126                    alt="Brew again"
6127                    width="1260"
6128                    height="768"
6129                    loading="lazy"
6130                    class="pfs__card-img"
6131                  >
6132                </picture>
6133              </div></li></ul>
6134  </div><div class="pfs__nav pfs__nav--align-left" role="group" aria-label="Slide navigation">
6135    <button class="pfs__nav-btn pfs__nav-btn--prev" id="pfs-prev-template--28135044186421__feature_card_slider_9AH7NT" aria-label="Previous slide" aria-controls="pfs-track-template--28135044186421__feature_card_slider_9AH7NT">
6136      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" fill="none" width="44" height="44" aria-hidden="true"><path d="M25.007 15.4937L18.993 22L25.007 28.5063" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>
6137    </button>
6138    <button class="pfs__nav-btn pfs__nav-btn--next" id="pfs-next-template--28135044186421__feature_card_slider_9AH7NT" aria-label="Next slide" aria-controls="pfs-track-template--28135044186421__feature_card_slider_9AH7NT">
6139      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" fill="none" width="44" height="44" aria-hidden="true"><path d="M18.993 15.4937L25.007 22L18.993 28.5063" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>
6140    </button>
6141  </div><div class="pfs__dots" id="pfs-dots-template--28135044186421__feature_card_slider_9AH7NT" role="tablist" aria-label="Slide navigation"></div></section>
6142
6143<style>#pfs-template--28135044186421__feature_card_slider_9AH7NT {
6144    --pfs-bg: #ffffff;
6145    --pfs-text: #555555;
6146    --pfs-heading-color: #464142;
6147    --pfs-card-bg: #101010;
6148    --pfs-card-border: #e8e8e8;
6149    --pfs-card-title-color: #e8e0d5;
6150    --pfs-card-desc-color: #e8e0d5;
6151    --pfs-text-space: 148px;
6152    --pfs-text-space-mobile: 132px;
6153    --pfs-dot-color: #e8e0d5;
6154    --pfs-dot-active-color: #464142;--pfs-inset: min(100px, 8vw);
6155    --pfs-card-gap: 24px;--pfs-card-inner-gap: 0px;
6156    --pfs-track-pad-top: 0px;
6157    --pfs-card-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0.15);
6158    --pfs-heading-gap: 8px;
6159    --pfs-head-space: 30px;
6160    --pfs-subhead-max: 840px;
6161    --pfs-card-pad-x: 20px;
6162    --pfs-card-pad-top: 24px;
6163    --pfs-card-pad-top-mobile: 32px;
6164    --pfs-card-copy-gap: 16px;
6165    --pfs-card-title-size: 20px;
6166    --pfs-card-title-size-m: 20px;
6167    --pfs-card-desc-size: 16px;
6168    --pfs-card-desc-size-m: 16px;
6169    --pfs-card-title-tracking: -0.4px;
6170    --pfs-nav-btn: #1c1c1c;
6171    --pfs-nav-icon: #ffffff;
6172    --pfs-nav-gap: 35px;
6173    --pfs-nav-btn-gap: 24px;
6174    background-color: var(--pfs-bg, #f9f9f9);
6175    padding: 52px 0 52px;
6176    overflow-x: hidden;
6177  }#pfs-template--28135044186421__feature_card_slider_9AH7NT,
6178  #pfs-template--28135044186421__feature_card_slider_9AH7NT *,
6179  #pfs-template--28135044186421__feature_card_slider_9AH7NT *::before,
6180  #pfs-template--28135044186421__feature_card_slider_9AH7NT *::after {
6181    box-sizing: border-box;
6182  }#pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__head {
6183    display: flex;
6184    flex-direction: column;
6185    gap: var(--pfs-heading-gap, 4px);
6186    margin: 0 0 var(--pfs-head-space, 32px);
6187  }
6188  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__heading {
6189    font-family: 'Proxima Sera', Georgia, 'Times New Roman', serif;
6190font-size: 36px;
6191    font-weight: 500;
6192    text-align: center;
6193    color: var(--pfs-heading-color, #111111);
6194    margin: 0;
6195    padding: 0 24px;
6196    letter-spacing: -0.09px;
6197    line-height: 1.12;
6198    -webkit-font-smoothing: antialiased;
6199    -moz-osx-font-smoothing: grayscale;
6200  }
6201  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__subheading {
6202    font-size: 20px;
6203    font-weight: 400;
6204    text-align: center;
6205    line-height: 1.4;
6206    color: #3b3b3b;
6207    margin: 0 auto;
6208    padding: 0 24px;
6209    width: 100%;
6210    max-width: var(--pfs-subhead-max, 720px);
6211    -webkit-font-smoothing: antialiased;
6212    -moz-osx-font-smoothing: grayscale;
6213  }
6214
6215  /* ── Track ── */
6216  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__track-wrap {
6217    width: 100%;
6218  }
6219  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__track {
6220    list-style: none;
6221    margin: 0;
6222    /* Left inset so the active card has breathing room from the viewport
6223       edge on desktop (Flickity's `cellAlign: left` aligns the cell to the
6224       track's content-box left edge — padding shifts that inward). */
6225    padding: var(--pfs-track-pad-top, 8px) 0 28px var(--pfs-inset);
6226  }
6227  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__track .pfs__card:first-child {
6228    margin-left: 0;
6229  }
6230  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__track .flickity-viewport {
6231    overflow: visible;
6232  }@media screen and (min-width: 769px) {
6233    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__track .flickity-viewport {
6234      clip-path: inset(-100vh -100vw -100vh 0);
6235    }
6236  }
6237  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__track .pfs__card {
6238    margin: 0 calc(var(--pfs-card-gap, 16px) / 2);
6239  }
6240  /* Hide default Flickity buttons (we use custom arrows / custom dots) */
6241  #pfs-template--28135044186421__feature_card_slider_9AH7NT .flickity-button { display: none; }
6242
6243  /* ── Card ── */
6244  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card {
6245    width: min(630px, 80vw);
6246    max-width: min(630px, 80vw);
6247    height: min(533px, 85vw * 1.26);
6248    max-height: 533px;
6249    background: var(--pfs-card-bg, #FFF);
6250    border-radius: 16px;
6251    overflow: hidden;
6252    display: flex;
6253    flex-direction: column;
6254    align-items: center;
6255    gap: var(--pfs-card-inner-gap, 8px);
6256    box-shadow: var(--pfs-card-shadow, 7px 8px 10px 0 rgba(0, 0, 0, 0.15));
6257  }
6258  /* Intermediate breakpoint – scale cards down on tablets to keep multiple cards visible */
6259  @media screen and (min-width: 769px) and (max-width: 1024px) {
6260    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card {
6261      width: min(630px, 60vw);
6262      max-width: min(630px, 60vw);
6263    }
6264  }
6265  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card-text {
6266    padding: var(--pfs-card-pad-top, 28px) var(--pfs-card-pad-x, 28px) 0;
6267    flex-shrink: 0;
6268    width: 100%;
6269    box-sizing: border-box;
6270    /* Reserve vertical space for the copy so the media below can be pulled up.
6271       min-height means the box grows if the real text is taller — text is never
6272       clipped. Desktop/tablet only; disabled on mobile below. */
6273    min-height: var(--pfs-text-space, 0px);
6274  }
6275  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card-title {
6276    color: var(--pfs-card-title-color, #000);
6277    font-family: 'Gilroy', sans-serif;
6278    font-size: var(--pfs-card-title-size, 24px);
6279    font-weight: 600;
6280    line-height: 120%;
6281    letter-spacing: var(--pfs-card-title-tracking, 0.06px);
6282    margin: 0 0 var(--pfs-card-copy-gap, 10px);
6283    -webkit-font-smoothing: antialiased;
6284    -moz-osx-font-smoothing: grayscale;
6285  }
6286  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card-desc {
6287    color: var(--pfs-card-desc-color, #000);
6288    font-family: 'Gilroy', sans-serif;
6289    font-size: var(--pfs-card-desc-size, 20px);
6290    font-weight: 500;
6291    line-height: 140%;
6292    letter-spacing: 0.08px;
6293    margin: 0;
6294    -webkit-font-smoothing: antialiased;
6295    -moz-osx-font-smoothing: grayscale;
6296  }
6297  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card-media {
6298    /* Sits directly under the reserved text area (see .pfs__card-text min-height).
6299       On desktop it grows to fill the rest of the fixed-height card (below). */
6300    width: 100%;
6301    overflow: hidden;
6302  }
6303  /* The image is wrapped in <picture> (for the optional mobile image), so the
6304     wrapper must pass the media box's size through to the <img> for the desktop
6305     fill to work. */
6306  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card-media picture {
6307    display: block;
6308    width: 100%;
6309    height: 100%;
6310  }
6311  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card-img {
6312    width: 100%;
6313    height: auto;
6314    display: block;
6315  }
6316  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card-video {
6317    width: 100%;
6318    height: auto;
6319    display: block;
6320    object-fit: cover;
6321  }#pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card-video--mobile {
6322    display: none;
6323  }
6324  @media screen and (max-width: 768px) {
6325    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card-video--desktop {
6326      display: none;
6327    }
6328    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card-video--mobile {
6329      display: block;
6330    }
6331  }#pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card-media--placeholder {
6332    background: rgba(127, 127, 127, 0.14);
6333    display: flex;
6334    align-items: center;
6335    justify-content: center;
6336    min-height: 120px;
6337  }
6338  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card-placeholder-svg {
6339    width: 100%;
6340    height: 100%;
6341    display: block;
6342    fill: currentColor;
6343    opacity: 0.3;
6344  }
6345  /* Desktop/tablet: the card is a fixed height, so stretch the media to fill the
6346     space between the (uniform) text area and the card's bottom edge — the photo
6347     runs all the way down with no gap. Mobile keeps natural height (card is auto). */
6348  @media screen and (min-width: 769px) {
6349    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card-media {
6350      flex: 1 1 auto;
6351      min-height: 0;
6352    }
6353    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card-img,
6354    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card-video {
6355      height: 100%;
6356      object-fit: cover;
6357    }
6358  }
6359
6360  /* ── Footer ── */
6361  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__footer {
6362    display: flex;
6363    align-items: center;
6364    justify-content: center;
6365    gap: 20px;
6366    padding: 32px 48px 0;
6367  }
6368
6369  /* ── App promo ── */
6370  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__app {
6371    display: flex;
6372    align-items: center;
6373    gap: 14px;
6374    flex-wrap: wrap;
6375    justify-content: center;
6376  }
6377  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__app-icon {
6378    width: 56px;
6379    height: 56px;
6380    border-radius: 14px;
6381    object-fit: cover;
6382    display: block;
6383    flex-shrink: 0;
6384  }
6385  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__app-icon--placeholder {
6386    background: #e0e8f0;
6387    display: flex;
6388    align-items: center;
6389    justify-content: center;
6390    color: #7aaed0;
6391  }
6392  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__app-meta {
6393    display: flex;
6394    flex-direction: column;
6395    gap: 0;
6396  }
6397  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__app-name {
6398    font-size: 1.25rem;
6399    font-weight: 500;
6400    margin: 0;
6401    line-height: 1.2;
6402    color: var(--pfs-heading-color, #111111);
6403  }
6404  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__app-tagline {
6405    font-size: 0.875rem;
6406    margin: 0;
6407    color: var(--pfs-text, #777777);
6408  }
6409  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__app-badges {
6410    display: flex;
6411    gap: 10px;
6412    align-items: center;
6413    flex-wrap: wrap;
6414    margin-left: 20px;
6415  }
6416  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__badge-link {
6417    text-decoration: none;
6418    display: block;
6419  }
6420  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__badge-img {
6421    height: 42px;
6422    width: auto;
6423    display: block;
6424    border-radius: 8px;
6425  }
6426  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__badge {
6427    display: inline-flex;
6428    align-items: center;
6429    gap: 8px;
6430    background: #111111;
6431    color: #ffffff;
6432    padding: 8px 16px;
6433    border-radius: 8px;
6434    font-size: 0.875rem;
6435    font-weight: 600;
6436    white-space: nowrap;
6437    line-height: 1;
6438  }
6439  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__badge span {
6440    display: flex;
6441    flex-direction: column;
6442    gap: 1px;
6443  }
6444  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__badge small {
6445    font-size: 0.625rem;
6446    font-weight: 400;
6447    letter-spacing: 0.04em;
6448    text-transform: uppercase;
6449    opacity: 0.8;
6450  }
6451
6452  /* ── Nav buttons ── */
6453  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__nav {
6454    display: flex;
6455    gap: var(--pfs-nav-btn-gap, 16px);
6456    justify-content: flex-end;
6457padding: var(--pfs-nav-gap, 16px) var(--pfs-inset) 0;
6458  }
6459  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__nav--align-left {
6460    justify-content: flex-start;
6461  }
6462  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__nav--align-center {
6463    justify-content: center;
6464  }
6465  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__nav--align-right {
6466    justify-content: flex-end;
6467  }
6468  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__nav-btn {
6469    width: 44px;
6470    height: 44px;
6471    border-radius: 50%;
6472    border: none;
6473    padding: 0;
6474    background: var(--pfs-nav-btn, #111111);
6475    cursor: pointer;
6476    display: flex;
6477    align-items: center;
6478    justify-content: center;
6479    color: var(--pfs-nav-icon, #ffffff);
6480    transition: opacity 0.2s;
6481  }
6482  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__nav-btn svg {
6483    display: block;
6484    flex: 0 0 auto;
6485  }
6486  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__nav-btn:hover {
6487    opacity: 0.8;
6488  }
6489  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__nav-btn:disabled {
6490    opacity: 0.35;
6491    cursor: not-allowed;
6492  }
6493
6494  /* ── Mobile dots (opt-in via "Mobile navigation" = Dots) ── */
6495  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__dots { display: none; }
6496  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__dot {
6497    width: 9px;
6498    height: 9px;
6499    border-radius: 50%;
6500    padding: 0;
6501    border: 0;
6502    cursor: pointer;
6503    background: var(--pfs-dot-color, #DACEBF);
6504    transition: background 0.2s;
6505    -webkit-appearance: none;
6506    appearance: none;
6507  }
6508  #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__dot--active {
6509    background: var(--pfs-dot-active-color, #001B70);
6510  }
6511
6512  /* ── Responsive ── */
6513  @media screen and (max-width: 768px) {
6514    #pfs-template--28135044186421__feature_card_slider_9AH7NT {
6515      padding: 32px 0 32px;
6516    }
6517
6518    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__head {
6519      margin-bottom: 24px;
6520    }
6521    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__track .pfs__card {
6522      margin: 0 calc(16px / 2);
6523    }#pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__track {
6524      padding-left: 0;
6525      padding-right: var(--pfs-inset);
6526    }
6527    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__heading {
6528      /* Fixed on mobile — no viewport scaling. The previous
6529         clamp(14px, 4.8vw, 1.75rem) + white-space: nowrap pair resized the
6530         heading continuously as the screen changed: the vw term bought the
6531         single line by shrinking the type to fit. A fixed 24px can't hold one
6532         line (headings in use measure 302–404px against ~272–327px of available
6533         width), so the nowrap is dropped and long headings wrap to two lines
6534         rather than being clipped by this section's overflow-x: hidden. */
6535      font-size: 24px;
6536      /* Even the two-line split instead of leaving an orphan word. Older
6537         browsers ignore this and wrap normally, so it needs no fallback. */
6538      text-wrap: balance;
6539    }
6540    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__subheading {
6541      font-size: 20px;
6542    }
6543    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card {
6544      width: 90vw;
6545      max-width: 90vw;height: 592px;
6546      max-height: 592px;
6547    }
6548    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card-text {
6549      padding: var(--pfs-card-pad-top-mobile, 20px) 20px 0;
6550      /* Mobile cards size to content (height: auto) and are JS-equalized, so the
6551         desktop text-space reservation is disabled here to avoid clipping — unless
6552         a mobile text area is set explicitly, which reserves it the same way the
6553         desktop rule does (the box still grows if the real copy is taller). */
6554      min-height: var(--pfs-text-space-mobile, 0px);
6555    }
6556    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card-title {
6557      font-size: var(--pfs-card-title-size-m, 20px);
6558    }
6559    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card-desc {
6560      font-size: var(--pfs-card-desc-size-m, 16px);
6561    }
6562    /* The card gets a fixed inline height from equalizeCardHeights() so slides
6563       don't jump. Without a grower, that extra height lands as white space under
6564       the image on every card that isn't the tallest — so let the media absorb it,
6565       mirroring the desktop rule above. object-position: top keeps the top of the
6566       app screenshot pinned; the crop is taken off the bottom. */
6567    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card-media {
6568      flex: 1 1 auto;
6569      min-height: 0;
6570    }
6571    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card-img,
6572    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card-video {
6573      height: 100%;
6574      object-fit: cover;
6575      object-position: top;
6576    }
6577    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__nav {
6578      justify-content: center;
6579      padding: 16px 20px 0;
6580    }
6581    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__footer {
6582      padding: 20px 20px 0;
6583      align-items: center;
6584    }
6585    /* Dots mode: hide arrows, show the centered dots row (Figma: 14px gap). */
6586    #pfs-template--28135044186421__feature_card_slider_9AH7NT.pfs--mobile-dots .pfs__nav { display: none; }
6587    #pfs-template--28135044186421__feature_card_slider_9AH7NT.pfs--mobile-dots .pfs__dots {
6588      display: flex;
6589      gap: 14px;
6590      justify-content: center;
6591      align-items: center;
6592      /* The track already carries 28px of bottom padding, which is the whole gap
6593         the design asks for between the cards and the dots. */
6594      padding: 0 20px;
6595    }
6596  }
6597  @media screen and (max-width: 480px) {
6598    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__card {
6599      width: 90vw;
6600      max-width: 90vw;
6601    }
6602    #pfs-template--28135044186421__feature_card_slider_9AH7NT .pfs__app-badges {
6603      gap: 8px;
6604    }
6605  }</style>
6606
6607<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/flickity.min.css">
6608<script src="https://unpkg.com/[email protected]/dist/flickity.pkgd.min.js"></script>
vendor: 1 bytes, line 6608
6608
6609<script>
6610(function() {
6611  var section = document.getElementById('pfs-template--28135044186421__feature_card_slider_9AH7NT');
6612  if (!section) return;
6613
6614  var track   = section.querySelector('.pfs__track');
6615  var btnPrev = section.querySelector('.pfs__nav-btn--prev');
6616  var btnNext = section.querySelector('.pfs__nav-btn--next');
6617  if (!track) return;
6618
6619  // Active cell snaps to the LEFT edge on desktop (lets multiple cards
6620  // peek into view from the right) but CENTERS on mobile, so the
6621  // active card isn't pinned against the screen edge with empty space
6622  // hanging off the other side.
6623  var mobileMq = window.matchMedia('(max-width: 768px)');
6624  var nav = section.querySelector('.pfs__nav');
6625  var cards = track.querySelectorAll('.pfs__card');
6626
6627  // Mobile pagination dots (opt-in). Built once from the cards and driven by
6628  // Flickity's `select` event. CSS shows them only on mobile in dots mode, so
6629  // building them on desktop is harmless (they stay hidden).
6630  var mobileDots = true;
6631  // When the mobile card height is set the CSS pins every card to the same box, so
6632  // the measure-and-level pass below has nothing to do (and must not fight it).
6633  var fixedMobileHeight = 592;
6634  var dotsWrap = section.querySelector('.pfs__dots');
6635  var dotEls = [];
6636  function buildDots() {
6637    if (!mobileDots || !dotsWrap) return;
6638    dotsWrap.innerHTML = '';
6639    dotEls = [];
6640    cards.forEach(function(card, i) {
6641      var b = document.createElement('button');
6642      b.type = 'button';
6643      b.className = 'pfs__dot';
6644      b.setAttribute('role', 'tab');
6645      b.setAttribute('aria-label', 'Go to slide ' + (i + 1));
6646      b.addEventListener('click', function() { if (flkty) flkty.select(i, false, true); });
6647      dotsWrap.appendChild(b);
6648      dotEls.push(b);
6649    });
6650  }
6651  function syncDots(inst) {
6652    if (!mobileDots || !dotEls.length || !inst) return;
6653    var sel = inst.selectedIndex;
6654    dotEls.forEach(function(d, i) {
6655      var active = i === sel;
6656      d.classList.toggle('pfs__dot--active', active);
6657      d.setAttribute('aria-selected', active ? 'true' : 'false');
6658    });
6659  }
6660
6661  function cardsWidth() {
6662    var total = 0;
6663    cards.forEach(function(card) {
6664      var cs = getComputedStyle(card);
6665      total += card.getBoundingClientRect().width
6666        + (parseFloat(cs.marginLeft) || 0)
6667        + (parseFloat(cs.marginRight) || 0);
6668    });
6669    return total;
6670  }
6671
6672  // Desktop cards share a fixed height, but mobile lets them size to content
6673  // (height: auto), so cards with longer copy end up taller and the carousel
6674  // jumps between slides. Level them to the tallest. Heights are cleared
6675  // first so the measurement is always of natural content, never of a value
6676  // a previous pass set.
6677  function equalizeCardHeights() {
6678    cards.forEach(function(card) { card.style.height = ''; });
6679    if (!mobileMq.matches || fixedMobileHeight > 0) return;
6680    var tallest = 0;
6681    cards.forEach(function(card) {
6682      tallest = Math.max(tallest, card.getBoundingClientRect().height);
6683    });
6684    if (!tallest) return;
6685    cards.forEach(function(card) { card.style.height = Math.ceil(tallest) + 'px'; });
6686  }
6687
6688  // Desktop: level every card's text area to the tallest so the media below
6689  // starts at the same vertical position on every card. The CSS base rule
6690  // already floors each text box at the slider value (--pfs-text-space), so the
6691  // natural measurement is max(slider, own copy); the cross-card max is
6692  // max(slider, tallest copy) — uniform, and never short enough to clip any
6693  // card. Inline height is always cleared first (so mobile falls back to the
6694  // CSS `min-height: 0`, and each pass re-measures natural content).
6695  function equalizeTextHeights() {
6696    var texts = track.querySelectorAll('.pfs__card-text');
6697    texts.forEach(function(t) { t.style.minHeight = ''; });
6698    if (mobileMq.matches) return;
6699    var tallest = 0;
6700    texts.forEach(function(t) { tallest = Math.max(tallest, t.getBoundingClientRect().height); });
6701    if (!tallest) return;
6702    texts.forEach(function(t) { t.style.minHeight = Math.ceil(tallest) + 'px'; });
6703  }
6704
6705  // Do the cards together out-measure the track? `wrapAround` fills any
6706  // leftover space by re-positioning cells ±slideableWidth, so on a very
6707  // wide screen — where the cards no longer span the viewport — the same
6708  // cards get laid down twice. Only loop while there's genuinely more
6709  // content than room; otherwise `contain` pins the cards in place.
6710  //
6711  // Always measure against the track's CSS inset, never against a centering
6712  // pad a previous pass left behind — that would compound on every resize.
6713  function cardsOverflow() {
6714    track.style.paddingLeft = '';
6715    track.style.paddingRight = '';
6716    var ts = getComputedStyle(track);
6717    var room = track.clientWidth
6718      - (parseFloat(ts.paddingLeft) || 0)
6719      - (parseFloat(ts.paddingRight) || 0);
6720    return cardsWidth() > room + 1; // 1px slack for sub-pixel rounding
6721  }
6722
6723  var looping = null;
6724  function applyLayout() {
6725    looping = cardsOverflow();
6726    // Nothing to scroll to when every card already fits — the arrows would
6727    // be inert, so take them out of the layout.
6728    if (nav) nav.style.display = looping ? '' : 'none';
6729    if (!looping) {
6730      // Pad the track evenly so the row sits centered rather than hugging
6731      // the left inset with all the dead space on the right. Flickity aligns
6732      // the first cell to the content-box edge, so an even pad on both sides
6733      // shrinks the viewport to exactly the cards' width and centers it.
6734      var pad = Math.max(0, (track.clientWidth - cardsWidth()) / 2);
6735      track.style.paddingLeft = pad + 'px';
6736      track.style.paddingRight = pad + 'px';
6737    }
6738  }
6739
6740  function buildFlickity() {
6741    applyLayout();
6742    equalizeCardHeights();
6743    equalizeTextHeights();
6744    var f = new Flickity(track, {
6745      cellAlign: mobileMq.matches ? 'center' : 'left',
6746      contain: !looping,
6747      wrapAround: looping,
6748      prevNextButtons: false,
6749      pageDots: false,
6750      draggable: looping,
6751      freeScroll: false,
6752      percentPosition: false,
6753      imagesLoaded: true,
6754      resize: true
6755    });
6756    if (mobileDots) f.on('select', function() { syncDots(f); });
6757    return f;
6758  }
6759  buildDots();
6760  var flkty = buildFlickity();
6761  syncDots(flkty);
6762
6763  function rebuild() {
6764    var selected = flkty ? flkty.selectedIndex : 0;
6765    if (flkty) flkty.destroy();
6766    flkty = buildFlickity();
6767    if (typeof selected === 'number') flkty.select(selected, false, true);
6768    syncDots(flkty);
6769  }
6770
6771  // Re-init when crossing the mobile breakpoint so cellAlign updates.
6772  // syncVideos() is hoisted from further down; it hands playback to whichever half
6773  // of a desktop/mobile video pair the new width displays.
6774  function onBreakpoint() {
6775    rebuild();
6776    syncVideos();
6777  }
6778  if (mobileMq.addEventListener)      mobileMq.addEventListener('change', onBreakpoint);
6779  else if (mobileMq.addListener)      mobileMq.addListener(onBreakpoint);
6780
6781  if (btnPrev) {
6782    btnPrev.disabled = false;
6783    btnPrev.addEventListener('click', function() { flkty.previous(true); });
6784  }
6785  if (btnNext) {
6786    btnNext.disabled = false;
6787    btnNext.addEventListener('click', function() { flkty.next(true); });
6788  }
6789
6790  // Reflow after late image loads and after fonts settle (use a closure
6791  // that looks up `flkty` each time so it stays valid after re-init).
6792  // Both can change a card's natural height, so re-level before resizing.
6793  function reflow() {
6794    equalizeCardHeights();
6795    equalizeTextHeights();
6796    if (flkty) flkty.resize();
6797  }
6798  var imgs = track.querySelectorAll('img');
6799  imgs.forEach(function(img) {
6800    if (img.complete) return;
6801    img.addEventListener('load', reflow, { once: true });
6802  });
6803  if (document.fonts && document.fonts.ready) {
6804    document.fonts.ready.then(reflow);
6805  }
6806
6807  // Card videos: nudge muted autoplay (browsers can decline the initial
6808  // attempt) and reflow once dimensions are known, since Flickity's
6809  // imagesLoaded only accounts for <img> elements.
6810  var vids = track.querySelectorAll('.pfs__card-video');
6811
6812  // A card with both a desktop and a mobile video keeps both in the DOM with only
6813  // one displayed, so every play goes through this check first: play() is what
6814  // starts the fetch (the pair is preload="none"), and playing the hidden element
6815  // would pull down a file nobody ever sees.
6816  function videoHidden(v) {
6817    return window.getComputedStyle(v).display === 'none';
6818  }
6819
6820  function syncVideos() {
6821    vids.forEach(function(v) {
6822      if (videoHidden(v)) {
6823        if (!v.paused) v.pause();
6824        return;
6825      }
6826      var p = v.play();
6827      if (p && typeof p.catch === 'function') p.catch(function(){});
6828    });
6829  }
6830
6831  vids.forEach(function(v) {
6832    v.addEventListener('canplay', syncVideos, { once: true });
6833    v.addEventListener('loadedmetadata', reflow, { once: true });
6834  });
6835  syncVideos();
6836
6837  // A resize can carry the track across the point where the cards stop
6838  // filling it, which flips looping on or off — that's an init-time option
6839  // in Flickity, so it needs a rebuild rather than a reflow.
6840  var resizeTimer;
6841  function onResize() {
6842    clearTimeout(resizeTimer);
6843    resizeTimer = setTimeout(function() {
6844      var wasLooping = looping;
6845      applyLayout(); // re-centers the row, or restores the CSS inset
6846      // A narrower card wraps its copy differently, so the tallest can change.
6847      if (looping !== wasLooping) rebuild();
6848      else reflow();
6849    }, 150);
6850  }
6851
6852  if ('ResizeObserver' in window) {
6853    new ResizeObserver(onResize).observe(section);
6854  }
6855  window.addEventListener('resize', onResize);
6856})();
6857</script>
6857
6858
6859
6860</section><div id="shopify-section-template--28135044186421__testimonials_3apUbU" class="shopify-section">
6861
6862<section id="testimonials-template--28135044186421__testimonials_3apUbU" class="testimonials">
6863    <style>
6864        #testimonials-template--28135044186421__testimonials_3apUbU{
6865            --bg: #ffffff;
6866            --heading: #464142;
6867            --text: #464142;
6868            --star: #464142;
6869
6870            --max: 1112px;
6871            --quote-max: 560px;
6872            --col-gap: 20px;
6873            --card-gap: 0px;
6874            --stack-gap: 24px;
6875            --star-size: 16px;
6876            --pad-x: 20px;
6877            --pad-y: 52px;
6878
6879            background: var(--bg);
6880            width: 100%;
6881            position: relative;
6882            z-index: 1;
6883        }
6884
6885        #testimonials-template--28135044186421__testimonials_3apUbU *{ box-sizing: border-box; }
6886
6887        #testimonials-template--28135044186421__testimonials_3apUbU .main-container{
6888            max-width: calc(var(--max) + (var(--pad-x) * 2));
6889            width: 100%;
6890            margin: 0 auto;
6891            padding: var(--pad-y) var(--pad-x);
6892            display: flex;
6893            flex-direction: column;
6894            align-items: center;
6895            gap: var(--stack-gap);
6896        }
6897
6898        #testimonials-template--28135044186421__testimonials_3apUbU .tst-heading{
6899            margin: 0;
6900            width: 100%;
6901            font-family: Proxima Sera, Georgia, serif;
6902            font-size: 36px;
6903            font-weight: 500;
6904            line-height: 1.29;
6905            letter-spacing: -0.09px;
6906            text-align: center;
6907            color: var(--heading);
6908            white-space: pre-line;
6909            word-break: break-word;
6910        }
6911
6912        /* Card row — flex rather than grid so an off-design block count degrades
6913           gracefully: `justify-content:center` keeps 2 or 4 cards at their design
6914           width and centred, where repeat(3,1fr) would leave a dead column or a
6915           left-stranded orphan. Column count arrives as --col-basis-d / -t, set
6916           inline from Liquid so the calc() never divides by a variable. */
6917        #testimonials-template--28135044186421__testimonials_3apUbU .tst-list{
6918            width: 100%;
6919            display: flex;
6920            flex-flow: row wrap;
6921            align-items: flex-start;
6922            justify-content: center;
6923            gap: var(--col-gap);
6924        }
6925
6926        #testimonials-template--28135044186421__testimonials_3apUbU .tst-card{
6927            flex: 0 1 var(--col-basis-d, calc((100% - 2 * var(--col-gap)) / 3));
6928            min-width: 0;
6929            display: flex;
6930            flex-direction: column;
6931            align-items: center;
6932            gap: 16px;
6933            padding: 32px;
6934            border-radius: 16px;
6935        }
6936
6937        /* Stars — geometry taken straight from the Figma export (80 x 15.737 for
6938           five stars, i.e. a 15.8961px pitch). One inline SVG per star so the
6939           rating is configurable per card. */
6940        #testimonials-template--28135044186421__testimonials_3apUbU .tst-stars{
6941            display: flex;
6942            align-items: center;
6943            justify-content: center;
6944            line-height: 0;
6945        }
6946
6947        #testimonials-template--28135044186421__testimonials_3apUbU .tst-star{
6948            display: block;
6949            width: var(--star-size);
6950            height: auto;
6951            flex: 0 0 auto;
6952        }
6953
6954        #testimonials-template--28135044186421__testimonials_3apUbU .tst-star--on{
6955            fill: var(--star);
6956            stroke: none;
6957        }
6958
6959        #testimonials-template--28135044186421__testimonials_3apUbU .tst-star--off{
6960            fill: none;
6961            stroke: var(--star);
6962            stroke-width: 1;
6963            opacity: .45;
6964        }
6965
6966        /* Quote */
6967        #testimonials-template--28135044186421__testimonials_3apUbU .tst-quote-wrap{
6968            position: relative;
6969            width: 100%;
6970            max-width: var(--quote-max);
6971        }
6972
6973        #testimonials-template--28135044186421__testimonials_3apUbU .tst-quote{
6974            margin: 0;
6975            font-family: Proxima Sera, Georgia, serif;
6976            font-size: 16px;
6977            font-weight: 500;
6978            font-style: normal;
6979            line-height: 1.4;
6980            text-align: center;
6981            color: var(--text);
6982            white-space: pre-line;
6983            word-break: break-word;
6984        }
6985
6986        /* Large decorative mark. Figma nudges this per card (-27/-5/-23 desktop)
6987           so it tucks in beside the first word of a hand-broken first line. Copy
6988           reflows here, so instead it hangs clear of the quote box at a single
6989           offset per breakpoint — -27px desktop, -24px mobile. Those are floors,
6990           not preferences: the quote text no longer carries its own opening quote,
6991           so a full-width first line starts at the box edge and anything shallower
6992           collides with it. Both are per-block settings for nudging. */
6993        #testimonials-template--28135044186421__testimonials_3apUbU .tst-mark{
6994            position: absolute;
6995            top: 11px;
6996            left: var(--mark-x-d, -27px);
6997            font-family: Proxima Sera, Georgia, serif;
6998            font-size: 64px;
6999            font-weight: 500;
7000            line-height: .4;
7001            color: var(--text);
7002            pointer-events: none;
7003            user-select: none;
7004        }
7005
7006        /* Attribution. Sized to its content rather than to the quote box: in Figma
7007           the longest of the three ("Archana M. | …") is 293px inside a 292px box,
7008           i.e. the designer let it hang out by a hair via nowrap. max-content plus
7009           a cap of the box + 48px reproduces that — the overflow is absorbed by the
7010           card's own 32px padding and never reaches the card edge — while genuinely
7011           long merchant copy still wraps instead of spilling. */
7012        #testimonials-template--28135044186421__testimonials_3apUbU .tst-attr{
7013            margin: 0;
7014            width: max-content;
7015            max-width: calc(100% + 48px);
7016            font-family: Gilroy, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
7017            font-size: 12px;
7018            font-weight: 500;
7019            line-height: 1.12;
7020            text-align: center;
7021            color: var(--text);
7022            word-break: break-word;
7023        }
7024
7025        #testimonials-template--28135044186421__testimonials_3apUbU .tst-name{
7026            text-transform: uppercase;
7027            letter-spacing: 1.28px;
7028        }
7029
7030        #testimonials-template--28135044186421__testimonials_3apUbU .tst-product{
7031            font-family: Proxima Sera, Georgia, serif;
7032            font-style: italic;
7033            font-weight: 500;
7034            letter-spacing: normal;
7035        }
7036
7037        #testimonials-template--28135044186421__testimonials_3apUbU .tst-handle{
7038            display: block;
7039            margin-top: 2px;
7040        }
7041
7042        /* Tablet — halve the columns. Three across at 769px would leave only
7043           ~166px of text per card; two across bottoms out at ~290px, which is
7044           the desktop design's own 292px measure. */
7045        @media (max-width: 1100px){
7046            #testimonials-template--28135044186421__testimonials_3apUbU .tst-heading{
7047                font-size: 30px;
7048            }
7049            #testimonials-template--28135044186421__testimonials_3apUbU .tst-card{
7050                flex-basis: var(--col-basis-t, calc((100% - var(--col-gap)) / 2));
7051            }
7052        }
7053
7054        /* Mobile — 1:1 with the 390px Figma frame. Everything here exists to stop
7055           a desktop value leaking down; do not trim without re-measuring. */
7056        @media (max-width: 768px){
7057            #testimonials-template--28135044186421__testimonials_3apUbU{
7058                --pad-x: 15px;
7059            }
7060            #testimonials-template--28135044186421__testimonials_3apUbU .tst-list{
7061                gap: var(--card-gap);
7062            }
7063            #testimonials-template--28135044186421__testimonials_3apUbU .tst-heading{
7064                font-size: 24px;
7065                letter-spacing: normal;
7066                white-space: normal;
7067            }
7068            #testimonials-template--28135044186421__testimonials_3apUbU .tst-card{
7069                flex-basis: 100%;
7070                gap: 16px;
7071                padding: 24px 20px;
7072                border-radius: 8px;
7073            }
7074            #testimonials-template--28135044186421__testimonials_3apUbU .tst-quote-wrap{
7075                max-width: 320px;
7076            }
7077            #testimonials-template--28135044186421__testimonials_3apUbU .tst-quote{
7078                font-size: 16px;
7079                white-space: normal;
7080            }
7081            #testimonials-template--28135044186421__testimonials_3apUbU .tst-mark{
7082                top: 16px;
7083                left: var(--mark-x-m, -24px);
7084                font-size: 52px;
7085            }
7086        }
7087
7088        /* Nicer ragging — avoids a single-word last line. Deliberately the LAST
7089           rule in this block: `white-space` is a shorthand for white-space-collapse
7090           + text-wrap, so the `white-space: pre-line` above and the
7091           `white-space: normal` in the mobile query both reset text-wrap to `wrap`.
7092           Declared after them, this wins at every breakpoint. Ignored by browsers
7093           that don't support it, which only costs the nicer ragging. */
7094        #testimonials-template--28135044186421__testimonials_3apUbU .tst-heading,
7095        #testimonials-template--28135044186421__testimonials_3apUbU .tst-quote,
7096        #testimonials-template--28135044186421__testimonials_3apUbU .tst-attr{
7097            text-wrap: pretty;
7098        }
7099    </style>
7100
7101    <div class="main-container">
7102        
7103            
7104            <h2 class="tst-heading">The Buzz About Juni</h2>
7105        
7106
7107        
7108<div
7109                class="tst-list"
7110                style="--col-basis-d: calc((100% - 2 * var(--col-gap)) / 3); --col-basis-t: calc((100% - 1 * var(--col-gap)) / 2);"
7111            >
7112                
7113<div class="tst-card" >
7114                        <span
7115                            class="tst-stars"
7116                            role="img"
7117                            aria-label="Rated 5 out of 5 stars"
7118                        >
7119                            
7120                                <svg
7121                                    class="tst-star tst-star--on"
7122                                    viewBox="0 0 16 15.7374"
7123                                    xmlns="http://www.w3.org/2000/svg"
7124                                    aria-hidden="true"
7125                                    focusable="false"
7126                                >
7127                                    <path d="M8.20734 1.2959L10.343 5.62246L15.1188 6.32052L11.6631 9.68639L12.4786 14.4415L8.20734 12.1952L3.93607 14.4415L4.75162 9.68639L1.2959 6.32052L6.07171 5.62246L8.20734 1.2959Z"/>
7128                                </svg>
7129                            
7130                                <svg
7131                                    class="tst-star tst-star--on"
7132                                    viewB
7132ox="0 0 16 15.7374"
7133                                    xmlns="http://www.w3.org/2000/svg"
7134                                    aria-hidden="true"
7135                                    focusable="false"
7136                                >
7137                                    <path d="M8.20734 1.2959L10.343 5.62246L15.1188 6.32052L11.6631 9.68639L12.4786 14.4415L8.20734 12.1952L3.93607 14.4415L4.75162 9.68639L1.2959 6.32052L6.07171 5.62246L8.20734 1.2959Z"/>
7138                                </svg>
7139                            
7140                                <svg
7141                                    class="tst-star tst-star--on"
7142                                    viewBox="0 0 16 15.7374"
7143                                    xmlns="http://www.w3.org/2000/svg"
7144                                    aria-hidden="true"
7145                                    focusable="false"
7146                                >
7147                                    <path d="M8.20734 1.2959L10.343 5.62246L15.1188 6.32052L11.6631 9.68639L12.4786 14.4415L8.20734 12.1952L3.93607 14.4415L4.75162 9.68639L1.2959 6.32052L6.07171 5.62246L8.20734 1.2959Z"/>
7148                                </svg>
7149                            
7150                                <svg
7151                                    class="tst-star tst-star--on"
7152                                    viewBox="0 0 16 15.7374"
7153                                    xmlns="http://www.w3.org/2000/svg"
7154                                    aria-hidden="true"
7155                                    focusable="false"
7156                                >
7157                                    <path d="M8.20734 1.2959L10.343 5.62246L15.1188 6.32052L11.6631 9.68639L12.4786 14.4415L8.20734 12.1952L3.93607 14.4415L4.75162 9.68639L1.2959 6.32052L6.07171 5.62246L8.20734 1.2959Z"/>
7158                                </svg>
7159                            
7160                                <svg
7161                                    class="tst-star tst-star--on"
7162                                    viewBox="0 0 16 15.7374"
7163                                    xmlns="http://www.w3.org/2000/svg"
7164                                    aria-hidden="true"
7165                                    focusable="false"
7166                                >
7167                                    <path d="M8.20734 1.2959L10.343 5.62246L15.1188 6.32052L11.6631 9.68639L12.4786 14.4415L8.20734 12.1952L3.93607 14.4415L4.75162 9.68639L1.2959 6.32052L6.07171 5.62246L8.20734 1.2959Z"/>
7168                                </svg>
7169                            
7170                        </span>
7171
7172                        
7173                            <div class="tst-quote-wrap">
7174                                <p class="tst-quote">Whether you're a professional or a novice like myself, you can get the job done and have a perfectly brewed cup of coffee without any effort whatsoever and without having to think about it at all."</p>
7175                                
7176                                    <span class="tst-mark" aria-hidden="true" style="--mark-x-d: -27px; --mark-x-m: -24px;">&ldquo;</span>
7177                                
7178                            </div>
7179                        
7180
7181                        
7182                            <p class="tst-attr"><span class="tst-name">Rodrick M. </span></p>
7183                        
7184                    </div>
7185                
7186<div class="tst-card" >
7187                        <span
7188                            class="tst-stars"
7189                            role="img"
7190                            aria-label="Rated 5 out of 5 stars"
7191                        >
7192                            
7193                                <svg
7194                                    class="tst-star tst-star--on"
7195                                    viewBox="0 0 16 15.7374"
7196                                    xmlns="http://www.w3.org/2000/svg"
7197                                    aria-hidden="true"
7198                                    focusable="false"
7199                                >
7200                                    <path d="M8.20734 1.2959L10.343 5.62246L15.1188 6.32052L11.6631 9.68639L12.4786 14.4415L8.20734 12.1952L3.93607 14.4415L4.75162 9.68639L1.2959 6.32052L6.07171 5.62246L8.20734 1.2959Z"/>
7201                                </svg>
7202                            
7203                                <svg
7204                                    class="tst-star tst-star--on"
7205                                    viewBox="0 0 16 15.7374"
7206                                    xmlns="http://www.w3.org/2000/svg"
7207                                    aria-hidden="true"
7208                                    focusable="false"
7209                                >
7210                                    <path d="M8.20734 1.2959L10.343 5.62246L15.1188 6.32052L11.6631 9.68639L12.4786 14.4415L8.20734 12.1952L3.93607 14.4415L4.75162 9.68639L1.2959 6.32052L6.07171 5.62246L8.20734 1.2959Z"/>
7211                                </svg>
7212                            
7213                                <svg
7214                                    class="tst-star tst-star--on"
7215                                    viewBox="0 0 16 15.7374"
7216                                    xmlns="http://www.w3.org/2000/svg"
7217                                    aria-hidden="true"
7218                                    focusable="false"
7219                                >
7220                                    <path d="M8.20734 1.2959L10.343 5.62246L15.1188 6.32052L11.6631 9.68639L12.4786 14.4415L8.20734 12.1952L3.93607 14.4415L4.75162 9.68639L1.2959 6.32052L6.07171 5.62246L8.20734 1.2959Z"/>
7221                                </svg>
7222                            
7223                                <svg
7224                                    class="tst-star tst-star--on"
7225                                    viewBox="0 0 16 15.7374"
7226                                    xmlns="http://www.w3.org/2000/svg"
7227                                    aria-hidden="true"
7228                                    focusable="false"
7229                                >
7230                                    <path d="M8.20734 1.2959L10.343 5.62246L15.1188 6.32052L11.6631 9.68639L12.4786 14.4415L8.20734 12.1952L3.93607 14.4415L4.75162 9.68639L1.2959 6.32052L6.07171 5.62246L8.20734 1.2959Z"/>
7231                                </svg>
7232                            
7233                                <svg
7234                                    class="tst-star tst-star--on"
7235                                    viewBox="0 0 16 15.7374"
7236                                    xmlns="http://www.w3.org/2000/svg"
7237                                    aria-hidden="true"
7238                                    focusable="false"
7239                                >
7240                                    <path d="M8.20734 1.2959L10.343 5.62246L15.1188 6.32052L11.6631 9.68639L12.4786 14.4415L8.20734 12.1952L3.93607 14.4415L4.75162 9.68639L1.2959 6.32052L6.07171 5.62246L8.20734 1.2959Z"/>
7241                                </svg>
7242                            
7243                        </span>
7244
7245                        
7246                            <div class="tst-quote-wrap">
7247                                <p class="tst-quote">As a roaster, I cup and calibrate constantly. The Juni is the first automatic brewer 
I trust enough to use for quality control. The consistency is there, and barista mode lets me run our sensory training the same way every single time."</p>
7248                                
7249                                    <span class="tst-mark" aria-hidden="true" style="--mark-x-d: -27px; --mark-x-m: -24px;">&ldquo;</span>
7250                                
7251                            </div>
7252                        
7253
7254                        
7255                            <p class="tst-attr"><span class="tst-name">Mehmet S.</span></p>
7256                        
7257                    </div>
7258                
7259<div class="tst-card" >
7260                        <span
7261                            class="tst-stars"
7262                            role="img"
7263                            aria-label="Rated 5 out of 5 stars"
7264                        >
7265                            
7266                                <svg
7267                                    class="tst-star tst-star--on"
7268                                    viewBox="0 0 16 15.7374"
7269                                    xmlns="http://www.w3.org/2000/svg"
7270                                    aria-hidden="true"
7271                                    focusable="false"
7272                                >
7273                                    <path d="M8.20734 1.2959L10.343 5.62246L15.1188 6.32052L11.6631 9.68639L12.4786 14.4415L8.20734 12.1952L3.93607 14.4415L4.75162 9.68639L1.2959 6.32052L6.07171 5.62246L8.20734 1.2959Z"/>
7274                                </svg>
7275                            
7276                                <svg
7277                                    class="tst-star tst-star--on"
7278                                    viewBox="0 0 16 15.7374"
7279                                    xmlns="http://www.w3.org/2000/svg"
7280                                    aria-hidden="true"
7281                                    focusable="false"
7282                                >
7283                                    <path d="M8.20734 1.2959L10.343 5.62246L15.1188 6.32052L11.6631 9.68639L12.4786 14.4415L8.20734 12.1952L3.93607 14.4415L4.75162 9.68639L1.2959 6.32052L6.07171 5.62246L8.20734 1.2959Z"/>
7284                                </svg>
7285                            
7286                                <svg
7287                                    class="tst-star tst-star--on"
7288                                    viewBox="0 0 16 15.7374"
7289                                    xmlns="http://www.w3.org/2000/svg"
7290                                    aria-hidden="true"
7291                                    focusable="false"
7292                                >
7293                                    <path d="M8.20734 1.2959L10.343 5.62246L15.1188 6.32052L11.6631 9.68639L12.4786 14.4415L8.20734 12.1952L3.93607 14.4415L4.75162 9.68639L1.2959 6.32052L6.07171 5.62246L8.20734 1.2959Z"/>
7294                                </svg>
7295                            
7296                                <svg
7297                                    class="tst-star tst-star--on"
7298                                    viewBox="0 0 16 15.7374"
7299                                    xmlns="http://www.w3.org/2000/svg"
7300                                    aria-hidden="true"
7301                                    focusable="false"
7302                                >
7303                                    <path d="M8.20734 1.2959L10.343 5.62246L15.1188 6.32052L11.6631 9.68639L12.4786 14.4415L8.20734 12.1952L3.93607 14.4415L4.75162 9.68639L1.2959 6.32052L6.07171 5.62246L8.20734 1.2959Z"/>
7304                                </svg>
7305                            
7306                                <svg
7307                                    class="tst-star tst-star--on"
7308                                    viewBox="0 0 16 15.7374"
7309                                    xmlns="http://www.w3.org/2000/svg"
7310                                    aria-hidden="true"
7311                                    focusable="false"
7312                                >
7313                                    <path d="M8.20734 1.2959L10.343 5.62246L15.1188 6.32052L11.6631 9.68639L12.4786 14.4415L8.20734 12.1952L3.93607 14.4415L4.75162 9.68639L1.2959 6.32052L6.07171 5.62246L8.20734 1.2959Z"/>
7314                                </svg>
7315                            
7316                        </span>
7317
7318                        
7319                            <div class="tst-quote-wrap">
7320                                <p class="tst-quote">The fact that I can now just add the 
beans in, walk away, and come back 
four minutes later to an expertly brewed pour-over coffee, I find really appealing."</p>
7321                                
7322                                    <span class="tst-mark" aria-hidden="true" style="--mark-x-d: -27px; --mark-x-m: -24px;">&ldquo;</span>
7323                                
7324                            </div>
7325                        
7326
7327                        
7328                            <p class="tst-attr"><span class="tst-name">Martin K.</span></p>
7329                        
7330                    </div>
7331                
7332            </div>
7333        
7334    </div>
7335</section>
7336
7337
7338</div><div id="shopify-section-template--28135044186421__awards_6rCfJk" class="shopify-section">
7339
7340<section id="awards-template--28135044186421__awards_6rCfJk" class="awards">
7341    <style>
7342        #awards-template--28135044186421__awards_6rCfJk{
7343            --bg: #ffffff;
7344            --heading: #464142;
7345            --text: #464142;
7346
7347            --max: 1112px;
7348            --col-gap: 32px;
7349            --row-gap: 40px;
7350            --stack-gap: 24px;
7351            --cap-gap: 24px;
7352            --item-w: 240px;
7353            --media-w: 176px;
7354            --media-h: 120px;
7355            --pad-x: 20px;
7356            --pad-y: 52px;
7357
7358            background: var(--bg);
7359            width: 100%;
7360            position: relative;
7361            z-index: 1;
7362
7363            /* Grayscale AA, to match how Figma rasterises the comp — see point 1
7364               in the header comment. Scoped to this section rather than set
7365               globally so it cannot shift type anywhere else in the theme. */
7366            -webkit-font-smoothing: antialiased;
7367            -moz-osx-font-smoothing: grayscale;
7368        }
7369
7370        #awards-template--28135044186421__awards_6rCfJk *{ box-sizing: border-box; }
7371
7372        #awards-template--28135044186421__awards_6rCfJk .main-container{
7373            max-width: calc(var(--max) + (var(--pad-x) * 2));
7374            width: 100%;
7375            margin: 0 auto;
7376            padding: var(--pad-y) var(--pad-x);
7377            display: flex;
7378            flex-direction: column;
7379            align-items: center;
7380            gap: var(--stack-gap);
7381        }
7382
7383        /* Matched to .tst-heading in testimonials.liquid so the two headings are
7384           the same object when the sections are stacked. */
7385        #awards-template--28135044186421__awards_6rCfJk .awd-heading{
7386            margin: 0;
7387            width: 100%;
7388            font-family: Proxima Sera, Georgia, serif;
7389            font-size: 36px;
7390            font-weight: 500;
7391            line-height: 1.29;
7392            letter-spacing: -0.09px;
7393            text-align: center;
7394            color: var(--heading);
7395            white-space: pre-line;
7396            word-break: break-word;
7397        }
7398
7399        /* Flex + wrap rather than a grid: award counts are merchant-driven, and
7400           a 3rd or 5th badge should centre on its own row instead of leaving a
7401           dead column. Fixed 240px items are what makes that centring read. */
7402        #awards-template--28135044186421__awards_6rCfJk .awd-list{
7403            width: 100%;
7404            display: flex;
7405            flex-flow: row wrap;
7406            align-items: flex-start;
7407            justify-content: center;
7408            column-gap: var(--col-gap);
7409            row-gap: var(--row-gap);
7410        }
7411
7412        #awards-template--28135044186421__awards_6rCfJk .awd-item{
7413            flex: 0 1 var(--item-w);
7414            max-width: 100%;
7415            min-width: 0;
7416            display: flex;
7417            flex-direction: column;
7418            align-items: center;
7419            justify-content: flex-start;
7420            gap: var(--cap-gap);
7421            text-align: center;
7422        }
7423
7424        /* Links are optional; when present the item must not pick up the theme's
7425           default anchor colour or underline. */
7426        #awards-template--28135044186421__awards_6rCfJk a.awd-item{
7427            text-decoration: none;
7428            color: inherit;
7429        }
7430
7431        #awards-template--28135044186421__awards_6rCfJk a.awd-item:hover .awd-media,
7432        #awards-template--28135044186421__awards_6rCfJk a.awd-item:focus-visible .awd-media{
7433            opacity: .78;
7434        }
7435
7436        /* Fixed-height centring box — see the header comment. Both Figma badges
7437           are pinned to 120px tall with width left to follow, and contain-style
7438           limits reproduce that for any uploaded ratio without cropping. */
7439        #awards-template--28135044186421__awards_6rCfJk .awd-media{
7440            width: 100%;
7441            max-width: var(--media-w);
7442            height: var(--media-h);
7443            display: flex;
7444            align-items: center;
7445            justify-content: center;
7446            transition: opacity .18s ease;
7447        }
7448
7449        #awards-template--28135044186421__awards_6rCfJk .awd-media img,
7450        #awards-template--28135044186421__awards_6rCfJk .awd-media svg{
7451            display: block;
7452            width: auto;
7453            height: auto;
7454            max-width: 100%;
7455            max-height: 100%;
7456            object-fit: contain;
7457        }
7458
7459        /* Shopify's placeholder SVG has no intrinsic size and collapses to 0
7460           height inside a flex box, so it is given the box explicitly. */
7461        #awards-template--28135044186421__awards_6rCfJk .awd-media .placeholder-svg{
7462            width: 100%;
7463            height: 100%;
7464            fill: var(--text);
7465            opacity: .25;
7466        }
7467
7468        #awards-template--28135044186421__awards_6rCfJk .awd-caption{
7469            margin: 0;
7470            width: 100%;
7471            font-family: Proxima Sera, Georgia, serif;
7472            font-size: 14px;
7473            font-style: normal;
7474            /* Figma: Semibold (600), which resolves to the Bold face here — see
7475               point 2 in the header comment. Settable, because there is no true
7476               Semibold to fall back to. */
7477            font-weight: 600;
7478            /* 140% of 14px = 19.6px, per the Figma text style. */
7479            line-height: 1.4;
7480            text-align: center;
7481            color: var(--text);
7482            white-space: pre-line;
7483            word-break: break-word;
7484        }
7485
7486        /* Mobile — two badges still fit side by side at 390px once the item and
7487           badge box come down; see the header comment for the arithmetic. */
7488        @media (max-width: 768px){
7489            #awards-template--28135044186421__awards_6rCfJk{
7490                --pad-x: 15px;
7491                --col-gap: 24px;
7492                --row-gap: 32px;
7493                --media-w: 150px;
7494                --media-h: 96px;
7495                --cap-gap: 16px;
7496            }
7497            /* Two per row at every phone width. A fixed px basis would silently
7498               wrap to one-per-row below ~360px — 2 x 150 + a 24 gap needs 324 of
7499               the 290 available on a 320px screen, and flex breaks lines on the
7500               flex-basis before it shrinks anything. A percentage basis can't.
7501               The badge stays capped by --media-w, so a wider phone spends the
7502               extra room on caption measure instead of inflating the badge. */
7503            #awards-template--28135044186421__awards_6rCfJk .awd-item{
7504                flex-basis: calc((100% - var(--col-gap)) / 2);
7505            }
7506            #awards-template--28135044186421__awards_6rCfJk .awd-heading{
7507                font-size: 24px;
7508                letter-spacing: normal;
7509                white-space: normal;
7510            }
7511            #awards-template--28135044186421__awards_6rCfJk .awd-caption{
7512                font-size: 13px;
7513                white-space: normal;
7514            }}
7515
7516        /* Nicer ragging. Last rule in the block on purpose: `white-space` is a
7517           shorthand for white-space-collapse + text-wrap, so the `pre-line` above
7518           and the `normal` in the media query both reset text-wrap to `wrap`.
7519           Declared after them, this wins at every breakpoint. Same reasoning as
7520           testimonials.liquid. */
7521        #awards-template--28135044186421__awards_6rCfJk .awd-heading,
7522        #awards-template--28135044186421__awards_6rCfJk .awd-caption{
7523            text-wrap: pretty;
7524        }
7525    </style>
7526
7527    <div class="main-container">
7528        
7529            
7530            <h2 class="awd-heading">Awards</h2>
7531        
7532
7533        
7534            <div class="awd-list">
7535                
7536<div
7537                        class="awd-item"
7538                        
7539                        
7540                    >
7541                        <div class="awd-media">
7542                            
7543                                <img
7544                                    src="//cosori.com/cdn/shop/files/SCA_CT_Without_Logotype_White_RGB_1_1.png?v=1788202502&width=528"
7545                                    srcset="
7546                                        //cosori.com/cdn/shop/files/SCA_CT_Without_Logotype_White_RGB_1_1.png?v=1788202502&width=176 176w,
7547                                        //cosori.com/cdn/shop/files/SCA_CT_Without_Logotype_White_RGB_1_1.png?v=1788202502&width=352 352w,
7548                                        //cosori.com/cdn/shop/files/SCA_CT_Without_Logotype_White_RGB_1_1.png?v=1788202502&width=528 528w
7549                                    "
7550                                    sizes="176px"
7551                                    alt="Specialty Coffee AssociationCertified Home Brewer"
7552                                    loading="lazy"
7553                                    width="202"
7554                                    height="240"
7555                                >
7556                            
7557                        </div>
7558
7559                        
7560                            <p class="awd-caption">Specialty Coffee Association
7561Certified Home Brewer</p>
7562                        
7563                    </div>
7564                
7565<div
7566                        class="awd-item"
7567                        
7568                        
7569                    >
7570                        <div class="awd-media">
7571                            
7572                                <img
7573                                    src="//cosori.com/cdn/shop/files/PD2026_RD_t.png?v=1789776225&width=528"
7574                                    srcset="
7575                                        //cosori.com/cdn/shop/files/PD2026_RD_t.png?v=1789776225&width=176 176w,
7576                                        //cosori.com/cdn/shop/files/PD2026_RD_t.png?v=1789776225&width=352 352w,
7577                                        //cosori.com/cdn/shop/files/PD2026_RD_t.png?v=1789776225&width=528 528w
7578                                    "
7579                                    sizes="176px"
7580                                    alt="Red DotProduct Design Award"
7581                                    loading="lazy"
7582                                    width="1639"
7583                                    height="945"
7584                                >
7585                            
7586                        </div>
7587
7588                        
7589                            <p class="awd-caption">Red Dot
7590Product Design Award</p>
7591                        
7592                    </div>
7593                
7594            </div>
7595        
7596    </div>
7597</section>
7598
7599
7600</div><div id="shopify-section-template--28135044186421__image_with_text_3BDTd8" class="shopify-section section v-image-text"><link href="//cosori.com/cdn/shop/t/166/assets/component-image-with-text.css?v=46223204942767246591789674181" rel="stylesheet" type="text/css" media="all" />
7601<style data-shopify>.section-template--28135044186421__image_with_text_3BDTd8-padding {
7602    padding-top: 27px;
7603    padding-bottom: 27px;
7604  }
7605
7606  @media (min-width: 768px) {
7607    .section-template--28135044186421__image_with_text_3BDTd8-padding {
7608      padding-top: 36px;
7609      padding-bottom: 36px;
7610    }
7611  }</style><div class="section-template--28135044186421__image_with_text_3BDTd8-padding gradient color-scheme-1 image-text-section">
7612  <div class="page-width">
7613    <div class="image-with-text image-with-text--no-overlap isolate collapse-corners">
7614      <div class="image-with-text__grid grid grid--gapless grid--1-col grid--2-col-tablet">
7615        <div class="image-with-text__media-item image-with-text__media-item--medium image-with-text__media-item--top grid__item">
7616          <div
7617            class="image-with-text__media image-with-text__media--adapt global-media-settings background-trans
7617parent media"
7618            
7619              style="padding-bottom: 72.72727272727273%;"
7620            
7621          ><img src="//cosori.com/cdn/shop/files/Image_44.png?v=1788275197&amp;width=1500" alt="" srcset="//cosori.com/cdn/shop/files/Image_44.png?v=1788275197&amp;width=165 165w, //cosori.com/cdn/shop/files/Image_44.png?v=1788275197&amp;width=360 360w, //cosori.com/cdn/shop/files/Image_44.png?v=1788275197&amp;width=535 535w, //cosori.com/cdn/shop/files/Image_44.png?v=1788275197&amp;width=750 750w, //cosori.com/cdn/shop/files/Image_44.png?v=1788275197&amp;width=1070 1070w, //cosori.com/cdn/shop/files/Image_44.png?v=1788275197&amp;width=1500 1500w" width="1500" height="1091" loading="lazy" sizes="(min-width: 1650px) 775px,
7622              (min-width: 768px) calc((100vw - 130px) / 2), calc((100vw - 50px) / 2)" fetchpriority="auto">
7623</div>
7624        </div>
7625        <div class="image-with-text__text-item grid__item">
7626          <div
7627            id="ImageWithText--template--28135044186421__image_with_text_3BDTd8"
7628            class="image-with-text__content image-with-text__content--top image-with-text__content--desktop-left image-with-text__content--mobile-left image-with-text__content--adapt content-container background-transparent"
7629          ><h2
7630                    class="image-with-text__heading inline-richtext h1"
7631                    
7632                  >
7633                    Why <em>Cosori</em>?
7634                  </h2><div class="image-with-text__text rte body" >
7635                    <p>We believe exceptional cooking starts with exceptional materials. That's why we design thoughtfully crafted kitchen tools built with premium materials, lasting quality, and performance you can rely on every day.</p>
7636                  </div></div>
7637        </div>
7638      </div>
7639    </div>
7640  </div>
7641</div>
7642
7643
7644</div><div id="shopify-section-template--28135044186421__faq_EwcehF" class="shopify-section">�<section
7645  id="faq-template--28135044186421__faq_EwcehF"
7646  class="faq"
7647  data-v-gtm-faq
7648  data-v-gtm-module="Frequently Asked Questions"
7649>
7650    <style>
7651        #faq-template--28135044186421__faq_EwcehF{
7652            --bg: #ffffff;
7653            --heading: #464142;
7654            --question: #464142;
7655            --answer: #464142;
7656            --border: #e3e3e3;
7657            --icon: #464142;
7658
7659            --max: 1200px;
7660            --row-h: 74px;
7661            --row-pad-x: 20px;
7662            --heading-gap: 38px;
7663            --pad-x: 24px;
7664            --pad-top: 56px;
7665            --pad-bottom: 74px;
7666
7667            background: var(--bg);
7668            width: 100%;
7669            position: relative;
7670            z-index: 1;
7671        }
7672
7673        #faq-template--28135044186421__faq_EwcehF *{ box-sizing: border-box; }
7674
7675        /* Content column — 1200px in the design, centred with a safe gutter */
7676        #faq-template--28135044186421__faq_EwcehF .main-container{
7677            max-width: calc(var(--max) + (var(--pad-x) * 2));
7678            width: 100%;
7679            margin: 0 auto;
7680            padding: var(--pad-top) var(--pad-x) var(--pad-bottom);
7681        }
7682
7683        #faq-template--28135044186421__faq_EwcehF .faq-heading{
7684            margin: 0 0 var(--heading-gap);
7685            font-family: Proxima Sera, Georgia, serif;
7686            font-size: 36px;
7687            font-weight: 500;
7688            line-height: 1;
7689            text-align: center;
7690            color: var(--heading);
7691            word-break: break-word;
7692        }
7693
7694        /* The rows carry a top border each; the list closes with the last line,
7695           which reproduces the design's shared 1px rules without doubling them. */
7696        #faq-template--28135044186421__faq_EwcehF .faq-list{
7697            border-bottom: 1px solid var(--border);
7698        }
7699
7700        #faq-template--28135044186421__faq_EwcehF .faq-item{
7701            border-top: 1px solid var(--border);
7702        }
7703
7704        #faq-template--28135044186421__faq_EwcehF .faq-question{
7705            display: flex;
7706            align-items: center;
7707            justify-content: space-between;
7708            gap: 16px;
7709            width: 100%;
7710            min-height: var(--row-h);
7711            padding: 12px var(--row-pad-x);
7712            cursor: pointer;
7713            list-style: none;
7714            font-family: Gilroy, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
7715            font-size: 16px;
7716            font-weight: 600;
7717            line-height: 1.2;
7718            letter-spacing: -0.32px;
7719            color: var(--question);
7720            word-break: break-word;
7721        }
7722
7723        #faq-template--28135044186421__faq_EwcehF .faq-question::-webkit-details-marker{ display: none; }
7724        #faq-template--28135044186421__faq_EwcehF .faq-question::marker{ content: ''; }
7725
7726        #faq-template--28135044186421__faq_EwcehF .faq-question:focus-visible{
7727            outline: 2px solid var(--question);
7728            outline-offset: -2px;
7729        }
7730
7731        /* 24 x 24 icon box from the design, right-aligned inside the 20px pad */
7732        #faq-template--28135044186421__faq_EwcehF .faq-icon{
7733            display: block;
7734            flex: 0 0 auto;
7735            width: 24px;
7736            height: 24px;
7737            color: var(--icon);
7738            transition: transform 0.3s ease-in-out;
7739        }
7740
7741        #faq-template--28135044186421__faq_EwcehF .faq-icon svg{
7742            display: block;
7743            width: 24px;
7744            height: 24px;
7745        }
7746
7747        /* Plus becomes a close mark once the row is open */
7748        #faq-template--28135044186421__faq_EwcehF .faq-item[open] .faq-icon{
7749            transform: rotate(45deg);
7750        }
7751
7752        #faq-template--28135044186421__faq_EwcehF .faq-panel{
7753            overflow: hidden;
7754        }
7755
7756        /* Reveal matches the levoit accordion: the row opens to full height
7757           immediately and only the answer fades and rises. Gated behind .faq--js
7758           so that without JS the answer stays plainly visible. */
7759        #faq-template--28135044186421__faq_EwcehF.faq--js .faq-answer{
7760            opacity: 0;
7761            transform: translateY(20px);
7762            transition: opacity 0.4s ease-in-out, transform 0.3s ease-in-out;
7763        }
7764
7765        #faq-template--28135044186421__faq_EwcehF.faq--js .faq-item.is-open .faq-answer{
7766            opacity: 1;
7767            transform: translateY(0);
7768        }
7769
7770        #faq-template--28135044186421__faq_EwcehF .faq-answer{
7771            padding: 0 var(--row-pad-x) 24px;
7772            font-family: Gilroy, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
7773            font-size: 16px;
7774            font-weight: 400;
7775            line-height: 1.5;
7776            color: var(--answer);
7777        }
7778
7779        #faq-template--28135044186421__faq_EwcehF .faq-answer > *:first-child{ margin-top: 0; }
7780        #faq-template--28135044186421__faq_EwcehF .faq-answer > *:last-child{ margin-bottom: 0; }
7781        #faq-template--28135044186421__faq_EwcehF .faq-answer a{ color: inherit; }
7782
7783        /* Tablet */
7784        @media (max-width: 1100px){
7785            #faq-template--28135044186421__faq_EwcehF .faq-heading{
7786                font-size: 30px;
7787            }
7788        }
7789
7790        /* Mobile — rows grow with the wrapped question instead of holding 74px */
7791        @media (max-width: 768px){
7792            #faq-template--28135044186421__faq_EwcehF .main-container{
7793                padding: 32px 18px 40px;
7794            }
7795            #faq-template--28135044186421__faq_EwcehF .faq-heading{
7796                font-size: 26px;
7797                line-height: 1.2;
7798                margin-bottom: 20px;
7799            }
7800            #faq-template--28135044186421__faq_EwcehF .faq-question{
7801                min-height: 64px;
7802                padding: 14px 4px;
7803                gap: 12px;
7804                font-size: 15px;
7805            }
7806            #faq-template--28135044186421__faq_EwcehF .faq-icon,
7807            #faq-template--28135044186421__faq_EwcehF .faq-icon svg{
7808                width: 20px;
7809                height: 20px;
7810            }
7811            #faq-template--28135044186421__faq_EwcehF .faq-answer{
7812                padding: 0 4px 20px;
7813                font-size: 15px;
7814            }
7815        }
7816
7817        @media (prefers-reduced-motion: reduce){
7818            #faq-template--28135044186421__faq_EwcehF.faq--js .faq-answer,
7819            #faq-template--28135044186421__faq_EwcehF .faq-icon{
7820                transition: none;
7821            }
7822            #faq-template--28135044186421__faq_EwcehF.faq--js .faq-answer{
7823                opacity: 1;
7824                transform: none;
7825            }
7826        }
7827    </style>
7828
7829    <div class="main-container">
7830        
7831            
7832            <h2 class="faq-heading">Frequently Asked Questions</h2>
7833        
7834
7835        
7836            <div class="faq-list" data-faq-list>
7837                
7838                    <details
7839                        class="faq-item"
7840                        data-faq-item
7841                        id="faq-item-template--28135044186421__faq_EwcehF-question_akBWnL"
7842                        
7843                        
7844                    >
7845                        <summary class="faq-question">
7846                            <span class="faq-question-text">Do I need the VeSync app to use Juni?</span>
7847                            <span class="faq-icon" aria-hidden="true">
7848                                <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" focusable="false">
7849                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12.9147 3.31468C12.9147 2.80973 12.5053 2.40039 12.0004 2.40039C11.4954 2.40039 11.0861 2.80973 11.0861 3.31468V11.0861H3.31468C2.80973 11.0861 2.40039 11.4954 2.40039 12.0004C2.40039 12.5053 2.80973 12.9147 3.31468 12.9147H11.0861L11.0861 20.6861C11.0861 21.191 11.4954 21.6004 12.0004 21.6004C12.5053 21.6004 12.9147 21.191 12.9147 20.6861L12.9147 12.9147L20.6861 12.9147C21.191 12.9147 21.6004 12.5053 21.6004 12.0004C21.6004 11.4954 21.191 11.0861 20.6861 11.0861L12.9147 11.0861V3.31468Z" fill="currentColor"/>
7850                                </svg>
7851                            </span>
7852                        </summary>
7853                        <div class="faq-panel" data-faq-panel>
7854                            <div class="faq-answer"><p>No. You can brew directly from Juni using the built-in controls and display. Connecting to the VeSync app gives you access to additional features, including personalized recipe recommendations, complete control over brew settings, remote start, and smart scheduling.</p></div>
7855                        </div>
7856                    </details>
7857                
7858                    <details
7859                        class="faq-item"
7860                        data-faq-item
7861                        id="faq-item-template--28135044186421__faq_EwcehF-question_Rxdd4Q"
7862                        
7863                        
7864                    >
7865                        <summary class="faq-question">
7866                            <span class="faq-question-text">How much coffee can I brew with each brew basket?</span>
7867                            <span class="faq-icon" aria-hidden="true">
7868                                <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" focusable="false">
7869                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12.9147 3.31468C12.9147 2.80973 12.5053 2.40039 12.0004 2.40039C11.4954 2.40039 11.0861 2.80973 11.0861 3.31468V11.0861H3.31468C2.80973 11.0861 2.40039 11.4954 2.40039 12.0004C2.40039 12.5053 2.80973 12.9147 3.31468 12.9147H11.0861L11.0861 20.6861C11.0861 21.191 11.4954 21.6004 12.0004 21.6004C12.5053 21.6004 12.9147 21.191 12.9147 20.6861L12.9147 12.9147L20.6861 12.9147C21.191 12.9147 21.6004 12.5053 21.6004 12.0004C21.6004 11.4954 21.191 11.0861 20.6861 11.0861L12.9147 11.0861V3.31468Z" fill="currentColor"/>
7870                                </svg>
7871                            </span>
7872                        </summary>
7873                        <div class="faq-panel" data-faq-panel>
7874                            <div class="faq-answer"><p>Juni includes 2 brew baskets for different serving sizes. The cone brew basket supports up to 600 mL and is ideal for smaller batch brewing of 1–3 cups. The flat bottom brew basket supports up to 1.5 L and is well suited for large batch brewing of 3–6 cups. Juni’s default cup size is 250 mL. You can use the VeSync app to adjust the default cup size to your preference.</p></div>
7875                        </div>
7876                    </details>
7877                
7878                    <details
7879                        class="faq-item"
7880                        data-faq-item
7881                        id="faq-item-template--28135044186421__faq_EwcehF-question_tMzG8w"
7882                        
7883                        
7884                    >
7885                        <summary class="faq-question">
7886                            <span class="faq-question-text">How long does Juni take to brew coffee?</span>
7887                            <span class="faq-icon" aria-hidden="true">
7888                                <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" focusable="false">
7889                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12.9147 3.31468C12.9147 2.80973 12.5053 2.40039 12.0004 2.40039C11.4954 2.40039 11.0861 2.80973 11.0861 3.31468V11.0861H3.31468C2.80973 11.0861 2.40039 11.4954 2.40039 12.0004C2.40039 12.5053 2.80973 12.9147 3.31468 12.9147H11.0861L11.0861 20.6861C11.0861 21.191 11.4954 21.6004 12.0004 21.6004C12.5053 21.6004 12.9147 21.191 12.9147 20.6861L12.9147 12.9147L20.6861 12.9147C21.191 12.9147 21.6004 12.5053 21.6004 12.0004C21.6004 11.4954 21.191 11.0861 20.6861 11.0861L12.9147 11.0861V3.31468Z" fill="currentColor"/>
7890                                </svg>
7891                            </span>
7892                        </summary>
7893                        <div class="faq-panel" data-faq-panel>
7894                            <div class="faq-answer"><p>Brewing typically takes approximately 3–10 minutes, depending on the serving size and selected brew settings.</p></div>
7895                        </div>
7896                    </details>
7897                
7898                    <details
7899                        class="faq-item"
7900                        data-faq-item
7901                        id="faq-item-template--28135044186421__faq_EwcehF-question_p3ybUh"
7902                        
7903                        
7904                    >
7905                        <summary class="faq-question">
7906                            <span class="faq-question-text">Does Juni have a built-in grinder?</span>
7907                            <span class="faq-icon" aria-hidden="true">
7908                                <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" focusable="false">
7909                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12.9147 3.31468C12.9147 2.80973 12.5053 2.40039 12.0004 2.40039C11.4954 2.40039 11.0861 2.80973 11.0861 3.31468V11.0861H3.31468C2.80973 11.0861 2.40039 11.4954 2.40039 12.0004C2.40039 12.5053 2.80973 12.9147 3.31468 12.9147H11.0861L11.0861 20.6861C11.0861 21.191 11.4954 21.6004 12.0004 21.6004C12.5053 21.6004 12.9147 21.191 12.9147 20.6861L12.9147 12.9147L20.6861 12.9147C21.191 12.9147 21.6004 12.5053 21.6004 12.0004C21.6004 11.4954 21.191 11.0861 20.6861 11.0861L12.9147 11.0861V3.31468Z" fill="currentColor"/>
7910                                </svg>
7911                            </span>
7912                        </summary>
7913                        <div class="faq-panel" data-faq-panel>
7914                            <div class="faq-answer"><p>No, Juni does not include a built-in grinder. For best results, we recommend using a dedicated burr grinder and starting with a medium to medium-coarse grind for pour-over coffee. You can also have your beans ground for pour-over at your local coffee shop.</p></div>
7915                        </div>
7916                    </details>
7917                
7918                    <details
7919                        class="faq-item"
7920                        data-faq-item
7921                        id="faq-item-template--28135044186421__faq_EwcehF-question_ndBnA8"
7922                        
7923                        
7924                    >
7925                        <summary class="faq-question">
7926                            <span class="faq-question-text">Which brew baskets and filters does Juni use?</span>
7927                            <span class="faq-icon" aria-hidden="true">
7928                                <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" focusable="false">
7929                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12.9147 3.31468C12.9147 2.80973 12.5053 2.40039 12.0004 2.40039C11.4954 2.40039 11.0861 2.80973 11.0861 3.31468V11.0861H3.31468C2.80973 11.0861 2.40039 11.4954 2.40039 12.0004C2.40039 12.5053 2.80973 12.9147 3.31468 12.9147H11.0861L11.0861 20.6861C11.0861 21.191 11.4954 21.6004 12.0004 21.6004C12.5053 21.6004 12.9147 21.191 12.9147 20.6861L12.9147 12.9147L20.6861 12.9147C21.191 12.9147 21.6004 12.5053 21.6004 12.0004C21.6004 11.4954 21.191 11.0861 20.6861 11.0861L12.9147 11.0861V3.31468Z" fill="currentColor"/>
7930                                </svg>
7931                            </span>
7932                        </summary>
7933                        <div class="faq-panel" data-faq-panel>
7934                            <div class="faq-answer"><p>Juni includes both a cone brew basket and a flat bottom brew basket, so you can explore different brewing styles and recipes. Each brew basket comes with 20 compatible paper filters, for a total of 40 filters in the box. Additional replacement filters will be available for purchase directly from the Cosori website.</p></div>
7935                        </div>
7936                    </details>
7937                
7938                    <details
7939                        class="faq-item"
7940                        data-faq-item
7941                        id="faq-item-template--28135044186421__faq_EwcehF-question_ycLQAU"
7942                        
7943                        
7944                    >
7945                        <summary class="faq-question">
7946                            <span class="faq-question-text">Can I use my own carafe with Juni?</span>
7947                            <span class="faq-icon" aria-hidden="true">
7948                                <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" focusable="false">
7949                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12.9147 3.31468C12.9147 2.80973 12.5053 2.40039 12.0004 2.40039C11.4954 2.40039 11.0861 2.80973 11.0861 3.31468V11.0861H3.31468C2.80973 11.0861 2.40039 11.4954 2.40039 12.0004C2.40039 12.5053 2.80973 12.9147 3.31468 12.9147H11.0861L11.0861 20.6861C11.0861 21.191 11.4954 21.6004 12.0004 21.6004C12.5053 21.6004 12.9147 21.191 12.9147 20.6861L12.9147 12.9147L20.6861 12.9147C21.191 12.9147 21.6004 12.5053 21.6004 12.0004C21.6004 11.4954 21.191 11.0861 20.6861 11.0861L12.9147 11.0861V3.31468Z" fill="currentColor"/>
7950                                </svg>
7951                            </span>
7952                        </summary>
7953                        <div class="faq-panel" data-faq-panel>
7954                            <div class="faq-answer"><p>Yes, you can use your own carafe as long as it fits within the brewing area. For the best fit, choose a carafe with a height of up to 8 inches (203 millimeters), measured from the base to the top of the lid, and a diameter of up to 4.9 inches (125 millimeters). We recommend using a carafe that is heat-resistant up to 100°C (212°F) and has a capacity of at least 300 mL. Always make sure the carafe is stable and properly positioned before brewing.</p></div>
7955                        </div>
7956                    </details>
7957                
7958                    <details
7959                        class="faq-item"
7960                        data-faq-item
7961                        id="faq-item-template--28135044186421__faq_EwcehF-question_NB4EGE"
7962                        
7963                        
7964                    >
7965                        <summary class="faq-question">
7966                            <span class="faq-question-text">What materials are used in Juni’s water/coffee-contact components?</span>
7967                            <span class="faq-icon" aria-hidden="true">
7968                                <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" focusable="false">
7969                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12.9147 3.31468C12.9147 2.80973 12.5053 2.40039 12.0004 2.40039C11.4954 2.40039 11.0861 2.80973 11.0861 3.31468V11.0861H3.31468C2.80973 11.0861 2.40039 11.4954 2.40039 12.0004C2.40039 12.5053 2.80973 12.9147 3.31468 12.9147H11.0861L11.0861 20.6861C11.0861 21.191 11.4954 21.6004 12.0004 21.6004C12.5053 21.6004 12.9147 21.191 12.9147 20.6861L12.9147 12.9147L20.6861 12.9147C21.191 12.9147 21.6004 12.5053 21.6004 12.0004C21.6004 11.4954 21.191 11.0861 20.6861 11.0861L12.9147 11.0861V3.31468Z" fill="currentColor"/>
7970                                </svg>
7971                            </span>
7972                        </summary>
7973                        <div class="faq-panel" data-faq-panel>
7974                            <div class="faq-answer"><p>Juni uses carefully selected food-contact materials designed for durability, heat performance, and everyday use. The cone and flat bottom brew baskets are made from Tritan™ copolyester (PCTG), and the water tank is made from SAN polymer. Materials that come into contact with water or brewed coffee are tested for their intended use and comply with applicable food-contact safety requirements.</p></div>
7975                        </div>
7976                    </details>
7977                
7978                    <details
7979                        class="faq-item"
7980                        data-faq-item
7981                        id="faq-item-template--28135044186421__faq_EwcehF-question_yfzgia"
7982                        
7983                        
7984                    >
7985                        <summary class="faq-question">
7986                            <span class="faq-question-text">How will I know when Juni needs descaling?</span>
7987                            <span class="faq-icon" aria-hidden="true">
7988                                <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" focusable="false">
7989                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12.9147 3.31468C12.9147 2.80973 12.5053 2.40039 12.0004 2.40039C11.4954 2.40039 11.0861 2.80973 11.0861 3.31468V11.0861H3.31468C2.80973 11.0861 2.40039 11.4954 2.40039 12.0004C2.40039 12.5053 2.80973 12.9147 3.31468 12.9147H11.0861L11.0861 20.6861C11.0861 21.191 11.4954 21.6004 12.0004 21.6004C12.5053 21.6004 12.9147 21.191 12.9147 20.6861L12.9147 12.9147L20.6861 12.9147C21.191 12.9147 21.6004 12.5053 21.6004 12.0004C21.6004 11.4954 21.191 11.0861 20.6861 11.0861L12.9147 11.0861V3.31468Z" fill="currentColor"/>
7990                                </svg>
7991                            </span>
7992                        </summary>
7993                        <div class="faq-panel" data-faq-panel>
7994                            <div class="faq-answer"><p>Juni will remind you when it’s time to descale. After 90 days of use or more than 60 brew cycles, the display will show “C” when the machine 
is turned on, and the Pre-Rinse Filter button will flash. Press and hold the Pre-Rinse Filter button to start the descaling cycle. When descaling 
is complete, Juni will beep three times and automatically return to standby mode. We recommend rinsing the water tank to remove any remaining descaling solution, then running one full brew cycle with only water (no coffee grounds) before using Juni again.</p></div>
7995                        </div>
7996                    </details>
7997                
7998                    <details
7999                        class="faq-item"
8000                        data-faq-item
8001                        id="faq-item-template--28135044186421__faq_EwcehF-question_8EUeJT"
8002                        
8003                        
8004                    >
8005                        <summary class="faq-question">
8006                            <span class="faq-question-text">Can I schedule or remotely start a brew with Juni?</span>
8007                            <span class="faq-icon" aria-hidden="true">
8008                                <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" focusable="false">
8009                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12.9147 3.31468C12.9147 2.80973 12.5053 2.40039 12.0004 2.40039C11.4954 2.40039 11.0861 2.80973 11.0861 3.31468V11.0861H3.31468C2.80973 11.0861 2.40039 11.4954 2.40039 12.0004C2.40039 12.5053 2.80973 12.9147 3.31468 12.9147H11.0861L11.0861 20.6861C11.0861 21.191 11.4954 21.6004 12.0004 21.6004C12.5053 21.6004 12.9147 21.191 12.9147 20.6861L12.9147 12.9147L20.6861 12.9147C21.191 12.9147 21.6004 12.5053 21.6004 12.0004C21.6004 11.4954 21.191 11.0861 20.6861 11.0861L12.9147 11.0861V3.31468Z" fill="currentColor"/>
8010                                </svg>
8011                            </span>
8012                        </summary>
8013                        <div class="faq-panel" data-faq-panel>
8014                            <div class="faq-answer"><p>Yes, with the VeSync app. Before using scheduled or remote brewing, make sure the water, coffee grounds, paper filter, brew basket, 
and carafe are all properly prepared. If you are using the provided carafe, Juni will detect when the carafe is correctly positioned, allowing 
a scheduled brew or remote start to begin automatically. If you are using your own cup, carafe, or another non-Juni container, the machine cannot reliably detect whether it's in place. For safety, you will need to confirm on the machine before brewing can begin because 
unattended scheduled or remote-start brewing is not supported with third-party containers.</p></div>
8015                        </div>
8016                    </details>
8017                
8018                    <details
8019                        class="faq-item"
8020                        data-faq-item
8021                        id="faq-item-template--28135044186421__faq_EwcehF-question_AjLy68"
8022                        
8023                        
8024                    >
8025                        <summary class="faq-question">
8026                            <span class="faq-question-text">Is Juni an SCA Certified Home Brewer?</span>
8027                            <span class="faq-icon" aria-hidden="true">
8028                                <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" focusable="false">
8029                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12.9147 3.31468C12.9147 2.80973 12.5053 2.40039 12.0004 2.40039C11.4954 2.40039 11.0861 2.80973 11.0861 3.31468V11.0861H3.31468C2.80973 11.0861 2.40039 11.4954 2.40039 12.0004C2.40039 12.5053 2.80973 12.9147 3.31468 12.9147H11.0861L11.0861 20.6861C11.0861 21.191 11.4954 21.6004 12.0004 21.6004C12.5053 21.6004 12.9147 21.191 12.9147 20.6861L12.9147 12.9147L20.6861 12.9147C21.191 12.9147 21.6004 12.5053 21.6004 12.0004C21.6004 11.4954 21.191 11.0861 20.6861 11.0861L12.9147 11.0861V3.31468Z" fill="currentColor"/>
8030                                </svg>
8031                            </span>
8032                        </summary>
8033                        <div class="faq-panel" data-faq-panel>
8034                            <div class="faq-answer"><p>Yes, Juni is an SCA Certified Home Brewer, meeting the Specialty Coffee Association’s rigorous standards for exceptional home brewing performance.</p></div>
8035                        </div>
8036                    </details>
8037                
8038                    <details
8039                        class="faq-item"
8040                        data-faq-item
8041                        id="faq-item-template--28135044186421__faq_EwcehF-question_FkP8Lh"
8042                        
8043                        
8044                    >
8045                        <summary class="faq-question">
8046                            <span class="faq-question-text">Does Juni come with a warranty?</span>
8047                            <span class="faq-icon" aria-hidden="true">
8048                                <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" focusable="false">
8049                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12.9147 3.31468C12.9147 2.80973 12.5053 2.40039 12.0004 2.40039C11.4954 2.40039 11.0861 2.80973 11.0861 3.31468V11.0861H3.31468C2.80973 11.0861 2.40039 11.4954 2.40039 12.0004C2.40039 12.5053 2.80973 12.9147 3.31468 12.9147H11.0861L11.0861 20.6861C11.0861 21.191 11.4954 21.6004 12.0004 21.6004C12.5053 21.6004 12.9147 21.191 12.9147 20.6861L12.9147 12.9147L20.6861 12.9147C21.191 12.9147 21.6004 12.5053 21.6004 12.0004C21.6004 11.4954 21.191 11.0861 20.6861 11.0861L12.9147 11.0861V3.31468Z" fill="currentColor"/>
8050                                </svg>
8051                            </span>
8052                        </summary>
8053                        <div class="faq-panel" data-faq-panel>
8054                            <div class="faq-answer"><p>Yes, Juni is backed by Cosori’s 2-year limited warranty. Warranty coverage, registration requirements, and other terms are subject to the applicable warranty policy in the country of purchase.</p></div>
8055                        </div>
8056                    </details>
8057                
8058            </div>
8059        
8060    </div>
8061</section>
8062
8063<script>
8064  (function () {
8065    var root = document.getElementById('faq-template--28135044186421__faq_EwcehF');
8066    if (!root) return;
8067
8068    var allowMultiple = false;
8069    var items = Array.prototype.slice.call(root.querySelectorAll('[data-faq-item]'));
8070    if (!items.length) return;
8071
8072    // Signals that the fade-in styles should apply; without JS the answers stay
8073    // visible and the rows fall back to plain <details> behaviour.
8074    root.classList.add('faq--js');
8075
8076    /*
8077      The row opens to full height in one frame and the answer fades and rises
8078      into it — no height animation, so there is no transition to wait on and
8079      nothing that can leave a row wedged half-open.
8080
8081      `is-open` is applied on the next frame rather than in the same tick: the
8082      panel is display:none while the row is closed, and a transition started in
8083      the frame an element becomes visible does not run.
8084    */
8085    function expand(item) {
8086      item.open = true;
8087      requestAnimationFrame(function () {
8088        requestAnimationFrame(function () {
8089          if (item.open) item.classList.add('is-open');
8090        });
8091      });
8092    }
8093
8094    function collapse(item) {
8095      item.classList.remove('is-open');
8096      item.open = false;
8097    }
8098
8099    // Rows set to "open by default" render with the attribute already set, so
8100    // mark them before the fade styles would otherwise hide their answers.
8101    items.forEach(function (item) {
8102      if (item.open) item.classList.add('is-open');
8103    });
8104
8105    items.forEach(function (item) {
8106      var summary = item.querySelector('.faq-question');
8107      if (!summary) return;
8108
8109      summary.addEventListener('click', function (e) {
8110        e.preventDefault();
8111
8112        if (item.open) {
8113          collapse(item);
8114          return;
8115        }
8116
8117        if (!allowMultiple) {
8118          items.forEach(function (other) {
8119            if (other !== item && other.open) collapse(other);
8120          });
8121        }
8122
8123        
8124
8125        expand(item);
8126      });
8127    });
8128
8129    // Theme editor: open the row a merchant selects in the sidebar.
8130    document.addEventListener('shopify:block:select', function (e) {
8131      var item = e.target.closest ? e.target.closest('[data-faq-item]') : null;
8132      if (!item || !root.contains(item) || item.open) return;
8133      if (!allowMultiple) {
8134        items.forEach(function (other) {
8135          if (other !== item && other.open) collapse(other);
8136        });
8137      }
8138      expand(item);
8139    });
8140  })();
8141</script>
8141<script type="application/ld+json">
8142      {
8143        "@context": "https://schema.org",
8144        "@type": "FAQPage",
8145        "mainEntity": [{
8146          "@type": "Question",
8147          "name": "Do I need the VeSync app to use Juni?",
8148          "acceptedAnswer": {
8149            "@type": "Answer",
8150            "text": "\u003cp\u003eNo. You can brew directly from Juni using the built-in controls and display. Connecting to the VeSync app gives you access to additional features, including personalized recipe recommendations, complete control over brew settings, remote start, and smart scheduling.\u003c\/p\u003e"
8151          }
8152        },{
8153          "@type": "Question",
8154          "name": "How much coffee can I brew with each brew basket?",
8155          "acceptedAnswer": {
8156            "@type": "Answer",
8157            "text": "\u003cp\u003eJuni includes 2 brew baskets for different serving sizes. The cone brew basket supports up to 600 mL and is ideal for smaller batch brewing of 1–3 cups. The flat bottom brew basket supports up to 1.5 L and is well suited for large batch brewing of 3–6 cups. Juni’s default cup size is 250 mL. You can use the VeSync app to adjust the default cup size to your preference.\u003c\/p\u003e"
8158          }
8159        },{
8160          "@type": "Question",
8161          "name": "How long does Juni take to brew coffee?",
8162          "acceptedAnswer": {
8163            "@type": "Answer",
8164            "text": "\u003cp\u003eBrewing typically takes approximately 3–10 minutes, depending on the serving size and selected brew settings.\u003c\/p\u003e"
8165          }
8166        },{
8167          "@type": "Question",
8168          "name": "Does Juni have a built-in grinder?",
8169          "acceptedAnswer": {
8170            "@type": "Answer",
8171            "text": "\u003cp\u003eNo, Juni does not include a built-in grinder. For best results, we recommend using a dedicated burr grinder and starting with a medium to medium-coarse grind for pour-over coffee. You can also have your beans ground for pour-over at your local coffee shop.\u003c\/p\u003e"
8172          }
8173        },{
8174          "@type": "Question",
8175          "name": "Which brew baskets and filters does Juni use?",
8176          "acceptedAnswer": {
8177            "@type": "Answer",
8178            "text": "\u003cp\u003eJuni includes both a cone brew basket and a flat bottom brew basket, so you can explore different brewing styles and recipes. Each brew basket comes with 20 compatible paper filters, for a total of 40 filters in the box. Additional replacement filters will be available for purchase directly from the Cosori website.\u003c\/p\u003e"
8179          }
8180        },{
8181          "@type": "Question",
8182          "name": "Can I use my own carafe with Juni?",
8183          "acceptedAnswer": {
8184            "@type": "Answer",
8185            "text": "\u003cp\u003eYes, you can use your own carafe as long as it fits within the brewing area. For the best fit, choose a carafe with a height of up to 8 inches (203 millimeters), measured from the base to the top of the lid, and a diameter of up to 4.9 inches (125 millimeters). We recommend using a carafe that is heat-resistant up to 100°C (212°F) and has a capacity of at least 300 mL. Always make sure the carafe is stable and properly positioned before brewing.\u003c\/p\u003e"
8186          }
8187        },{
8188          "@type": "Question",
8189          "name": "What materials are used in Juni’s water\/coffee-contact components?",
8190          "acceptedAnswer": {
8191            "@type": "Answer",
8192            "text": "\u003cp\u003eJuni uses carefully selected food-contact materials designed for durability, heat performance, and everyday use. The cone and flat bottom brew baskets are made from Tritan™ copolyester (PCTG), and the water tank is made from SAN polymer. Materials that come into contact with water or brewed coffee are tested for their intended use and comply with applicable food-contact safety requirements.\u003c\/p\u003e"
8193          }
8194        },{
8195          "@type": "Question",
8196          "name": "How will I know when Juni needs descaling?",
8197          "acceptedAnswer": {
8198            "@type": "Answer",
8199            "text": "\u003cp\u003eJuni will remind you when it’s time to descale. After 90 days of use or more than 60 brew cycles, the display will show “C” when the machine \u2028is turned on, and the Pre-Rinse Filter button will flash. Press and hold the Pre-Rinse Filter button to start the descaling cycle. When descaling \u2028is complete, Juni will beep three times and automatically return to standby mode. We recommend rinsing the water tank to remove any remaining descaling solution, then running one full brew cycle with only water (no coffee grounds) before using Juni again.\u003c\/p\u003e"
8200          }
8201        },{
8202          "@type": "Question",
8203          "name": "Can I schedule or remotely start a brew with Juni?",
8204          "acceptedAnswer": {
8205            "@type": "Answer",
8206            "text": "\u003cp\u003eYes, with the VeSync app. Before using scheduled or remote brewing, make sure the water, coffee grounds, paper filter, brew basket, \u2028and carafe are all properly prepared. If you are using the provided carafe, Juni will detect when the carafe is correctly positioned, allowing \u2028a scheduled brew or remote start to begin automatically. If you are using your own cup, carafe, or another non-Juni container, the machine cannot reliably detect whether it's in place. For safety, you will need to confirm on the machine before brewing can begin because \u2028unattended scheduled or remote-start brewing is not supported with third-party containers.\u003c\/p\u003e"
8207          }
8208        },{
8209          "@type": "Question",
8210          "name": "Is Juni an SCA Certified Home Brewer?",
8211          "acceptedAnswer": {
8212            "@type": "Answer",
8213            "text": "\u003cp\u003eYes, Juni is an SCA Certified Home Brewer, meeting the Specialty Coffee Association’s rigorous standards for exceptional home brewing performance.\u003c\/p\u003e"
8214          }
8215        },{
8216          "@type": "Question",
8217          "name": "Does Juni come with a warranty?",
8218          "acceptedAnswer": {
8219            "@type": "Answer",
8220            "text": "\u003cp\u003eYes, Juni is backed by Cosori’s 2-year limited warranty. Warranty coverage, registration requirements, and other terms are subject to the applicable warranty policy in the country of purchase.\u003c\/p\u003e"
8221          }
8222        }]
8223      }
8224    </script>
8224
8225</div><div id="shopify-section-template--28135044186421__iconic_customers_love_jPgYkU" class="shopify-section">
8226<section id="customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU" class="cal" data-cal>
8227    <style>
8228        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU{
8229            --heading: #512A44;
8230            --heading-font: inherit;
8231            --heading-size: 44px;
8232            --heading-weight: 700;
8233            --heading-lh: 1.05;
8234            --heading-ls: -0.02em;
8235            --heading-mb: 28px;
8236            --heading-em-style: italic;
8237            --heading-em-weight: 700;
8238
8239            --text: #2b2b2b;
8240            --title-font: inherit;
8241            --title-size: 18px;
8242            --title-weight: 700;
8243            --title-lh: 1.2;
8244
8245            --price: rgba(0,0,0,.55);
8246            --price-font: inherit;
8247            --price-size: 12px;
8248            --price-weight: 600;
8249            --price-ls: normal;
8250            --price-mt: 6px;
8251
8252            --card-bg: #F4F1F2;
8253            --badge-bg: #7B6A78;
8254            --badge-text: #ffffff;
8255            --badge-font: inherit;
8256            --badge-size: 11px;
8257            --badge-weight: 700;
8258            --badge-lh: 1;
8259            --badge-ls: .06em;
8260            --badge-radius: 999px;
8261            --badge-pad-y: 6px;
8262            --badge-pad-x: 10px;
8263            --badge-offset: 12px;
8264
8265            --radius: 18px;
8266            --max: 1100px;
8267
8268            --pad-y: 44px;
8269            --pad-x: 22px;
8270
8271            --gap: 34px;
8272            --card-gap: 14px;
8273            --media-pad: 18px;
8274            --text-pad-x: 0px;
8275
8276            --atc-bg: #fb914a;
8277            --atc-text: #ffffff;
8278            --atc-font: inherit;
8279            --atc-size: 16px;
8280            --atc-weight: 700;
8281            --atc-ls: .04em;
8282            --atc-lh: 1;
8283            --atc-height: 44px;
8284            --atc-radius: 16px;
8285            --atc-max: 320px;
8286
8287            /* Mobile slider tuning */
8288            --peek: 14vw;      /* how much next card peeks in */
8289            --snap-pad: 16px;  /* left/right padding inside the scroll area */
8290        }
8291
8292        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU *{ box-sizing: border-box; }
8293        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU a{ color: inherit; text-decoration: none; }
8294
8295        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU{ background:#fff; width:100%; }
8296
8297        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-wrap{
8298            max-width: var(--max);
8299            margin: 0 auto;
8300            padding: var(--pad-y) var(--pad-x);
8301        }
8302
8303        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-heading{
8304            margin: 0 0 var(--heading-mb);
8305            text-align: center;
8306            color: var(--heading);
8307            font-family: var(--heading-font);
8308            font-weight: var(--heading-weight);
8309            letter-spacing: var(--heading-ls);
8310            line-height: var(--heading-lh);
8311            font-size: var(--heading-size);
8312        }
8313        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-heading em{
8314            font-style: var(--heading-em-style);
8315            font-weight: var(--heading-em-weight);
8316        }
8317
8318        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-grid{
8319            display: grid;
8320            grid-template-columns: repeat(3, minmax(0, 1fr));
8321            gap: var(--gap);
8322            align-items: start;
8323        }
8324
8325        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-card{
8326            display: flex;
8327            flex-direction: column;
8328            gap: var(--card-gap);
8329            min-width: 0;
8330        }
8331
8332        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-media{
8333            position: relative;
8334            background: var(--card-bg);
8335            border-radius: var(--radius);
8336            overflow: hidden;
8337            width: 100%;
8338            aspect-ratio: 4 / 4;
8339            display: block;
8340        }
8341
8342        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-media img{
8343            width: 100%;
8344            height: 100%;
8345            object-fit: contain;
8346            display: block;
8347            padding: var(--media-pad);
8348            transform: translateZ(0);
8349            transition: transform .18s ease;
8350        }
8351
8352        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-media:hover img{
8353            transform: scale(1.01);
8354        }
8355
8356        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-badge{
8357            position: absolute;
8358            top: var(--badge-offset);
8359            right: var(--badge-offset);
8360            background: var(--badge-bg);
8361            color: var(--badge-text);
8362            font-family: var(--badge-font);
8363            font-size: var(--badge-size);
8364            line-height: var(--badge-lh);
8365            padding: var(--badge-pad-y) var(--badge-pad-x);
8366            border-radius: var(--badge-radius);
8367            font-weight: var(--badge-weight);
8368            letter-spacing: var(--badge-ls);
8369            text-transform: uppercase;
8370        }
8371
8372        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-info{
8373            padding-left: var(--text-pad-x);
8374            padding-right: var(--text-pad-x);
8375        }
8376
8377        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-title{
8378            margin: 0;
8379            font-family: var(--title-font);
8380            font-size: var(--title-size);
8381            font-weight: var(--title-weight);
8382            color: var(--text);
8383            line-height: var(--title-lh);
8384        }
8385
8386        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-price{
8387            margin: var(--price-mt) 0 0;
8388            font-family: var(--price-font);
8389            font-size: var(--price-size);
8390            font-weight: var(--price-weight);
8391            letter-spacing: var(--price-ls);
8392            color: var(--price);
8393        }
8394
8395        /* Add to Cart — only rendered when the section setting is on */
8396        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-atc{
8397            align-self: center;
8398            width: 100%;
8399            max-width: var(--atc-max);
8400            min-height: var(--atc-height);
8401            display: inline-flex;
8402            align-items: center;
8403            justify-content: center;
8404            background: var(--atc-bg);
8405            border: 1px solid var(--atc-bg);
8406            color: var(--atc-text);
8407            border-radius: var(--atc-radius);
8408            padding: 12px 16px;
8409            font-family: var(--atc-font);
8410            font-size: var(--atc-size);
8411            font-weight: var(--atc-weight);
8412            line-height: var(--atc-lh);
8413            letter-spacing: var(--atc-ls);
8414            text-transform: uppercase;
8415            cursor: pointer;
8416            appearance: none;
8417            -webkit-appearance: none;
8418            transition: transform .18s ease, opacity .18s ease;
8419        }
8420
8421        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-atc:hover:not([disabled]){
8422            transform: translateY(-2px);
8423        }
8424
8425        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-atc:active:not([disabled]){
8426            transform: translateY(0);
8427        }
8428
8429        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-atc[disabled]{
8430            opacity: .5;
8431            cursor: not-allowed;
8432            transform: none;
8433        }
8434
8435        /* Busy while an add is in flight (dtc.js sets .is-loading + aria-busy). */
8436        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-atc.is-loading,
8437        #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-atc[aria-busy="true"]{
8438            opacity: .6;
8439            cursor: progress;
8440        }
8441
8442        @media (prefers-reduced-motion: reduce){
8443            #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-atc,
8444            #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-media img{
8445                transition: none;
8446            }
8447            #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-atc:hover:not([disabled]){
8448                transform: none;
8449            }
8450        }
8451
8452        @media (max-width: 1100px){
8453            #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU{
8454                --max: 980px;
8455                --pad-x: 22px;
8456                --heading-size: 40px;
8457            }
8458        }
8459
8460        /* ✅ Mobile: one-at-a-time swipe slider + peek */
8461        @media (max-width: 900px){
8462            #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU{
8463                --heading-size: 34px;
8464                --heading-mb: 22px;
8465                --title-size: 16px;
8466            }
8467
8468            #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-wrap{
8469                padding-left: 0;
8470                padding-right: 0;
8471            }
8472
8473            #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-grid{
8474                display: flex;
8475                gap: 14px;
8476
8477                overflow-x: auto;
8478                overflow-y: visible;
8479                -webkit-overflow-scrolling: touch;
8480
8481                scroll-snap-type: x mandatory;
8482                scroll-padding-left: var(--snap-pad);
8483                scroll-padding-right: var(--snap-pad);
8484
8485                padding: 0 var(--snap-pad) 6px;
8486            }
8487
8488            #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-grid::-webkit-scrollbar{
8489                display: none;
8490            }
8491            #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-grid{
8492                scrollbar-width: none;
8493            }
8494
8495            /* One card per "page" with a peek of the next */
8496            #customers-also-love-template--28135044186421__iconic_customers_love_jPgYkU .cal-card{
8497                flex: 0 0 calc(100% - var(--peek));
8498                scroll-snap-align: start;
8499                scroll-snap-stop: always;
8500            }
8501        }
8502    </style>
8503
8504    <div class="cal-wrap">
8505        <h2 class="cal-heading">
8506            
8507                <p>Customers Also <em>Love</em></p>
8508            
8509        </h2>
8510
8511        <div class="cal-grid" role="list">
8512            
8513                
8514
8515                <div class="cal-card" role="listitem" >
8516                    
8517                        <a class="cal-media" href="/products/nutrilens-smart-nutrition-scale" aria-label="Cosori NutriLens Smart Nutrition Scale">
8518                            
8519                                <span class="cal-badge">SMART</span>
8520                            
8521
8522                            
8523                                <img
8524                                        src="//cosori.com/cdn/shop/files/1.0_CNS-R001S-X_US_Black_LP0A1.jpg?v=1755497282&width=1400"
8525                                        alt="Cosori NutriLens Smart Nutrition Scale"
8526                                        loading="lazy"
8527                                        width="1600"
8528                                        height="1600"
8529                                >
8530                            
8531                        </a>
8532
8533                        <div class="cal-info">
8534                            <a href="/products/nutrilens-smart-nutrition-scale">
8535                                <p class="cal-title" id="cal-title-item_JGyGQh">Cosori NutriLens Smart Nutrition Scale</p>
8536                            </a>
8537
8538                            
8539                                <p class="cal-price">$49.99</p>
8540                            
8541                        </div>
8542
8543                        
8544                            
8545                                <button
8546                                        type="button"
8547                                        class="cal-atc"
8548                                        data-cal-atc
8549                                        data-dtc-add-to-cart
8550                                        data-variant-id="51222975611189"
8551                                        aria-describedby="cal-title-item_JGyGQh"
8552                                >Add to cart</button>
8553                            
8554                        
8555                    
8556                </div>
8557            
8558                
8559
8560                <div class="cal-card" role="listitem" >
8561                    
8562                        <a class="cal-media" href="/products/smart-electric-gooseneck-kettle-cs108-nk" aria-label="Smart Electric&lt;br&gt;Gooseneck Kettle">
8563                            
8564                                <span class="cal-badge">SMART</span>
8565                            
8566
8567                            
8568                                <img
8569                                        src="//cosori.com/cdn/shop/products/new-electric-kettle-img.png?v=1762457669&width=1400"
8570                                        alt="Smart Electric&lt;br&gt;Gooseneck Kettle"
8571                                        loading="lazy"
8572                                        width="1000"
8573                                        height="1000"
8574                                >
8575                            
8576                        </a>
8577
8578                        <div class="cal-info">
8579                            <a href="/products/smart-electric-gooseneck-kettle-cs108-nk">
8580                                <p class="cal-title" id="cal-title-item_iJtJMg">Smart Electric<br>Gooseneck Kettle</p>
8581                            </a>
8582
8583                            
8584                                <p class="cal-price">$77.99</p>
8585                            
8586                        </div>
8587
8588                        
8589                            
8590                                <button
8591                                        type="button"
8592                                        class="cal-atc"
8593                                        data-cal-atc
8594                                        data-dtc-add-to-cart
8595                                        data-variant-id="45003288019253"
8596                                        aria-describedby="cal-title-item_iJtJMg"
8597                                >Add to cart</button>
8598                            
8599                        
8600                    
8601                </div>
8602            
8603                
8604
8605                <div class="cal-card" role="listitem" >
8606                    
8607                        <a class="cal-media" href="/products/premium-stainless-steel-food-dehydrator-cp267-fd" aria-label="COSORI Premium 6-Tray Stainless Steel Food Dehydrator">
8608                            
8609                                <span class="cal-badge">SMART</span>
8610                            
8611
8612                            
8613                                <img
8614                                        src="//cosori.com/cdn/shop/products/01.01_OA1_CP267-FD_Silver_03.png?v=1762457668&width=1400"
8615                                        alt="COSORI Premium 6-Tray Stainless Steel Food Dehydrator"
8616                                        loading="lazy"
8617                                        width="3000"
8618                                        height="3000"
8619                                >
8620                            
8621                        </a>
8622
8623                        <div class="cal-info">
8624                            <a href="/products/premium-stainless-steel-food-dehydrator-cp267-fd">
8625                                <p class="cal-title" id="cal-title-item_UT8eCx">COSORI Premium 6-Tray Stainless Steel Food Dehydrator</p>
8626                            </a>
8627
8628                            
8629                                <p class="cal-price">$159.99</p>
8630                            
8631                        </div>
8632
8633                        
8634                            
8635                                <button
8636                                        type="button"
8637                                        class="cal-atc"
8638                                        data-cal-atc
8639                                        data-dtc-add-to-cart
8640                                        data-variant-id="45003286282549"
8641                                        aria-describedby="cal-title-item_UT8eCx"
8642                                >Add to cart</button>
8643                            
8644                        
8645                    
8646                </div>
8647            
8648        </div>
8649    </div>
8650</section>
8650<script>
8651  (function () {
8652    if (window.__dtcAtcFallbackBound) return;
8653    window.__dtcAtcFallbackBound = true;
8654
8655    /* Mirrors shouldUseDtcCart() in assets/product-form.js:24-35. */
8656    function dtcReady() {
8657      return !!(
8658        window.DtcCartDrawerController &&
8659        typeof window.DtcCartDrawerController.add === 'function' &&
8660        document.querySelector('dtc-cart-drawer')
8661      );
8662    }
8663
8664    function rootPath() {
8665      return (window.Shopify && window.Shopify.routes && window.Shopify.routes.root) || '/';
8666    }
8667
8668    document.addEventListener('click', function (e) {
8669      var btn = e.target.closest && e.target.closest('[data-dtc-add-to-cart]');
8670      if (!btn || btn.disabled || btn.getAttribute('aria-busy') === 'true') return;
8671
8672      /* dtc.js is present and healthy — let it handle this click. */
8673      if (dtcReady()) return;
8674
8675      var variantId = btn.getAttribute('data-variant-id');
8676      if (!variantId) return;
8677
8678      /* Claim the click so dtc.js's bubble listener cannot also fire. */
8679      e.preventDefault();
8680      e.stopImmediatePropagation();
8681
8682      var original = btn.textContent;
8683      var restore = function (text, delay) {
8684        btn.textContent = text;
8685        setTimeout(function () {
8686          btn.textContent = original;
8687          btn.disabled = false;
8688          btn.removeAttribute('aria-busy');
8689          btn.classList.remove('is-loading');
8690        }, delay);
8691      };
8692
8693      btn.disabled = true;
8694      btn.setAttribute('aria-busy', 'true');
8695      btn.classList.add('is-loading');
8696      btn.textContent = 'Adding…';
8697
8698      /* Bounded, always. An unbounded await is what left these buttons stuck on
8699         "Adding…" in the first place — fetch has no default timeout. */
8700      var controller = new AbortController();
8701      var timer = setTimeout(function () { controller.abort(); }, 10000);
8702
8703      fetch(rootPath() + 'cart/add.js', {
8704        method: 'POST',
8705        headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' },
8706        body: JSON.stringify({ items: [{ id: parseInt(variantId, 10), quantity: 1 }] }),
8707        signal: controller.signal
8708      })
8709        .then(function (res) {
8710          if (!res.ok) throw new Error('Add to cart failed: ' + res.status);
8711          return res.json();
8712        })
8713        .then(function () { restore('Added ✓', 1600); })
8714        .catch(function (err) {
8715          console.error('[dtc-atc-fallback] add to cart failed:', err);
8716          restore(original, 0);
8717        })
8718        .finally(function () { clearTimeout(timer); });
8719    }, true);
8720  })();
8721</script>
8721
8722
8723</div><section id="shopify-section-template--28135044186421__product_metafeilds_video_RW7JbC" class="shopify-section section">
8724</section><div id="shopify-section-template--28135044186421__product_feature_section_UzwTag" class="shopify-section">
8725
8726<style> #shopify-section-template--28135044186421__product_feature_section_UzwTag .h1 {color: #000;} </style></div><div id="shopify-section-template--28135044186421__new_product_meta_banner_Re4tQC" class="shopify-section">
8727</div><div id="shopify-section-template--28135044186421__product_meta_simple_banner_7z7jNf" class="shopify-section">
8728
8729
8730</div><section id="shopify-section-template--28135044186421__product_what_in_the_box_rHeqVx" class="shopify-section section">
8731
8732
8733</section><section id="shopify-section-template--28135044186421__product_article_metafeilds_by_tag_Hza7PT" class="shopify-section">
8734
8735
8736</section><section id="shopify-section-template--28135044186421__product_meta_collapsible_content_f7Pdr6" class="shopify-section section">
8737
8738
8739</section><div id="shopify-section-template--28135044186421__product_reviews_header_PYL6Gy" class="shopify-section">
8740
8741<link href="//cosori.com/cdn/shop/t/166/assets/bv-reviews.css?v=63491158950074665531789674181" rel="stylesheet" type="text/css" media="all" />
8742
8743<section id="product-reviews-header-template--28135044186421__product_reviews_header_PYL6Gy" class="bvr-header">
8744  <style>
8745    #product-reviews-header-template--28135044186421__product_reviews_header_PYL6Gy {
8746      background: #ffffff;
8747      padding: 52px 20px 0;
8748    }
8749
8750    #product-reviews-header-template--28135044186421__product_reviews_header_PYL6Gy .bvr-heading {
8751      margin: 0 0 32px;
8752      text-align: center;
8753      color: #000000;
8754      font-family: 'Gilroy-SemiBold', sans-serif;
8755      font-size: 48px;      /* Figma: Desktop(2025)/Header 02 */
8756      font-weight: 600;
8757      line-height: 1;
8758      letter-spacing: 0;
8759      text-transform: none;
8760    }
8761
8762    /* This theme has no global p reset, and a `richtext` setting renders as
8763       <p>. Left alone, that <p> keeps the UA default margin: 1em 0 — 48px above
8764       and below at this font-size — and silently breaks the Figma spacing. */
8765    #product-reviews-header-template--28135044186421__product_reviews_header_PYL6Gy .bvr-heading p {
8766      margin: 0;
8767    }
8768
8769    /* assets/reskin.css maps h1-h5 em to Proxima Sera already; restated here so
8770       the intent is explicit and survives a change to that global rule. */
8771    #product-reviews-header-template--28135044186421__product_reviews_header_PYL6Gy .bvr-heading em,
8772    #product-reviews-header-template--28135044186421__product_reviews_header_PYL6Gy .bvr-heading i {
8773      font-family: 'Proxima Sera', serif;
8774      font-style: italic;
8775      font-weight: 600;
8776    }
8777
8778    @media (max-width: 749px) {
8779      #product-reviews-header-template--28135044186421__product_reviews_header_PYL6Gy {
8780        padding-top: 36px;
8781      }
8782
8783      #product-reviews-header-template--28135044186421__product_reviews_header_PYL6Gy .bvr-heading {
8784        font-size: 28px;    /* Figma: Mobile(2025)/Header 02 */
8785        margin-bottom: 24px;
8786      }
8787    }
8788
8789    /* ------------------------------------------------------------------
8790       Design tokens handed to assets/bv-reviews.css
8791       ------------------------------------------------------------------ */
8792    #bv_review_maincontainer {
8793      --bvr-accent: #fb914a;
8794      --bvr-ink: #1b1b1e;
8795      --bvr-line: #bfbfbf;
8796      --bvr-bar-track: #ececec;
8797      --bvr-card-radius: 16px;
8798      --bvr-card-gap: 20px;padding-bottom: 52px;
8799    }
8800
8801    @media (max-width: 749px) {
8802      #bv_review_maincontainer {
8803        padding-bottom: 48px;
8804      }
8805    }#bv_review_maincontainer #reviews_container > section .bv-rnr__emkap-1,
8806      #bv_review_maincontainer #reviews_container > section .bv-rnr__emkap-2,
8807      #bv_review_maincontainer #reviews_container > section .bv-rnr__emkap-3,
8808      #bv_review_maincontainer #reviews_container > section .bv-rnr__sc-16dr7i1-12 {
8809        display: none;
8810      }</style>
8811
8812  <h2 class="bvr-heading"><p>Customer <em>Reviews</em></p>
8813</h2>
8814</section>
8815
8816
8817</div><section id="shopify-section-template--28135044186421__17153288635b2c2b4f" class="shopify-section section"><div class="page-width"><div id="shopify-block-ARk9hNVR5bGQzSUNid__bazaarvoice_reviews_photos_reviews_block_ydPEex" class="shopify-block shopify-app-block">
8818  
8819
8820  
8821
8822  
8823    
8824      <div data-bv-show="reviews" data-bv-seo="true" data-bv-product-id="10566370951477"> </div>
8825    
8826  
8827
8828
8829
8830</div>
8831</div>
8832
8833
8834</section><section id="shopify-section-template--28135044186421__product_meta_products_JDTedk" class="shopify-section section">
8835
8836
8837</section>
8838    </main>
8839
8840    <!-- BEGIN sections: dtc-footer-group -->
8841<section id="shopify-section-sections--28135024623925__dtc-footer" class="shopify-section shopify-section-group-dtc-footer-group dtc-footer-section"><style data-shopify>#shopify-section-sections--28135024623925__dtc-footer {
8842    position: relative;
8843    z-index: 2;
8844    margin-top: -24px;
8845  }
8846
8847  #shopify-section-sections--28135024623925__dtc-footer .dtc-footer {
8848    background-color: #512a44;
8849    padding-top: 80px;
8850    padding-bottom: 0px;
8851  }
8852
8853  @media screen and (max-width: 699px) {
8854    #shopify-section-sections--28135024623925__dtc-footer {
8855      margin-top: -22px;
8856    }
8857  }</style><dtc-footer>
8858<footer class="dtc-footer" id="dtc-footer-sections--28135024623925__dtc-footer" role="contentinfo" data-v-gtm-scope="footer" data-v-gtm-module="Bottom Navigation">
8859  <div class="dtc-footer__inner"><div class="dtc-footer__mobile-logo">
8860      <a class="dtc-footer__logo-link" href="/" aria-label="COSORI"><div class="v-image dtc-footer__logo-img"><picture><img src="//cosori.com/cdn/shop/files/dtc-about-us-hero-logo-cosori.png?v=1780988053&amp;width=1533" alt="image" srcset="//cosori.com/cdn/shop/files/dtc-about-us-hero-logo-cosori.png?v=1780988053&amp;width=200 200w, //cosori.com/cdn/shop/files/dtc-about-us-hero-logo-cosori.png?v=1780988053&amp;width=400 400w, //cosori.com/cdn/shop/files/dtc-about-us-hero-logo-cosori.png?v=1780988053&amp;width=600 600w, //cosori.com/cdn/shop/files/dtc-about-us-hero-logo-cosori.png?v=1780988053&amp;width=800 800w, //cosori.com/cdn/shop/files/dtc-about-us-hero-logo-cosori.png?v=1780988053&amp;width=1000 1000w, //cosori.com/cdn/shop/files/dtc-about-us-hero-logo-cosori.png?v=1780988053&amp;width=1200 1200w, //cosori.com/cdn/shop/files/dtc-about-us-hero-logo-cosori.png?v=1780988053&amp;width=1400 1400w" width="1533" height="531" loading="lazy" sizes="(max-width: 699px) min(100vw, 1533px), min(100vw, 1533px)" style="object-position:50.0% 51.66%;"></picture>
8861  </div><style></style>
8862</a>
8863    </div>
8864
8865    <div class="dtc-footer__newsletter-row">
8866      <div class="dtc-footer__newsletter-left"><h2 class="dtc-footer__newsletter-heading">Get Exclusive Coffee Recipes &amp; Tips</h2></div>
8867      <div class="dtc-footer__newsletter-right"><p class="dtc-footer__newsletter-desc">Join our community of coffee lovers for the latest recipes, brewing tips, and partnership updates delivered to your inbox.</p><div class="dtc-footer__subscribe-wrap"><form method="post" action="/contact#dtc-footer-form-sections--28135024623925__dtc-footer" id="dtc-footer-form-sections--28135024623925__dtc-footer" accept-charset="UTF-8" class="dtc-footer__subscribe-form" data-v-gtm-module="Bottom Navigation"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="return_to" value="/products/juni-coffee-maker#dtc-footer-form-sections--28135024623925__dtc-footer" /><input type="hidden" name="contact[tags]" value="newsletter">
8868            <input type="hidden" name="contact[accepts_marketing]" value="true">
8869            <div class="dtc-footer__subscribe-row">
8870              <input
8871                class="dtc-footer__email-input"
8872                type="email"
8873                name="contact[email]"
8874                id="dtc-footer-email-sections--28135024623925__dtc-footer"
8875                value=""
8876                placeholder="Enter your email address"
8877                autocomplete="email"
8878                required
8879                
8880                aria-label="Enter your email address"
8881              >
8882              <button class="dtc-footer__subscribe-btn" type="submit">
8883                Subscribe
8884              </button>
8885            </div></form></div><div class="dtc-footer__newsletter-consent"><p>By subscribing, you agree to our <a href="/pages/legal/terms" target="_blank" title="/pages/legal/terms"><strong>Terms of Use</strong></a> and <a href="/pages/legal/privacy" target="_blank" title="/pages/legal/privacy"><strong>Privacy Policy</strong></a></p></div></div>
8886    </div><div class="dtc-footer__divider" role="separator" aria-hidden="true"></div><div class="dtc-footer__main-row"><div class="dtc-footer__brand">
8887        <a class="dtc-footer__logo-link dtc-footer__logo-link--desktop" href="/" aria-label="COSORI"><div class="v-image dtc-footer__logo-img"><picture><img src="//cosori.com/cdn/shop/files/dtc-about-us-hero-logo-cosori.png?v=1780988053&amp;width=1533" alt="image" srcset="//cosori.com/cdn/shop/files/dtc-about-us-hero-logo-cosori.png?v=1780988053&amp;width=200 200w, //cosori.com/cdn/shop/files/dtc-about-us-hero-logo-cosori.png?v=1780988053&amp;width=400 400w, //cosori.com/cdn/shop/files/dtc-about-us-hero-logo-cosori.png?v=1780988053&amp;width=600 600w, //cosori.com/cdn/shop/files/dtc-about-us-hero-logo-cosori.png?v=1780988053&amp;width=800 800w, //cosori.com/cdn/shop/files/dtc-about-us-hero-logo-cosori.png?v=1780988053&amp;width=1000 1000w, //cosori.com/cdn/shop/files/dtc-about-us-hero-logo-cosori.png?v=1780988053&amp;width=1200 1200w, //cosori.com/cdn/shop/files/dtc-about-us-hero-logo-cosori.png?v=1780988053&amp;width=1400 1400w" width="1533" height="531" loading="lazy" sizes="(max-width: 699px) min(100vw, 1533px), min(100vw, 1533px)" style="object-position:50.0% 51.66%;"></picture>
8888  </div><style></style>
8889</a><div class="dtc-footer__brand-bottom">
8889<p class="dtc-footer__copyright">Copyright &copy; 2026 COSORI.</p><ul class="dtc-footer__socials" aria-label="Social media links" data-v-gtm-module="Bottom Navigation"><li class="dtc-footer__social-item">
8890                <a
8891                  class="dtc-footer__social-link"
8892                  href="https://www.facebook.com/CosoriCooks"
8893                  target="_blank"
8894                  rel="noopener noreferrer"
8895                  aria-label="Facebook"
8896                ><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true">
8897                        <path d="M20 10.0611C20 4.50451 15.5229 0 10 0C4.47715 0 0 4.50451 0 10.0611C0 15.0828 3.65684 19.2452 8.4375 20V12.9694H5.89844V10.0611H8.4375V7.84452C8.4375 5.32296 9.9305 3.93012 12.2146 3.93012C13.3088 3.93012 14.4531 4.12663 14.4531 4.12663V6.60261H13.1922C11.95 6.60261 11.5625 7.37822 11.5625 8.1739V10.0611H14.3359L13.8926 12.9694H11.5625V20C16.3432 19.2452 20 15.083 20 10.0611Z" fill="white"/>
8898                      </svg></a>
8899              </li><li class="dtc-footer__social-item">
8900                <a
8901                  class="dtc-footer__social-link"
8902                  href="https://www.instagram.com/cosoricooks"
8903                  target="_blank"
8904                  rel="noopener noreferrer"
8905                  aria-label="Instagram"
8906                ><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
8907                        <path fill-rule="evenodd" clip-rule="evenodd" d="M16 3.24219H8C5.23858 3.24219 3 5.48077 3 8.24219V16.2422C3 19.0036 5.23858 21.2422 8 21.2422H16C18.7614 21.2422 21 19.0036 21 16.2422V8.24219C21 5.48077 18.7614 3.24219 16 3.24219ZM19.25 16.2422C19.2445 18.0348 17.7926 19.4867 16 19.4922H8C6.20735 19.4867 4.75549 18.0348 4.75 16.2422V8.24219C4.75549 6.44954 6.20735 4.99768 8 4.99219H16C17.7926 4.99768 19.2445 6.44954 19.25 8.24219V16.2422ZM16.75 8.49219C17.3023 8.49219 17.75 8.04447 17.75 7.49219C17.75 6.93991 17.3023 6.49219 16.75 6.49219C16.1977 6.49219 15.75 6.93991 15.75 7.49219C15.75 8.04447 16.1977 8.49219 16.75 8.49219ZM12 7.74219C9.51472 7.74219 7.5 9.75691 7.5 12.2422C7.5 14.7275 9.51472 16.7422 12 16.7422C14.4853 16.7422 16.5 14.7275 16.5 12.2422C16.5027 11.0479 16.0294 9.90176 15.1849 9.05727C14.3404 8.21278 13.1943 7.73953 12 7.74219ZM9.25 12.2422C9.25 13.761 10.4812 14.9922 12 14.9922C13.5188 14.9922 14.75 13.761 14.75 12.2422C14.75 10.7234 13.5188 9.49219 12 9.49219C10.4812 9.49219 9.25 10.7234 9.25 12.2422Z" fill="white"/>
8908                      </svg></a>
8909              </li><li class="dtc-footer__social-item">
8910                <a
8911                  class="dtc-footer__social-link"
8912                  href="https://www.tiktok.com/@cosori_official?lang=en"
8913                  target="_blank"
8914                  rel="noopener noreferrer"
8915                  aria-label="TikTok"
8916                ><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true">
8917                        <path d="M10.3037 9.65365V12.7245C9.93253 12.6226 9.54412 12.6087 9.16708 12.6838C8.79004 12.7589 8.43401 12.9212 8.12521 13.1586C7.81641 13.396 7.56272 13.7025 7.38283 14.0556C7.20293 14.4086 7.10143 14.7992 7.0858 15.1985C7.06468 15.5423 7.11448 15.8868 7.23187 16.2089C7.34925 16.5311 7.53151 16.8232 7.76637 17.066C8.00124 17.3087 8.28328 17.4963 8.59355 17.616C8.90381 17.7359 9.23512 17.7852 9.56521 17.7607C11.3973 17.7607 12.0446 16.4207 12.0446 15.1639V3H14.9611C15.4572 6.21209 16.9992 6.95746 19.0661 7.30196V10.3795C19.0661 10.3795 16.6141 10.198 15.0437 8.96524V15.0449C15.0421 17.7959 13.4755 20.8667 9.5872 20.8667C5.97883 20.8667 4.13281 17.6841 4.13281 15.0165C4.15583 14.2261 4.33952 13.4497 4.67179 12.7387C5.00405 12.0276 5.47735 11.3979 6.06045 10.8912C6.64356 10.3844 7.32323 10.0121 8.05464 9.7988C8.78607 9.58549 9.5526 9.53602 10.3037 9.65365Z" fill="white"/>
8918                      </svg></a>
8919              </li></ul><div class="dtc-footer__official-websites"><p class="dtc-footer__official-websites-heading">Visit our official websites</p><ul class="dtc-footer__official-websites-list" aria-label="Visit our official websites"><li class="dtc-footer__official-websites-item" >
8920                      <a
8921                        class="dtc-footer__official-websites-link"
8922                        href="https://cosori.co.uk/"target="_blank"
8923                          rel="noopener noreferrer">Cosori UK</a>
8924                    </li><li class="dtc-footer__official-websites-item" >
8925                      <a
8926                        class="dtc-footer__official-websites-link"
8927                        href="https://cosori.de/"target="_blank"
8928                          rel="noopener noreferrer">Cosori DE</a>
8929                    </li><li class="dtc-footer__official-websites-item" >
8930                      <a
8931                        class="dtc-footer__official-websites-link"
8932                        href="https://cosori.es/"target="_blank"
8933                          rel="noopener noreferrer">Cosori ES</a>
8934                    </li></ul></div></div></div><nav class="dtc-footer__nav" aria-label="Footer navigation"><div class="dtc-footer__nav-col">
8935              <button
8936                class="dtc-footer__nav-heading"
8937                aria-expanded="false"
8938                aria-controls="dtc-footer-nav-sections--28135024623925__dtc-footer-1"
8939              >
8940                Shop All
8941                <span class="dtc-footer__nav-toggle-icon" aria-hidden="true">
8942                  <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 6l4 4 4-4" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
8943                </span>
8944              </button>
8945
8946              <ul
8947                class="dtc-footer__nav-links"
8948                id="dtc-footer-nav-sections--28135024623925__dtc-footer-1"
8949              ><li class="dtc-footer__nav-link-item">
8950                    <a
8951                      class="dtc-footer__nav-link"
8952                      href="/collections/daily-sale">
8953                      Daily Sale�</a>
8954                  </li><li class="dtc-footer__nav-link-item">
8955                    <a
8956                      class="dtc-footer__nav-link"
8957                      href="/collections/air-fryers">
8958                      Air Fryers�</a>
8959                  </li><li class="dtc-footer__nav-link-item">
8960                    <a
8961                      class="dtc-footer__nav-link"
8962                      href="/collections/multicookers">
8963                      Multi-Cookers�</a>
8964                  </li><li class="dtc-footer__nav-link-item">
8965                    <a
8966                      class="dtc-footer__nav-link"
8967                      href="/collections/food-dehydrators">
8968                      Food Dehydrators�</a>
8969                  </li><li class="dtc-footer__nav-link-item">
8970                    <a
8971                      class="dtc-footer__nav-link"
8972                      href="/collections/kettles">
8973                      Kettles�</a>
8974                  </li><li class="dtc-footer__nav-link-item">
8975                    <a
8976                      class="dtc-footer__nav-link"
8977                      href="/collections/accessories">
8978                      Accessories�</a>
8979                  </li><li class="dtc-footer__nav-link-item">
8980                    <a
8981                      class="dtc-footer__nav-link"
8982                      href="/collections/coffee">
8983                      Coffee Machines &amp; Accessories�</a>
8984                  </li></ul>
8985            </div><div class="dtc-footer__nav-col">
8986              <button
8987                class="dtc-footer__nav-heading"
8988                aria-expanded="false"
8989                aria-controls="dtc-footer-nav-sections--28135024623925__dtc-footer-2"
8990              >
8991                Learn
8992                <span class="dtc-footer__nav-toggle-icon" aria-hidden="true">
8993                  <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 6l4 4 4-4" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
8994                </span>
8995              </button>
8996
8997              <ul
8998                class="dtc-footer__nav-links"
8999                id="dtc-footer-nav-sections--28135024623925__dtc-footer-2"
9000              ><li class="dtc-footer__nav-link-item">
9001                    <a
9002                      class="dtc-footer__nav-link"
9003                      href="/blogs/learning-hub">
9004                      Learning Hub�</a>
9005                  </li><li class="dtc-footer__nav-link-item">
9006                    <a
9007                      class="dtc-footer__nav-link"
9008                      href="/blogs/newsroom">
9009                      Newsroom�</a>
9010                  </li></ul>
9011            </div><div class="dtc-footer__nav-col">
9012              <button
9013                class="dtc-footer__nav-heading"
9014                aria-expanded="false"
9015                aria-controls="dtc-footer-nav-sections--28135024623925__dtc-footer-3"
9016              >
9017                Our Company
9018                <span class="dtc-footer__nav-toggle-icon" aria-hidden="true">
9019                  <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 6l4 4 4-4" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
9020                </span>
9021              </button>
9022
9023              <ul
9024                class="dtc-footer__nav-links"
9025                id="dtc-footer-nav-sections--28135024623925__dtc-footer-3"
9026              ><li class="dtc-footer__nav-link-item">
9027                    <a
9028                      class="dtc-footer__nav-link"
9029                      href="/pages/about">
9030                      About COSORI�</a>
9031                  </li><li class="dtc-footer__nav-link-item">
9032                    <a
9033                      class="dtc-footer__nav-link"
9034                      href="https://www.vesync.com/"target="_blank" rel="noopener noreferrer">
9035                      VeSync�<svg class="dtc-footer__external-icon" width="16" height="16" viewB
9035ox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M3.5 12.5l9-9M12.5 3.5H7M12.5 3.5V9" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></a>
9036                  </li><li class="dtc-footer__nav-link-item">
9037                    <a
9038                      class="dtc-footer__nav-link"
9039                      href="https://levoit.com/"target="_blank" rel="noopener noreferrer">
9040                      Levoit�<svg class="dtc-footer__external-icon" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M3.5 12.5l9-9M12.5 3.5H7M12.5 3.5V9" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></a>
9041                  </li><li class="dtc-footer__nav-link-item">
9042                    <a
9043                      class="dtc-footer__nav-link"
9044                      href="https://etekcity.com/"target="_blank" rel="noopener noreferrer">
9045                      Etekcity�<svg class="dtc-footer__external-icon" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M3.5 12.5l9-9M12.5 3.5H7M12.5 3.5V9" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></a>
9046                  </li><li class="dtc-footer__nav-link-item">
9047                    <a
9048                      class="dtc-footer__nav-link"
9049                      href="https://jobs.lever.co/vesync"target="_blank" rel="noopener noreferrer">
9050                      Careers�<svg class="dtc-footer__external-icon" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M3.5 12.5l9-9M12.5 3.5H7M12.5 3.5V9" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></a>
9051                  </li><li class="dtc-footer__nav-link-item">
9052                    <a
9053                      class="dtc-footer__nav-link"
9054                      href="https://cosori.com/pages/affiliates">
9055                      Affiliates�</a>
9056                  </li><li class="dtc-footer__nav-link-item">
9057                    <a
9058                      class="dtc-footer__nav-link"
9059                      href="https://warranty.cosori.com/warranty">
9060                      Product Registration�</a>
9061                  </li></ul>
9062            </div><div class="dtc-footer__nav-col">
9063              <button
9064                class="dtc-footer__nav-heading"
9065                aria-expanded="false"
9066                aria-controls="dtc-footer-nav-sections--28135024623925__dtc-footer-4"
9067              >
9068                Explore
9069                <span class="dtc-footer__nav-toggle-icon" aria-hidden="true">
9070                  <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 6l4 4 4-4" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
9071                </span>
9072              </button>
9073
9074              <ul
9075                class="dtc-footer__nav-links"
9076                id="dtc-footer-nav-sections--28135024623925__dtc-footer-4"
9077              ><li class="dtc-footer__nav-link-item">
9078                    <a
9079                      class="dtc-footer__nav-link"
9080                      href="https://cosori.com/pages/coffee-story">
9081                      Coffee Hub�</a>
9082                  </li><li class="dtc-footer__nav-link-item">
9083                    <a
9084                      class="dtc-footer__nav-link"
9085                      href="/pages/for-smart-kitchens">
9086                      For Smart Kitchens�</a>
9087                  </li><li class="dtc-footer__nav-link-item">
9088                    <a
9089                      class="dtc-footer__nav-link"
9090                      href="/pages/user-manuals">
9091                      User Manuals�</a>
9092                  </li></ul>
9093            </div><div class="dtc-footer__nav-col">
9094              <button
9095                class="dtc-footer__nav-heading"
9096                aria-expanded="false"
9097                aria-controls="dtc-footer-nav-sections--28135024623925__dtc-footer-5"
9098              >
9099                Help Center
9100                <span class="dtc-footer__nav-toggle-icon" aria-hidden="true">
9101                  <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 6l4 4 4-4" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
9102                </span>
9103              </button>
9104
9105              <ul
9106                class="dtc-footer__nav-links"
9107                id="dtc-footer-nav-sections--28135024623925__dtc-footer-5"
9108              ><li class="dtc-footer__nav-link-item">
9109                    <a
9110                      class="dtc-footer__nav-link"
9111                      href="https://support.cosori.com/s/">
9112                      Help�</a>
9113                  </li><li class="dtc-footer__nav-link-item">
9114                    <a
9115                      class="dtc-footer__nav-link"
9116                      href="/pages/shipping-and-delivery-cosori">
9117                      Shipping &amp; Delivery Policy�</a>
9118                  </li><li class="dtc-footer__nav-link-item">
9119                    <a
9120                      class="dtc-footer__nav-link"
9121                      href="/pages/returns-cosori">
9122                      Return Policy�</a>
9123                  </li><li class="dtc-footer__nav-link-item">
9124                    <a
9125                      class="dtc-footer__nav-link"
9126                      href="https://cosori.com/pages/legal/privacy">
9127                      Privacy Policy�</a>
9128                  </li><li class="dtc-footer__nav-link-item">
9129                    <a
9130                      class="dtc-footer__nav-link"
9131                      href="https://cosori.com/pages/legal/terms">
9132                      Terms of Use�</a>
9133                  </li><li class="dtc-footer__nav-link-item">
9134                    <a
9135                      class="dtc-footer__nav-link"
9136                      href="https://cosori.com/pages/legal/cookie">
9137                      Cookie Policy�</a>
9138                  </li><li class="dtc-footer__nav-link-item">
9139                    <a
9140                      class="dtc-footer__nav-link"
9141                      href="/pages/warranty-policy-cosori">
9142                      Warranty Policy�</a>
9143                  </li><li class="dtc-footer__nav-link-item">
9144                    <a
9145                      class="dtc-footer__nav-link"
9146                      href="/pages/accessibility-cosori">
9147                      Accessibility�</a>
9148                  </li><li class="dtc-footer__nav-link-item">
9149                    <a
9150                      class="dtc-footer__nav-link"
9151                      href="https://cosori.com/pages/state-cookware-disclosures">
9152                      California Privacy Rights�</a>
9153                  </li><li class="dtc-footer__nav-link-item">
9154                    <a
9155                      class="dtc-footer__nav-link"
9156                      href="https://cosori.com/pages/state-cookware-disclosures">
9157                      State Cookware Disclosure�</a>
9158                  </li><li class="dtc-footer__nav-link-item">
9159                    <a
9160                      class="dtc-footer__nav-link"
9161                      href="/pages/ca-sb-657-statement">
9162                      CA SB 657 Statment�</a>
9163                  </li><li class="dtc-footer__nav-link-item">
9164                    <a
9165                      class="dtc-footer__nav-link"
9166                      href="/pages/student-beans">
9167                      Student Discount�</a>
9168                  </li><li class="dtc-footer__nav-link-item">
9169                    <a
9170                      class="dtc-footer__nav-link"
9171                      href="https://security.vesync.com/"target="_blank" rel="noopener noreferrer">
9172                      VeSync Security�<svg class="dtc-footer__external-icon" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M3.5 12.5l9-9M12.5 3.5H7M12.5 3.5V9" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></a>
9173                  </li></ul>
9174            </div></nav></div><div class="dtc-footer__divider" role="separator" aria-hidden="true"></div><div class="dtc-footer__bottom-bar"><ul class="dtc-footer__legal-links" aria-label="Legal links"><li><a class="dtc-footer__legal-link" href="https://cosori.com/pages/legal/privacy">Privacy Policy</a></li><li><a class="dtc-footer__legal-link" href="https://cosori.com/pages/legal/terms">Terms of Use</a></li><li><a class="dtc-footer__legal-link" href="https://cosori.com/pages/accessibility-cosori">Accessibility Policy</a></li></ul><ul class="dtc-footer__cert-badges" aria-label="Certifications"></ul></div>
9175
9176  </div>
9177</footer>
9178</dtc-footer></section>
9179<!-- END sections: dtc-footer-group -->
9180
9181    <ul hidden>
9182      <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li>
9183      <li id="a11y-new-window-message">Opens in a new window.</li>
9184    </ul>
9185
9186    
9186<script>
9187      window.shopUrl = 'https://cosori.com';
9188      window.routes = {
9189        cart_add_url: '/cart/add',
9190        cart_change_url: '/cart/change',
9191        cart_update_url: '/cart/update',
9192        cart_url: '/cart',
9193        predictive_search_url: '/search/suggest',
9194      };
9195
9196      window.cartStrings = {
9197        error: `There was an error while updating your cart. Please try again.`,
9198        quantityError: `You can only add [quantity] of this item to your cart.`,
9199      };
9200
9201      window.variantStrings = {
9202        addToCart: `Add to cart`,
9203        soldOut: `Sold out`,
9204        unavailable: `Unavailable`,
9205        unavailable_with_option: `[value] - Unavailable`,
9206      };
9207
9208      window.quickOrderListStrings = {
9209        itemsAdded: `[quantity] items added`,
9210        itemAdded: `[quantity] item added`,
9211        itemsRemoved: `[quantity] items removed`,
9212        itemRemoved: `[quantity] item removed`,
9213        viewCart: `View cart`,
9214        each: `[money]/ea`,
9215      };
9216
9217      window.accessibilityStrings = {
9218        imageAvailable: `Image [index] is now available in gallery view`,
9219        shareSuccess: `Link copied to clipboard`,
9220        pauseSlideshow: `Pause slideshow`,
9221        playSlideshow: `Play slideshow`,
9222        recipientFormExpanded: `Gift card recipient form expanded`,
9223        recipientFormCollapsed: `Gift card recipient form collapsed`,
9224        countrySelectorSearchCount: `[count] countries/regions found`,
9225      };
9226    </script>
9226<script src="//cosori.com/cdn/shop/t/166/assets/predictive-search.js?v=177118469785996549821789674181" defer="defer"></script>
9226
9227      <link href="//cosori.com/cdn/shop/t/166/assets/customer.css?v=141224120013978791891789674181" rel="stylesheet" type="text/css" media="all" />
9228
9229<div class="custom_recipe_popup">
9230  <div class="custom_recipe_popup_content">
9231    <div class="customer login ">
9232      <div class="login_header">
9233        <h2 class="title_login" id="login" tabindex="-1">Save this post to your account</h2>
9234        
9235
9236
9237<svg class="customer_pages icon icon-close" width="16" height="16" viewBox="0 0 17 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
9238      <path fill-rule="evenodd" clip-rule="evenodd" d="M2.31794 0.363246C1.91626 -0.0384324 1.26499 -0.0384323 0.863316 0.363247C0.461637 0.764925 0.461637 1.41619 0.863316 1.81787L7.04545 8L0.863316 14.1821C0.461637 14.5838 0.461637 15.2351 0.863316 15.6368C1.26499 16.0384 1.91626 16.0384 2.31794 15.6368L8.50007 9.45462L14.6822 15.6368C15.0838 16.0384 15.7351 16.0384 16.1368 15.6368C16.5385 15.2351 16.5384 14.5838 16.1368 14.1821L9.95469 8L16.1368 1.81787C16.5384 1.41625 16.5385 0.764926 16.1368 0.363247C15.7351 -0.0384316 15.0838 -0.0383736 14.6822 0.363246L8.50007 6.54538L2.31794 0.363246Z" fill="currentColor"/>
9239    </svg>
9240
9241      </div>
9242      <div><form method="post" action="/account/login" id="customer_login" accept-charset="UTF-8" data-login-with-shop-sign-in="true" novalidate="novalidate" data-v-gtm-auth="login"><input type="hidden" name="form_type" value="customer_login" /><input type="hidden" name="utf8" value="✓" /><div class="field custom_feild">
9243            <label for="CustomerEmail"> Email: </label>
9244            <input
9245              type="email"
9246              name="customer[email]"
9247              id="CustomerEmail"
9248              autocomplete="email"
9249              autocorrect="off"
9250              autocapitalize="off"
9251              
9252              placeholder="Email"
9253            >
9254          </div><div class="field custom_feild">
9255              <label for="CustomerPassword"> Password: </label>
9256              <input
9257                type="password"
9258                value=""
9259                name="customer[password]"
9260                id="CustomerPassword"
9261                autocomplete="current-password"
9262                
9263                placeholder="Password"
9264              >
9265            </div><div class="btn_parent white_border">
9266            <button class="button">
9267              Sign in
9268            </button>
9269          </div>
9270          <div class="btn_account_sign ">
9271            Don't have an account?
9272            <a href="/account/register" data-v-gtm-auth="sign_up"> Sign up </a>
9273          </div></form></div></div>
9274  </div>
9275</div>
9276
9277    
9278
9279    <!-- Start of cosori Zendesk Widget script -->
9280    <!--
9281      
9281<script
9282        id="ze-snippet"
9283        src="https://static.zdassets.com/ekr/snippet.js?key=c73e0113-abb9-4e6c-b752-501aaf0909e5"
9284      ></script>
9284
9285    -->
9286    <!-- End of cosori Zendesk Widget script -->
9287
9288    
9289    
9290
9291�
9291<script>
9292  window.dataLayer = window.dataLayer || [];
9293
9294  window.dataLayer.push({
9295    user_id: undefined,
9296    login_status: "log out",
9297    site_section: "Shop",
9298    content_group: "Product Detail Page",
9299    blog_category: undefined,
9300    brand: 'Cosori',
9301    country_code: 'US',
9302    debug_mode: false
9303  });
9304
9305  function setCookie(name, value, days) {
9306    var expires = "";
9307    if (days) {
9308      var date = new Date();
9309      date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
9310      expires = "; expires=" + date.toUTCString();
9311    }
9312    document.cookie = name + "=" + (value || "") + expires + "; path=/; SameSite=Lax";
9313  }
9314
9315  var userId = undefined;
9316
9317  if (userId !== undefined) {
9318    setCookie('vsid', userId, 365);
9319  } else {
9320    setCookie('vsid', '', -1);
9321  }
9322</script>
9322
9323
9324<script>
vendor: 425 bytes, lines 9324-9334
9324
9325  (function (w, d, s, l, i) {
9326    w[l] = w[l] || [];
9327    w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' });
9328    var f = d.getElementsByTagName(s)[0],
9329      j = d.createElement(s),
9330      dl = l != 'dataLayer' ? '&l=' + l : '';
9331    j.async = true;
9332    j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
9333    f.parentNode.insertBefore(j, f);
9334  })(window, document, 'script', 'dataLayer', '
9334GTM-PWGHF7VP
vendor: 5 bytes, line 9334
9334');
9335</script>
9335
9336
9337�
9338
9339    
9339<script>
9340    /* klaviyo loader + init moved to <head> in layout/theme.liquid for faster form rendering */
9341    var klaviyo = klaviyo || [];
9342    klaviyo.enable("backinstock",{
9343    trigger: {
9344      product_page_text: "Notify Me",
9345      product_page_class: "btn button kl_notify_btn",
9346      product_page_text_align: "center",
9347      product_page_margin: "0px",
9348      replace_anchor: false
9349    },
9350    modal: {
9351     headline: "{product_name}",
9352     body_content: "Sorry, we've sold out! Register your email address below to receive an email as this becomes available again.",
9353     email_field_label: "Email",
9354     button_label: "Notify me when available",
9355     subscription_success_label: "You're in! We'll let you know when it's back.",
9356     footer_content: '',
9357     additional_styles: "@import url('https://fonts.googleapis.com/css?family=Helvetica+Neue');",
9358     drop_background_color: "#000",
9359     background_color: "#fff",
9360     text_color: "#222",
9361     button_text_color: "#fff",
9362     button_background_color: "#FB914A",
9363     close_button_color: "#ccc",
9364     error_background_color: "#fcd6d7",
9365     error_text_color: "#C72E2F",
9366     success_background_color: "#d3efcd",
9367     success_text_color: "#1B9500"
9368    }
9369  });
9370</script>
9370
9371
9372    <!-- Start of cosori Klaviyo Add-to-cart event tracker script -->
9373    
9374    <!-- End of cosori Klaviyo Add-to-cart event tracker script -->
9375
9376    <!-- Start of 20251021 aspireiq, requested by US Peiti and Brandon -->
9377    
9378    <!-- End of 20251021 aspireiq -->
9379
9380  <style> button.kl-teaser-UmvhY8 {z-index: 99 !important;} </style>
9381<div id="shopify-block-Ab3NWekVWZ0d1WEdmR__497739090016974244" class="shopify-block shopify-app-block insider-object-extension">
9382
9383
9384
9385
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403<script>
9404    window.insider_object = window.insider_object || {};
9405    window.shopifyIO = true;
9406</script>
9406
9407
9408
9409    
9410        
9411            
9411<script>
9412                window.insider_object.parsePrice = function (str) {
9413                    str = (str || '').toString();
9414                    let price = 0;
9415
9416                    price = str.replace(/[^0-9.,]/g, '');
9417
9418                    if (price.slice(-3).indexOf(',') !== -1) {
9419                        price = parseFloat(str.replace(/[^0-9,]/g, '').replace(',', '.')) || 0;
9420                    } else if (price.slice(-3).indexOf('.') !== -1) {
9421                        price = parseFloat(str.replace(/[^0-9.]/g, '')) || 0;
9422                    } else {
9423                        price = parseFloat(str.replace(/[^0-9]/g, '')) || 0;
9424                    }
9425
9426                    return price;
9427                }
9428            </script>
9428
9429            
9429<script>
9430                
9431                    
9432                    
9433                    
9434                    
9435
9436                    window.insider_object.page = {
9437                        "version": "2.0",
9438                        "type": "Product"
9439                    };
9440
9441                
9442
9443                window.insider_object.product = {
9444                    "id": "53460911227189",
9445                    "name": "Juni™ The Automatic Pour-Over Coffee Machine",
9446                    "taxonomy": [
9447                        <!-- BEGIN app snippet: product-taxonomy -->
9448        
9449            
9450                
9451                
9452                    "Home \u0026 Garden",
9453                
9454                    "Kitchen \u0026 Dining",
9455                
9456                    "Kitchen Appliances",
9457                
9458                    "Coffee Makers \u0026 Espresso Machines",
9459                
9460            
9461
9462            "Pour Over Coffee Makers"
9463        
9464
9465    
9466
9467<!-- END app snippet -->
9468                    ],
9469                    "currency": "USD",
9470                    
9471                    "unit_price": window.insider_object.parsePrice("299.99"),
9472                    "unit_sale_price": window.insider_object.parsePrice("299.99"),
9473                    
9474                    "url": "https://cosori.com/products/juni-coffee-maker?variant=53460911227189",
9475                    "stock": 2763,
9476                    "product_image_url":  "https://cosori.com/cdn/shop/files/PDP_Image01_1.png?v=1788295666", 
9477                    "description": "Brew barista-level, pour-over coffee without the guesswork. Juni is designed for all experience levels, from those new to pour-over with quick brew functionality and AI recipe generation, or expert-level brewers who want complete control of every parameter. With built-in taste intelligence, Juni adapts to your taste with each pour to achieve your perfect cup consistently.",
9478                    "groupcode": "10566370951477",
9479                    "quantity": 2763,
9480                    "currency": "USD",
9481                    "sku": "KAAPCMCSSUS0001Y",
9482                    
9483                    "locale": "en_" + window.Shopify.country,
9484                    
9485                    "in_stock": 1,
9486                    "custom":{
9487                        "vendor": "COSORI",
9488                        "tags": [],
9489                        "product_type": "",
9490                        "handle": "juni-coffee-maker",
9491                        "product_id": "10566370951477",
9492                        "barcode": "",
9493                        "weight": "0",
9494                        "weight_unit": "lb",
9495                        "taxable": true,
9496                        "requires_shipping": true,
9497                        "inventory_management": "shopify",
9498                        "inventory_policy": "deny"
9499                    },
9500                    "variants": [{"id":53460911227189,"title":"Glass","option1":"Glass","option2":null,"option3":null,"sku":"KAAPCMCSSUS0001Y","requires_shipping":true,"taxable":true,"featured_image":{"id":67440796795189,"product_id":10566370951477,"position":1,"created_at":"2026-09-01T13:47:45-07:00","updated_at":"2026-09-01T13:47:46-07:00","alt":"Juni automatic pour-over coffee maker with glass carafe and SCA certification badge","width":1344,"height":1197,"src":"\/\/cosori.com\/cdn\/shop\/files\/PDP_Image01_1.png?v=1788295666","variant_ids":[53460911227189]},"available":true,"name":"Juni™ The Automatic Pour-Over Coffee Machine - Glass","public_title":"Glass","options":["Glass"],"price":29999,"weight":0,"compare_at_price":29999,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":"Juni automatic pour-over coffee maker with glass carafe and SCA certification badge","id":56695870030133,"position":1,"preview_image":{"aspect_ratio":1.123,"height":1197,"width":1344,"src":"\/\/cosori.com\/cdn\/shop\/files\/PDP_Image01_1.png?v=1788295666"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53460911259957,"title":"Stainless steel","option1":"Stainless steel","option2":null,"option3":null,"sku":"KAAPCMCSSUS0002Y","requires_shipping":true,"taxable":true,"featured_image":{"id":67548984181045,"product_id":10566370951477,"position":3,"created_at":"2026-09-07T00:45:49-07:00","updated_at":"2026-09-07T00:45:50-07:00","alt":"Juni automatic pour-over coffee maker with brew basket and glass carafe, front angle","width":699,"height":699,"src":"\/\/cosori.com\/cdn\/shop\/files\/JuniStainlessCarafeWhiteBackgroun
9500d_1.jpg?v=1788767150","variant_ids":[53460911259957]},"available":true,"name":"Juni™ The Automatic Pour-Over Coffee Machine - Stainless steel","public_title":"Stainless steel","options":["Stainless steel"],"price":34999,"weight":0,"compare_at_price":29999,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":"Juni automatic pour-over coffee maker with brew basket and glass carafe, front angle","id":56803306930485,"position":3,"preview_image":{"aspect_ratio":1.0,"height":699,"width":699,"src":"\/\/cosori.com\/cdn\/shop\/files\/JuniStainlessCarafeWhiteBackground_1.jpg?v=1788767150"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],
9501                };
9502
9503                
9504                
9505                if ("material" === "size" ||
9506                    "material" === "color") {
9507                    window.insider_object.product["material"] = "Glass";
9508                } else {
9509                    window.insider_object.product.custom["material"] = "Glass";
9510                }
9511                
9512                
9513
9514                window.insider_object.visited_products = JSON.parse(window.localStorage.getItem('ins-shopify-products-info') || '{}').value || {};
9515                window.insider_object.visited_products["10566370951477"] = {
9516                    url: "https://cosori.com/products/juni-coffee-maker",
9517                    taxonomy: [
9518                        <!-- BEGIN app snippet: product-taxonomy -->
9519        
9520            
9521                
9522                
9523                    "Home \u0026 Garden",
9524                
9525                    "Kitchen \u0026 Dining",
9526                
9527                    "Kitchen Appliances",
9528                
9529                    "Coffee Makers \u0026 Espresso Machines",
9530                
9531            
9532
9533            "Pour Over Coffee Makers"
9534        
9535
9536    
9537
9538<!-- END app snippet -->
9539                    ],
9540                };
9541                window.localStorage.setItem('ins-shopify-products-info', JSON.stringify({
9542                    value: window.insider_object.visited_products,
9543                    _expires: new Date().getTime() + 10*24*60*60*1000,
9544                }));
9545
9546                
9547            </script>
9547
9548            
9548<script>
9549                
9550                window.insider_object.user = {
9551                    "language" : "en".substring(0, 2) + "_US",
9552                    "market_locale_id": "52010713397",
9553                    "market_locale_handle": "us",
9554                    "market_country_code": "US",
9555                    "shop_locale": "en"
9556                };
9557                
9558
9559                window.localStorage.setItem('ins-shopify-user-language', JSON.stringify({
9560                    value: window.insider_object.user.language,
9561                    _expires: new Date().getTime() + 10*24*60*60*1000,
9562                }));
9563            </script>
9563
9564            
9565            
9565<script>
9566                
9567                window.insider_object.basket = {
9568                    "currency": "USD"
9569                    
9570                };
9571            </script>
9571
9572            <!-- BEGIN app snippet: cart-token-collector -->
9572<script>
9573    function throttle(func, limit) {
9574        let inThrottle;
9575        return function executedFunction(...args) {
9576            if (!inThrottle) {
9577                func(...args);
9578                inThrottle = true;
9579                setTimeout(function() {
9580                    inThrottle = false;
9581                }, limit);
9582            }
9583        };
9584    }
9585
9586    async function handleUserInfoUpdate() {
9587        const userInfo = {
9588            oldCartToken: window.localStorage.getItem('ins-old-cart-token'),
9589            oldInsiderId: window.localStorage.getItem('ins-old-insider-id'),
9590            newInsiderId: Insider.getUserId(),
9591            newCartToken: await getCartToken(),
9592            insiderSessionId: Insider.getUserSession()
9593        };
9594        const isInfoChanged = userInfo.oldCartToken !== userInfo.newCartToken ||
9595            userInfo.oldInsiderId !== userInfo.newInsiderId
9596
9597        if (!userInfo.newInsiderId || !userInfo.newCartToken || !userInfo.insiderSessionId) {
9598          return;
9599        }
9600
9601        if (isInfoChanged) {
9602            sendUserInfoRequest(userInfo);
9603            // Persist the Insider id as a Shopify cart attribute so it propagates into checkout,
9604            // where the Checkout UI extension reads `_insider_iid` to personalise recommendations.
9605            writeInsiderIdCartAttribute(userInfo.newInsiderId);
9606        }
9607    }
9608
9609    function writeInsiderIdCartAttribute(insiderId) {
9610        // Best-effort: a failed attribute write must never break the storefront. Guarded by the
9611        // caller (non-null insiderId + non-empty cart) and throttled/deduped like the rest of the snippet.
9612        // .catch() swallows network rejections so they never surface as an unhandledrejection.
9613        fetch(window.Shopify.routes.root + 'cart/update.json', {
9614            method: 'POST',
9615            headers: { 'Content-Type': 'application/json' },
9616            body: JSON.stringify({ attributes: { _insider_iid: insiderId } })
9617        }).catch(function () {
9618            /* swallow: cart-attribute write is non-critical */
9619        });
9620    }
9621
9622    function sendUserInfoRequest(userInfo) {
9623        let url =
9624            'https://sfyapp.useinsider.com/cart-token-collector/v2/save/' +
9625            Shopify.shop +
9626            '?' +
9627            'iid=' + userInfo.newInsiderId +
9628            '&ct=' + userInfo.newCartToken +
9629            '&sid=' + userInfo.insiderSessionId +
9630            '&oldCt=' + (userInfo.oldCartToken || '');
9631
9632        let request = new XMLHttpRequest();
9633        request.onload = function() {
9634            if (this.status >= 200 && this.status < 300) {
9635                setUserInfos(userInfo);
9636            }
9637        };
9638        request.open('GET', url, true);
9639        request.send();
9640    }
9641
9642    function setUserInfos(userInfo) {
9643        window.localStorage.setItem('ins-old-cart-token', userInfo.newCartToken);
9644        window.localStorage.setItem('ins-old-insider-id', userInfo.newInsiderId);
9645    }
9646
9647    async function getCartToken() {
9648        const response = await fetch(window.Shopify.routes.root + 'cart.js');
9649        const data = await response.json();
9650
9651        return data.item_count > 0 ? data.token : null;
9652    }
9653
9654    window.addEventListener('insider:api-initialized', throttle(handleUserInfoUpdate, 2000));
9655    window.addEventListener('cart:amount:update', throttle(handleUserInfoUpdate, 2000));
9656</script>
9656
9657<!-- END app snippet -->
9658        
9659    
9660    
9661        
9662    
9663
9664
9665</div>
9665<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
9665
9666</body>
9667</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.