1<!DOCTYPE html><!-- This site was created in Webflow. https://webflow.com --><!-- Last Published: Fri Oct 02 2026 15:27:57 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="bettr-academy.webflow.io" data-wf-page="69f15e5f33afcbbd1a34530b" data-wf-site="69f15930f71b5763616e2c5c" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Coffee & Hospitality Courses | Bettr Academy Singapore</title><meta content="Explore 30+ SCA-certified coffee, tea, and hospitality courses with up to 70% SkillsFuture funding. From barista basics to professional certifications." name="description"/><meta content="Coffee & Hospitality Courses | Bettr Academy Singapore" property="og:title"/><meta content="Explore 30+ SCA-certified coffee, tea, and hospitality courses with up to 70% SkillsFuture funding. From barista basics to professional certifications." property="og:description"/><meta content="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f7b491178680845db52a22_courses-landing-hero.jpg" property="og:image"/><meta content="Coffee & Hospitality Courses | Bettr Academy Singapore" name="twitter:title"/><meta content="Explore 30+ SCA-certified coffee, tea, and hospitality courses with up to 70% SkillsFuture funding. From barista basics to professional certifications." name="twitter:description"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="Webflow" name="generator"/><link href="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/css/bettr-academy.webflow.shared.f59569808.css" rel="stylesheet" type="text/css" integrity="sha384-9ZVpgISQC57yYfglPk32NP8xbrLY9w6WXkXxgaN4RsKejn73o/KgHhuPr3gJlxOS" crossorigin="anonymous"/><link href="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/css/bettr-academy.webflow.69f15e5f33afcbbd1a34530b.36659624c.opt.css" rel="stylesheet" type="text/css" integrity="sha384-NmWWJMPJbBvqOqJA8b0aFSZricocVeseG6NWEQGnnueD9xR6srI1sMBmpxJjyr3K" crossorigin="anonymous"/><style>html.w-mod-js:not(.w-mod-ix3) :is(:is(.journey_card, .journey_card) .journey_card_image-wrapper, :is(.journey_card, .journey_card) .journey_card_image, :is(.journey_card, .journey_card) .journey_card_content, :is(.profile-card, .profile-card) .profile-card_card-content-bottom) {visibility: hidden !important;}@media not all and (prefers-reduced-motion: reduce){html.w-mod-js:not(.w-mod-ix3):is([data-reveal="bounce-in"]) {visibility: hidden !important;}html.w-mod-js:not(.w-mod-ix3):is([data-reveal="bounce-in"]) * {visibility: hidden !important;}}@media not all and (prefers-reduced-motion: reduce){html.w-mod-js:not(.w-mod-ix3) :is([data-parallax="section"] [data-parallax="image"], [data-parallax="header"] [data-parallax="image"], [data-parallax="short-section"] [data-parallax="image"], [data-reveal="bounce-in"]) {visibility: hidden !important;}}</style><link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/>
1<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script>
1<script type="text/javascript">WebFont.load({ google: { families: ["Montserrat:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic","Roboto:300,400,500,600,700"] }});</script>
1<script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script>
1<link href="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a2607cd057793124519035b_FA_BETTR_FAVICON_SUNSHINE_221103.png" rel="icon" type="image/png" sizes="32x32" media="(prefers-color-scheme: light)"/><link href="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a2607cd057793124519035b_FA_BETTR_FAVICON_SUNSHINE_221103.png" rel="icon" type="image/png" sizes="32x32" media="(prefers-color-scheme: dark)"/><link href="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a2607cdd904488f61545542_FA_BETTR_FAVICON_SUNSHINE_221103.png" rel="icon" type="image/png" sizes="48x48"/><link href="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a2607cd7994390f1169ff4b_FA_BETTR_FAVICON_SUNSHINE_221103.png" rel="apple-touch-icon" sizes="180x180"/><link href="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a2607cdd0742f2a730976cc_FA_BETTR_FAVICON_SUNSHINE_221103.png" rel="icon" type="image/png" sizes="192x192"/><link href="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a2607cdf642a804d979d5e2_FA_BETTR_FAVICON_SUNSHINE_221103.png" rel="icon" type="image/png" sizes="512x512"/><link href="https://bettr.academy/courses" rel="canonical"/>
1<script>(function(w,i,g){w[g]=w[g]||[];if(typeof w[g].push=='function')w[g].push.apply(w[g],Array.isArray(i)?i:[i]);})(window,['GTM-WM28WVV'],'google_tags_first_party');</script>
1<script async="" src="/haqt6iy0yx2eNjlmMTU5MzBmNzFiNTc2MzYxNmUyYzVj/LdTvrRIsCBTWdr2RR08mJd7nXQ"></script>
1<script type="text/javascript">window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('set', 'developer_id.dZGVlNj', true);gtag('set', 'developer_id.dYWYxNW', true);gtag('js', new Date());gtag('config', 'GTM-WM28WVV');</script>
1<!-- Finsweet Attributes (site-wide, all solutions used on the site) -->
2<script async type="module" 3 src="https://cdn.jsdelivr.net/npm/@finsweet/attributes@2/attributes.js" 4 fs-list 5 fs-selectcustom 6 fs-inputactive 7 fs-copyclip 8 fs-socialshare 9 fs-readtime 10></script>
10 11 12 13<!-- Keep this css code to improve the font quality--> 14<style> 15 * { 16 -webkit-font-smoothing: antialiased; 17 -moz-osx-font-smoothing: grayscale; 18 -o-font-smoothing: antialiased; 19 } 20</style> 21 22<!-- Entrance Animation Default States --> 23<style> 24 /* Pre-hide animation items */ 25 [data-reveal].--prekick { 26 visibility: hidden; 27 } 28 29 /* Exclude data-reveal="none" from pre-hiding */ 30 [data-reveal='none'].--prekick { 31 visibility: visible; 32 } 33 34 /* Initial visibility for animated elements */ 35 [data-reveal]:not([data-reveal='lines']):not([data-reveal='none']) { 36 visibility: hidden; 37 } 38 39 /* Keep data-reveal="none" visible but inherit parent state */ 40 [data-reveal='none'] { 41 visibility: inherit; 42 } 43 44 /* Show elements normally inside Webflow Designer/Editor */ 45 :is(.w-editor, html.w-editor) :is([data-page-load='lines'] .gsap_split_line, [data-reveal]) { 46 visibility: visible !important; 47 } 48</style> 49 50 51<!-- Page Loader and Page Transitions --> 52<style> 53 .crisp-loader__heading > *, 54 .crisp-loader__subheading-heading > * { margin: -0.1em 0; padding: 0.1em 0; } 55 56 .is-home-loading [data-transition-wrap]{ visibility: visible; opacity: 1; pointer-events: auto; } 57 .is-home-loading [data-transition-panel]{ top: 0; transform: none; opacity: 1; visibility: visible; } 58 59 .transition__logo-wrapper{ position: relative; width: min(22rem, 70vw); height: min(22rem, 70vw); display: flex; opacity: 0; visibility: hidden; } 60 .is-home-loading .transition__logo-wrapper{ opacity: 1; visibility: visible; } 61 .transition__logo-wrapper .transition__logo{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: 0; } 62</style> 63
64<script> 65 (function () { 66 var path = location.pathname.replace(/\/+$/, ''); 67 if (path === '') { 68 document.documentElement.classList.add('is-home-loading'); 69 setTimeout(function () { document.documentElement.classList.remove('is-home-loading'); }, 8000); 70 } 71 })(); 72</script>
72 73 74<!-- Lenis Smooth Scroll --> 75<style> 76 html.lenis { 77 height: auto; 78 } 79 .lenis.lenis-smooth { 80 scroll-behavior: auto; 81 } 82 .lenis.lenis-smooth [data-lenis-prevent] { 83 overscroll-behavior: contain; 84 } 85 .lenis.lenis-stopped { 86 overflow: hidden; 87 } 88</style> 89 90<!-- Journey cards: show the hover state by default on mobile landscape and down --> 91<style> 92 @media (max-width: 767px) { 93 .journey_card_content { 94 transform: none !important; 95 } 96 .journey_card_image-wrapper, 97 .journey_card_image { 98 opacity: 0 !important; 99 } 100 } 101</style> 102 103<!-- Page load heading: stop SplitText masks clipping letters like f --> 104<style> 105 [data-page-load="heading"] div[style*="clip"], 106 [data-page-load="subheading"] div[style*="clip"] { 107 padding: 0.1em 0.15em; 108 margin: -0.1em -0.15em; 109 } 110</style></head><body data-barba="wrapper"><div class="page-wrapper"><div data-transition-wrap="" data-wf--page-transition--transition-variant="stacking-stickers" class="transition"><div data-transition-panel="" class="transition__panel"><div class="transition__logo-wrapper"><img loading="eager" src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f15e46537c79ce45113940_6460a1bfa6b4a6585fcc2823f120e0b9_relume-902626.svg" alt="Bettr Academy" class="transition__logo"/><img sizes="(max-width: 1000px) 100vw, 1000px" srcset="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc0efe33d65f17cf468_e7ba0b01a37c79d78550d5f92eb236cf_cbf05fa62ee2e62182d978c883eb1f3baa508960-p-500.avif 500w, https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc0efe33d65f17cf468_e7ba0b01a37c79d78550d5f92eb236cf_cbf05fa62ee2e62182d978c883eb1f3baa508960-p-800.avif 800w, https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc0efe33d65f17cf468_e7ba0b01a37c79d78550d5f92eb236cf_cbf05fa62ee2e62182d978c883eb1f3baa508960.avif 1000w" alt="Cartoon snail with glasses and hat riding skateboard holding two drinks with text 100% Worth the Waaaaaait." src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc0efe33d65f17cf468_e7ba0b01a37c79d78550d5f92eb236cf_cbf05fa62ee2e62182d978c883eb1f3baa508960.avif" loading="eager" class="transition__logo"/><img sizes="(max-width: 1000px) 100vw, 1000px" srcset="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a348811844844a7537217b8_Asset%2020-p-500.avif 500w, https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a348811844844a7537217b8_Asset%2020.avif 1000w" alt="BETTR Coffee label claiming it makes you 100% smarter, sexier, and funnier." src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a348811844844a7537217b8_Asset%2020.avif" loading="eager" class="transition__logo"/><img sizes="(max-width: 1000px) 100vw, 1000px" srcset="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a34880344a40d74da94ab23_100%25%20Bettr%20(2)-p-500.avif 500w, https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a34880344a40d74da94ab23_100%25%20Bettr%20(2)-p-800.avif 800w, https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a34880344a40d74da94ab23_100%25%20Bettr%20(2).png 1000w" alt="Black oval with an orange center with text 100% BETTR and a line drawing of a creature." src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a34880344a40d74da94ab23_100%25%20Bettr%20(2).png" loading="eager" class="transition__logo"/><img sizes="(max-width: 1000px) 100vw, 1000px" srcset="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc0e227cf3cf39ddb83_f7007275ced4b00e3ff0379b04e0d9d8_41889bd483eef333897d6a9ec125f73ade500c01-p-500.avif 500w, https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc0e227cf3cf39ddb83_f7007275ced4b00e3ff0379b04e0d9d8_41889bd483eef333897d6a9ec125f73ade500c01-p-800.avif 800w, https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc0e227cf3cf39ddb83_f7007275ced4b00e3ff0379b04e0d9d8_41889bd483eef333897d6a9ec125f73ade500c01.avif 1000w" alt="The word BETTR in bold black letters on a light beige background." src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc0e227cf3cf39ddb83_f7007275ced4b00e3ff0379b04e0d9d8_41889bd483eef333897d6a9ec125f73ade500c01.avif" loading="eager" class="transition__logo"/>
110<img sizes="(max-width: 1000px) 100vw, 1000px" srcset="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc00f00e584c9004c31_e5291ddcf13b6373a086ec155ff29a25_Mask%20group-p-500.avif 500w, https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc00f00e584c9004c31_e5291ddcf13b6373a086ec155ff29a25_Mask%20group.avif 1000w" alt="Yellow oval with text 'Bettr Late Than Dead' in bold black font." src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc00f00e584c9004c31_e5291ddcf13b6373a086ec155ff29a25_Mask%20group.avif" loading="eager" class="transition__logo"/><img sizes="(max-width: 1000px) 100vw, 1000px" srcset="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc086ea9d72d5e3cef3_f17cbd38f5f3ff6e67b437853d80736a_fcbf0dbf0272c314335d5402e3d5610058a7ba4e-p-500.avif 500w, https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc086ea9d72d5e3cef3_f17cbd38f5f3ff6e67b437853d80736a_fcbf0dbf0272c314335d5402e3d5610058a7ba4e-p-800.avif 800w, https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc086ea9d72d5e3cef3_f17cbd38f5f3ff6e67b437853d80736a_fcbf0dbf0272c314335d5402e3d5610058a7ba4e.avif 1000w" alt="An illustration of a two headed person kicking back in an armchair with an umbrella" src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc086ea9d72d5e3cef3_f17cbd38f5f3ff6e67b437853d80736a_fcbf0dbf0272c314335d5402e3d5610058a7ba4e.avif" loading="eager" class="transition__logo"/><img sizes="(max-width: 1000px) 100vw, 1000px" srcset="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc04e19e3d8ad4b5f96_59aa4a5a418c7f46aeddc307363b9ec1_a3b400fac32561ca9f3851c4cd87fdba7432d0a8-p-500.avif 500w, https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc04e19e3d8ad4b5f96_59aa4a5a418c7f46aeddc307363b9ec1_a3b400fac32561ca9f3851c4cd87fdba7432d0a8-p-800.avif 800w, https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc04e19e3d8ad4b5f96_59aa4a5a418c7f46aeddc307363b9ec1_a3b400fac32561ca9f3851c4cd87fdba7432d0a8.avif 1000w" alt="Cartoon snail wearing a hat beside a surreal orange plant with bulbous ends and text A.M.E.N." src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc04e19e3d8ad4b5f96_59aa4a5a418c7f46aeddc307363b9ec1_a3b400fac32561ca9f3851c4cd87fdba7432d0a8.avif" loading="eager" class="transition__logo"/><img sizes="(max-width: 1000px) 100vw, 1000px" srcset="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc0bf5bc9ceebe78749_469397bd9a95ea75b5f76362b19d2919_97d63679575aa1d2f227252249507ceefb724a5c-p-500.avif 500w, https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc0bf5bc9ceebe78749_469397bd9a95ea75b5f76362b19d2919_97d63679575aa1d2f227252249507ceefb724a5c-p-800.avif 800w, https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc0bf5bc9ceebe78749_469397bd9a95ea75b5f76362b19d2919_97d63679575aa1d2f227252249507ceefb724a5c.avif 1000w" alt="Green circular badge with earth shape and text 100% Delicious 100% Unpretentious." src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2cbc0bf5bc9ceebe78749_469397bd9a95ea75b5f76362b19d2919_97d63679575aa1d2f227252249507ceefb724a5c.avif" loading="eager" class="transition__logo"/></div><div class="transition__page-name-wrapper"><div class="transition__page-name"><div>[Page Name]</div></div></div></div></div><main data-barba="container" class="main-wrapper"><div class="global-styles"><div class="style-overrides w-embed"><style> 111 112/* Focus state style for keyboard navigation for the focusable elements */ 113*[tabindex]:focus-visible, 114 input[type="file"]:focus-visible { 115 outline: 0.125rem solid #4d65ff; 116 outline-offset: 0.125rem; 117} 118 119/* Get rid of top margin on first element in any rich text element */ 120.w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child { 121 margin-top: 0 !important; 122} 123 124/* Get rid of bottom margin on last element in any rich text element */ 125.w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child { 126 margin-bottom: 0 !important; 127} 128 129/* Prevent all click and hover interaction with an element */ 130.pointer-events-off { 131 pointer-events: none; 132} 133 134/* Enables all click and hover interaction with an element */ 135.pointer-events-on { 136 pointer-events: auto; 137} 138 139/* Create a class of .div-square which maintains a 1:1 dimension of a div */ 140.div-square::after { 141 content: ""; 142 display: block; 143 padding-bottom: 100%; 144} 145 146/* Make sure containers never lose their center alignment */ 147.container-medium,.container-small, .container-large { 148 margin-right: auto !important; 149 margin-left: auto !important; 150} 151 152 153/* Apply "..." after 3 lines of text */ 154.text-style-3lines {
155 display: -webkit-box; 156 overflow: hidden; 157 -webkit-line-clamp: 3; 158 -webkit-box-orient: vertical; 159} 160 161/* Apply "..." after 2 lines of text */ 162.text-style-2lines { 163 display: -webkit-box; 164 overflow: hidden; 165 -webkit-line-clamp: 2; 166 -webkit-box-orient: vertical; 167} 168 169/* Adds inline flex display */ 170.display-inlineflex { 171 display: inline-flex; 172} 173 174/* These classes are never overwritten */ 175.hide { 176 display: none !important; 177} 178 179/* Remove default Webflow chevron from form select */ 180select{ 181 -webkit-appearance:none; 182} 183 184 185@media screen and (max-width: 991px) { 186 .hide, .hide-tablet { 187 display: none !important; 188 } 189} 190 @media screen and (max-width: 767px) { 191 .hide-mobile-landscape{ 192 display: none !important; 193 } 194} 195 @media screen and (max-width: 479px) { 196 .hide-mobile{ 197 display: none !important; 198 } 199} 200 201.margin-0 { 202 margin: 0rem !important; 203} 204 205.padding-0 { 206 padding: 0rem !important; 207} 208 209.spacing-clean { 210padding: 0rem !important; 211margin: 0rem !important; 212} 213 214.margin-top { 215 margin-right: 0rem !important; 216 margin-bottom: 0rem !important; 217 margin-left: 0rem !important; 218} 219 220.padding-top { 221 padding-right: 0rem !important; 222 padding-bottom: 0rem !important; 223 padding-left: 0rem !important; 224} 225 226.margin-right { 227 margin-top: 0rem !important; 228 margin-bottom: 0rem !important; 229 margin-left: 0rem !important; 230} 231 232.padding-right { 233 padding-top: 0rem !important; 234 padding-bottom: 0rem !important; 235 padding-left: 0rem !important; 236} 237 238.margin-bottom { 239 margin-top: 0rem !important; 240 margin-right: 0rem !important; 241 margin-left: 0rem !important; 242} 243 244.padding-bottom { 245 padding-top: 0rem !important; 246 padding-right: 0rem !important; 247 padding-left: 0rem !important; 248} 249 250.margin-left { 251 margin-top: 0rem !important; 252 margin-right: 0rem !important; 253 margin-bottom: 0rem !important; 254} 255 256.padding-left { 257 padding-top: 0rem !important; 258 padding-right: 0rem !important; 259 padding-bottom: 0rem !important; 260} 261 262.margin-horizontal { 263 margin-top: 0rem !important; 264 margin-bottom: 0rem !important; 265} 266 267.padding-horizontal { 268 padding-top: 0rem !important; 269 padding-bottom: 0rem !important; 270} 271 272.margin-vertical { 273 margin-right: 0rem !important; 274 margin-left: 0rem !important; 275} 276 277.padding-vertical { 278 padding-right: 0rem !important; 279 padding-left: 0rem !important; 280} 281 282/* Apply "..." at 100% width */ 283.truncate-width { 284 width: 100%; 285 white-space: nowrap; 286 overflow: hidden; 287 text-overflow: ellipsis; 288} 289/* Removes native scrollbar */ 290.no-scrollbar { 291 -ms-overflow-style: none; 292 overflow: -moz-scrollbars-none; 293} 294 295.no-scrollbar::-webkit-scrollbar {
296 display: none; 297} 298</style></div><div class="color-schemes w-embed"><style> 299.color-scheme-1 {} 300 301 .color-scheme-2 { 302 --color-scheme-1--text: var(--color-scheme-2--text); 303 --color-scheme-1--background: var(--color-scheme-2--background); 304 --color-scheme-1--foreground: var(--color-scheme-2--foreground); 305 --color-scheme-1--border: var(--color-scheme-2--border); 306 --color-scheme-1--accent: var(--color-scheme-2--accent); 307 } 308 309 310 .color-scheme-3 { 311 --color-scheme-1--text: var(--color-scheme-3--text); 312 --color-scheme-1--background: var(--color-scheme-3--background); 313 --color-scheme-1--foreground: var(--color-scheme-3--foreground); 314 --color-scheme-1--border: var(--color-scheme-3--border); 315 --color-scheme-1--accent: var(--color-scheme-3--accent); 316 } 317 318 319 .color-scheme-4 { 320 --color-scheme-1--text: var(--color-scheme-4--text); 321 --color-scheme-1--background: var(--color-scheme-4--background); 322 --color-scheme-1--foreground: var(--color-scheme-4--foreground); 323 --color-scheme-1--border: var(--color-scheme-4--border); 324 --color-scheme-1--accent: var(--color-scheme-4--accent); 325 } 326 327 328 329.w-slider-dot { 330 background-color: var(--color-scheme-1--text); 331 opacity: 0.20; 332} 333 334.w-slider-dot.w-active { 335 background-color: var(--color-scheme-1--text); 336 opacity: 1; 337} 338 339/* Override .w-slider-nav-invert styles */ 340.w-slider-nav-invert .w-slider-dot { 341 background-color: var(--color-scheme-1--text) !important; 342 opacity: 0.20 !important; 343} 344 345.w-slider-nav-invert .w-slider-dot.w-active { 346 background-color: var(--color-scheme-1--text) !important; 347 opacity: 1 !important; 348} 349 350</style></div><div class="finsweet-fluid-design w-embed"><style>:root{--font-from:17.5;--font-to:19;--vw-from:calc(1920 / 100);--vw-to:calc(2400 / 100);--coefficient:calc((var(--font-to) - var(--font-from)) / (var(--vw-to) - var(--vw-from)));--base:calc((var(--font-from) - var(--vw-from) * var(--coefficient)) / 16);}html{font-size:calc(var(--base) * 1rem + var(--coefficient) * 1vw);}@media screen and (max-width: 1920px){:root{--font-from:16;--font-to:17.5;--vw-from:calc(1440 / 100);--vw-to:calc(1920 / 100);}}@media screen and (max-width: 1440px){:root{--font-from:16;--font-to:16;--vw-from:calc(479 / 100);--vw-to:calc(1440 / 100);}}@media screen and (max-width: 479px){:root{--font-from:16;--font-to:16;--vw-from:calc(1 / 100);--vw-to:calc(479 / 100);}}</style></div><div class="price-formatting-script w-embed w-script"><!--
350<script> 351(function () { 352 function formatPrices() { 353 document.querySelectorAll('[data-price-format]').forEach(function (el) { 354 var n = parseFloat(el.textContent.replace(/[^0-9.]/g, '')); 355 if (!isNaN(n)) { 356 el.textContent = n.toLocaleString('en-SG', { maximumFractionDigits: 2 }); 357 } 358 }); 359 } 360 window.formatPrices = formatPrices;x 361 362 if (document.readyState === 'loading') { 363 document.addEventListener('DOMContentLoaded', formatPrices); 364 } else { 365 formatPrices(); 366 } 367 368 window.addEventListener('load', function () { 369 if (window.barba && window.barba.hooks) { 370 window.barba.hooks.after(formatPrices); 371 } 372 }); 373})(); 374</script>
374--> 375
376<script> 377(function () { 378 var SELECTOR = '[data-price-format]'; 379 380 function formatValue(text) { 381 var raw = String(text).replace(/[^0-9.]/g, ''); 382 if (!raw) return null; 383 var n = parseFloat(raw); 384 if (isNaN(n)) return null; 385 return n.toLocaleString('en-SG', { minimumFractionDigits: 2, maximumFractionDigits: 2 }); 386 } 387 388 function formatEl(el) { 389 var formatted = formatValue(el.textContent); 390 if (formatted !== null && el.textContent !== formatted) el.textContent = formatted; 391 } 392 393 function formatPrices(root) { 394 (root || document).querySelectorAll(SELECTOR).forEach(formatEl); 395 } 396 window.formatPrices = formatPrices; 397 398 // Catch prices written after load (quiz results, Finsweet list loads, Barba page swaps) 399 function watch() { 400 new MutationObserver(function (mutations) { 401 mutations.forEach(function (m) { 402 var node = m.target.nodeType === 3 ? m.target.parentElement : m.target; 403 if (!node) return; 404 var priceEl = node.closest && node.closest(SELECTOR); 405 if (priceEl) formatEl(priceEl); 406 else if (node.querySelectorAll) formatPrices(node); 407 }); 408 }).observe(document.body, { childList: true, characterData: true, subtree: true }); 409 } 410 411 function init() { formatPrices(); watch(); } 412 413 if (document.readyState === 'loading') { 414 document.addEventListener('DOMContentLoaded', init); 415 } else { 416 init(); 417 } 418 419 window.addEventListener('load', function () { 420 if (window.barba && window.barba.hooks) window.barba.hooks.after(function () { formatPrices(); }); 421 }); 422})(); 423</script>
423</div><div class="dashed-divider-styles w-embed"><style> 424/* Mask is now shared — the FAQ divider piggybacks on the same class */ 425.dashed-divider-horizontal, 426.faqs_accordion::after { 427 -webkit-mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 2' preserveAspectRatio='none'%3E%3Cline x1='1' y1='1' x2='7' y2='1' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") left center / 19px 100% repeat-x; 428 mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 2' preserveAspectRatio='none'%3E%3Cline x1='1' y1='1' x2='7' y2='1' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") left center / 19px 100% repeat-x; 429} 430 431.dashed-divider-vertical { 432 -webkit-mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 19' preserveAspectRatio='none'%3E%3Cline x1='1' y1='1' x2='1' y2='7' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center top / 100% 19px repeat-y; 433 mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 19' preserveAspectRatio='none'%3E%3Cline x1='1' y1='1' x2='1' y2='7' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center top / 100% 19px repeat-y; 434} 435</style> 436 437<style> 438.faqs_accordion { 439 position: relative; 440} 441 442/* Only the positioning/sizing here — the mask comes from the shared rule above */ 443.faqs_accordion::after { 444 content: ""; 445 position: absolute; 446 left: 0; 447 bottom: 0; 448 width: 100%; 449 height: var(--_ui-styles---stroke--border-width); 450 background-color: var(--color-scheme-1--text); 451 pointer-events: none; 452} 453</style></div><div class="faqs-accordion-script w-embed w-script"><style> 454 .faqs_answer { 455 overflow: hidden; 456 height: 0; 457 transition: height 0.4s ease; 458 } 459 .faqs_question { 460 cursor: pointer; 461 } 462 .faqs_icon { 463 transition: transform 0.3s ease; 464 } 465 .faqs_accordion.is-open .faqs_icon { 466 transform: rotate(180deg); 467 } 468 469 /* Fade the answer's inner content in/out with the open state. 470 Closing: opacity 1 -> 0 as the height collapses. */ 471 .faqs_answer-inner { 472 opacity: 0; 473 transition: opacity 0.35s ease; 474 } 475 .faqs_accordion.is-open .faqs_answer-inner { 476 opacity: 1; 477 } 478</style> 479
480<script> 481 (function () { 482 // --- Scroll tuning --------------------------------------------------- 483 var SCROLL_DURATION = 900; // ms — higher = slower / smoother 484 var EXTRA_GAP = 32; // px of breathing room below the navbar 485 486 function answerOf(i) { 487 return i.querySelector('.faqs_answer'); 488 } 489 function closeItem(i) { 490 var a = answerOf(i); 491 if (!a) return; 492 a.style.height = a.scrollHeight + 'px'; 493 requestAnimationFrame(function () { 494 requestAnimationFrame(function () { 495 a.style.height = '0px'; 496 }); 497 }); 498 i.classList.remove('is-open'); // triggers the inner opacity fade-out 499 } 500 function openItem(i, instant) { 501 var a = answerOf(i); 502 if (!a) return; 503 i.classList.add('is-open'); 504 if (instant) { 505 a.style.height = 'auto'; 506 // Initial/first-item open: snap the inner to visible without fading 507 // (prevents a fade-in flash on every page load). 508 var inner = a.querySelector('.faqs_answer-inner'); 509 if (inner) { 510 inner.style.transition = 'none'; 511 void inner.offsetWidth; // force reflow so 'none' applies before opacity:1 512 requestAnimationFrame(function () { 513 inner.style.transition = ''; 514 }); 515 } 516 return; 517 } 518 a.style.height = a.scrollHeight + 'px'; 519 a.addEventListener('transitionend', function h(e) { 520 if (e.propertyName === 'height' && i.classList.contains('is-open')) a.style.height = 'auto'; 521 a.removeEventListener('transitionend', h); 522 }); 523 } 524 525 // Auto-scroll only runs for FAQs inside a list flagged with .is-large 526 // (combo class on the .faqs_list). Open/close works for every FAQ list. 527 function scrollEnabled(list) { 528 return !!list && list.classList.contains('is-large'); 529 } 530 531 // easeInOutCubic — gentle start, soft landing. 532 function ease(t) { 533 return t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2; 534 } 535 536 // Smoothly bring the toggle to just below the navbar in ONE continuous 537 // motion. We ease the toggle's VIEWPORT position (not an absolute scrollY 538 // target) and re-anchor to its live position every frame — so a tall FAQ 539 // collapsing above never causes a jump. Scroll-anchoring is disabled during 540 // the motion so the browser doesn't fight the animation, then restored. 541 // 542 // The user stays in control: any manual scroll input (wheel / touch / 543 // scroll key) cancels the animation and hands scrolling straight back — 544 // no two scrollers fighting, so no jitter. 545 var scrollRAF = null; 546 var cancelScrollWatch = null; 547 var SCROLL_KEYS = { 548 ArrowUp: 1, ArrowDown: 1, PageUp: 1, PageDown: 1, Home: 1, End: 1, ' ': 1, Spacebar: 1 549 }; 550 551 function stopAutoScroll() { 552 if (scrollRAF) { 553 cancelAnimationFrame(scrollRAF); 554 scrollRAF = null; 555 } 556 document.documentElement.style.overflowAnchor = ''; // restore default 557 if (cancelScrollWatch) { 558 cancelScrollWatch(); 559 cancelScrollWatch = null; 560 } 561 } 562 563 function scrollToToggle(q) { 564 var nav = document.querySelector('.navbar_component'); 565 var root = document.documentElement; 566 var startTop = q.getBoundingClientRect().top; // toggle's current viewport position 567 var start = null; 568 569 stopAutoScroll(); // cancel any in-flight animation + its watcher 570 root.style.overflowAnchor = 'none'; 571 572 // Watch for the user wanting to take over. 573 function onUserScroll(e) { 574 if (e.type === 'keydown' && !SCROLL_KEYS[e.key]) return; // ignore non-scroll keys 575 stopAutoScroll(); 576 } 577 var opts = { passive: true }; 578 window.addEventListener('wheel', onUserScroll, opts); 579 window.addEventListener('touchstart', onUserScroll, opts); 580 window.addEventListener('keydown', onUserScroll); 581 cancelScrollWatch = function () { 582 window.removeEventListener('wheel', onUserScroll, opts); 583 window.removeEventListener('touchstart', onUserScroll, opts); 584 window.removeEventListener('keydown', onUserScroll); 585 }; 586 587 function step(now) { 588 if (start === null) start = now; 589 var t = Math.min(1, (now - start) / SCROLL_DURATION); 590 var navH = nav ? nav.getBoundingClientRect().height : 0; 591 var targetTop = navH + EXTRA_GAP; 592 var plannedTop = startTop + (targetTop - startTop) * ease(t); 593 // snap the toggle onto its planned position for this frame 594 window.scrollBy(0, q.getBoundingClientRect().top - plannedTop); 595 if (t < 1) { 596 scrollRAF = requestAnimationFrame(step); 597 } else { 598 stopAutoScroll();
598 // finished — clean up watcher + restore anchor 599 } 600 } 601 scrollRAF = requestAnimationFrame(step); 602 } 603 604 // Delegated click — bound once, works on Finsweet-injected + post-transition FAQs. 605 if (!window.__faqsBound) { 606 window.__faqsBound = true; 607 document.addEventListener('click', function (e) { 608 var q = e.target.closest('.faqs_question'); 609 if (!q) return; 610 var item = q.closest('.faqs_accordion'); 611 if (!item) return; 612 var list = item.closest('.faqs_list'); 613 // Already open: only allow closing when it's the sole FAQ in the list. 614 if (item.classList.contains('is-open')) { 615 if (list && list.querySelectorAll('.faqs_accordion').length === 1) closeItem(item); 616 return; 617 } 618 if (list) list.querySelectorAll('.faqs_accordion.is-open').forEach(closeItem); 619 openItem(item, false); 620 // Auto-scroll only for FAQs in a .faqs_list.is-large. 621 if (scrollEnabled(list)) scrollToToggle(q); 622 }); 623 } 624 625 // Open first item per list — idempotent (once per list, including newly injected lists). 626 // Skip auto-open when the list has only one FAQ. 627 function initFaqsFirstOpen() { 628 document.querySelectorAll('.faqs_list').forEach(function (list) { 629 if (list.dataset.faqsInit) return; 630 var items = list.querySelectorAll('.faqs_accordion'); 631 if (!items.length) return; // wait until Finsweet has injected items 632 list.dataset.faqsInit = '1'; 633 if (items.length > 1) openItem(items[0], true); // don't auto-open a solo FAQ 634 }); 635 } 636 window.initFaqsFirstOpen = initFaqsFirstOpen; 637 638 // 1. Run once per page view (this embed lives inside the Barba container, so 639 // the transition script re-executes it after every navigation). 640 if (document.readyState === 'loading') { 641 document.addEventListener('DOMContentLoaded', initFaqsFirstOpen, { once: true }); 642 } else { 643 initFaqsFirstOpen(); 644 } 645 646 // 2 + 3. SESSION-WIDE hooks — registered once, not once per navigation. 647 // (Finsweet callbacks persist and the body-wide MutationObserver was being 648 // recreated on every transition — they piled up and fired in multiples.) 649 if (!window.__faqsHooksBound) { 650 window.__faqsHooksBound = true; 651 652 // Finsweet Attributes v2 — fires after list + cmsnest render. Calls the 653 // LATEST initFaqsFirstOpen via window so it always works on the current page. 654 var runFaqsInit = function () { 655 if (typeof window.initFaqsFirstOpen === 'function') window.initFaqsFirstOpen(); 656 }; 657 window.FinsweetAttributes = window.FinsweetAttributes || []; 658 window.FinsweetAttributes.push([ 659 'list', 660 function (instances) { 661 instances.forEach(function (instance) { 662 if (instance.loadingPaginatedItems && typeof instance.loadingPaginatedItems.then === 'function') { 663 instance.loadingPaginatedItems.then(runFaqsInit); 664 } 665 // Re-run when items change (filter / sort / load more). 666 if (instance.effect) instance.effect(runFaqsInit); 667 }); 668 runFaqsInit(); 669 }, 670 ]); 671 window.FinsweetAttributes.push(['cmsnest', runFaqsInit]); 672 673 // MutationObserver fallback — ONE observer for the whole session. 674 if (window.MutationObserver) { 675 var obs = new MutationObserver(runFaqsInit); 676 obs.observe(document.body, { childList: true, subtree: true }); 677 } 678 } 679 })(); 680</script>
680</div><div class="swiper-slider-styles w-embed"><style> 681.slider-arrow { 682 cursor: pointer; 683 transition: opacity 200ms ease-in-out, color 150ms ease-in-out, background-color 150ms ease-in-out, border-color 150ms ease-in-out; 684} 685.slider-arrow.is-disabled { 686 cursor: default; 687 opacity: 0.5; 688} 689</style></div><div class="swiper-slider-script w-embed w-script">
689<script src="https://cdn.jsdelivr.net/npm/[email protected]/swiper-bundle.min.js"></script>
vendor: 1 bytes, line 689
689
690<script> 691 function initSwipers() { 692 const sliderInstances = document.querySelectorAll('[data-component="swiper-slider"]'); 693 694 sliderInstances.forEach((component) => { 695 if (component.dataset.swiperInit) return; // already initialised — skip 696 component.dataset.swiperInit = '1'; 697 698 const swiperContainer = component.querySelector('[data-swiper-element="container"]'); 699 if (!swiperContainer) return; 700 701 // Options 702 const optionsStr = component.getAttribute('data-options') || ''; 703 const hasOption = (name) => { 704 const parts = optionsStr.split(',').map((s) => s.trim().toLowerCase()); 705 if (parts.includes(`no-${name}`)) return false; 706 if (parts.includes(name)) return true; 707 return false; 708 }; 709 710 const centeredSlides = hasOption('centered'); 711 const useLoop = hasOption('loop'); 712 const useAutoHeight = hasOption('autoheight'); 713 const allowGestures = hasOption('gestures'); 714 715 const speed = parseInt(component.getAttribute('data-speed')) || 300; 716 const transitionType = component.getAttribute('data-transition') || ''; 717 const useCrossfade = transitionType === 'crossfade'; 718 719 const autoplayAttr = component.getAttribute('data-autoplay'); 720 const useAutoplay = autoplayAttr !== null && autoplayAttr !== ''; 721 const autoplayDelay = parseInt(autoplayAttr) || 5000; 722 723 const wrapper = swiperContainer.querySelector('.swiper-wrapper'); 724 if (wrapper && wrapper.getAttribute('role') === 'list') { 725 wrapper.removeAttribute('role'); 726 } 727 728 if (useAutoHeight) { 729 if (wrapper) wrapper.style.alignItems = 'flex-start'; 730 swiperContainer.querySelectorAll('.swiper-slide').forEach((slide) => { 731 slide.style.height = 'auto'; 732 }); 733 } 734 735 // Responsive breakpoints 736 const parseResponsive = (str) => { 737 const result = { base: { slides: 'auto', gap: 0 }, breakpoints: {} }; 738 if (!str) return result; 739 740 str.split(',').forEach((segment) => { 741 const trimmed = segment.trim(); 742 const hasBreakpoint = trimmed.includes(':'); 743 744 let bp = null; 745 let pair = trimmed; 746 747 if (hasBreakpoint) { 748 const [bpStr, ...rest] = trimmed.split(':'); 749 bp = parseInt(bpStr.trim()); 750 pair = rest.join(':').trim(); 751 } 752 753 const [slidesRaw, gapRaw] = pair.split('/'); 754 const slides = slidesRaw.trim() === 'auto' ? 'auto' : parseFloat(slidesRaw.trim()) || 'auto'; 755 const gap = parseInt(gapRaw?.trim()) || 0; 756 757 if (bp === null) { 758 result.base = { slides, gap }; 759 } else { 760 result.breakpoints[bp] = { slides, gap }; 761 } 762 }); 763 764 return result; 765 }; 766 767 const responsive = parseResponsive(component.getAttribute('data-responsive')); 768 769 const parseSlidesPerView = (value) => { 770 if (useCrossfade) return 1; 771 return value === 'auto' ? 'auto' : parseFloat(value) || 'auto'; 772 }; 773 774 const buildBreakpoints = () => { 775 const bps = {}; 776 for (const [bp, config] of Object.entries(responsive.breakpoints)) { 777 const spv = parseSlidesPerView(config.slides); 778 bps[bp] = { 779 slidesPerView: spv, 780 spaceBetween: config.gap, 781 ...(useLoop && !useCrossfade && spv !== 'auto' ? { loopAdditionalSlides: Math.ceil(spv) + 1 } : useLoop && !useCrossfade ? { loopAdditionalSlides: 4 } : {}), 782 }; 783 } 784 return bps; 785 }; 786 787 const baseSpv = parseSlidesPerView(responsive.base.slides); 788 const baseLoopExtra = useLoop && !useCrossfade ? { loopAdditionalSlides: baseSpv !== 'auto' ? Math.ceil(baseSpv) + 1 : 4 } : {}; 789 790 const effectOptions = useCrossfade ? { effect: 'fade', fadeEffect: { crossFade: true } } : {}; 791 792 const autoplayOptions = useAutoplay ? { autoplay: { delay: autoplayDelay, disableOnInteraction: true, pauseOnMouseEnter: false } } : {}; 793 794 const loopOptions = useCrossfade ? { loop: false, rewind: true } : { loop: useLoop }; 795 796 // Slide counter 797 const currentEl = component.querySelector('[data-swiper-element="slide-current"]'); 798 const totalEl = component.querySelector('[data-swiper-element="slide-total"]'); 799 800 const updateCounter = (swiper) => { 801 if (!currentEl && !totalEl) return; 802 const total = swiper.slides.length; 803 const realIndex = swiper.realIndex + 1; 804 if (currentEl) currentEl.textContent = realIndex; 805 if (totalEl) totalEl.textContent = total; 806 }; 807 808 // Crossfade z-index and pointer-events 809 const updateCrossfadeStyles = (swiper) => { 810 if (!useCrossfade) return;
811 swiper.slides.forEach((slide, index) => { 812 if (index === swiper.activeIndex) { 813 slide.style.zIndex = 2; 814 slide.style.pointerEvents = ''; 815 } else { 816 slide.style.zIndex = 1; 817 slide.style.pointerEvents = 'none'; 818 } 819 }); 820 }; 821 822 // Init Swiper 823 const swiper = new Swiper(swiperContainer, { 824 slidesPerView: baseSpv, 825 spaceBetween: responsive.base.gap, 826 followFinger: allowGestures, 827 allowTouchMove: allowGestures, 828 simulateTouch: allowGestures, 829 freeMode: false, 830 slideToClickedSlide: false, 831 centeredSlides: centeredSlides, 832 autoHeight: useAutoHeight, 833 speed: speed, 834 slideActiveClass: 'is-active', 835 ...loopOptions, 836 ...baseLoopExtra, 837 ...effectOptions, 838 ...autoplayOptions, 839 breakpoints: buildBreakpoints(), 840 mousewheel: { forceToAxis: true }, 841 keyboard: { enabled: true, onlyInViewport: true }, 842 a11y: { 843 enabled: true, 844 prevSlideMessage: 'Previous slide', 845 nextSlideMessage: 'Next slide', 846 firstSlideMessage: 'This is the first slide', 847 lastSlideMessage: 'This is the last slide', 848 paginationBulletMessage: 'Go to slide {{index}}', 849 slideLabelMessage: 'Slide {{index}} of {{slidesLength}}', 850 containerRoleDescriptionMessage: 'carousel', 851 itemRoleDescriptionMessage: 'slide', 852 }, 853 navigation: { 854 nextEl: component.querySelector('[data-swiper-element="next-button"]'), 855 prevEl: component.querySelector('[data-swiper-element="prev-button"]'), 856 disabledClass: 'is-disabled', 857 }, 858 pagination: { 859 el: component.querySelector('[data-swiper-element="pagination"]'), 860 bulletActiveClass: 'is-active', 861 bulletClass: 'swiper-bullet', 862 bulletElement: 'button', 863 clickable: true, 864 }, 865 scrollbar: { 866 el: component.querySelector('[data-swiper-element="scrollbar"]'), 867 draggable: true, 868 dragClass: 'swiper-scrollbar-drag', 869 snapOnRelease: true, 870 }, 871 on: { 872 init: function () { 873 updateCounter(this); 874 updateCrossfadeStyles(this); 875 }, 876 afterInit: function () { 877 this.update(); 878 }, 879 slideChange: function () { 880 updateCounter(this); 881 updateCrossfadeStyles(this); 882 }, 883 }, 884 }); 885 886 setTimeout(() => { 887 swiper.update(); 888 updateCounter(swiper); 889 updateCrossfadeStyles(swiper); 890 }, 100); 891 892 // Image load handling 893 const images = swiperContainer.querySelectorAll('img'); 894 if (images.length > 0) { 895 let loadedCount = 0; 896 const onImageLoad = () => { 897 loadedCount++; 898 if (loadedCount === images.length) { 899 swiper.update(); 900 } 901 }; 902 images.forEach((img) => { 903 if (img.complete) { 904 loadedCount++; 905 } else { 906 img.addEventListener('load', onImageLoad, { once: true }); 907 } 908 }); 909 if (loadedCount === images.length) { 910 swiper.update(); 911 } 912 } 913 914 // Autoplay with progress bar and viewport awareness 915 if (useAutoplay) { 916 const progressWrapper = component.querySelector('[data-progress-wrapper]'); 917 const progressBar = component.querySelector('[data-progress]'); 918 919 let autoplayStopped = false; 920 let isInViewport = false; 921 let isHovering = false; 922 923 const startProgress = () => { 924 if (autoplayStopped || !progressBar) return; 925 progressBar.style.transition = 'none'; 926 progressBar.style.width = '0%'; 927 void progressBar.offsetWidth; 928 progressBar.style.transition = `width ${autoplayDelay}ms linear`; 929 progressBar.style.width = '100%'; 930 }; 931 932 const stopProgress = () => { 933 if (!progressBar) return; 934 autoplayStopped = true;
935 progressBar.style.transition = 'none'; 936 progressBar.style.width = '0%'; 937 }; 938 939 const pauseProgress = () => { 940 if (autoplayStopped || !progressBar) return; 941 const currentWidth = window.getComputedStyle(progressBar).width; 942 progressBar.style.transition = 'none'; 943 progressBar.style.width = currentWidth; 944 }; 945 946 const resumeProgress = () => { 947 if (autoplayStopped || !progressBar || !progressWrapper) return; 948 const currentWidth = parseFloat(window.getComputedStyle(progressBar).width); 949 const wrapperWidth = progressWrapper.offsetWidth; 950 if (wrapperWidth === 0) return; 951 const remainingTime = ((100 - (currentWidth / wrapperWidth) * 100) / 100) * autoplayDelay; 952 progressBar.style.transition = `width ${remainingTime}ms linear`; 953 progressBar.style.width = '100%'; 954 }; 955 956 swiper.on('autoplay', startProgress); 957 swiper.on('autoplayStop', stopProgress); 958 959 component.addEventListener('mouseenter', () => { 960 isHovering = true; 961 if (!autoplayStopped && isInViewport) { 962 swiper.autoplay.pause(); 963 pauseProgress(); 964 } 965 }); 966 967 component.addEventListener('mouseleave', () => { 968 isHovering = false; 969 if (!autoplayStopped && isInViewport) { 970 swiper.autoplay.resume(); 971 resumeProgress(); 972 } 973 }); 974 975 const observer = new IntersectionObserver( 976 (entries) => { 977 entries.forEach((entry) => { 978 isInViewport = entry.isIntersecting; 979 if (autoplayStopped) return; 980 981 if (entry.isIntersecting && !isHovering) { 982 swiper.autoplay.start(); 983 startProgress(); 984 } else if (!entry.isIntersecting) { 985 swiper.autoplay.pause(); 986 pauseProgress(); 987 } 988 }); 989 }, 990 { threshold: 0 }, 991 ); 992 993 observer.observe(component); 994 995 const initialRect = component.getBoundingClientRect(); 996 isInViewport = initialRect.top < window.innerHeight && initialRect.bottom > 0; 997 998 if (!isInViewport) { 999 swiper.autoplay.pause(); 1000 } else if (swiper.autoplay?.running) { 1001 startProgress(); 1002 } 1003 } 1004 1005 // Auto height updates 1006 if (useAutoHeight) { 1007 swiper.on('slideChange', () => setTimeout(() => swiper.updateAutoHeight(300), 50)); 1008 setTimeout(() => swiper.updateAutoHeight(300), 100); 1009 setTimeout(() => swiper.updateAutoHeight(300), 500); 1010 setTimeout(() => swiper.updateAutoHeight(300), 1000); 1011 } 1012 }); 1013 } 1014 1015 window.initSwipers = initSwipers; 1016 1017 // Runs exactly once per page view. This embed lives inside the Barba container, 1018 // so the transition script re-executes it after every navigation — persistent 1019 // listeners / Barba hooks are NOT needed (they stacked up across navigations: 1020 // by the Nth page view initSwipers was running ~2N+1 times per transition). 1021 if (document.readyState === 'loading') { 1022 document.addEventListener('DOMContentLoaded', initSwipers, { once: true }); 1023 } else { 1024 initSwipers(); 1025 } 1026</script>
1026</div><div class="filtering-dropdowns-script w-embed w-script"><style> 1027 .filtering_dropdown-list { 1028 overflow: hidden; 1029 height: 0; 1030 transition: height 0.4s ease; 1031 } 1032 .filtering_dropdown-toggle { 1033 cursor: pointer; 1034 } 1035 .filtering_dropdown-icon { 1036 transition: transform 0.3s ease; 1037 } 1038 .filtering_dropdown.is-open .filtering_dropdown-icon { 1039 transform: rotate(180deg); 1040 } 1041</style> 1042
1043<script> 1044 (function () { 1045 function listOf(i) { 1046 return i.querySelector('.filtering_dropdown-list'); 1047 } 1048 function closeItem(i) { 1049 var a = listOf(i); 1050 if (!a) return; 1051 a.style.height = a.scrollHeight + 'px'; 1052 requestAnimationFrame(function () { 1053 requestAnimationFrame(function () { 1054 a.style.height = '0px'; 1055 }); 1056 }); 1057 i.classList.remove('is-open'); 1058 } 1059 function openItem(i, instant) { 1060 var a = listOf(i); 1061 if (!a) return; 1062 i.classList.add('is-open'); 1063 if (instant) { 1064 a.style.height = 'auto'; 1065 return; 1066 } 1067 a.style.height = a.scrollHeight + 'px'; 1068 a.addEventListener('transitionend', function h(e) { 1069 if (e.propertyName === 'height' && i.classList.contains('is-open')) a.style.height = 'auto'; 1070 a.removeEventListener('transitionend', h); 1071 }); 1072 } 1073 1074 if (!window.__filterDdBound) { 1075 window.__filterDdBound = true; 1076 document.addEventListener('click', function (e) { 1077 var t = e.target.closest('.filtering_dropdown-toggle'); 1078 if (!t) return; 1079 var item = t.closest('.filtering_dropdown'); 1080 if (!item || item.classList.contains('is-open')) return; 1081 var panel = item.closest('.filtering_filters-panel'); 1082 if (panel) panel.querySelectorAll('.filtering_dropdown.is-open').forEach(closeItem); 1083 openItem(item, false); 1084 }); 1085 } 1086 1087 window.initFilterDropdownsFirstOpen = function () { 1088 document.querySelectorAll('.filtering_filters-panel').forEach(function (panel) { 1089 if (panel.dataset.ddInit) return; 1090 panel.dataset.ddInit = '1'; 1091 var first = panel.querySelector('.filtering_dropdown'); 1092 if (first) openItem(first, true); 1093 }); 1094 }; 1095 1096 // Runs exactly once per page view. This embed lives inside the Barba container, 1097 // so the transition script re-executes it after every navigation — persistent 1098 // listeners / Barba hooks are NOT needed (they stack up across navigations). 1099 function fire() { window.initFilterDropdownsFirstOpen(); } 1100 if (document.readyState === 'loading') { 1101 document.addEventListener('DOMContentLoaded', fire, { once: true }); 1102 } else { 1103 fire(); 1104 } 1105 })(); 1106</script>
1106</div><div class="filtering-radio-all-button-script w-embed w-script">
1106<script> 1107(function () { 1108 // --- "All" radio into the tag group (no-op on pages without it) --- 1109 window.moveAllButton = function () { 1110 var allInput = document.querySelector('input[fs-list-field][fs-list-value=""]'); 1111 if (!allInput) return; 1112 var allLabel = allInput.closest('label'); 1113 var tagList = document.querySelector('.w-dyn-list > .filtering_radio-group.w-dyn-items'); 1114 if (!allLabel || !tagList) return; 1115 if (allLabel.parentElement === tagList && tagList.lastElementChild === allLabel) return; 1116 var oldParent = allLabel.parentElement; 1117 tagList.appendChild(allLabel); 1118 if (oldParent && oldParent !== tagList && oldParent.children.length === 0) oldParent.remove(); 1119 }; 1120 1121 // --- Radio active state (fs-inputactive isn't firing; do it ourselves) --- 1122 window.syncRadioActive = function () { 1123 document.querySelectorAll('input[fs-list-field]').forEach(function (input) { 1124 var label = input.closest('label'); 1125 var span = label ? label.querySelector('.filtering_radio_label') : null; 1126 if (span) span.classList.toggle('is-inputactive-active', input.checked); 1127 }); 1128 }; 1129 if (!window.__radioActiveBound) { 1130 window.__radioActiveBound = true; 1131 document.addEventListener('change', function (e) { 1132 if (e.target.matches && e.target.matches('input[fs-list-field]')) window.syncRadioActive(); 1133 }); 1134 } 1135 1136 // --- Run / re-run all page enhancers (all idempotent) --- 1137 function reinitAll() { 1138 if (window.initFaqsFirstOpen) window.initFaqsFirstOpen(); 1139 if (window.initFilterDropdownsFirstOpen) window.initFilterDropdownsFirstOpen(); 1140 if (window.initSpotIndicators) window.initSpotIndicators(); 1141 if (window.initSwipers) window.initSwipers(); 1142 if (window.moveAllButton) window.moveAllButton(); 1143 if (window.syncRadioActive) window.syncRadioActive(); 1144 if (window.fitTextToWidth) window.fitTextToWidth(); 1145 } 1146 window.reinitAll = reinitAll; 1147 1148 // Runs exactly once per page view. This embed lives inside the Barba container, 1149 // so the transition script re-executes it after every navigation (and setupPage 1150 // also calls window.reinitAll() directly) — persistent listeners / Barba hooks 1151 // are NOT needed (they stack up across navigations). 1152 if (document.readyState === 'loading') { 1153 document.addEventListener('DOMContentLoaded', reinitAll, { once: true }); 1154 } else { 1155 reinitAll(); 1156 } 1157 1158 // After Finsweet (re)renders lists / injects nested content. 1159 // Registered ONCE per session — Finsweet callbacks persist, so re-pushing on 1160 // every navigation piled up duplicate callbacks. 1161 if (!window.__reinitAllFsHooked) { 1162 window.__reinitAllFsHooked = true; 1163 window.FinsweetAttributes = window.FinsweetAttributes || []; 1164 window.FinsweetAttributes.push(['list', function () { 1165 if (typeof window.reinitAll === 'function') window.reinitAll(); 1166 }]); 1167 } 1168})(); 1169</script>
1169</div><div class="cms-replace-text w-embed w-script">
1169<script> 1170 function replaceText() { 1171 document.querySelectorAll('[data-replace]').forEach(el => { 1172 el.textContent = el.dataset.replace; 1173 }); 1174 } 1175 1176 // Runs exactly once per page view. This embed lives inside the Barba container, 1177 // so the transition script re-executes it after every navigation — persistent 1178 // listeners / Barba hooks are NOT needed (they stack up across navigations). 1179 if (document.readyState === 'loading') { 1180 document.addEventListener('DOMContentLoaded', replaceText, { once: true }); 1181 } else { 1182 replaceText(); 1183 } 1184</script>
1184</div></div><section class="notice-banner_component"><div class="padding-global"><div class="notice-banner_content-wrapper"><div class="notice-banner_content"><div class="text-style-balance">Up to 70% SkillsFuture funding. Over 20,000 students trained.</div></div></div></div></section><div data-animation="default" class="navbar_component w-variant-eb4991b0-082f-85c7-ea48-f18166dc5cba w-nav" data-wf--navbar--variant="light" data-easing2="ease" fs-scrolldisable-element="smart-nav" data-easing="ease" data-collapse="medium" role="banner" data-duration="0"><div class="padding-global is-navbar"><div class="container-large is-navbar"><div class="navbar_container"><div class="navbar_logo-wrapper"><a href="/" class="navbar_logo-link w-nav-brand"><img loading="eager" height="44px" alt="Bettr Academy" src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f15e45dce8d8b2d8aceaab_63302f7dddc73d6e29a59a38aa832b72_relume-902605.svg" class="navbar_logo"/></a></div><div class="navbar_menu-right"><nav role="navigation" class="navbar_menu w-nav-menu"><div data-lenis-prevent="" class="navbar_menu-content"><div class="navbar_menu-left"><div data-delay="0" data-hover="true" class="navbar_dropdown w-variant-eb4991b0-082f-85c7-ea48-f18166dc5cba w-dropdown"><div class="navbar_dropdown-toggle w-variant-eb4991b0-082f-85c7-ea48-f18166dc5cba w-dropdown-toggle"><div>SGAC</div><div class="navbar_dropdown-chevron w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 8 5" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1185<path d="M7.89336 0.711412L4.25725 4.87781C4.22348 4.91654 4.18338 4.94727 4.13924 4.96824C4.0951 4.98921 4.04778 5 4 5C3.95222 5 3.9049 4.98921 3.86076 4.96824C3.81662 4.94727 3.77652 4.91654 3.74275 4.87781L0.106642 0.711412C0.0557328 0.653143 0.0210562 0.578875 0.00700251 0.498012C-0.00705118 0.417149 0.000149987 0.333325 0.0276944 0.257154C0.0552387 0.180983 0.101888 0.115889 0.161736 0.0701121C0.221584 0.0243356 0.29194 -6.47572e-05 0.363897 1.29075e-07H7.6361C7.70806 -6.47572e-05 7.77842 0.0243356 7.83826 0.0701121C7.89811 0.115889 7.94476 0.180983 7.97231 0.257154C7.99985 0.333325 8.00705 0.417149 7.993 0.498012C7.97894 0.578875 7.94427 0.653143 7.89336 0.711412Z" fill="currentColor"/> 1186</svg></div></div><nav class="navbar_dropdown-list w-dropdown-list"><div class="navbar_dropdown_content is-1-column"><div class="navbar_dropdown_content-right"><div class="navbar_dropdown_card-grid w-variant-eb4991b0-082f-85c7-ea48-f18166dc5cba is-3-columns"><a href="https://sgaeropresschampionship.com/" target="_blank" class="navbar_dropdown_card w-variant-eb4991b0-082f-85c7-ea48-f18166dc5cba w-inline-block"><div class="navbar_dropdown_card-image-wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2664687d2d7d8cacd8769_577ecbbc3c7dda537d87a3ea98d4d6ed_6057613870625264d841d9b29495a5933e4e02a8.avif" alt="Two cartoon figures relaxing on beach chairs under an umbrella, holding drinks and chatting." class="navbar_dropdown_card-image"/></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="navbar_dropdown_card-content"><div>Singapore Aeropress Championship 2026</div><div class="navbar_dropdown_card-arrow"><div class="icon-embed-full w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 12 11" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1187<path d="M5.66602 0.347656C5.73157 0.348304 5.78607 0.368725 5.84375 0.425781L10.6758 5.25781V5.25879C10.6947 5.27794 10.7095 5.29476 10.7197 5.30957L10.7402 5.34766C10.7508 5.37288 10.7568 5.40058 10.7568 5.43359C10.7568 5.46681 10.7515 5.49489 10.7412 5.51953H10.7402C10.732 5.53929 10.7148 5.56888 10.6777 5.60645L5.83984 10.4404C5.77628 10.5032 5.72178 10.5215 5.66406 10.5215C5.60777 10.5215 5.55724 10.5042 5.49902 10.4443L5.49609 10.4414L5.45996 10.3984C5.43087 10.3571 5.4209 10.3166 5.4209 10.2715C5.42098 10.2116 5.43914 10.1606 5.49609 10.1035L9.32715 6.27246L9.9209 5.67773H0.592773C0.507677 5.67773 0.457206 5.65353 0.415039 5.61133C0.372666 5.56895 0.347671 5.51848 0.347656 5.43359C0.347656 5.34866 0.372653 5.29825 0.415039 5.25586C0.457213 5.21364 0.507656 5.18848 0.592773 5.18848H9.9209L5.5 0.767578C5.44329 0.710792 5.42252 0.657593 5.42188 0.592773C5.42124 0.530239 5.44037 0.478884 5.49609 0.422852V0.421875C5.55192 0.365665 5.60357 0.347116 5.66602 0.347656Z" fill="currentColor" stroke="currentColor" stroke-width="0.695665"/> 1188</svg></div></div></div></a><a href="https://bettr.academy/courses/course/aeropress-workshop" class="navbar_dropdown_card w-variant-eb4991b0-082f-85c7-ea48-f18166dc5cba w-inline-block"><div class="navbar_dropdown_card-image-wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a221abc1f5c118ec52daf00_58%201.avif" alt="Child hugging a tree with leaves and fruit drawn in simple brown line art." class="navbar_dropdown_card-image"/></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="navbar_dropdown_card-content"><div>Aeropress Workshop</div><div class="navbar_dropdown_card-arrow"><div class="icon-embed-full w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
1188ox="0 0 12 11" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1189<path d="M5.66602 0.347656C5.73157 0.348304 5.78607 0.368725 5.84375 0.425781L10.6758 5.25781V5.25879C10.6947 5.27794 10.7095 5.29476 10.7197 5.30957L10.7402 5.34766C10.7508 5.37288 10.7568 5.40058 10.7568 5.43359C10.7568 5.46681 10.7515 5.49489 10.7412 5.51953H10.7402C10.732 5.53929 10.7148 5.56888 10.6777 5.60645L5.83984 10.4404C5.77628 10.5032 5.72178 10.5215 5.66406 10.5215C5.60777 10.5215 5.55724 10.5042 5.49902 10.4443L5.49609 10.4414L5.45996 10.3984C5.43087 10.3571 5.4209 10.3166 5.4209 10.2715C5.42098 10.2116 5.43914 10.1606 5.49609 10.1035L9.32715 6.27246L9.9209 5.67773H0.592773C0.507677 5.67773 0.457206 5.65353 0.415039 5.61133C0.372666 5.56895 0.347671 5.51848 0.347656 5.43359C0.347656 5.34866 0.372653 5.29825 0.415039 5.25586C0.457213 5.21364 0.507656 5.18848 0.592773 5.18848H9.9209L5.5 0.767578C5.44329 0.710792 5.42252 0.657593 5.42188 0.592773C5.42124 0.530239 5.44037 0.478884 5.49609 0.422852V0.421875C5.55192 0.365665 5.60357 0.347116 5.66602 0.347656Z" fill="currentColor" stroke="currentColor" stroke-width="0.695665"/> 1190</svg></div></div></div></a></div></div></div></nav></div><div data-delay="0" data-hover="true" class="navbar_dropdown w-variant-eb4991b0-082f-85c7-ea48-f18166dc5cba w-dropdown"><div class="navbar_dropdown-toggle w-variant-eb4991b0-082f-85c7-ea48-f18166dc5cba w-dropdown-toggle"><div>Courses</div><div class="navbar_dropdown-chevron w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 8 5" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1191<path d="M7.89336 0.711412L4.25725 4.87781C4.22348 4.91654 4.18338 4.94727 4.13924 4.96824C4.0951 4.98921 4.04778 5 4 5C3.95222 5 3.9049 4.98921 3.86076 4.96824C3.81662 4.94727 3.77652 4.91654 3.74275 4.87781L0.106642 0.711412C0.0557328 0.653143 0.0210562 0.578875 0.00700251 0.498012C-0.00705118 0.417149 0.000149987 0.333325 0.0276944 0.257154C0.0552387 0.180983 0.101888 0.115889 0.161736 0.0701121C0.221584 0.0243356 0.29194 -6.47572e-05 0.363897 1.29075e-07H7.6361C7.70806 -6.47572e-05 7.77842 0.0243356 7.83826 0.0701121C7.89811 0.115889 7.94476 0.180983 7.97231 0.257154C7.99985 0.333325 8.00705 0.417149 7.993 0.498012C7.97894 0.578875 7.94427 0.653143 7.89336 0.711412Z" fill="currentColor"/> 1192</svg></div></div><nav class="navbar_dropdown-list w-dropdown-list"><div class="navbar_dropdown_content"><div class="navbar_dropdown_content-left"><div class="navbar_dropdown_link-column"><div class="text-size-small text-style-muted">Course Categories</div><div class="w-dyn-list"><div role="list" class="navbar_dropdown_link-list is-2-columns w-dyn-items"><div role="listitem" class="w-dyn-item"><a href="/courses/course-category/barista-courses" class="navbar_dropdown_link w-inline-block"><div>Barista</div></a></div><div role="listitem" class="w-dyn-item"><a href="/courses/course-category/brewing" class="navbar_dropdown_link w-inline-block"><div>Brewing</div></a></div><div role="listitem" class="w-dyn-item"><a href="/courses/course-category/sensory" class="navbar_dropdown_link w-inline-block"><div>Sensory</div></a></div><div role="listitem" class="w-dyn-item"><a href="/courses/course-category/roasting" class="navbar_dropdown_link w-inline-block"><div>Roasting</div></a></div><div role="listitem" class="w-dyn-item"><a href="/courses/course-category/green-coffee" class="navbar_dropdown_link w-inline-block"><div>Green Coffee</div></a></div><div role="listitem" class="w-dyn-item"><a href="/courses/course-category/specialty-tea" class="navbar_dropdown_link w-inline-block"><div>Specialty Tea</div></a></div><div role="listitem" class="w-dyn-item"><a href="/courses/course-category/beverages" class="navbar_dropdown_link w-inline-block"><div>Beverages</div></a></div><div role="listitem" class="w-dyn-item"><a href="/courses/course-category/hospitality-skills" class="navbar_dropdown_link w-inline-block"><div>Hospitality Skills</div></a></div><div role="listitem" class="w-dyn-item"><a href="/courses/course-category/skillsfuture-career-transition-programme-sctp" class="navbar_dropdown_link w-inline-block"><div>SkillsFuture Career Transition Programme</div></a></div></div></div></div></div><div class="navbar_dropdown_content-right"><div class="navbar_dropdown_card-grid w-variant-eb4991b0-082f-85c7-ea48-f18166dc5cba"><a href="/courses" aria-current="page" class="navbar_dropdown_card w-inline-block w--current"><div class="navbar_dropdown_card-image-wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f26292c0b32095f0fc8549_1f62791d2047a4aeb93145409424b70e_87abc9e086ae73865a76239cc08423b3e834e7e9.avif" alt="Simple drawing of a snail with a spiraled shell near an abstract tree with five rounded branches." class="navbar_dropdown_card-image"/></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="navbar_dropdown_card-content"><div class="text-block-5">All courses</div><div class="navbar_dropdown_card-arrow"><div class="icon-embed-full w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
1192ox="0 0 12 11" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1193<path d="M5.66602 0.347656C5.73157 0.348304 5.78607 0.368725 5.84375 0.425781L10.6758 5.25781V5.25879C10.6947 5.27794 10.7095 5.29476 10.7197 5.30957L10.7402 5.34766C10.7508 5.37288 10.7568 5.40058 10.7568 5.43359C10.7568 5.46681 10.7515 5.49489 10.7412 5.51953H10.7402C10.732 5.53929 10.7148 5.56888 10.6777 5.60645L5.83984 10.4404C5.77628 10.5032 5.72178 10.5215 5.66406 10.5215C5.60777 10.5215 5.55724 10.5042 5.49902 10.4443L5.49609 10.4414L5.45996 10.3984C5.43087 10.3571 5.4209 10.3166 5.4209 10.2715C5.42098 10.2116 5.43914 10.1606 5.49609 10.1035L9.32715 6.27246L9.9209 5.67773H0.592773C0.507677 5.67773 0.457206 5.65353 0.415039 5.61133C0.372666 5.56895 0.347671 5.51848 0.347656 5.43359C0.347656 5.34866 0.372653 5.29825 0.415039 5.25586C0.457213 5.21364 0.507656 5.18848 0.592773 5.18848H9.9209L5.5 0.767578C5.44329 0.710792 5.42252 0.657593 5.42188 0.592773C5.42124 0.530239 5.44037 0.478884 5.49609 0.422852V0.421875C5.55192 0.365665 5.60357 0.347116 5.66602 0.347656Z" fill="currentColor" stroke="currentColor" stroke-width="0.695665"/> 1194</svg></div></div></div></a></div></div></div></nav></div><div data-delay="0" data-hover="true" class="navbar_dropdown w-variant-eb4991b0-082f-85c7-ea48-f18166dc5cba w-dropdown"><div class="navbar_dropdown-toggle w-variant-eb4991b0-082f-85c7-ea48-f18166dc5cba w-dropdown-toggle"><div>Corporate</div><div class="navbar_dropdown-chevron w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 8 5" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1195<path d="M7.89336 0.711412L4.25725 4.87781C4.22348 4.91654 4.18338 4.94727 4.13924 4.96824C4.0951 4.98921 4.04778 5 4 5C3.95222 5 3.9049 4.98921 3.86076 4.96824C3.81662 4.94727 3.77652 4.91654 3.74275 4.87781L0.106642 0.711412C0.0557328 0.653143 0.0210562 0.578875 0.00700251 0.498012C-0.00705118 0.417149 0.000149987 0.333325 0.0276944 0.257154C0.0552387 0.180983 0.101888 0.115889 0.161736 0.0701121C0.221584 0.0243356 0.29194 -6.47572e-05 0.363897 1.29075e-07H7.6361C7.70806 -6.47572e-05 7.77842 0.0243356 7.83826 0.0701121C7.89811 0.115889 7.94476 0.180983 7.97231 0.257154C7.99985 0.333325 8.00705 0.417149 7.993 0.498012C7.97894 0.578875 7.94427 0.653143 7.89336 0.711412Z" fill="currentColor"/> 1196</svg></div></div><nav class="navbar_dropdown-list w-dropdown-list"><div class="navbar_dropdown_content is-1-column"><div class="navbar_dropdown_content-right"><div class="navbar_dropdown_card-grid w-variant-eb4991b0-082f-85c7-ea48-f18166dc5cba"><a href="/workshops-experiences" class="navbar_dropdown_card w-inline-block"><div class="navbar_dropdown_card-image-wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2657abaeb0a6ab77a3a85_b649aad5b14d33a3b1a1eac9983b6bf0_98586411a8423b708fe1751ad592c259d10e1d29.avif" alt="Two people making coffee with a drip, while a dog with raised paws looks on, all in cartoon style." class="navbar_dropdown_card-image"/></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="navbar_dropdown_card-content"><div>Workshops & Experiences</div><div class="navbar_dropdown_card-arrow"><div class="icon-embed-full w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 12 11" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1197<path d="M5.66602 0.347656C5.73157 0.348304 5.78607 0.368725 5.84375 0.425781L10.6758 5.25781V5.25879C10.6947 5.27794 10.7095 5.29476 10.7197 5.30957L10.7402 5.34766C10.7508 5.37288 10.7568 5.40058 10.7568 5.43359C10.7568 5.46681 10.7515 5.49489 10.7412 5.51953H10.7402C10.732 5.53929 10.7148 5.56888 10.6777 5.60645L5.83984 10.4404C5.77628 10.5032 5.72178 10.5215 5.66406 10.5215C5.60777 10.5215 5.55724 10.5042 5.49902 10.4443L5.49609 10.4414L5.45996 10.3984C5.43087 10.3571 5.4209 10.3166 5.4209 10.2715C5.42098 10.2116 5.43914 10.1606 5.49609 10.1035L9.32715 6.27246L9.9209 5.67773H0.592773C0.507677 5.67773 0.457206 5.65353 0.415039 5.61133C0.372666 5.56895 0.347671 5.51848 0.347656 5.43359C0.347656 5.34866 0.372653 5.29825 0.415039 5.25586C0.457213 5.21364 0.507656 5.18848 0.592773 5.18848H9.9209L5.5 0.767578C5.44329 0.710792 5.42252 0.657593 5.42188 0.592773C5.42124 0.530239 5.44037 0.478884 5.49609 0.422852V0.421875C5.55192 0.365665 5.60357 0.347116 5.66602 0.347656Z" fill="currentColor" stroke="currentColor" stroke-width="0.695665"/> 1198</svg></div></div></div></a><a href="/corporate-training" class="navbar_dropdown_card w-inline-block"><div class="navbar_dropdown_card-image-wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f265a94b1f70cabc1e1880_3b0c5d95a05c9f5ec72cd4442083a7db_2f99423cda829fcf4c413a44f8d7530c320e6926.avif" alt="Cartoon of two smiling people with a sun and rainbow above, and a dog offering a cup." class="navbar_dropdown_card-image"/></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="navbar_dropdown_card-content"><div>
1198Corporate Training</div><div class="navbar_dropdown_card-arrow"><div class="icon-embed-full w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 12 11" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1199<path d="M5.66602 0.347656C5.73157 0.348304 5.78607 0.368725 5.84375 0.425781L10.6758 5.25781V5.25879C10.6947 5.27794 10.7095 5.29476 10.7197 5.30957L10.7402 5.34766C10.7508 5.37288 10.7568 5.40058 10.7568 5.43359C10.7568 5.46681 10.7515 5.49489 10.7412 5.51953H10.7402C10.732 5.53929 10.7148 5.56888 10.6777 5.60645L5.83984 10.4404C5.77628 10.5032 5.72178 10.5215 5.66406 10.5215C5.60777 10.5215 5.55724 10.5042 5.49902 10.4443L5.49609 10.4414L5.45996 10.3984C5.43087 10.3571 5.4209 10.3166 5.4209 10.2715C5.42098 10.2116 5.43914 10.1606 5.49609 10.1035L9.32715 6.27246L9.9209 5.67773H0.592773C0.507677 5.67773 0.457206 5.65353 0.415039 5.61133C0.372666 5.56895 0.347671 5.51848 0.347656 5.43359C0.347656 5.34866 0.372653 5.29825 0.415039 5.25586C0.457213 5.21364 0.507656 5.18848 0.592773 5.18848H9.9209L5.5 0.767578C5.44329 0.710792 5.42252 0.657593 5.42188 0.592773C5.42124 0.530239 5.44037 0.478884 5.49609 0.422852V0.421875C5.55192 0.365665 5.60357 0.347116 5.66602 0.347656Z" fill="currentColor" stroke="currentColor" stroke-width="0.695665"/> 1200</svg></div></div></div></a></div></div></div></nav></div><div data-delay="0" data-hover="true" class="navbar_dropdown w-variant-eb4991b0-082f-85c7-ea48-f18166dc5cba w-dropdown"><div class="navbar_dropdown-toggle w-variant-eb4991b0-082f-85c7-ea48-f18166dc5cba w-dropdown-toggle"><div>Community</div><div class="navbar_dropdown-chevron w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 8 5" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1201<path d="M7.89336 0.711412L4.25725 4.87781C4.22348 4.91654 4.18338 4.94727 4.13924 4.96824C4.0951 4.98921 4.04778 5 4 5C3.95222 5 3.9049 4.98921 3.86076 4.96824C3.81662 4.94727 3.77652 4.91654 3.74275 4.87781L0.106642 0.711412C0.0557328 0.653143 0.0210562 0.578875 0.00700251 0.498012C-0.00705118 0.417149 0.000149987 0.333325 0.0276944 0.257154C0.0552387 0.180983 0.101888 0.115889 0.161736 0.0701121C0.221584 0.0243356 0.29194 -6.47572e-05 0.363897 1.29075e-07H7.6361C7.70806 -6.47572e-05 7.77842 0.0243356 7.83826 0.0701121C7.89811 0.115889 7.94476 0.180983 7.97231 0.257154C7.99985 0.333325 8.00705 0.417149 7.993 0.498012C7.97894 0.578875 7.94427 0.653143 7.89336 0.711412Z" fill="currentColor"/> 1202</svg></div></div><nav class="navbar_dropdown-list w-dropdown-list"><div class="navbar_dropdown_content is-1-column"><div class="navbar_dropdown_content-right"><div class="navbar_dropdown_card-grid w-variant-eb4991b0-082f-85c7-ea48-f18166dc5cba is-3-columns"><a href="/community-programmes" class="navbar_dropdown_card w-variant-eb4991b0-082f-85c7-ea48-f18166dc5cba w-inline-block"><div class="navbar_dropdown_card-image-wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2664687d2d7d8cacd8769_577ecbbc3c7dda537d87a3ea98d4d6ed_6057613870625264d841d9b29495a5933e4e02a8.avif" alt="Two cartoon figures relaxing on beach chairs under an umbrella, holding drinks and chatting." class="navbar_dropdown_card-image"/></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="navbar_dropdown_card-content"><div>Community Programmes</div><div class="navbar_dropdown_card-arrow"><div class="icon-embed-full w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 12 11" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1203<path d="M5.66602 0.347656C5.73157 0.348304 5.78607 0.368725 5.84375 0.425781L10.6758 5.25781V5.25879C10.6947 5.27794 10.7095 5.29476 10.7197 5.30957L10.7402 5.34766C10.7508 5.37288 10.7568 5.40058 10.7568 5.43359C10.7568 5.46681 10.7515 5.49489 10.7412 5.51953H10.7402C10.732 5.53929 10.7148 5.56888 10.6777 5.60645L5.83984 10.4404C5.77628 10.5032 5.72178 10.5215 5.66406 10.5215C5.60777 10.5215 5.55724 10.5042 5.49902 10.4443L5.49609 10.4414L5.45996 10.3984C5.43087 10.3571 5.4209 10.3166 5.4209 10.2715C5.42098 10.2116 5.439
120314 10.1606 5.49609 10.1035L9.32715 6.27246L9.9209 5.67773H0.592773C0.507677 5.67773 0.457206 5.65353 0.415039 5.61133C0.372666 5.56895 0.347671 5.51848 0.347656 5.43359C0.347656 5.34866 0.372653 5.29825 0.415039 5.25586C0.457213 5.21364 0.507656 5.18848 0.592773 5.18848H9.9209L5.5 0.767578C5.44329 0.710792 5.42252 0.657593 5.42188 0.592773C5.42124 0.530239 5.44037 0.478884 5.49609 0.422852V0.421875C5.55192 0.365665 5.60357 0.347116 5.66602 0.347656Z" fill="currentColor" stroke="currentColor" stroke-width="0.695665"/> 1204</svg></div></div></div></a><a href="/impact" class="navbar_dropdown_card w-inline-block"><div class="navbar_dropdown_card-image-wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f2665b03263193103cca9c_b72a667ef19f7c5e3da562016530a6ed03d46f3a.avif" alt="Simple brown line drawing of a snail on a black background." class="navbar_dropdown_card-image"/></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="navbar_dropdown_card-content"><div>Impact</div><div class="navbar_dropdown_card-arrow"><div class="icon-embed-full w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 12 11" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1205<path d="M5.66602 0.347656C5.73157 0.348304 5.78607 0.368725 5.84375 0.425781L10.6758 5.25781V5.25879C10.6947 5.27794 10.7095 5.29476 10.7197 5.30957L10.7402 5.34766C10.7508 5.37288 10.7568 5.40058 10.7568 5.43359C10.7568 5.46681 10.7515 5.49489 10.7412 5.51953H10.7402C10.732 5.53929 10.7148 5.56888 10.6777 5.60645L5.83984 10.4404C5.77628 10.5032 5.72178 10.5215 5.66406 10.5215C5.60777 10.5215 5.55724 10.5042 5.49902 10.4443L5.49609 10.4414L5.45996 10.3984C5.43087 10.3571 5.4209 10.3166 5.4209 10.2715C5.42098 10.2116 5.43914 10.1606 5.49609 10.1035L9.32715 6.27246L9.9209 5.67773H0.592773C0.507677 5.67773 0.457206 5.65353 0.415039 5.61133C0.372666 5.56895 0.347671 5.51848 0.347656 5.43359C0.347656 5.34866 0.372653 5.29825 0.415039 5.25586C0.457213 5.21364 0.507656 5.18848 0.592773 5.18848H9.9209L5.5 0.767578C5.44329 0.710792 5.42252 0.657593 5.42188 0.592773C5.42124 0.530239 5.44037 0.478884 5.49609 0.422852V0.421875C5.55192 0.365665 5.60357 0.347116 5.66602 0.347656Z" fill="currentColor" stroke="currentColor" stroke-width="0.695665"/> 1206</svg></div></div></div></a></div></div></div></nav></div><div data-delay="0" data-hover="true" class="navbar_dropdown w-variant-eb4991b0-082f-85c7-ea48-f18166dc5cba w-dropdown"><div class="navbar_dropdown-toggle w-variant-eb4991b0-082f-85c7-ea48-f18166dc5cba w-dropdown-toggle"><div>About</div><div class="navbar_dropdown-chevron w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 8 5" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1207<path d="M7.89336 0.711412L4.25725 4.87781C4.22348 4.91654 4.18338 4.94727 4.13924 4.96824C4.0951 4.98921 4.04778 5 4 5C3.95222 5 3.9049 4.98921 3.86076 4.96824C3.81662 4.94727 3.77652 4.91654 3.74275 4.87781L0.106642 0.711412C0.0557328 0.653143 0.0210562 0.578875 0.00700251 0.498012C-0.00705118 0.417149 0.000149987 0.333325 0.0276944 0.257154C0.0552387 0.180983 0.101888 0.115889 0.161736 0.0701121C0.221584 0.0243356 0.29194 -6.47572e-05 0.363897 1.29075e-07H7.6361C7.70806 -6.47572e-05 7.77842 0.0243356 7.83826 0.0701121C7.89811 0.115889 7.94476 0.180983 7.97231 0.257154C7.99985 0.333325 8.00705 0.417149 7.993 0.498012C7.97894 0.578875 7.94427 0.653143 7.89336 0.711412Z" fill="currentColor"/> 1208</svg></div></div><nav class="navbar_dropdown-list w-dropdown-list"><div class="navbar_dropdown_content"><div class="navbar_dropdown_content-left is-2-columns"><div class="navbar_dropdown_link-column"><div class="text-size-small text-style-muted">Bettr Academy</div><div class="navbar_dropdown_link-list"><a href="/about-us" class="navbar_dropdown_link w-inline-block"><div>About Us</div></a><a href="/about-us/frequently-asked-questions" class="navbar_dropdown_link w-inline-block"><div>FAQ</div></a><a href="/our-trainers" class="navbar_dropdown_link w-inline-block"><div>Our Trainers</div></a><a href="/about-us/careers" class="navbar_dropdown_link w-inline-block"><div>Careers</div></a><a href="/be-our-partner" class="navbar_dropdown_link w-inline-block"><div>Be Our Partner</div></a><a href="/impact/impact-stories" class="navbar_dropdown_link w-inline-block"><div>Impact Stories</div></a></div></div><div class="navbar_dropdown_link-column"><div class="text-size-small text-style-muted">Get in Touch</div><div class="navbar_dropdown_link-list"><a href="/contact-us" class="navbar_dropdown_link w-inline-block"><div>Contact Us</div></a><a href="https://www.facebook.com/bettr.academy" class="navbar_dropdown_link w-inline-block"><div>Facebook</div></a><a href="https://www.linkedin.com/company/bettr-group/" class="navbar_dropdown_link w-inline-block"><div>LinkedIn</div></a><a href="https://www.instagram.com/bettr.academy" class="navbar_dropdown_link w-inline-block"><div>Instagram</div></a></div></div></div><div class="navbar_dropdown_content-right"><div class="navbar_dropdown_card-grid w-variant-eb4991b0-082f-85c7-ea48-f18166dc5cba"><a href="/about-us/annual-reports" class="navbar_dropdown_card w-variant-eb4991b0-082f-85c7-ea48-f18166dc5cba w-inline-block"><div class="navbar_dropdown_card-image-wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f266df1b803c4e854883ff_130448b3ff564bc56839774edb57327c_682e721f86e894cfc6015a14555ee33db190f33e.avif" alt="Cartoon wolf typing vigorously on a laptop surrounded by three coffee cups." class="navbar_dropdown_card-image"/></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="navbar_dropdown_card-content"><div>Annual Reports</div><div class="navbar_dropdown_card-arrow"><div class="icon-embed-full w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
1208ox="0 0 12 11" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1209<path d="M5.66602 0.347656C5.73157 0.348304 5.78607 0.368725 5.84375 0.425781L10.6758 5.25781V5.25879C10.6947 5.27794 10.7095 5.29476 10.7197 5.30957L10.7402 5.34766C10.7508 5.37288 10.7568 5.40058 10.7568 5.43359C10.7568 5.46681 10.7515 5.49489 10.7412 5.51953H10.7402C10.732 5.53929 10.7148 5.56888 10.6777 5.60645L5.83984 10.4404C5.77628 10.5032 5.72178 10.5215 5.66406 10.5215C5.60777 10.5215 5.55724 10.5042 5.49902 10.4443L5.49609 10.4414L5.45996 10.3984C5.43087 10.3571 5.4209 10.3166 5.4209 10.2715C5.42098 10.2116 5.43914 10.1606 5.49609 10.1035L9.32715 6.27246L9.9209 5.67773H0.592773C0.507677 5.67773 0.457206 5.65353 0.415039 5.61133C0.372666 5.56895 0.347671 5.51848 0.347656 5.43359C0.347656 5.34866 0.372653 5.29825 0.415039 5.25586C0.457213 5.21364 0.507656 5.18848 0.592773 5.18848H9.9209L5.5 0.767578C5.44329 0.710792 5.42252 0.657593 5.42188 0.592773C5.42124 0.530239 5.44037 0.478884 5.49609 0.422852V0.421875C5.55192 0.365665 5.60357 0.347116 5.66602 0.347656Z" fill="currentColor" stroke="currentColor" stroke-width="0.695665"/> 1210</svg></div></div></div></a><a href="https://bettr.coffee/" class="navbar_dropdown_card w-inline-block"><div class="navbar_dropdown_card-image-wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f266ab6923923721dce6b3_7182eb026814726247203d8bf400f83f_1b9f2410834159c9cef345d658ce7fda6f2cba5c.avif" alt="Cartoon snail wearing a hat, waving with a smile and spiral shell on its back." class="navbar_dropdown_card-image"/></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="navbar_dropdown_card-content"><div>Shop Bettr Coffee</div><div class="navbar_dropdown_card-arrow"><div class="icon-embed-full w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 12 11" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1211<path d="M5.66602 0.347656C5.73157 0.348304 5.78607 0.368725 5.84375 0.425781L10.6758 5.25781V5.25879C10.6947 5.27794 10.7095 5.29476 10.7197 5.30957L10.7402 5.34766C10.7508 5.37288 10.7568 5.40058 10.7568 5.43359C10.7568 5.46681 10.7515 5.49489 10.7412 5.51953H10.7402C10.732 5.53929 10.7148 5.56888 10.6777 5.60645L5.83984 10.4404C5.77628 10.5032 5.72178 10.5215 5.66406 10.5215C5.60777 10.5215 5.55724 10.5042 5.49902 10.4443L5.49609 10.4414L5.45996 10.3984C5.43087 10.3571 5.4209 10.3166 5.4209 10.2715C5.42098 10.2116 5.43914 10.1606 5.49609 10.1035L9.32715 6.27246L9.9209 5.67773H0.592773C0.507677 5.67773 0.457206 5.65353 0.415039 5.61133C0.372666 5.56895 0.347671 5.51848 0.347656 5.43359C0.347656 5.34866 0.372653 5.29825 0.415039 5.25586C0.457213 5.21364 0.507656 5.18848 0.592773 5.18848H9.9209L5.5 0.767578C5.44329 0.710792 5.42252 0.657593 5.42188 0.592773C5.42124 0.530239 5.44037 0.478884 5.49609 0.422852V0.421875C5.55192 0.365665 5.60357 0.347116 5.66602 0.347656Z" fill="currentColor" stroke="currentColor" stroke-width="0.695665"/> 1212</svg></div></div></div></a></div></div></div></nav></div></div><div class="navbar_menu-button-group"><div class="show-mobile-portrait"><div data-delay="0" data-hover="false" class="search-dropdown w-dropdown"><div class="search-dropdown_toggle w-dropdown-toggle"><div class="search-dropdown_icon-wrapper is-search"><div class="search-dropdown_icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--ic" width="100%" height="100%" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"><path fill="currentColor" d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5A6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5S14 7.01 14 9.5S11.99 14 9.5 14z"></path></svg></div><div class="search-dropdown_text">Search</div></div><div class="search-dropdown_icon-wrapper is-close"><div class="search-dropdown_icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--ic" width="100%" height="100%" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24">
1212<path fill="currentColor" d="M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12z"></path></svg></div><div class="search-dropdown_text">Close Search</div></div></div><nav class="search-dropdown_list w-dropdown-list"><div class="search-dropdown_content"><div class="search_wrapper"><div tr-search-element="component" class="c_search_component"><form action="/search" class="c_search_bar w-form"><input class="c_search_input w-input" tr-search-element="input" maxlength="256" name="query" placeholder="Search…" type="search" id="search" required=""/><div class="c_search_icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--bx" width="100%" height="100%" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"><path fill="currentColor" d="M10 18a7.95 7.95 0 0 0 4.897-1.688l4.396 4.396l1.414-1.414l-4.396-4.396A7.95 7.95 0 0 0 18 10c0-4.411-3.589-8-8-8s-8 3.589-8 8s3.589 8 8 8m0-14c3.309 0 6 2.691 6 6s-2.691 6-6 6s-6-2.691-6-6s2.691-6 6-6"></path></svg></div><a tr-search-element="clear" href="#" class="c_search_clear w-inline-block"><div class="c_search_clear-icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--ic" width="100%" height="100%" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"><path fill="currentColor" d="M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12z"></path></svg></div><div class="c_search_clear-text">Clear Search Results</div></a><input type="submit" class="c_search_button w-button" value="Search"/></form><div class="c_search_results color-scheme-4"><div tr-search-element="results-wrapper" class="c_search_results-container"></div></div></div></div></div></nav></div></div><div class="show-mobile-portrait"><a href="/take-the-quiz" class="button is-navbar w-button">Find Your Path</a></div></div></div></nav><div class="navbar_menu-button-group"><div class="hide-mobile-portrait"><div data-delay="0" data-hover="false" class="search-dropdown w-dropdown"><div class="search-dropdown_toggle w-dropdown-toggle"><div class="search-dropdown_icon-wrapper is-search"><div class="search-dropdown_icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--ic" width="100%" height="100%" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"><path fill="currentColor" d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5A6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5S14 7.01 14 9.5S11.99 14 9.5 14z"></path></svg></div><div class="search-dropdown_text">Search</div></div><div class="search-dropdown_icon-wrapper is-close"><div class="search-dropdown_icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--ic" width="100%" height="100%" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"><path fill="currentColor" d="M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12z"></path></svg></div><div class="search-dropdown_text">Close Search</div></div></div><nav class="search-dropdown_list w-dropdown-list"><div class="search-dropdown_content"><div class="search_wrapper"><div tr-search-element="component" class="c_search_component"><form action="/search" class="c_search_bar w-form"><input class="c_search_input w-input" tr-search-element="input" maxlength="256" name="query" placeholder="Search…" type="search" id="search" required=""/><div class="c_search_icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--bx" width="100%" height="100%" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"><path fill="currentColor" d="M10 18a7.95 7.95 0 0 0 4.897-1.688l4.396 4.396l1.414-1.414l-4.396-4.396A7.95 7.95 0 0 0 18 10c0-4.411-3.589-8-8-8s-8 3.589-8 8s3.589 8 8 8m0-14c3.309 0 6 2.691 6 6s-2.691 6-6 6s-6-2.691-6-6s2.691-6 6-6"></path></svg></div><a tr-search-element="clear" href="#" class="c_search_clear w-inline-block"><div class="c_search_clear-icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--ic" width="100%" height="100%" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24">
1212<path fill="currentColor" d="M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12z"></path></svg></div><div class="c_search_clear-text">Clear Search Results</div></a><input type="submit" class="c_search_button w-button" value="Search"/></form><div class="c_search_results color-scheme-4"><div tr-search-element="results-wrapper" class="c_search_results-container"></div></div></div></div></div></nav></div></div><div class="navbar_menu-button w-nav-button"><div class="navbar_menu-button_line-wrapper"><div class="navbar_menu-button_line"></div><div class="navbar_menu-button_line"></div><div class="navbar_menu-button_line"></div></div></div></div></div></div></div></div><div class="navbar_background"></div><div class="navbar_menu-button_styles w-embed"><style> 1213.notice-banner_component { 1214 height: auto; 1215 overflow: hidden; 1216 transition: height 0.3s ease; 1217} 1218.navbar_menu-button_line-wrapper { 1219 --thickness: 0.125rem; 1220 --gap: 0.4rem; 1221 --rotate: 45; 1222 --width: 100%; 1223} 1224.w--open .navbar_menu-button_line { 1225 transform: scaleX(0); 1226} 1227.w--open .navbar_menu-button_line:first-child { 1228 transform: translateY(calc(var(--thickness) + var(--gap))) rotate(calc(var(--rotate) * 3 * 1deg)); 1229} 1230.w--open .navbar_menu-button_line:last-child { 1231 transform: translateY(calc(var(--thickness) * -1 + var(--gap) * -1)) rotate(calc(var(--rotate) * 1deg)); 1232} 1233body:has(.navbar_menu-button.w--open) .notice-banner_component { 1234 height: 0px; 1235} 1236@media (max-width: 991px) { 1237 .navbar_menu { 1238 display: none; 1239 opacity: 0; 1240 transition: opacity 0.3s ease, display 0.3s ease allow-discrete; 1241 } 1242 body:has(.navbar_menu-button.w--open) .navbar_menu { 1243 display: flex; 1244 opacity: 1; 1245 } 1246 @starting-style { 1247 body:has(.navbar_menu-button.w--open) .navbar_menu { 1248 opacity: 0; 1249 } 1250 } 1251} 1252</style></div><div class="c_search_styles w-embed"><style> 1253[tr-search-element=results-wrapper] { 1254 visibility: hidden; 1255 opacity: 0; 1256} 1257[tr-search-element=component]:focus-within.is-open [tr-search-element=results-wrapper] { 1258 visibility: visible; 1259 opacity: 1; 1260} 1261[tr-search-element=component]:focus-within.is-open [tr-search-element=input] { 1262 border-bottom-right-radius: 0em; 1263 border-bottom-left-radius: 0em; 1264} 1265</style> 1266 1267 1268<style> 1269 /* grow-then-fade reveal: wrapper animates 0fr -> 1fr, then results fade in */ 1270 .c_search_component .c_search_results { 1271 display: grid; 1272 grid-template-rows: 0fr; 1273 height: auto; 1274 overflow: hidden; 1275 transition: grid-template-rows 0.5s cubic-bezier(0.625, 0.05, 0, 1); 1276 } 1277 .c_search_component.is-open .c_search_results { 1278 grid-template-rows: 1fr; 1279 } 1280 .c_search_component .c_search_results-container { 1281 min-height: 0; 1282 visibility: visible; 1283 opacity: 0; 1284 padding-top: 0; 1285 padding-bottom: 0; 1286 max-height: 25em; 1287 max-height: min(25em, 60dvh); 1288 transition: opacity 0.25s, padding 0.5s cubic-bezier(0.625, 0.05, 0, 1); 1289 } 1290 .c_search_component.is-open .c_search_results-container { 1291 opacity: 1; 1292 padding-top: 0.8rem; 1293 padding-bottom: 1.5rem; 1294 transition: opacity 0.3s 0.2s, padding 0.5s cubic-bezier(0.625, 0.05, 0, 1); 1295 } 1296 1297 /* compact dropdown styling for injected search-page results */ 1298 .c_search_results-container .search_results-heading { 1299 font-size: 1.375rem; 1300 line-height: 1.35; 1301 display: block; 1302 transition: color 0.2s; 1303 } 1304 .c_search_results-container .search_results-heading:hover { 1305 color: var(--color-scheme-1--accent); 1306 } 1307 .c_search_results-container .search_results-link { 1308 display: none; 1309 } 1310 .c_search_results-container .search_results-list-item p { 1311 font-size: 0.875rem; 1312 opacity: 0.75; 1313 margin-bottom: 0; 1314 display: -webkit-box; 1315 -webkit-line-clamp: 2; 1316 -webkit-box-orient: vertical; 1317 overflow: hidden; 1318 } 1319 .c_search_results-container .search_results-list-item { 1320 padding: 0.9rem 0.25rem; 1321 border-bottom: 1px solid color-mix(in srgb, currentColor 15%, transparent); 1322 } 1323 .c_search_results-container .search_results-list-item:last-child { 1324 border-bottom: none; 1325 } 1326 .c_search_results-container .search_results-list-item .margin-top { 1327 margin-top: 0.4rem; 1328 } 1329 1330 @media (max-width: 479px) { 1331 .c_search_results-container .search_results-heading { 1332 font-size: 1.125rem; 1333 } 1334 .c_search_results-container .search_results-list-item { 1335 padding: 0.75rem 0.125rem; 1336 } 1337 } 1338</style></div><div class="c_search_script w-embed w-script">
1338<script> 1339(function () { 1340 if (window.__trSearchInit) return; 1341 window.__trSearchInit = true; 1342 1343 var DEBOUNCE_MS = 250; 1344 1345 function closeComponent(component) { 1346 component.classList.remove("is-open"); 1347 // invalidate any in-flight fetch so it can't reopen a closed component 1348 component.__trSearchSeq = (component.__trSearchSeq || 0) + 1; 1349 } 1350 1351 function closeAll(clearField) { 1352 document.querySelectorAll("[tr-search-element='component']").forEach(function (component) { 1353 if (clearField) { 1354 var input = component.querySelector("[tr-search-element='input']"); 1355 if (input) input.value = ""; 1356 } 1357 closeComponent(component); 1358 }); 1359 } 1360 1361 // delegated to document — no jQuery needed, survives Barba container swaps 1362 document.addEventListener("input", function (e) { 1363 if (!e.target || !e.target.closest) return; 1364 var input = e.target.closest("[tr-search-element='input']"); 1365 if (!input) return; 1366 var component = input.closest("[tr-search-element='component']"); 1367 if (!component) return; 1368 var resultsWrapper = component.querySelector("[tr-search-element='results-wrapper']"); 1369 var fieldValue = input.value; 1370 1371 // inner scroll area must opt out of Lenis or wheel events never reach it 1372 if (resultsWrapper) resultsWrapper.setAttribute("data-lenis-prevent", ""); 1373 1374 clearTimeout(component.__trSearchTimer); 1375 1376 if (!fieldValue.length) { 1377 closeComponent(component); 1378 return; 1379 } 1380 1381 component.__trSearchTimer = setTimeout(function () { 1382 var seq = (component.__trSearchSeq || 0) + 1; 1383 component.__trSearchSeq = seq; 1384 fetch("/search?query=" + encodeURIComponent(fieldValue)) 1385 .then(function (res) { return res.text(); }) 1386 .then(function (html) { 1387 if (seq !== component.__trSearchSeq) return; // stale response — a newer request exists 1388 var doc = new DOMParser().parseFromString(html, "text/html"); 1389 var results = doc.querySelector("[tr-search-element='search-page-results']"); 1390 if (!results || !resultsWrapper) return; 1391 // reveal engine pre-hides [data-reveal] via CSS and never observes injected nodes 1392 results.removeAttribute("data-reveal"); 1393 results.querySelectorAll("[data-reveal]").forEach(function (el) { 1394 el.removeAttribute("data-reveal"); 1395 }); 1396 resultsWrapper.innerHTML = ""; 1397 resultsWrapper.appendChild(results); 1398 // open only once results exist, so the wrapper grows around real content 1399 component.classList.add("is-open"); 1400 }) 1401 .catch(function () {}); 1402 }, DEBOUNCE_MS); 1403 }); 1404 1405 document.addEventListener("click", function (e) { 1406 if (!e.target || !e.target.closest) return; 1407 1408 // clear button: empty the field and collapse 1409 var btn = e.target.closest("[tr-search-element='clear']"); 1410 if (btn) { 1411 e.preventDefault(); 1412 var component = btn.closest("[tr-search-element='component']"); 1413 if (!component) return; 1414 var input = component.querySelector("[tr-search-element='input']"); 1415 if (input) input.value = ""; 1416 closeComponent(component); 1417 return; 1418 } 1419 1420 // any click outside a search component collapses open results, 1421 // so a reopened dropdown never shows a stale expanded state 1422 if (!e.target.closest("[tr-search-element='component']")) { 1423 closeAll(false); 1424 } 1425 }); 1426 1427 // refocusing an input that still holds a query re-expands its results 1428 document.addEventListener("focusin", function (e) { 1429 if (!e.target || !e.target.closest) return; 1430 var input = e.target.closest("[tr-search-element='input']"); 1431 if (!input) return; 1432 var component = input.closest("[tr-search-element='component']"); 1433 if (!component) return; 1434 var resultsWrapper = component.querySelector("[tr-search-element='results-wrapper']"); 1435 if (input.value.length && resultsWrapper && resultsWrapper.children.length) { 1436 component.classList.add("is-open"); 1437 } 1438 }); 1439 1440 // barba loads after this embed — hook when it exists 1441 function hookBarba() { 1442 if (window.__trSearchBarbaHooked) return; 1443 if (window.barba && window.barba.hooks) { 1444 window.__trSearchBarbaHooked = true; 1445 window.barba.hooks.before(function () { closeAll(true); }); 1446 } 1447 } 1448 hookBarba(); 1449 document.addEventListener("DOMContentLoaded", hookBarba); 1450})(); 1451</script>
1451</div></div><header data-parallax="header" class="section_header"><div class="padding-global"><div class="container-large"><div class="header_content is-internal"><div class="padding-section-header"><div class="header_content-inner"><div class="max-width-large"><h1 class="text-style-balance text-color-accent">Find your course, find your path</h1></div><div class="header_featured-course-wrapper"><div class="header_featured-course"><div class="w-dyn-list"><div role="list" class="card_grid is-single-featured w-dyn-items"><div role="listitem" class="card_grid-item w-dyn-item"><a href="/courses/course/sca-foundation-series" class="card is-single-featured w-inline-block"><div class="card_image-wrapper is-single-featured"><img alt="SCA Foundation Series Illustration" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a74ea3c2fc7dfc42069eab3_BETTRCHARACTERS_Sam_05_coffee.avif" sizes="100vw" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a74ea3c2fc7dfc42069eab3_BETTRCHARACTERS_Sam_05_coffee-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a74ea3c2fc7dfc42069eab3_BETTRCHARACTERS_Sam_05_coffee-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a74ea3c2fc7dfc42069eab3_BETTRCHARACTERS_Sam_05_coffee-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a74ea3c2fc7dfc42069eab3_BETTRCHARACTERS_Sam_05_coffee.avif 2000w" class="card_image"/></div><div class="card_content is-single-featured"><div class="card_content-top"><div class="margin-bottom margin-xxsmall"><div class="tag"><img src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a138279726362a0fe509a58_Flag%20-%20Black.svg" loading="lazy" alt="Black flag icon" class="tag_icon"/><div>Featured</div></div></div><h3 class="heading-style-h5">SCA Foundation Series</h3></div><div class="margin-vertical margin-xxsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">1955.90</div><div class="text-size-medium text-weight-semibold">*<br/></div></div></div><div class="text-size-small text-style-muted">*Funding Available<br/></div></div><div class="button-group"><div class="button is-earth is-small"><div>Explore Now</div></div></div></div></div></a></div></div></div></div></div></div></div></div></div></div><div class="header_background-wrapper"><div class="header_background-overlay"></div><div class="static-overlay"></div><img class="header_background" src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f7b491178680845db52a22_courses-landing-hero.jpg" alt="Person's hand sifting roasted coffee beans in a large coffee roasting machine." sizes="100vw" data-parallax="image" loading="eager" srcset="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f7b491178680845db52a22_courses-landing-hero-p-500.jpg 500w, https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f7b491178680845db52a22_courses-landing-hero-p-800.jpg 800w, https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f7b491178680845db52a22_courses-landing-hero.jpg 965w"/></div></header><section id="blog-header-20" class="section_courses"><div class="padding-global"><div class="container-large"><div class="padding-section-large is-small-top"><div class="z-index-2"><div class="margin-bottom margin-xxlarge"><div class="filtering_intro-content"><div class="max-width-large"><p class="text-size-huge text-weight-medium">Explore 30+ globally recognised courses across coffee, tea, and hospitality. Whether you're starting out or ready to specialise, there's a pathway here for you.</p></div></div></div></div><div class="filtering_intro-divider-wrapper"><div class="dashed-divider-horizontal is-text-color is-thick"></div><div class="filtering_intro-divider-image-wrapper"><img src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f273210ac7
1451d613ee43f35f_be3e5937e036ce7a54898e779d2a009d_0e952d06065358e1099d429b1e110745906f4866.avif" loading="lazy" alt="Cartoon coffee cup steaming on saucer with two people and a dog looking on eagerly." class="filtering_intro-divider-image"/></div></div><div class="margin-top margin-xxlarge"><div class="filtering_form-block w-form"><form id="wf-form-Courses-Filtering" name="wf-form-Courses-Filtering" data-name="Courses Filtering" method="get" fs-list-element="filters" class="filtering_form" data-wf-page-id="69f15e5f33afcbbd1a34530b" data-wf-element-id="cc74a411-dd21-49ab-2ac4-5a45faa06bca" data-turnstile-sitekey="0x4AAAAAAAQTptj2So4dx43e"><div class="filtering_top-wrapper"><div class="filtering_results-wrapper"><div>Show <span fs-list-element="results-count" class="filtering_results">32</span> courses</div></div><div class="filtering_top-right"><div class="filtering_active-tag-list"><div fs-list-element="tag" class="filtering_active-tag"><div fs-list-element="tag-value">Filter</div><div fs-list-element="tag-remove" class="filtering_active-tag_icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 11 11" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1452<path d="M10.3995 10.046L10.0459 10.3995C9.85068 10.5948 9.53411 10.5948 9.33881 10.3995L5.27298 6.33363L1.20708 10.3995C1.01186 10.5948 0.695267 10.5948 0.500004 10.3995L0.146447 10.0459C-0.0488156 9.85068 -0.0488156 9.53411 0.146447 9.33881L4.21233 5.27298L0.146447 1.20708C-0.0488156 1.01186 -0.0488156 0.695267 0.146447 0.500004L0.499996 0.146454C0.695259 -0.0488085 1.01186 -0.0488085 1.20708 0.146454L5.27298 4.21233L9.33881 0.146447C9.53411 -0.0488156 9.85068 -0.0488156 10.0459 0.146447L10.3995 0.499996C10.5948 0.695259 10.5948 1.01186 10.3995 1.20708L6.33363 5.27298L10.3995 9.33881C10.5948 9.53411 10.5948 9.85068 10.3995 10.046Z" fill="currentColor"/> 1453</svg></div></div></div><div class="filtering_sort-wrapper"><div data-delay="300" data-hover="false" fs-list-element="sort-trigger" data-w-id="dbf3f6df-92c6-5af5-6070-87c4cd13192e" class="fs_selectcustom-1_dropdown w-dropdown"><div class="fs_selectcustom-1_toggle w-dropdown-toggle"><div fs-list-element="dropdown-label" class="fs_selectcustom-1_text">Sort By</div><div class="fs_selectcustom-1_arrow w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 14 8" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1454<path d="M12.5313 0.530273L6.53125 6.53027L0.531251 0.530272" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/> 1455</svg></div></div><nav class="fs_selectcustom-1_list w-dropdown-list"><div class="filtering_sort-link-styles w-embed"><style> 1456 .filtering_sort-link.w--current .filtering_sort-link_checkbox { 1457 background-color: var(--color-scheme-1--accent); 1458 } 1459 1460 .fs_selectcustom-1_toggle .filtering_sort-link_checkbox { 1461 display: none; 1462 } 1463</style></div><div class="fs_selectcustom-1_list-inner"><a fs-list-fieldtype="number" fs-list-field="popularity-asc" href="#" class="filtering_sort-link w-inline-block"><div class="filtering_sort-link_checkbox"></div><div>Most popular</div></a><a fs-list-fieldtype="number" fs-list-field="price-asc" href="#" class="filtering_sort-link w-inline-block"><div class="filtering_sort-link_checkbox"></div><div>Price (Low to High)</div></a><a fs-list-fieldtype="date" fs-list-field="date-added-desc" href="#" class="filtering_sort-link w-inline-block"><div class="filtering_sort-link_checkbox"></div><div>Newest</div></a></div></nav></div></div></div></div><div class="filtering_grid"><div class="filtering_filters-panel"><div class="filtering_dropdown"><div class="filtering_dropdown-toggle"><div>Certification Type</div><div class="filtering_dropdown-icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 14 8" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1464<path d="M12.5313 0.530273L6.53125 6.53027L0.531251 0.530272" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/> 1465</svg></div></div><div class="filtering_dropdown-list"><div class="filtering_dropdown-list-content"><div class="w-dyn-list"><div role="list" class="filtering_radio-group w-dyn-items"><div role="listitem" class="w-dyn-item"><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="SCA" fs-list-field="certification-type" name="Certification-Types" data-name="Certification Types" type="radio" id="SCA" style="opacity:0;position:absolute;z-index:-1" value="Certification Type"/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="radio">SCA</span></label></div><div role="listitem" class="w-dyn-item"><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="WSQ" fs-list-field="certification-type" name="Certification-Types" data-name="Certification Types" type="radio" id="WSQ" style="opacity:0;position:absolute;z-index:-1" value="Certification Type"/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="radio">WSQ</span></label></div><div role="listitem" class="w-dyn-item"><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="ESTA" fs-list-field="certification-type" name="Certification-Types" data-name="Certification Types" type="radio" id="ESTA" style="opacity:0;position:absolute;z-index:-1" value="Certification Type"/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="radio">ESTA</span></label></div></div></div><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="" fs-list-field="certification-type" name="Certification-Types" data-name="Certification Types" type="radio" id="All-Certification-Types" style="opacity:0;position:absolute;z-index:-1" value=""/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="All-Certification-Types">All</span></label></div></div></div><div class="filtering_dropdown"><div class="filtering_dropdown-toggle"><div>Duration</div><div class="filtering_dropdown-icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
1465ox="0 0 14 8" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1466<path d="M12.5313 0.530273L6.53125 6.53027L0.531251 0.530272" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/> 1467</svg></div></div><div class="filtering_dropdown-list"><div class="filtering_dropdown-list-content"><div class="w-dyn-list"><div role="list" class="filtering_radio-group w-dyn-items"><div role="listitem" class="w-dyn-item"><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="Less than 1 day" fs-list-field="duration" name="Durations" data-name="Durations" type="radio" id="Less than 1 day" style="opacity:0;position:absolute;z-index:-1" value="Duration"/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="radio">Less than 1 day</span></label></div><div role="listitem" class="w-dyn-item"><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="1-3 days" fs-list-field="duration" name="Durations" data-name="Durations" type="radio" id="1-3 days" style="opacity:0;position:absolute;z-index:-1" value="Duration"/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="radio">1-3 days</span></label></div><div role="listitem" class="w-dyn-item"><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="3-7 days" fs-list-field="duration" name="Durations" data-name="Durations" type="radio" id="3-7 days" style="opacity:0;position:absolute;z-index:-1" value="Duration"/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="radio">3-7 days</span></label></div><div role="listitem" class="w-dyn-item"><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="1-4 weeks" fs-list-field="duration" name="Durations" data-name="Durations" type="radio" id="1-4 weeks" style="opacity:0;position:absolute;z-index:-1" value="Duration"/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="radio">1-4 weeks</span></label></div><div role="listitem" class="w-dyn-item"><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="2+ months" fs-list-field="duration" name="Durations" data-name="Durations" type="radio" id="2+ months" style="opacity:0;position:absolute;z-index:-1" value="Duration"/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="radio">2+ months</span></label></div></div></div></div></div></div><div class="filtering_dropdown"><div class="filtering_dropdown-toggle"><div>Topic</div><div class="filtering_dropdown-icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 14 8" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1468<path d="M12.5313 0.530273L6.53125 6.53027L0.531251 0.530272" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/> 1469</svg></div></div><div class="filtering_dropdown-list"><div class="filtering_dropdown-list-content"><div class="w-dyn-list"><div role="list" class="filtering_radio-group w-dyn-items"><div role="listitem" class="w-dyn-item"><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="Food Safety" fs-list-field="topic" name="Topics" data-name="Topics" type="radio" id="Food Safety" style="opacity:0;position:absolute;z-index:-1" value="Topic"/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="radio">Food Safety</span></label></div><div role="listitem" class="w-dyn-item"><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="Sensory" fs-list-field="topic" name="Topics" data-name="Topics" type="radio" id="Sensory" style="opacity:0;position:absolute;z-index:-1" value="Topic"/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="radio">Sensory</span></label></div><div role="listitem" class="w-dyn-item"><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="Brewing" fs-list-field="topic" name="Topics" data-name="Topics" type="radio" id="Brewing" style="opacity:0;position:absolute;z-index:-1" value="Topic"/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="radio">Brewing</span></label></div><div role="listitem" class="w-dyn-item"><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="Mixology" fs-list-field="topic" name="Topics" data-name="Topics" type="radio" id="Mixology" style="opacity:0;position:absolute;z-index:-1" value="Topic"/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="radio">Mixology</span></label></div><div role="listitem" class="w-dyn-item"><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="Barista Skills & Espresso" fs-list-field="topic" name="Topics" data-name="Topics" type="radio" id="Barista Skills & Espresso" style="opacity:0;position:absolute;z-index:-1" value="Topic"/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="radio">Barista Skills & Espresso</span></label></div><div role="listitem" class="w-dyn-item"><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="Roasting & Cupping" fs-list-field="topic" name="Topics" data-name="Topics" type="radio" id="Roasting & Cupping" style="opacity:0;position:absolute;z-index:-1" value="Topic"/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="radio">Roasting & Cupping</span></label></div><div role="listitem" class="w-dyn-item"><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="Tea Mastery" fs-list-field="topic" name="Topics" data-name="Topics" type="radio" id="Tea Mastery" style="opacity:0;position:absolute;z-index:-1" value="Topic"/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="radio">Tea Mastery</span></label></div><div role="listitem" class="w-dyn-item"><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="Business & Operations" fs-list-field="topic" name="Topics" data-name="Topics" type="radio" id="Business & Operations" style="opacity:0;position:absolute;z-index:-1" value="Topic"/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="radio">Business & Operations</span></label></div><div role="listitem" class="w-dyn-item"><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="Career Pathways" fs-list-field="topic" name="Topics" data-name="Topics" type="radio" id="Career Pathways" style="opacity:0;position:absolute;z-index:-1" value="Topic"/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="radio">Career Pathways</span></label></div></div></div></div></div></div><div class="filtering_dropdown"><div class="filtering_dropdown-toggle"><div>Skill Level</div><div class="filtering_dropdown-icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
1469ox="0 0 14 8" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1470<path d="M12.5313 0.530273L6.53125 6.53027L0.531251 0.530272" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/> 1471</svg></div></div><div class="filtering_dropdown-list"><div class="filtering_dropdown-list-content"><div class="w-dyn-list"><div role="list" class="filtering_radio-group w-dyn-items"><div role="listitem" class="w-dyn-item"><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="Beginner / Entry Level" fs-list-field="skill-level" name="Skill-Levels" data-name="Skill Levels" type="radio" id="Beginner / Entry Level" style="opacity:0;position:absolute;z-index:-1" value="Skill Level"/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="radio">Beginner / Entry Level</span></label></div><div role="listitem" class="w-dyn-item"><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="Intermediate" fs-list-field="skill-level" name="Skill-Levels" data-name="Skill Levels" type="radio" id="Intermediate" style="opacity:0;position:absolute;z-index:-1" value="Skill Level"/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="radio">Intermediate</span></label></div><div role="listitem" class="w-dyn-item"><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="Advanced / Professional" fs-list-field="skill-level" name="Skill-Levels" data-name="Skill Levels" type="radio" id="Advanced / Professional" style="opacity:0;position:absolute;z-index:-1" value="Skill Level"/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="radio">Advanced / Professional</span></label></div><div role="listitem" class="w-dyn-item"><label class="filtering_radio_field w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filtering_radio_button w-radio-input"></div><input fs-list-value="Career Track" fs-list-field="skill-level" name="Skill-Levels" data-name="Skill Levels" type="radio" id="Career Track" style="opacity:0;position:absolute;z-index:-1" value="Skill Level"/><span fs-inputactive-class="is-inputactive-active" class="filtering_radio_label w-form-label" for="radio">Career Track</span></label></div></div></div></div></div></div><a fs-list-element="clear" href="#" class="button is-clear-button w-inline-block"><div>Clear Filters</div></a></div><div class="filters_content"><div class="w-dyn-list"><div fs-list-element="list" role="list" class="card_grid w-dyn-items"><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/aeropress-workshop" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6ab02e3f7a28c5816aef98e4_preparing-delicious-coffee-using-professional-equi-2026-03-11-01-00-28-utc.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6ab02e3f7a28c5816aef98e4_preparing-delicious-coffee-using-professional-equi-2026-03-11-01-00-28-utc-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6ab02e3f7a28c5816aef98e4_preparing-delicious-coffee-using-professional-equi-2026-03-11-01-00-28-utc-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6ab02e3f7a28c5816aef98e4_preparing-delicious-coffee-using-professional-equi-2026-03-11-01-00-28-utc-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6ab02e3f7a28c5816aef98e4_preparing-delicious-coffee-using-professional-equi-2026-03-11-01-00-28-utc-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6ab02e3f7a28c5816aef98e4_preparing-delicious-coffee-using-professional-equi-2026-03-11-01-00-28-utc-p-2000.avif 2000w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6ab02e3f7a28c5816aef98e4_preparing-delicious-coffee-using-professional-equi-2026-03-11-01-00-28-utc.avif 2751w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">Aeropress Workshop</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>2</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">65.40</div></div></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">65.4</div><div fs-list-field="duration">Less than 1 day</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Brewing</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-barista-skills-foundation" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="Hands holding spoons, tasting multiple cups of black coffee on a metal table." loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6aa7ae23d31a141ebbcd028f_BA_Class_Barista_1Foundation_3_2_08.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6aa7ae23d31a141ebbcd028f_BA_Class_Barista_1Foundation_3_2_08-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6aa7ae23d31a141ebbcd028f_BA_Class_Barista_1Foundation_3_2_08-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6aa7ae23d31a141ebbcd028f_BA_Class_Barista_1Foundation_3_2_08-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6aa7ae23d31a141ebbcd028f_BA_Class_Barista_1Foundation_3_2_08-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6aa7ae23d31a141ebbcd028f_BA_Class_Barista_1Foundation_3_2_08-p-2000.avif 2000w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6aa7ae23d31a141ebbcd028f_BA_Class_Barista_1Foundation_3_2_08-p-2600.avif 2600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6aa7ae23d31a141ebbcd028f_BA_Class_Barista_1Foundation_3_2_08-p-3200.avif 3200w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6aa7ae23d31a141ebbcd028f_BA_Class_Barista_1Foundation_3_2_08.avif 6261w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA Barista Skills Foundation</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>8</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">488.97</div></div></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">488.97</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity">1</div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-barista-skills-intermediate" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="Hands holding spoons, tasting multiple cups of black coffee on a metal table." loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6aa7ae41d90e0d765a262a8b_SCA%20Barista%20Skills%20Intermediate.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6aa7ae41d90e0d765a262a8b_SCA%20Barista%20Skills%20Intermediate-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6aa7ae41d90e0d765a262a8b_SCA%20Barista%20Skills%20Intermediate-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6aa7ae41d90e0d765a262a8b_SCA%20Barista%20Skills%20Intermediate-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6aa7ae41d90e0d765a262a8b_SCA%20Barista%20Skills%20Intermediate-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6aa7ae41d90e0d765a262a8b_SCA%20Barista%20Skills%20Intermediate-p-2000.avif 2000w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6aa7ae41d90e0d765a262a8b_SCA%20Barista%20Skills%20Intermediate-p-2600.avif 2600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6aa7ae41d90e0d765a262a8b_SCA%20Barista%20Skills%20Intermediate-p-3200.avif 3200w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6aa7ae41d90e0d765a262a8b_SCA%20Barista%20Skills%20Intermediate.avif 6028w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA Barista Skills Intermediate</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>2</div><div>Days</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">865.46</div><div class="text-size-medium text-weight-semibold">*<br/>
1471</div></div></div><div class="text-size-small text-style-muted">*Fees shown incl. GST before funding.<br/>Funding available — enter to view amount<br/></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">865.46</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Intermediate</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added">May 4, 2026</div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Barista Skills & Espresso</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-foundation-series" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="SCA Foundation Series Thumbnail Image" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a73f1814829188a027d3065_1.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a73f1814829188a027d3065_1-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a73f1814829188a027d3065_1.avif 720w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA Foundation Series</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>5</div><div>Days</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">1955.90</div><div class="text-size-medium text-weight-semibold">*<br/></div></div></div><div class="text-size-small text-style-muted">*Fees shown incl. GST before funding.<br/>Funding available — enter to view amount<br/></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">1955.9</div><div fs-list-field="duration">3-7 days</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Barista Skills & Espresso</div></div><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Roasting & Cupping</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-intermediate-series" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="SCA Intermediate Series Thumbnail Image" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a73fc574d93a2dcfc4b8ee4_Thumbnail_SCA%20Intermediate%20Series.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a73fc574d93a2dcfc4b8ee4_Thumbn
1471ail_SCA%20Intermediate%20Series-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a73fc574d93a2dcfc4b8ee4_Thumbnail_SCA%20Intermediate%20Series.avif 720w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA Intermediate Series</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>5</div><div>Days</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">3564.14</div><div class="text-size-medium text-weight-semibold">*<br/></div></div></div><div class="text-size-small text-style-muted">*Fees shown incl. GST before funding.<br/>Funding available — enter to view amount<br/></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">3564.14</div><div fs-list-field="duration">3-7 days</div><div fs-list-field="skill-level">Intermediate</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Barista Skills & Espresso</div></div><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Roasting & Cupping</div></div><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Career Pathways</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-sensory-skills-intermediate" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="Hands holding spoons, tasting multiple cups of black coffee on a metal table." loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aad424f6b52c0c38f140_Courses_Sensory%20-%20Intermediate.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aad424f6b52c0c38f140_Courses_Sensory%20-%20Intermediate-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aad424f6b52c0c38f140_Courses_Sensory%20-%20Intermediate-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aad424f6b52c0c38f140_Courses_Sensory%20-%20Intermediate-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aad424f6b52c0c38f140_Courses_Sensory%20-%20Intermediate-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aad424f6b52c0c38f140_Courses_Sensory%20-%20Intermediate.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA Sensory Skills Intermediate</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>15</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">749.59</div><div class="text-size-medium text-weight-semibold">*<br/>
1471</div></div></div><div class="text-size-small text-style-muted">*Fees shown incl. GST before funding.<br/>Funding available — enter to view amount<br/></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">749.59</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Intermediate</div><div fs-list-fieldtype="number" fs-list-field="popularity">5</div><div fs-list-fieldtype="date" fs-list-field="date-added">December 17, 2025</div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Sensory</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-brewing-professional" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="Hands holding spoons, tasting multiple cups of black coffee on a metal table." loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75a9fdaeb595f44c28cac2_Courses_Brewing%20-%20Professional.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75a9fdaeb595f44c28cac2_Courses_Brewing%20-%20Professional-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75a9fdaeb595f44c28cac2_Courses_Brewing%20-%20Professional-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75a9fdaeb595f44c28cac2_Courses_Brewing%20-%20Professional-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75a9fdaeb595f44c28cac2_Courses_Brewing%20-%20Professional-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75a9fdaeb595f44c28cac2_Courses_Brewing%20-%20Professional.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA Brewing Professional</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>21</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">1383.86</div><div class="text-size-medium text-weight-semibold">*<br/></div></div></div><div class="text-size-small text-style-muted">*Fees shown incl. GST before funding.<br/>Funding available — enter to view amount<br/></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">1383.86</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Advanced / Professional</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-brewing-intermediate" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="Hands holding spoons, tasting multiple cups of black coffee on a metal table." loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75a9e75b2fc42766a92bcb_Courses_Brewing%20-%20Intermediate.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75a9e75b2fc42766a92bcb_Courses_Brewing%20-%20Intermediate-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75a9e75b2fc42766a92bcb_Courses_Brewing%20-%20Intermediate-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75a9e75b2fc42766a92bcb_Courses_Brewing%20-%20Intermediate-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75a9e75b2fc42766a92bcb_Courses_Brewing%20-%20Intermediate-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75a9e75b2fc42766a92bcb_Courses_Brewing%20-%20Intermediate.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA Brewing Intermediate</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>18</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">865.46</div><div class="text-size-medium text-weight-semibold">*<br/>
1471</div></div></div><div class="text-size-small text-style-muted">*Fees shown incl. GST before funding.<br/>Funding available — enter to view amount<br/></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">865.46</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Intermediate</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-barista-skills-professional" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="Hands holding spoons, tasting multiple cups of black coffee on a metal table." loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759dcfa8df5b7f9939390a_Courses_Barista%20-%20Professional.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759dcfa8df5b7f9939390a_Courses_Barista%20-%20Professional-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759dcfa8df5b7f9939390a_Courses_Barista%20-%20Professional-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759dcfa8df5b7f9939390a_Courses_Barista%20-%20Professional-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759dcfa8df5b7f9939390a_Courses_Barista%20-%20Professional-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759dcfa8df5b7f9939390a_Courses_Barista%20-%20Professional.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA Barista Skills Professional</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>24</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">1383.86</div><div class="text-size-medium text-weight-semibold">*<br/></div></div></div><div class="text-size-small text-style-muted">*Fees shown incl. GST before funding.<br/>Funding available — enter to view amount<br/></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">1383.86</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Advanced / Professional</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Barista Skills & Espresso</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-barista-brew-bundle" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759d2231ac530b1e555fcc_Courses_Barista%20-%20Foundation.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759d2231ac530b1e555fcc_Courses_Barista%20-%20Foundation-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759d2231ac530b1e555fcc_Courses_Barista%20-%20Foundation-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759d2231ac530b1e555fcc_Courses_Barista%20-%20Foundation-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759d2231ac530b1e555fcc_Courses_Barista%20-%20Foundation-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759d2231ac530b1e555fcc_Courses_Barista%20-%20Foundation.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA Barista & Brew Bundle</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>
147123</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">1197.75</div></div></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">1197.75</div><div fs-list-field="duration">3-7 days</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Barista Skills & Espresso</div></div><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Sensory</div></div><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Brewing</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-roasting-intermediate" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="Hands holding spoons, tasting multiple cups of black coffee on a metal table." loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac93d8015a210ca297ab_Courses_Roast%20-%20Intermediate.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac93d8015a210ca297ab_Courses_Roast%20-%20Intermediate-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac93d8015a210ca297ab_Courses_Roast%20-%20Intermediate-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac93d8015a210ca297ab_Courses_Roast%20-%20Intermediate-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac93d8015a210ca297ab_Courses_Roast%20-%20Intermediate-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac93d8015a210ca297ab_Courses_Roast%20-%20Intermediate.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA Roasting Intermediate</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>21</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">967.76</div></div></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">967.76</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Intermediate</div><div fs-list-fieldtype="number" fs-list-field="popularity">6</div><div fs-list-fieldtype="date" fs-list-field="date-added">May 2, 2026</div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Roasting & Cupping</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-sensory-skills-professional" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="Hands holding spoons, tasting multiple cups of black coffee on a metal table." loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aae1a1b1193a5e8da926_Courses_Sensory%20-%20Professional.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aae1a1b1193a5e8da926_Courses_Sensory%20-%20Professional-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aae1a1b1193a5e8da926_Courses_Sensory%20-%20Professional-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aae1a1b1193a5e8da926_Courses_Sensory%20-%20Professional-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aae1a1b1193a5e8da926_Courses_Sensory%20-%20Professional-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aae1a1b1193a5e8da926_Courses_Sensory%20-%20Professional.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA Sensory Skills Professional</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>21</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">1935.84</div></div></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">1935.84</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Advanced / Professional</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Sensory</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-roasting-foundation" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac93d8015a210ca297ab_Courses_Roast%20-%20Intermediate.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac93d8015a210ca297ab_Courses_Roast%20-%20Intermediate-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac93d8015a210ca297ab_Courses_Roast%20-%20Intermediate-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac93d8015a210ca297ab_Courses_Roast%20-%20Intermediate-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac93d8015a210ca297ab_Courses_Roast%20-%20Intermediate-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac93d8015a210ca297ab_Courses_Roast%20-%20Intermediate.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA Roasting Foundation</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>8</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">488.97</div></div></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">488.97</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-sensory-skills-foundation" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aac28087244097e0fdc2_Courses_Sensory%20-%20Foundation.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aac28087244097e0fdc2_Courses_Sensory%20-%20Foundation-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aac28087244097e0fdc2_Courses_Sensory%20-%20Foundation-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aac28087244097e0fdc2_Courses_Sensory%20-%20Foundation-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aac28087244097e0fdc2_Courses_Sensory%20-%20Foundation-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aac28087244097e0fdc2_Courses_Sensory%20-%20Foundation.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA Sensory Skills Foundation</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>8</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">488.97</div><div class="text-size-medium text-weight-semibold">*<br/>
1471</div></div></div><div class="text-size-small text-style-muted">*Fees shown incl. GST before funding.<br/>Funding available — enter to view amount<br/></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">488.97</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Sensory</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-roasting-professional" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ad04f8575cc1cb99701c_Courses_Roast%20-%20Professional.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ad04f8575cc1cb99701c_Courses_Roast%20-%20Professional-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ad04f8575cc1cb99701c_Courses_Roast%20-%20Professional-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ad04f8575cc1cb99701c_Courses_Roast%20-%20Professional-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ad04f8575cc1cb99701c_Courses_Roast%20-%20Professional-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ad04f8575cc1cb99701c_Courses_Roast%20-%20Professional.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA Roasting Professional</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>4</div><div>Days</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">1935.51</div></div></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">1935.51</div><div fs-list-field="duration">3-7 days</div><div fs-list-field="skill-level">Advanced / Professional</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Roasting & Cupping</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-brewing-foundation" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75a9b83f09e6a52ac56580_Courses_Brewing%20-%20Foundation.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75a9b83f09e6a52ac56580_Courses_Brewing%20-%20Foundation-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75a9b83f09e6a52ac56580_Courses_Brewing%20-%20Foundation-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75a9b83f09e6a52ac56580_Courses_Brewing%20-%20Foundation-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75a9b83f09e6a52ac56580_Courses_Brewing%20-%20Foundation-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75a9b83f09e6a52ac56580_Courses_Brewing%20-%20Foundation.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA Brewing Foundation</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>8</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">488.98</div></div></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">488.98</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/esta-tea-barista-foundation" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b00144e2098c39637df1_Courses_Tea%20Barista.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b00144e2098c39637df1_Courses_Tea%20Barista-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b00144e2098c39637df1_Courses_Tea%20Barista-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b00144e2098c39637df1_Courses_Tea%20Barista-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b00144e2098c39637df1_Courses_Tea%20Barista-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b00144e2098c39637df1_Courses_Tea%20Barista.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">ESTA Tea Barista Foundation</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>4.5</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">272.50</div></div></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">272.5</div><div fs-list-field="duration">Less than 1 day</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">ESTA</div></div></div></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/esta-botanicals-foundation" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75afe1951d08179b6e7f8a_Courses_Botanicals.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75afe1951d08179b6e7f8a_Courses_Botanicals-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75afe1951d08179b6e7f8a_Courses_Botanicals-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75afe1951d08179b6e7f8a_Courses_Botanicals-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75afe1951d08179b6e7f8a_Courses_Botanicals-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75afe1951d08179b6e7f8a_Courses_Botanicals.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">ESTA Botanicals Foundation</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>8</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">470.88</div><div class="text-size-medium text-weight-semibold">*<br/>
1471</div></div></div><div class="text-size-small text-style-muted">*Fees shown incl. GST before funding.<br/>Funding available — enter to view amount<br/></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">470.88</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/esta-camellia-sinensis-foundation" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75afcbc4b98d47b8611a74_Courses_Camellia%20Sinensis.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75afcbc4b98d47b8611a74_Courses_Camellia%20Sinensis-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75afcbc4b98d47b8611a74_Courses_Camellia%20Sinensis-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75afcbc4b98d47b8611a74_Courses_Camellia%20Sinensis-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75afcbc4b98d47b8611a74_Courses_Camellia%20Sinensis-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75afcbc4b98d47b8611a74_Courses_Camellia%20Sinensis.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">ESTA Camellia Sinensis Foundation</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>8</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">470.88</div><div class="text-size-medium text-weight-semibold">*<br/></div></div></div><div class="text-size-small text-style-muted">*Fees shown incl. GST before funding.<br/>Funding available — enter to view amount<br/></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">470.88</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">ESTA</div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Tea Mastery</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/esta-tea-foundations-bundle" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75afbaa698311098f4bcb6_Courses_Tea%20Bundle.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75afbaa698311098f4bcb6_Courses_Tea%20Bundle-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75afbaa698311098f4bcb6_Courses_Tea%20Bundle-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75afbaa698311098f4bcb6_Courses_Tea%20Bundle-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75afbaa698311098f4bcb6_Courses_Tea%20Bundle-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75afbaa698311098f4bcb6_Courses_Tea%20Bundle.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">ESTA Tea Foundations Bundle</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>20.5</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">991.46</div><div class="text-size-medium text-weight-semibold">*<br/>
1471</div></div></div><div class="text-size-small text-style-muted">*Fees shown incl. GST before funding.<br/>Funding available — enter to view amount<br/></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">991.46</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-green-coffee-foundation" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75af2124f6b52c0c3ca88c_Courses_Green%20-%20Foundation.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75af2124f6b52c0c3ca88c_Courses_Green%20-%20Foundation-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75af2124f6b52c0c3ca88c_Courses_Green%20-%20Foundation-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75af2124f6b52c0c3ca88c_Courses_Green%20-%20Foundation-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75af2124f6b52c0c3ca88c_Courses_Green%20-%20Foundation-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75af2124f6b52c0c3ca88c_Courses_Green%20-%20Foundation.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA Green Coffee Foundation</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>8</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">488.97</div></div></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">488.97</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Roasting & Cupping</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-green-coffee-intermediate" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75af2124f6b52c0c3ca88c_Courses_Green%20-%20Foundation.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75af2124f6b52c0c3ca88c_Courses_Green%20-%20Foundation-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75af2124f6b52c0c3ca88c_Courses_Green%20-%20Foundation-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75af2124f6b52c0c3ca88c_Courses_Green%20-%20Foundation-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75af2124f6b52c0c3ca88c_Courses_Green%20-%20Foundation-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75af2124f6b52c0c3ca88c_Courses_Green%20-%20Foundation.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA Green Coffee Intermediate</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>16</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">865.46</div></div></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">865.46</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Intermediate</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Roasting & Cupping</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/wsq-organisational-relationship-building-level-3" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0a124f6b52c0c3d7628_Courses_WSQ%20Organisational%20Relationship%20Building
1471%20Level%203.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0a124f6b52c0c3d7628_Courses_WSQ%20Organisational%20Relationship%20Building%20Level%203-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0a124f6b52c0c3d7628_Courses_WSQ%20Organisational%20Relationship%20Building%20Level%203-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0a124f6b52c0c3d7628_Courses_WSQ%20Organisational%20Relationship%20Building%20Level%203-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0a124f6b52c0c3d7628_Courses_WSQ%20Organisational%20Relationship%20Building%20Level%203-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0a124f6b52c0c3d7628_Courses_WSQ%20Organisational%20Relationship%20Building%20Level%203.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">WSQ Organisational Relationship Building Level 3</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>20</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">632.20</div><div class="text-size-medium text-weight-semibold">*<br/></div></div></div><div class="text-size-small text-style-muted">*Fees shown incl. GST before funding.<br/>Funding available — enter to view amount<br/></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">632.2</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Intermediate</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">WSQ</div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Business & Operations</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-sustainability-foundation" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aee048384685efdcfaa0_Courses_Sustainability.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aee048384685efdcfaa0_Courses_Sustainability-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aee048384685efdcfaa0_Courses_Sustainability-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aee048384685efdcfaa0_Courses_Sustainability-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aee048384685efdcfaa0_Courses_Sustainability-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75aee048384685efdcfaa0_Courses_Sustainability.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA Sustainability Foundation</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>8</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">488.97</div></div></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">488.97</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-water-and-preventive-maintenance-foundation" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75dc63690e57db0b98a8f2_Courses_Water%20Maintainence.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75dc63690e57db0b98a8f2_Courses_Water%20Maintainence-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75dc63690e57db0b98a8f2_Courses_Water%20Maintainence-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75dc63690e57db0b98a8f2_Courses_Water%20Maintainence-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75dc63690e57db0b98a8f2_Courses_Water%20Maintainence-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75dc63690e57db0b98a8f2_Courses_Water%20Maintainence.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA Water and Preventive Maintenance Foundation</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>
147112</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">890.00</div></div></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">890</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-coffee-value-assessment-course-for-cuppers" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac64fabe228cf098b84c_Courses_CVA.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac64fabe228cf098b84c_Courses_CVA-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac64fabe228cf098b84c_Courses_CVA-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac64fabe228cf098b84c_Courses_CVA-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac64fabe228cf098b84c_Courses_CVA-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac64fabe228cf098b84c_Courses_CVA.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA Coffee Value Assessment Course for Cuppers</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>16</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">500.00</div></div></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">500</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Advanced / Professional</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Roasting & Cupping</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/q-grader" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac487a22773039a46a7b_Courses_Q%20Grader.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac487a22773039a46a7b_Courses_Q%20Grader-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac487a22773039a46a7b_Courses_Q%20Grader-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac487a22773039a46a7b_Courses_Q%20Grader-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac487a22773039a46a7b_Courses_Q%20Grader-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75ac487a22773039a46a7b_Courses_Q%20Grader.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">Q Grader</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>6</div><div>Days</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">3000.00</div></div></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">3000</div><div fs-list-field="duration">3-7 days</div><div fs-list-field="skill-level">Advanced / Professional</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Roasting & Cupping</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/prepare-and-serve-hot-beverages" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b03a9cfc97841072a460_Courses_Kopi.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b03a9cfc97841072a460_Courses_Kopi-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b03a9cfc97841072a460_Courses_Kopi-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b03a9cfc97841072a460_Courses_Kopi-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b03a9cfc97841072a460_Courses_Kopi-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b03a9cfc97841072a460_Courses_Kopi.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">Prepare and Serve Hot Beverages</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>15</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">545.00</div></div></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">545</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/wsq-food-safety-course-level-1" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b05337a7ee6589086ee4_Courses_WSQ%20Food%20Safety.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b05337a7ee6589086ee4_Courses_WSQ%20Food%20Safety-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b05337a7ee6589086ee4_Courses_WSQ%20Food%20Safety-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b05337a7ee6589086ee4_Courses_WSQ%20Food%20Safety-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b05337a7ee6589086ee4_Courses_WSQ%20Food%20Safety-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b05337a7ee6589086ee4_Courses_WSQ%20Food%20Safety.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">PWM-WSQ Food Safety Course Level 1</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>7.5</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">163.50</div><div class="text-size-medium text-weight-semibold">*<br/>
1471</div></div></div><div class="text-size-small text-style-muted">*Fees shown incl. GST before funding.<br/>Funding available — enter to view amount<br/></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">163.5</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">WSQ</div></div></div></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/food-safety-course-level-1" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b05337a7ee6589086ee4_Courses_WSQ%20Food%20Safety.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b05337a7ee6589086ee4_Courses_WSQ%20Food%20Safety-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b05337a7ee6589086ee4_Courses_WSQ%20Food%20Safety-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b05337a7ee6589086ee4_Courses_WSQ%20Food%20Safety-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b05337a7ee6589086ee4_Courses_WSQ%20Food%20Safety-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b05337a7ee6589086ee4_Courses_WSQ%20Food%20Safety.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">Food Safety Course Level 1</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>7.5</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">163.50</div><div class="text-size-medium text-weight-semibold">*<br/></div></div></div><div class="text-size-small text-style-muted">*Fees shown incl. GST before funding.<br/>Funding available — enter to view amount<br/></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">163.5</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">WSQ</div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Food Safety</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/wsq-food-safety-course-level-1-refresher" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b065c58cbf65bdb5cbc1_Courses_WSQ%20Food%20Safety%20Refresher.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b065c58cbf65bdb5cbc1_Courses_WSQ%20Food%20Safety%20Refresher-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b065c58cbf65bdb5cbc1_Courses_WSQ%20Food%20Safety%20Refresher-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b065c58cbf65bdb5cbc1_Courses_WSQ%20Food%20Safety%20Refresher-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b065c58cbf65bdb5cbc1_Courses_WSQ%20Food%20Safety%20Refresher-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b065c58cbf65bdb5cbc1_Courses_WSQ%20Food%20Safety%20Refresher.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">WSQ Food Safety Course Level 1 (Refresher)</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>4.5</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">87.20</div><div class="text-size-medium text-weight-semibold">*<br/>
1471</div></div></div><div class="text-size-small text-style-muted">*Fees shown incl. GST before funding.<br/>Funding available — enter to view amount<br/></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">87.2</div><div fs-list-field="duration">Less than 1 day</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-barista-skills-foundation-mandarin" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759d2231ac530b1e555fcc_Courses_Barista%20-%20Foundation.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759d2231ac530b1e555fcc_Courses_Barista%20-%20Foundation-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759d2231ac530b1e555fcc_Courses_Barista%20-%20Foundation-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759d2231ac530b1e555fcc_Courses_Barista%20-%20Foundation-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759d2231ac530b1e555fcc_Courses_Barista%20-%20Foundation-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759d2231ac530b1e555fcc_Courses_Barista%20-%20Foundation.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA 咖啡师技能培è®Â(基础课程)(实体课)</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>9</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">488.97</div></div></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">488.97</div><div fs-list-field="duration">Less than 1 day</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Barista Skills & Espresso</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sca-barista-skills-intermediate-mandarin" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759d2231ac530b1e555fcc_Courses_Barista%20-%20Foundation.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759d2231ac530b1e555fcc_Courses_Barista%20-%20Foundation-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759d2231ac530b1e555fcc_Courses_Barista%20-%20Foundation-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759d2231ac530b1e555fcc_Courses_Barista%20-%20Foundation-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759d2231ac530b1e555fcc_Courses_Barista%20-%20Foundation-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a759d2231ac530b1e555fcc_Courses_Barista%20-%20Foundation.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCA 咖啡师技能培讠(ä¸Â级课程) (实体课)</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>2</div><div>Days</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">865.88</div></div></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">865.88</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Intermediate</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">SCA</div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Barista Skills & Espresso</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/pwm-wsq-food-and-beverage-service-level-1" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0d14b0f629d62f50690_Courses_WSQ%20Food%20and%20Beverage%2
14710Service%20Level%201.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0d14b0f629d62f50690_Courses_WSQ%20Food%20and%20Beverage%20Service%20Level%201-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0d14b0f629d62f50690_Courses_WSQ%20Food%20and%20Beverage%20Service%20Level%201-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0d14b0f629d62f50690_Courses_WSQ%20Food%20and%20Beverage%20Service%20Level%201-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0d14b0f629d62f50690_Courses_WSQ%20Food%20and%20Beverage%20Service%20Level%201-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0d14b0f629d62f50690_Courses_WSQ%20Food%20and%20Beverage%20Service%20Level%201.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">PWM-WSQ Food and Beverage Service Level 1</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>16</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">545.00</div><div class="text-size-medium text-weight-semibold">*<br/></div></div></div><div class="text-size-small text-style-muted">*Fees shown incl. GST before funding.<br/>Funding available — enter to view amount<br/></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">545</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">WSQ</div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Business & Operations</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/wsq-food-and-beverage-service-level-1" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0d14b0f629d62f50690_Courses_WSQ%20Food%20and%20Beverage%20Service%20Level%201.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0d14b0f629d62f50690_Courses_WSQ%20Food%20and%20Beverage%20Service%20Level%201-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0d14b0f629d62f50690_Courses_WSQ%20Food%20and%20Beverage%20Service%20Level%201-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0d14b0f629d62f50690_Courses_WSQ%20Food%20and%20Beverage%20Service%20Level%201-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0d14b0f629d62f50690_Courses_WSQ%20Food%20and%20Beverage%20Service%20Level%201-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0d14b0f629d62f50690_Courses_WSQ%20Food%20and%20Beverage%20Service%20Level%201.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">WSQ Food and Beverage Service Level 1</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>16</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">545.00</div><div class="text-size-medium text-weight-semibold">*<br/>
1471</div></div></div><div class="text-size-small text-style-muted">*Fees shown incl. GST before funding.<br/>Funding available — enter to view amount<br/></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">545</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">WSQ</div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Business & Operations</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/wsq-food-and-beverage-service-level-2"
1471class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0e2b0161b4f249f6d80_Courses_WSQ%20Food%20and%20Beverage%20Service%20Level%202.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0e2b0161b4f249f6d80_Courses_WSQ%20Food%20and%20Beverage%20Service%20Level%202-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0e2b0161b4f249f6d80_Courses_WSQ%20Food%20and%20Beverage%20Service%20Level%202-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0e2b0161b4f249f6d80_Courses_WSQ%20Food%20and%20Beverage%20Service%20Level%202-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0e2b0161b4f249f6d80_Courses_WSQ%20Food%20and%20Beverage%20Service%20Level%202-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0e2b0161b4f249f6d80_Courses_WSQ%20Food%20and%20Beverage%20Service%20Level%202.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">WSQ Food and Beverage Service Level 2</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>14</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">545.00</div><div class="text-size-medium text-weight-semibold">*<br/></div></div></div><div class="text-size-small text-style-muted">*Fees shown incl. GST before funding.<br/>Funding available — enter to view amount<br/></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">545</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Intermediate</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/pwm-wsq-customer-service-excellence-level-1" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0817a22773039a72e6c_Courses_WSQ%20Customer%20Service%20Excellence%20Level%201.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0817a22773039a72e6c_Courses_WSQ%20Customer%20Service%20Excellence%20Level%201-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0817a22773039a72e6c_Courses_WSQ%20Customer%20Service%20Excellence%20Level%201-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0817a22773039a72e6c_Courses_WSQ%20Customer%20Service%20Excellence%20Level%201-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0817a22773039a72e6c_Courses_WSQ%20Customer%20Service%20Excellence%20Level%201-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0817a22773039a72e6c_Courses_WSQ%20Customer%20Service%20Excellence%20Level%201.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">PWM-WSQ Customer Service Excellence Level 1</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>17</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">610.40</div><div class="text-size-medium text-weight-semibold">*<br/>
1471</div></div></div><div class="text-size-small text-style-muted">*Fees shown incl. GST before funding.<br/>Funding available — enter to view amount<br/></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">610.4</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/wsq-customer-service-excellence-level-1" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0817a22773039a72e6c_Courses_WSQ%20Customer%20Service%20Excellence%20Level%201.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0817a22773039a72e6c_Courses_WSQ%20Customer%20Service%20Excellence%20Level%201-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0817a22773039a72e6c_Courses_WSQ%20Customer%20Service%20Excellence%20Level%201-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0817a22773039a72e6c_Courses_WSQ%20Customer%20Service%20Excellence%20Level%201-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0817a22773039a72e6c_Courses_WSQ%20Customer%20Service%20Excellence%20Level%201-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0817a22773039a72e6c_Courses_WSQ%20Customer%20Service%20Excellence%20Level%201.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">WSQ Customer Service Excellence Level 1</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>17</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">610.40</div><div class="text-size-medium text-weight-semibold">*<br/></div></div></div><div class="text-size-small text-style-muted">*Fees shown incl. GST before funding.<br/>Funding available — enter to view amount<br/></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">610.4</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/wsq-customer-service-excellence-level-2"
1471class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0817a22773039a72e6c_Courses_WSQ%20Customer%20Service%20Excellence%20Level%201.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0817a22773039a72e6c_Courses_WSQ%20Customer%20Service%20Excellence%20Level%201-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0817a22773039a72e6c_Courses_WSQ%20Customer%20Service%20Excellence%20Level%201-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0817a22773039a72e6c_Courses_WSQ%20Customer%20Service%20Excellence%20Level%201-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0817a22773039a72e6c_Courses_WSQ%20Customer%20Service%20Excellence%20Level%201-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a75b0817a22773039a72e6c_Courses_WSQ%20Customer%20Service%20Excellence%20Level%201.avif 1920w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">WSQ Customer Service Excellence Level 2</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>20</div><div>Hours</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">436.00</div><div class="text-size-medium text-weight-semibold">*<br/></div></div></div><div class="text-size-small text-style-muted">*Fees shown incl. GST before funding.<br/>Funding available — enter to view amount<br/></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">436</div><div fs-list-field="duration">1-3 days</div><div fs-list-field="skill-level">Intermediate</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="certification-type">WSQ</div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Business & Operations</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sctp-in-beverage-service-mixology" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9532594c34350fb3e878ba_WSQ%20Alcoholic%20Beverage%20Preparation%20Level%202.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9532594c34350fb3e878ba_WSQ%20Alcoholic%20Beverage%20Preparation%20Level%202-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9532594c34350fb3e878ba_WSQ%20Alcoholic%20Beverage%20Preparation%20Level%202-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9532594c34350fb3e878ba_WSQ%20Alcoholic%20Beverage%20Preparation%20Level%202-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9532594c34350fb3e878ba_WSQ%20Alcoholic%20Beverage%20Preparation%20Level%202-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9532594c34350fb3e878ba_WSQ%20Alcoholic%20Beverage%2
14710Preparation%20Level%202-p-2000.avif 2000w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9532594c34350fb3e878ba_WSQ%20Alcoholic%20Beverage%20Preparation%20Level%202.avif 2747w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCTP in Beverage Service - Mixology</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>3</div><div>Months</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">5875.10</div></div></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">5875.1</div><div fs-list-field="duration">2+ months</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Career Pathways</div></div><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Mixology</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sctp-in-beverage-service-specialty-coffee" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9532f47ae4baa20e7ebec9_20260525_BettrRefresh_20.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9532f47ae4baa20e7ebec9_20260525_BettrRefresh_20-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9532f47ae4baa20e7ebec9_20260525_BettrRefresh_20-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9532f47ae4baa20e7ebec9_20260525_BettrRefresh_20-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9532f47ae4baa20e7ebec9_20260525_BettrRefresh_20-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9532f47ae4baa20e7ebec9_20260525_BettrRefresh_20-p-2000.avif 2000w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9532f47ae4baa20e7ebec9_20260525_BettrRefresh_20-p-2600.avif 2600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9532f47ae4baa20e7ebec9_20260525_BettrRefresh_20-p-3200.avif 3200w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9532f47ae4baa20e7ebec9_20260525_BettrRefresh_20.avif 4096w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCTP in Beverage Service - Specialty Coffee</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>3</div><div>Months</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">6196.02</div></div></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">6196.02</div><div fs-list-field="duration">2+ months</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Barista Skills & Espresso</div></div><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Career Pathways</div></div><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Brewing</div></div></div></div></div></div><div role="listitem" class="card_grid-item w-dyn-item"><a fs-list-element="item-link" href="/courses/course/sctp-in-beverage-service-specialty-tea" class="card w-inline-block"><div class="card_image-wrapper is-thumbnail"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9531097fc4bd35e9599e55_20260525_BettrRefresh_07.avif" sizes="(max-width: 1439px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9531097fc4bd35e9599e55_20260525_BettrRefresh_07-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9531097fc4bd35e9599e55_20260525_BettrRefresh_07-p-800.avif 800w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9531097fc4bd35e9599e55_20260525_BettrRefresh_07-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9531097fc4bd35e9599e55_20260525_BettrRefresh_07-p-1600.avif 1600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9531097fc4bd35e9599e55_20260525_BettrRefresh_07-p-2000.avif 2000w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9531097fc4bd35e9599e55_20260525_BettrRefresh_07-p-2600.avif 2600w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9531097fc4bd35e9599e55_20260525_BettrRefresh_07-p-3200.avif 3200w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9531097fc4bd35e9599e55_20260525_BettrRefresh_07.avif 4096w" class="card_image is-thumbnail"/></div><div class="card_content"><div class="card_content-top"><div class="margin-bottom margin-xsmall"><h3 fs-list-field="name" class="heading-style-h5">SCTP in Beverage Service - Specialty Tea</h3></div><div class="quick-info_list"><div class="quick-info_item"><div class="text-weight-semibold">Duration:<br/></div><div class="quick-info_item_value"><div>3</div><div>Months</div></div></div></div></div><div class="margin-vertical margin-xsmall"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="card_price-wrapper"><div class="card_price-inner"><div class="card_price-label"><div class="text-size-medium text-weight-semibold">From</div><div class="card_price"><div class="text-size-medium text-weight-semibold">$<br/></div><div data-price-format="" class="text-size-medium text-weight-semibold">6202.10</div></div></div></div><div class="button-group"><div class="button is-small"><div>Explore Now</div></div></div></div></div></a><div class="card_filtering-details-wrapper"><div fs-list-field="price">6202.1</div><div fs-list-field="duration">2+ months</div><div fs-list-field="skill-level">Beginner / Entry Level</div><div fs-list-fieldtype="number" fs-list-field="popularity" class="w-dyn-bind-empty"></div><div fs-list-fieldtype="date" fs-list-field="date-added" class="w-dyn-bind-empty"></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Tea Mastery</div></div><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Business & Operations</div></div><div role="listitem" class="w-dyn-item"><div fs-list-field="topic">Career Pathways</div></div></div></div></div></div></div></div><div fs-list-element="empty" class="filtering_empty"><div class="margin-bottom margin-small"><img src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f7c4cfedbaab7413a2cec1_faqs-content-left.avif" loading="lazy" alt="Two people sitting on a lounge chair under an umbrella, one holding a phone, the other a tablet with a question mark above." class="filtering_empty-image"/></div><div class="margin-bottom margin-xxsmall"><div class="heading-style-h4">No Courses Found</div></div><div class="max-width-small"><div>No courses match your current filter selection. Please try different filters or sign up for our newsletter to receive updates.</div></div></div></div></div></form><div class="hide w-form-done"></div><div class="hide w-form-fail"></div></div></div></div></div></div></section><section class="section_basic-layout_tabs color-scheme-3"><div class="basic-layout_feature-styles w-embed"><style> 1472 .basic-layout_feature { 1473 color: var(--_primitives---colors--sunshine); 1474 background-color: var(--_primitives---colors--coffee); 1475 transition: color 0.4s ease, background-color 0.4s ease, flex-grow 0.4s ease; 1476 flex-grow: 0; 1477 flex-shrink: 1; 1478 flex-basis: auto; 1479 overflow: hidden; 1480 } 1481 .basic-layout_feature.is-open { 1482 color: var(--color-scheme-1--text); 1483 background-color: var(--_primitives---colors--latte); 1484 flex-grow: 1; 1485 } 1486 .basic-layout_feature-content, 1487 .basic-layout_feature_icon-wrapper { 1488 overflow: hidden; 1489 height: 0px; 1490 transition: height 0.4s ease; 1491 } 1492 .basic-layout_feature_icon { 1493 transform: translateY(100%); 1494 opacity: 0; 1495 transition: transform 0.4s ease, opacity 0.4s ease; 1496 } 1497 .basic-layout_feature.is-open .basic-layout_feature_icon { 1498 transform: translateY(0%); 1499 opacity: 1; 1500 } 1501 .basic-layout_feature-toggle { cursor: pointer; } 1502</style></div><div class="basic-layout_feature-script w-embed w-script">
1502<script> 1503 function initFeatureLists() { 1504 document.querySelectorAll('.basic-layout_feature-list').forEach(function (list) { 1505 if (list.dataset.featureInit) return; // never double-init the same node 1506 list.dataset.featureInit = '1'; 1507 var items = list.querySelectorAll('.basic-layout_feature'); 1508 var openItem = null; 1509 var isAnimating = false; 1510 1511 function panels(item) { 1512 return [ 1513 item.querySelector('.basic-layout_feature-content'), 1514 item.querySelector('.basic-layout_feature_icon-wrapper'), 1515 ].filter(Boolean); 1516 } 1517 1518 function animateHeight(el, from, to, onDone) { 1519 if (from === to) { 1520 el.style.height = to + 'px'; 1521 if (onDone) requestAnimationFrame(onDone); 1522 return; 1523 } 1524 el.style.height = from + 'px'; 1525 void el.offsetHeight; 1526 el.style.height = to + 'px'; 1527 var done = false; 1528 function finish() { 1529 if (done) return; 1530 done = true; 1531 clearTimeout(safety); 1532 el.removeEventListener('transitionend', handler); 1533 if (onDone) onDone(); 1534 } 1535 function handler(e) { 1536 if (e.target !== el || e.propertyName !== 'height') return; 1537 finish(); 1538 } 1539 el.addEventListener('transitionend', handler); 1540 var safety = setTimeout(finish, 700); 1541 } 1542 1543 // Use offsetHeight, not scrollHeight: respects max-height so the target 1544 // matches the actually-visible height (matters for the icon-wrapper which 1545 // has max-height: 12rem and a translated child that inflates scrollHeight). 1546 function measureTargets(newItem) { 1547 var itemSnaps = []; 1548 items.forEach(function (it) { 1549 itemSnaps.push({ trans: it.style.transition, grow: it.style.flexGrow }); 1550 it.style.transition = 'none'; 1551 it.style.flexGrow = it === newItem ? '1' : '0'; 1552 }); 1553 var otherSnaps = []; 1554 if (openItem && openItem !== newItem) { 1555 panels(openItem).forEach(function (el) { 1556 otherSnaps.push({ el: el, h: el.style.height, t: el.style.transition }); 1557 el.style.transition = 'none'; 1558 el.style.height = '0px'; 1559 }); 1560 } 1561 var els = panels(newItem); 1562 var elSnaps = els.map(function (el) { return { h: el.style.height, t: el.style.transition }; }); 1563 els.forEach(function (el) { el.style.transition = 'none'; el.style.height = 'auto'; }); 1564 1565 void list.offsetHeight; 1566 var targets = els.map(function (el) { return el.offsetHeight; }); 1567 1568 els.forEach(function (el, i) { el.style.height = elSnaps[i].h; }); 1569 otherSnaps.forEach(function (s) { s.el.style.height = s.h; }); 1570 items.forEach(function (it, i) { it.style.flexGrow = itemSnaps[i].grow; }); 1571 void list.offsetHeight; 1572 els.forEach(function (el, i) { el.style.transition = elSnaps[i].t; }); 1573 otherSnaps.forEach(function (s) { s.el.style.transition = s.t; }); 1574 items.forEach(function (it, i) { it.style.transition = itemSnaps[i].trans; }); 1575 1576 return targets; 1577 } 1578 1579 function runAll(els, fn, done) { 1580 if (!els.length) { done(); return; } 1581 var remaining = els.length; 1582 els.forEach(function (el) { fn(el, function () { if (--remaining === 0) done(); }); }); 1583 } 1584 1585 function close(item, done) { 1586 if (!item) { done(); return; } 1587 item.classList.remove('is-open'); 1588 runAll(panels(item), function (el, cb) { 1589 animateHeight(el, el.offsetHeight, 0, cb); 1590 }, done); 1591 } 1592 1593 function open(item, instant, done, targets) { 1594 item.classList.add('is-open'); 1595 openItem = item; 1596 var els = panels(item); 1597 if (instant) { 1598 els.forEach(function (el) { el.style.height = 'auto'; }); 1599 if (done) done(); 1600 return; 1601 } 1602 runAll(els, function (el, cb) { 1603 var idx = els.indexOf(el); 1604 animateHeight(el, 0, targets[idx], function () { 1605 if (item.classList.contains('is-open')) el.style.height = 'auto'; 1606 cb(); 1607 }); 1608 }, done); 1609 } 1610 1611 var initial = list.querySelector('.basic-layout_feature.is-open') || items[0]; 1612 if (initial) {
1613 items.forEach(function (it) { if (it !== initial) it.classList.remove('is-open'); }); 1614 open(initial, true); 1615 } 1616 1617 items.forEach(function (item) { 1618 var toggle = item.querySelector('.basic-layout_feature-toggle'); 1619 if (!toggle) return; 1620 1621 toggle.addEventListener('click', function () { 1622 if (isAnimating || item === openItem) return; 1623 isAnimating = true; 1624 var targets = measureTargets(item); 1625 var pending = 2; 1626 function finish() { if (--pending === 0) isAnimating = false; } 1627 close(openItem, finish); 1628 open(item, false, finish, targets); 1629 }); 1630 }); 1631 }); 1632 } 1633 1634 // Runs exactly once per page view. This embed lives inside the Barba container, 1635 // so the transition script re-executes it after every navigation — a persistent 1636 // DOMContentLoaded listener is NOT needed (they stack up across navigations). 1637 if (document.readyState === 'loading') { 1638 document.addEventListener('DOMContentLoaded', initFeatureLists, { once: true }); 1639 } else { 1640 initFeatureLists(); 1641 } 1642</script>
1642</div><div class="basic-layout_grid"><div class="basic-layout_content-wrapper"><div class="padding-global is-around is-full-height"><div class="container-large is-full-height"><div class="basic-layout_content"><div class="basic-layout_content-top"><div class="margin-bottom margin-small"><div class="max-width-medium"><h2 class="heading-style-h1 text-style-balance">World-class training, made accessible</h2></div></div></div><div class="basic-layout_content-bottom"><div class="margin-vertical margin-medium"><div class="dashed-divider-horizontal is-text-color"></div></div><div class="max-width-medium"><p class="text-size-medium">We are the only training centre in Singapore providing the SCA's gold-standard certification alongside SkillsFuture eligibility. Our best-in-class training programmes offer the skills needed to thrive and succeed.</p></div></div></div></div></div></div><div class="basic-layout_feature-list"><div class="basic-layout_feature is-open"><div class="basic-layout_feature-toggle"><h3 class="heading-style-h4">100% Growth</h3><div class="basic-layout_feature_icon-wrapper"><img src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a136f3da2474669908268df_cb52e6abba64230d99c42a7222f9f59492fb3c49.png" loading="lazy" alt="Logo with stylized letters S, C, A stacked above the text Premier Training Campus." class="basic-layout_feature_icon"/></div></div><div class="basic-layout_feature-content"><div class="basic-layout_feature-content-inner"><div class="text-rich-text w-richtext"><p>Our best-in-class training and holistic programmes provide anyone and everyone the skills they need to grow and thrive.</p></div></div></div></div><div class="divider-horizontal is-latte"></div><div class="basic-layout_feature"><div class="basic-layout_feature-toggle"><h3 class="heading-style-h4">100% Inclusive</h3></div><div class="basic-layout_feature-content"><div class="basic-layout_feature-content-inner"><div class="text-rich-text w-richtext"><p>We are creating a more equal and inclusive world for all through dedicated focus on marginalised youth and women, and intentional support for farmers.</p></div></div></div></div><div class="divider-horizontal is-latte"></div><div class="basic-layout_feature"><div class="basic-layout_feature-toggle"><h3 class="heading-style-h4">100% Future-proof</h3></div><div class="basic-layout_feature-content"><div class="basic-layout_feature-content-inner"><div class="text-rich-text w-richtext"><p>Our planet deserves Bettr. That’s why we hold ourselves to a higher standard and practice eco-consciousness from production to consumption.</p></div></div></div></div></div></div></section><section data-wf--rotating-words--variant="negative-bottom" class="section_rotating-words-banner w-variant-99c81f0e-ceb7-2322-fbf4-a02675e31d34 color-scheme-2"><div class="rotating-words-banner_component"><div class="rotating-words-banner_list-wrapper w-dyn-list"><div data-marquee-speed="0.4" data-marquee="true" data-marquee-hover-effect="slow" role="list" class="rotating-words-banner_list w-dyn-items"><div data-marquee-item="true" role="listitem" class="rotating-words-banner_item w-dyn-item"><div class="rotating-words-banner_text-wrapper"><div>20,000+ Students</div></div></div><div data-marquee-item="true" role="listitem" class="rotating-words-banner_item w-dyn-item"><div class="rotating-words-banner_text-wrapper"><div>2,200+ Classes</div></div></div><div data-marquee-item="true" role="listitem" class="rotating-words-banner_item w-dyn-item"><div class="rotating-words-banner_text-wrapper"><div>15 Years</div></div></div><div data-marquee-item="true" role="listitem" class="rotating-words-banner_item w-dyn-item"><div class="rotating-words-banner_text-wrapper"><div>337 Scholarships Funded</div></div></div></div></div><div class="rotating-words-banner_background"></div></div><div class="rotating-words-banner_script w-embed w-script">
1642<script> 1643(function() { 1644 'use strict'; 1645 1646 // ── Config ── 1647 var MIN_SPEED = 20; 1648 var MAX_SPEED = 40; 1649 var BASE_SPEED = 0.03; 1650 var EASE = 0.08; 1651 var MAX_RETRIES = 30; 1652 var RETRY_DELAY = 250; 1653 1654 // ── Shared state ── 1655 var instances = []; 1656 var rafId = null; 1657 var lastTime = 0; 1658 var visibleCount = 0; 1659 1660 // ── Shared styles (injected once) ── 1661 var stylesInjected = false; 1662 1663 function injectStyles() { 1664 if (stylesInjected) return; 1665 stylesInjected = true; 1666 var s = document.createElement('style'); 1667 s.textContent = 1668 '[data-marquee-container]{overflow:hidden;position:relative}' + 1669 '[data-marquee-track]{display:flex;align-items:center;margin:0;padding:0;list-style:none;width:max-content;backface-visibility:hidden}' + 1670 '[data-marquee-track]>*{flex-shrink:0}'; 1671 document.head.appendChild(s); 1672 } 1673 1674 // ── Helpers ── 1675 function clampSpeed(base) { 1676 var speed = (base || BASE_SPEED) * window.innerWidth; 1677 return Math.min(Math.max(speed, MIN_SPEED), MAX_SPEED); 1678 } 1679 1680 function prefersReducedMotion() { 1681 return window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches; 1682 } 1683 1684 // ── Shared animation loop ── 1685 function tick(timestamp) { 1686 if (!lastTime) lastTime = timestamp; 1687 var delta = (timestamp - lastTime) / 1000; 1688 lastTime = timestamp; 1689 1690 if (delta > 0.1) delta = 0.016; 1691 1692 for (var i = 0; i < instances.length; i++) { 1693 var m = instances[i]; 1694 if (!m.isVisible || !m.ready) continue; 1695 1696 m.currentSpeed += (m.targetSpeed - m.currentSpeed) * EASE; 1697 m.position -= m.currentSpeed * delta; 1698 1699 if (m.position <= -m.setWidth) { 1700 m.position += m.setWidth; 1701 } 1702 1703 m.list.style.transform = 'translate3d(' + m.position + 'px,0,0)'; 1704 } 1705 1706 rafId = requestAnimationFrame(tick); 1707 } 1708 1709 function startLoop() { 1710 if (!rafId) { 1711 lastTime = 0; 1712 rafId = requestAnimationFrame(tick); 1713 } 1714 } 1715 1716 function stopLoop() { 1717 if (visibleCount === 0 && rafId) { 1718 cancelAnimationFrame(rafId); 1719 rafId = null; 1720 } 1721 } 1722 1723 // ── Marquee constructor ── 1724 function Marquee(el) { 1725 this.list = el; 1726 this.baseSpeed = parseFloat(el.getAttribute('data-marquee-speed')) || null; 1727 this.slowFactor = parseFloat(el.getAttribute('data-marquee-slow')) || 0.3; 1728 this.speed = clampSpeed(this.baseSpeed); 1729 this.currentSpeed = this.speed; 1730 this.targetSpeed = this.speed; 1731 this.position = 0; 1732 this.setWidth = 0; 1733 this.container = null; 1734 this.isVisible = false; 1735 this.ready = false; 1736 this.originals = []; 1737 this.retries = 0; 1738 this.observer = null; 1739 1740 instances.push(this); 1741 this.prepare(); 1742 } 1743 1744 // Phase 1: Wrap element, collect items, start observing. 1745 Marquee.prototype.prepare = function() { 1746 injectStyles(); 1747 1748 var children = this.list.children; 1749 for (var i = 0; i < children.length; i++) { 1750 if (children[i].getAttribute('data-marquee-item') === 'true') { 1751 this.originals.push(children[i]); 1752 } 1753 } 1754 if (!this.originals.length) return; 1755 1756 this.container = document.createElement('div'); 1757 this.container.setAttribute('data-marquee-container', ''); 1758 this.list.parentNode.insertBefore(this.container, this.list); 1759 this.container.appendChild(this.list); 1760 this.list.setAttribute('data-marquee-track', ''); 1761 1762 this.observe(); 1763 }; 1764 1765 // Phase 2: Measure and clone. Only runs once the element is in view. 1766 Marquee.prototype.build = function() { 1767 if (this.ready) return; 1768 1769 if (this.originals[0].offsetWidth === 0) { 1770 this.retry(); 1771 return; 1772 } 1773 1774 this.setWidth = this.list.offsetWidth; 1775 if (this.setWidth === 0) { 1776 this.retry(); 1777 return; 1778 } 1779 1780 var clonesNeeded = Math.ceil(window.innerWidth / this.setWidth) + 2; 1781 for (var c = 0; c < clonesNeeded; c++) { 1782 for (var i = 0; i < this.originals.length; i++) { 1783 var clone = this.originals[i].cloneNode(true); 1784 clone.setAttribute('aria-hidden', 'true'); 1785 this.list.appendChild(clone); 1786 } 1787 } 1788 1789 var self = this; 1790 this.container.addEventListener('mouseenter', function() { 1791 self.targetSpeed = self.speed * self.slowFactor; 1792 }); 1793 this.container.addEventListener('mouseleave', function() { 1794 self.targetSpeed = self.speed; 1795 }); 1796 1797 this.ready = true; 1798 }; 1799 1800 Marquee.prototype.retry = function() { 1801 if (++this.retries <= MAX_RETRIES) { 1802 var self = this; 1803 setTimeout(function() { self.build(); }, RETRY_DELAY); 1804 } 1805 }; 1806 1807 Marquee.prototype.observe = function() { 1808 var self = this; 1809 1810 if ('IntersectionObserver' in window) { 1811 this.observer = new IntersectionObserver(function(entries) { 1812 var entering = entries[0].isIntersecting; 1813 var wasVisible = self.isVisible; 1814 1815 if (entering) { 1816 if (!self.ready) self.build(); 1817 1818 if (!wasVisible) { 1819 self.isVisible = true; 1820 visibleCount++; 1821 startLoop(); 1822 } 1823 } else { 1824 if (wasVisible) { 1825 self.isVisible = false;
1826 visibleCount--; 1827 stopLoop(); 1828 } 1829 } 1830 }, { rootMargin: '200px 0px' }); 1831 this.observer.observe(this.container); 1832 } else { 1833 this.build(); 1834 this.isVisible = true; 1835 visibleCount++; 1836 startLoop(); 1837 } 1838 }; 1839 1840 Marquee.prototype.recalcSpeed = function() { 1841 this.speed = clampSpeed(this.baseSpeed); 1842 this.targetSpeed = this.speed; 1843 }; 1844 1845 Marquee.prototype.destroy = function() { 1846 if (this.isVisible) { 1847 this.isVisible = false; 1848 visibleCount--; 1849 stopLoop(); 1850 } 1851 if (this.observer) this.observer.disconnect(); 1852 var idx = instances.indexOf(this); 1853 if (idx > -1) instances.splice(idx, 1); 1854 }; 1855 1856 // ── Resize: recalc speed ── 1857 var resizeTimer; 1858 window.addEventListener('resize', function() { 1859 clearTimeout(resizeTimer); 1860 resizeTimer = setTimeout(function() { 1861 for (var i = 0; i < instances.length; i++) { 1862 instances[i].recalcSpeed(); 1863 } 1864 }, 200); 1865 }); 1866 1867 // ── Reduced motion ── 1868 if (window.matchMedia) { 1869 var mq = window.matchMedia('(prefers-reduced-motion: reduce)'); 1870 var motionHandler = function() { 1871 if (mq.matches) { 1872 for (var i = instances.length - 1; i >= 0; i--) { 1873 instances[i].list.style.transform = ''; 1874 instances[i].destroy(); 1875 } 1876 } else { 1877 initMarquees(); 1878 } 1879 }; 1880 if (mq.addEventListener) { 1881 mq.addEventListener('change', motionHandler); 1882 } else if (mq.addListener) { 1883 mq.addListener(motionHandler); 1884 } 1885 } 1886 1887 // ── Init (idempotent + cleans up after page transitions) ── 1888 function initMarquees() { 1889 // Drop instances whose element has left the DOM (e.g. after a Barba transition). 1890 for (var j = instances.length - 1; j >= 0; j--) { 1891 if (!document.body.contains(instances[j].list)) instances[j].destroy(); 1892 } 1893 1894 if (prefersReducedMotion()) return; 1895 1896 var elements = document.querySelectorAll('[data-marquee="true"]'); 1897 for (var i = 0; i < elements.length; i++) { 1898 if (!elements[i]._marquee) { 1899 elements[i]._marquee = new Marquee(elements[i]); 1900 } 1901 } 1902 } 1903 1904 // Runs exactly once per page view. This embed lives inside the Barba container, 1905 // so the transition script re-executes it after every navigation — persistent 1906 // listeners / Barba hooks are NOT needed (they stack up across navigations). 1907 // (initMarquees itself is idempotent via the element._marquee guard.) 1908 window.initMarquees = initMarquees; 1909 if (document.readyState === 'loading') { 1910 document.addEventListener('DOMContentLoaded', initMarquees, { once: true }); 1911 } else { 1912 initMarquees(); 1913 } 1914})(); 1915</script>
1915</div><div class="rotating-words-banner_styles w-embed"><style> 1916.rotating-words-banner_text-wrapper { 1917 background-image: radial-gradient(circle, rgba(44, 28, 15, 0.2) 0.5px, transparent 1px); 1918 background-size: 4px 4px; 1919 background-position: 0 0; 1920} 1921</style></div></section><section class="section_faqs color-scheme-1"><div class="padding-global"><div class="container-large"><div class="padding-section-large"><div class="faqs_grid"><div class="faqs_content-left"><div class="faqs_content-left-top"><div class="faqs_image-wrapper"><div class="faqs_content-left-title"><h2 class="heading-style-h3">FAQs</h2></div><img src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f7c4cfedbaab7413a2cec1_faqs-content-left.avif" loading="lazy" alt="Two people sitting on a lounge chair under an umbrella, one holding a phone, the other a tablet with a question mark above." class="faqs_image"/></div></div><div class="faqs_content-left-bottom"><p class="heading-style-h6">Still have questions?</p><a href="/contact-us" class="button is-small w-button">Get in Touch</a></div></div><div class="faqs_list-wrapper w-dyn-list"><div role="list" class="faqs_list w-dyn-items"><div role="listitem" class="faqs_list-item w-dyn-item"><div class="faqs_accordion"><div class="faqs_question"><div class="text-weight-semibold text-size-medium">Which course suits me?</div><div class="faqs_icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 10 5" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1922<path d="M0.428711 0.0253906H8.86816C8.98866 0.0254844 9.08508 0.0659413 9.15918 0.147461C9.23428 0.229976 9.27148 0.327587 9.27148 0.44043C9.27142 0.443213 9.26941 0.451129 9.26367 0.466797C9.25812 0.481913 9.24994 0.501896 9.23828 0.526367C9.21525 0.574678 9.18001 0.640047 9.13379 0.722656L5.08301 4.75C5.05564 4.77743 5.02558 4.80201 4.99316 4.82422L4.8877 4.88379C4.81309 4.91757 4.73283 4.93457 4.64746 4.93457C4.56216 4.93453 4.4824 4.91754 4.4082 4.88379C4.33314 4.8498 4.26799 4.8051 4.21289 4.75L0.160156 0.72168C0.121128 0.682651 0.0883333 0.638136 0.0625 0.588867C0.0375226 0.540917 0.0253906 0.490127 0.0253906 0.436523C0.02544 0.321495 0.0629286 0.224638 0.137695 0.144531C0.211793 0.0652593 0.307883 0.0253992 0.428711 0.0253906Z" fill="currentColor" stroke="currentColor" stroke-width="0.05"/> 1923</svg></div></div><div class="faqs_answer"><div class="faqs_answer-inner"><div class="text-rich-text w-richtext"><p>Start with your goals. Are you exploring coffee as a hobby, building barista skills, or shifting careers entirely? Each course is designed for different experience levels, from foundational to advanced. Browse by category or use our course finder for a guided recommendation.</p></div></div></div></div></div><div role="listitem" class="faqs_list-item w-dyn-item"><div class="faqs_accordion"><div class="faqs_question"><div class="text-weight-semibold text-size-medium">How do I know the funding and subsidies available for the course I am interested in?</div><div class="faqs_icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 10 5" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1924<path d="M0.428711 0.0253906H8.86816C8.98866 0.0254844 9.08508 0.0659413 9.15918 0.147461C9.23428 0.229976 9.27148 0.327587 9.27148 0.44043C9.27142 0.443213 9.26941 0.451129 9.26367 0.466797C9.25812 0.481913 9.24994 0.501896 9.23828 0.526367C9.21525 0.574678 9.18001 0.640047 9.13379 0.722656L5.08301 4.75C5.05564 4.77743 5.02558 4.80201 4.99316 4.82422L4.8877 4.88379C4.81309 4.91757 4.73283 4.93457 4.64746 4.93457C4.56216 4.93453 4.4824 4.91754 4.4082 4.88379C4.33314 4.8498 4.26799 4.8051 4.21289 4.75L0.160156 0.72168C0.121128 0.682651 0.0883333 0.638136 0.0625 0.588867C0.0375226 0.540917 0.0253906 0.490127 0.0253906 0.436523C0.02544 0.321495 0.0629286 0.224638 0.137695 0.144531C0.211793 0.0652593 0.307883 0.0253992 0.428711 0.0253906Z" fill="currentColor" stroke="currentColor" stroke-width="0.05"/> 1925</svg></div></div><div class="faqs_answer"><div class="faqs_answer-inner"><div class="text-rich-text w-richtext"><p>In the individual course page, use the Funding Calculator to find out the amount of subsidy you are eligible for.</p></div></div></div></div></div><div role="listitem" class="faqs_list-item w-dyn-item"><div class="faqs_accordion"><div class="faqs_question"><div class="text-weight-semibold text-size-medium">Can I reschedule?</div><div class="faqs_icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
1925ox="0 0 10 5" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1926<path d="M0.428711 0.0253906H8.86816C8.98866 0.0254844 9.08508 0.0659413 9.15918 0.147461C9.23428 0.229976 9.27148 0.327587 9.27148 0.44043C9.27142 0.443213 9.26941 0.451129 9.26367 0.466797C9.25812 0.481913 9.24994 0.501896 9.23828 0.526367C9.21525 0.574678 9.18001 0.640047 9.13379 0.722656L5.08301 4.75C5.05564 4.77743 5.02558 4.80201 4.99316 4.82422L4.8877 4.88379C4.81309 4.91757 4.73283 4.93457 4.64746 4.93457C4.56216 4.93453 4.4824 4.91754 4.4082 4.88379C4.33314 4.8498 4.26799 4.8051 4.21289 4.75L0.160156 0.72168C0.121128 0.682651 0.0883333 0.638136 0.0625 0.588867C0.0375226 0.540917 0.0253906 0.490127 0.0253906 0.436523C0.02544 0.321495 0.0629286 0.224638 0.137695 0.144531C0.211793 0.0652593 0.307883 0.0253992 0.428711 0.0253906Z" fill="currentColor" stroke="currentColor" stroke-width="0.05"/> 1927</svg></div></div><div class="faqs_answer"><div class="faqs_answer-inner"><div class="text-rich-text w-richtext"><p>Request to reschedule must be submitted in writing to <a href="mailto:[email protected]">[email protected]</a> <strong>at least 3 working days</strong> before course commences, subject to a $30 admin charge. If the request to reschedule is given less than 3 working days, it will not be approved unless accompanied by a valid medical certificate or equivalent, subject to a $30 admin charge. You may reschedule a class only once. After which, the course fees will be forfeited.</p></div></div></div></div></div><div role="listitem" class="faqs_list-item w-dyn-item"><div class="faqs_accordion"><div class="faqs_question"><div class="text-weight-semibold text-size-medium">Do you offer weekend classes?</div><div class="faqs_icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 10 5" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1928<path d="M0.428711 0.0253906H8.86816C8.98866 0.0254844 9.08508 0.0659413 9.15918 0.147461C9.23428 0.229976 9.27148 0.327587 9.27148 0.44043C9.27142 0.443213 9.26941 0.451129 9.26367 0.466797C9.25812 0.481913 9.24994 0.501896 9.23828 0.526367C9.21525 0.574678 9.18001 0.640047 9.13379 0.722656L5.08301 4.75C5.05564 4.77743 5.02558 4.80201 4.99316 4.82422L4.8877 4.88379C4.81309 4.91757 4.73283 4.93457 4.64746 4.93457C4.56216 4.93453 4.4824 4.91754 4.4082 4.88379C4.33314 4.8498 4.26799 4.8051 4.21289 4.75L0.160156 0.72168C0.121128 0.682651 0.0883333 0.638136 0.0625 0.588867C0.0375226 0.540917 0.0253906 0.490127 0.0253906 0.436523C0.02544 0.321495 0.0629286 0.224638 0.137695 0.144531C0.211793 0.0652593 0.307883 0.0253992 0.428711 0.0253906Z" fill="currentColor" stroke="currentColor" stroke-width="0.05"/> 1929</svg></div></div><div class="faqs_answer"><div class="faqs_answer-inner"><div class="text-rich-text w-richtext"><p>Yes, weekend slots are available for some of our courses. Weekend dates are very popular, so register early!</p></div></div></div></div></div><div role="listitem" class="faqs_list-item w-dyn-item"><div class="faqs_accordion"><div class="faqs_question"><div class="text-weight-semibold text-size-medium">When will I know if my course application is confirmed?</div><div class="faqs_icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 10 5" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1930<path d="M0.428711 0.0253906H8.86816C8.98866 0.0254844 9.08508 0.0659413 9.15918 0.147461C9.23428 0.229976 9.27148 0.327587 9.27148 0.44043C9.27142 0.443213 9.26941 0.451129 9.26367 0.466797C9.25812 0.481913 9.24994 0.501896 9.23828 0.526367C9.21525 0.574678 9.18001 0.640047 9.13379 0.722656L5.08301 4.75C5.05564 4.77743 5.02558 4.80201 4.99316 4.82422L4.8877 4.88379C4.81309 4.91757 4.73283 4.93457 4.64746 4.93457C4.56216 4.93453 4.4824 4.91754 4.4082 4.88379C4.33314 4.8498 4.26799 4.8051 4.21289 4.75L0.160156 0.72168C0.121128 0.682651 0.0883333 0.638136 0.0625 0.588867C0.0375226 0.540917 0.0253906 0.490127 0.0253906 0.436523C0.02544 0.321495 0.0629286 0.224638 0.137695 0.144531C0.211793 0.0652593 0.307883 0.0253992 0.428711 0.0253906Z" fill="currentColor" stroke="currentColor" stroke-width="0.05"/> 1931</svg></div></div><div class="faqs_answer"><div class="faqs_answer-inner"><div class="text-rich-text w-richtext"><p>Upon successful payment of course fees and/or approval of SkillsFuture Credit claim, you will receive an e-mail confirmation within 7 working days. If you did not receive an e-mail confirmation, please write in to us.</p></div></div></div></div></div></div></div></div></div></div></div></section><footer class="footer_component color-scheme-3"><div class="footer_top-wrapper"><div class="padding-global"><div class="container-medium">
1931<div class="footer_top-grid"><div class="footer_left-wrapper"><div class="margin-bottom margin-large"><a href="/" class="footer_logo-link w-nav-brand"><img loading="lazy" height="44px" alt="Bettr Academy" src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/69f15e46537c79ce45113940_6460a1bfa6b4a6585fcc2823f120e0b9_relume-902626.svg" class="footer_logo"/></a></div><div class="margin-bottom margin-xxsmall"><div class="heading-style-h6">Get latest courses and coffee stories.</div></div><div class="footer_form-block w-form"><form id="wf-form-Newsletter-Form-Footer" name="wf-form-Newsletter-Form-Footer" data-name="Newsletter Form Footer" method="get" class="footer_form" data-wf-page-id="69f15e5f33afcbbd1a34530b" data-wf-element-id="a15d66e6-68cf-574b-d3b0-167a7fdde47f" data-turnstile-sitekey="0x4AAAAAAAQTptj2So4dx43e"><input class="form_input w-input" maxlength="256" name="Newsletter-Email" data-name="Newsletter Email" placeholder="Your email" type="email" id="Newsletter-Email" required=""/><input type="submit" data-wait="Please wait..." class="button is-dark w-button" value="Subscribe"/></form><div class="form_message-success-wrapper w-form-done"><div class="form_message-success is-small"><div class="icon-embed-xsmall w-embed"><svg xmlns="http://www.w3.org/2000/svg" clip-rule="evenodd" fill-rule="evenodd" fill="currentColor" height="100%" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 32 32" width="100%" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"><g id="Icon"><path d="m24 15c-3.863 0-7 3.137-7 7s3.137 7 7 7 7-3.137 7-7-3.137-7-7-7zm0 2c2.76 0 5 2.24 5 5s-2.24 5-5 5-5-2.24-5-5 2.24-5 5-5zm-21-10.738 12.39 9.531c.36.276.86.276 1.22 0l12.39-9.531v7.738c0 .552.448 1 1 1s1-.448 1-1v-8c0-1.656-1.344-3-3-3h-24c-1.656 0-3 1.344-3 3v16c0 1.656 1.344 3 3 3h11c.552 0 1-.448 1-1s-.448-1-1-1h-11c-.552 0-1-.448-1-1zm17.793 16.445 2 2c.39.391 1.024.391 1.414 0l3-3c.39-.39.39-1.024 0-1.414s-1.024-.39-1.414 0l-2.293 2.293s-1.293-1.293-1.293-1.293c-.39-.39-1.024-.39-1.414 0s-.39 1.024 0 1.414zm6.567-17.707h-22.72l11.36 8.738z"/></g></svg></div><div>Thank you for subscribing to Bettr Academy.</div></div></div><div class="form_message-error-wrapper w-form-fail"><div class="form_message-error"><div class="text-size-small">Something went wrong. Please try again.</div></div></div></div><div class="text-block-4">By submitting this form, you agree to receiving marketing materials from Bettr. For details, see our <a href="/privacy-policy">Privacy Policy</a>.</div></div><div class="footer_menu-wrapper"><div class="footer_link-column"><div class="footer_link-list"><a href="/courses" aria-current="page" class="footer_link w--current">Courses</a><a href="/workshops-experiences" class="footer_link">Workshops</a><a href="/community-programmes" class="footer_link">Programmes</a><a href="/corporate-training" class="footer_link">Corporate Training</a><a href="https://tms.bettr.academy/auth/client_login" target="_blank" class="footer_link">Student Login</a></div><div class="footer_link-list"><a href="/about-us" class="footer_link">About Us</a><a href="/impact" class="footer_link">Our Impact</a><a href="/our-trainers" class="footer_link">Our Trainers</a><a href="/privacy-policy" class="footer_link">Privacy Policy</a><a href="/terms-conditions" class="footer_link">Terms & Conditions</a><a href="/personal-data-protection-act-pdpa-policy" class="footer_link">PDPA Notice</a><a href="/gdpr-policy" class="footer_link">GDPR Policy</a></div><div class="footer_link-list"><a href="/contact-us" class="footer_link">Contact Us</a><a href="/about-us/frequently-asked-questions" class="footer_link">FAQ</a><div class="text-block">151 Lorong Chuan, #05-06 <br/>Lift Lobby E New Tech Park, <br/>Singapore 556741</div></div></div><div class="footer_menu-bottom"><div class="footer_socials-wrapper"><div class="margin-bottom margin-xxsmall"><div class="heading-style-h6">Follow Us</div></div><div class="footer_social-list"><a aria-label="Facebook" href="https://www.facebook.com/bettr.academy" class="footer_social-link w-inline-block"><div class="icon-embed-full w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
1931ox="0 0 29 29" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1932<path d="M28.4374 14.2171C28.433 17.6922 27.1579 21.0458 24.8525 23.6461C22.5471 26.2464 19.3704 27.914 15.9208 28.3347C15.844 28.3434 15.7662 28.3357 15.6926 28.3121C15.619 28.2886 15.5512 28.2497 15.4937 28.198C15.4362 28.1463 15.3903 28.0831 15.3591 28.0123C15.3279 27.9416 15.3119 27.8651 15.3124 27.7878V17.4984H18.5937C18.7436 17.4987 18.892 17.4682 19.0297 17.4087C19.1673 17.3493 19.2913 17.2622 19.3939 17.1528C19.4965 17.0435 19.5754 16.9142 19.6259 16.773C19.6764 16.6318 19.6974 16.4818 19.6874 16.3322C19.6633 16.0509 19.5335 15.7892 19.3243 15.5998C19.115 15.4103 18.8418 15.3071 18.5595 15.3109H15.3124V12.0296C15.3124 11.4495 15.5429 10.8931 15.9531 10.4828C16.3634 10.0726 16.9198 9.84211 17.4999 9.84211H19.6874C19.8374 9.84244 19.9858 9.81194 20.1234 9.7525C20.2611 9.69306 20.3851 9.60595 20.4876 9.49658C20.5902 9.38722 20.6692 9.25793 20.7197 9.11675C20.7702 8.97557 20.7911 8.82551 20.7812 8.6759C20.757 8.39417 20.6269 8.1321 20.417 7.94256C20.2072 7.75302 19.9333 7.65012 19.6505 7.65461H17.4999C16.3396 7.65461 15.2268 8.11555 14.4063 8.93602C13.5859 9.75649 13.1249 10.8693 13.1249 12.0296V15.3109H9.84369C9.69375 15.3105 9.54534 15.341 9.40769 15.4005C9.27003 15.4599 9.14607 15.547 9.0435 15.6564C8.94093 15.7658 8.86194 15.895 8.81144 16.0362C8.76094 16.1774 8.74 16.3275 8.74994 16.4771C8.77413 16.7588 8.90427 17.0209 9.11411 17.2104C9.32395 17.4 9.59787 17.5029 9.8806 17.4984H13.1249V27.7906C13.1254 27.8677 13.1095 27.9441 13.0784 28.0147C13.0472 28.0853 13.0015 28.1485 12.9441 28.2002C12.8868 28.2518 12.8192 28.2908 12.7457 28.3144C12.6722 28.3381 12.5946 28.3459 12.5179 28.3374C8.97601 27.9061 5.72512 26.1607 3.40871 23.4468C1.0923 20.7329 -0.120807 17.2482 0.00950821 13.6825C0.282946 6.29973 6.26302 0.297777 13.6513 0.0106679C15.5641 -0.0634254 17.4722 0.249038 19.2615 0.92937C21.0508 1.6097 22.6845 2.64392 24.0648 3.97017C25.4452 5.29643 26.5439 6.88746 27.2952 8.64811C28.0465 10.4088 28.435 12.3029 28.4374 14.2171Z" fill="currentColor"/> 1933</svg></div></a><a aria-label="LinkedIn" href="https://www.linkedin.com/company/bettr-group/" class="footer_social-link w-inline-block"><div class="icon-embed-full w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29 29" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1934<path d="M26.25 0H2.1875C1.60734 0 1.05094 0.230468 0.640704 0.640704C0.230468 1.05094 0 1.60734 0 2.1875V26.25C0 26.8302 0.230468 27.3866 0.640704 27.7968C1.05094 28.207 1.60734 28.4375 2.1875 28.4375H26.25C26.8302 28.4375 27.3866 28.207 27.7968 27.7968C28.207 27.3866 28.4375 26.8302 28.4375 26.25V2.1875C28.4375 1.60734 28.207 1.05094 27.7968 0.640704C27.3866 0.230468 26.8302 0 26.25 0ZM9.84375 20.7812C9.84375 21.0713 9.72852 21.3495 9.5234 21.5546C9.31828 21.7598 9.04008 21.875 8.75 21.875C8.45992 21.875 8.18172 21.7598 7.9766 21.5546C7.77148 21.3495 7.65625 21.0713 7.65625 20.7812V12.0312C7.65625 11.7412 7.77148 11.463 7.9766 11.2579C8.18172 11.0527 8.45992 10.9375 8.75 10.9375C9.04008 10.9375 9.31828 11.0527 9.5234 11.2579C9.72852 11.463 9.84375 11.7412 9.84375 12.0312V20.7812ZM8.75 9.84375C8.42552 9.84375 8.10832 9.74753 7.83852 9.56726C7.56872 9.38698 7.35844 9.13075 7.23426 8.83097C7.11009 8.53118 7.0776 8.2013 7.1409 7.88305C7.2042 7.5648 7.36046 7.27247 7.5899 7.04303C7.81935 6.81358 8.11168 6.65733 8.42993 6.59402C8.74818 6.53072 9.07806 6.56321 9.37784 6.68739C9.67762 6.81156 9.93386 7.02184 10.1141 7.29164C10.2944 7.56144 10.3906 7.87864 10.3906 8.20312C10.3906 8.63825 10.2178 9.05555 9.9101 9.36322C9.60242 9.6709 9.18512 9.84375 8.75 9.84375ZM21.875 20.7812C21.875 21.0713 21.7598 21.3495 21.5546 21.5546C21.3495 21.7598 21.0713 21.875 20.7812 21.875C20.4912 21.875 20.213 21.7598 20.0079 21.5546C19.8027 21.3495 19.6875 21.0713 19.6875 20.7812V15.8594C19.6875 15.1342 19.3994 14.4387 18.8866 13.9259C18.3738 13.4131 17.6783 13.125 16.9531 13.125C16.2279 13.125 15.5324 13.4131 15.0196 13.9259C14.5068 14.4387 14.2188 15.1342 14.2188 15.8594V20.7812C14.2188 21.0713 14.1035 21.3495 13.8984 21.5546C13.6933 21.7598 13.4151 21.875 13.125 21.875C12.8349 21.875 12.5567 21.7598 12.3516 21.5546C12.1465 21.3495 12.0312 21.0713 12.0312 20.7812V12.0312C12.0326 11.7633 12.1322 11.5053 12.3113 11.3059C12.4903 11.1066 12.7362 10.9799 13.0025 10.9499C13.2687 10.9199 13.5367 10.9887 13.7556 11.1431C13.9745 11.2976 14.1291 11.527 14.19 11.7879C14.9299 11.286 15.7926 10.9951 16.6854 10.9464C17.5781 10.8978 18.4673 11.0932 19.2573 11.5118C20.0474 11.9304 20.7085 12.5562 21.1697 13.3222C21.6309 14.0882 21.8747 14.9653 21.875 15.8594V20.7812Z" fill="currentColor"/> 1935</svg></div></a><a aria-label="Instagram" href="https://www.instagram.com/bettr.academy" class="footer_social-link w-inline-block"><div class="icon-embed-full w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
1935ox="0 0 29 29" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 1936<path d="M20.7812 0H7.65625C5.62635 0.0021714 3.68022 0.809507 2.24486 2.24486C0.809507 3.68022 0.0021714 5.62635 0 7.65625V20.7812C0.0021714 22.8111 0.809507 24.7573 2.24486 26.1926C3.68022 27.628 5.62635 28.4353 7.65625 28.4375H20.7812C22.8111 28.4353 24.7573 27.628 26.1926 26.1926C27.628 24.7573 28.4353 22.8111 28.4375 20.7812V7.65625C28.4353 5.62635 27.628 3.68022 26.1926 2.24486C24.7573 0.809507 22.8111 0.0021714 20.7812 0ZM14.2188 20.7812C12.9208 20.7812 11.652 20.3964 10.5728 19.6753C9.49362 18.9542 8.65249 17.9293 8.15579 16.7301C7.65909 15.531 7.52913 14.2115 7.78235 12.9385C8.03556 11.6655 8.66058 10.4961 9.57836 9.57836C10.4961 8.66058 11.6655 8.03556 12.9385 7.78235C14.2115 7.52913 15.531 7.65909 16.7301 8.15579C17.9293 8.65249 18.9542 9.49362 19.6753 10.5728C20.3964 11.652 20.7812 12.9208 20.7812 14.2188C20.7794 15.9587 20.0875 17.6268 18.8571 18.8571C17.6268 20.0875 15.9587 20.7794 14.2188 20.7812ZM22.4219 7.65625C22.0974 7.65625 21.7802 7.56003 21.5104 7.37976C21.2406 7.19948 21.0303 6.94325 20.9061 6.64347C20.782 6.34368 20.7495 6.0138 20.8128 5.69555C20.8761 5.3773 21.0323 5.08497 21.2618 4.85553C21.4912 4.62608 21.7836 4.46983 22.1018 4.40652C22.4201 4.34322 22.7499 4.37571 23.0497 4.49989C23.3495 4.62406 23.6057 4.83434 23.786 5.10414C23.9663 5.37394 24.0625 5.69114 24.0625 6.01562C24.0625 6.45075 23.8896 6.86805 23.582 7.17572C23.2743 7.4834 22.857 7.65625 22.4219 7.65625ZM18.5938 14.2188C18.5938 15.084 18.3372 15.9299 17.8564 16.6494C17.3757 17.3688 16.6924 17.9296 15.893 18.2607C15.0936 18.5919 14.2139 18.6785 13.3652 18.5097C12.5166 18.3409 11.737 17.9242 11.1252 17.3123C10.5133 16.7005 10.0966 15.9209 9.92781 15.0723C9.759 14.2236 9.84564 13.3439 10.1768 12.5445C10.5079 11.7451 11.0687 11.0618 11.7881 10.5811C12.5076 10.1003 13.3535 9.84375 14.2188 9.84375C15.3791 9.84375 16.4919 10.3047 17.3123 11.1252C18.1328 11.9456 18.5938 13.0584 18.5938 14.2188Z" fill="currentColor"/> 1937</svg></div></a></div></div><div class="w-dyn-list"><div role="list" class="footer_badge-list w-dyn-items"><div role="listitem" class="w-dyn-item"><a href="https://www.bcorp.com" class="footer_badge-wrapper w-inline-block"><img src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a85753510e4e0ea6362692e_B-Corp-Logo-Black-RGB.avif" loading="lazy" alt="B Corp certified social enterprise" class="footer_badge"/></a></div><div role="listitem" class="w-dyn-item"><div class="footer_badge-wrapper"><img src="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9f72fdd9ed148a0fd3b8e3_PW_Mark_Logo_White.avif" loading="lazy" alt="Progressive Wage" sizes="100vw" srcset="https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9f72fdd9ed148a0fd3b8e3_PW_Mark_Logo_White-p-500.avif 500w, https://cdn.prod.website-files.com/69f173cdbebd31366ef7f0bc/6a9f72fdd9ed148a0fd3b8e3_PW_Mark_Logo_White.avif 829w" class="footer_badge"/></div></div></div></div></div></div></div></div></div><div class="footer_scene-wrapper"><div class="footer_scene"><img src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a348087591dbd2dea38b989_footer-scene-tile-left.avif" loading="lazy" alt="Minimalist brown line drawing of hills with small plants and a seedling on black background." class="footer_scene-tile-left"/><img src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a34bc5f629fe0b5822be0fe_footer-scene-terrain-clean.avif" loading="lazy" width="Auto" height="Auto" alt="A hand-drawn landscape with trees and grass on rolling hills." srcset="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a34bc5f629fe0b5822be0fe_footer-scene-terrain-clean-p-500.png 500w, https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a34bc5f629fe0b5822be0fe_footer-scene-terrain-clean-p-800.avif 800w, https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a34bc5f629fe0b5822be0fe_footer-scene-terrain-clean-p-1080.avif 1080w, https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a34bc5f629fe0b5822be0fe_footer-scene-terrain-clean.avif 2560w" sizes="100vw" class="footer_scene-terrain"/><img src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a348087591dbd2dea38b9a3_footer-scene-tile-right.avif" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a348087591dbd2dea38b9a3_footer-scene-tile-right-p-500.avif 500w, https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a348087591dbd2dea38b9a3_footer-scene-tile-right.avif 1200w" alt="Outline of rocky terrain with grass patches and unusual three-toed plants on black background." class="footer_scene-tile-right"/><div class="footer_scene-couple"><img src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a348087008c8c1da338e681_footer-scene-couple.avif" loading="lazy" alt="Cartoon of two-headed person juggling beans next to a bucket full of beans." class="footer_scene-character"/></div><div class="footer_scene-figure"><img src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a3480874b83ab0ff34a0b72_footer-scene-watering-figure.avif" loading="lazy" alt="Cartoon figure watering a small plant with a watering can." class="footer_scene-character"/></div><div class="footer_scene-snail"><img src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/6a3480884b83ab0ff34a0b8c_footer-scene-snail.avif" loading="lazy" alt="Simple brown line drawing of a snail on the ground with spiraled shell and antennae." class="footer_scene-character"/></div></div><div class="footer_scene-code w-embed w-script"><style> 1938@media (hover:hover){ 1939.footer_scene-character:hover{transform:scale(1.12) translateY(-0.625rem);filter:brightness(1.1);} 1940.footer_scene-figure .footer_scene-character:hover{transform:scale(1.12) translateY(-0.625rem) rotate(3deg);} 1941.footer_scene-snail .footer_scene-character:hover{transform:scale(1.12) translateY(-0.625rem) rotate(-3deg);} 1942.footer_scene-couple .footer_scene-character:hover{transform:scale(1.12) translateY(-0.625rem) rotate(2.5deg);} 1943}
1943 1944.footer_scene-character.is-press{transform:scale(1.12) translateY(-0.625rem);filter:brightness(1.1);} 1945.footer_scene-figure .footer_scene-character.is-press{transform:scale(1.12) translateY(-0.625rem) rotate(3deg);} 1946.footer_scene-snail .footer_scene-character.is-press{transform:scale(1.12) translateY(-0.625rem) rotate(-3deg);} 1947.footer_scene-couple .footer_scene-character.is-press{transform:scale(1.12) translateY(-0.625rem) rotate(2.5deg);} 1948</style>
1949<script> 1950(function(){ 1951 function init(){ 1952 var c=document.querySelector('.footer_component'); 1953 var bg=document.querySelector('.footer_scene'); 1954 if(!c||!bg)return; 1955 function sc(){var t=getComputedStyle(bg).transform;if(!t||t==='none')return 1;var m=t.match(/matrix\(([^)]+)\)/);return m?(parseFloat(m[1].split(',')[0])||1):1;} 1956 function maxX(s){var r=c.getBoundingClientRect();return Math.max(0,(bg.offsetWidth*s-r.width)/2);} 1957 function maxY(s){var r=c.getBoundingClientRect();return Math.max(0,(bg.offsetHeight*s-r.height)/2);} 1958 function curX(){var m=(bg.style.transform||'').match(/translate\(([-0-9.]+)px/);return m?parseFloat(m[1]):0;} 1959 var raf=null,lastTouch=0,drag=false,lock=null,sx=0,sy=0,ox=0,s=1,mx=0,lastX=0,lastT=0,vx=0,pressedEl=null; 1960 function applyX(x){bg.style.transform='translate('+x+'px,0px) scale('+s+')';} 1961 function move(e){if(drag||raf||Date.now()-lastTouch<700)return;var s2=sc();var r=c.getBoundingClientRect();var nx=(e.clientX-r.left)/r.width*2-1;var ny=(e.clientY-r.top)/r.height*2-1;bg.style.transition='';bg.style.transform='translate('+(-nx*maxX(s2))+'px,'+(-ny*maxY(s2))+'px) scale('+s2+')';} 1962 function leave(){if(Date.now()-lastTouch<700)return;bg.style.transform='';} 1963 c.addEventListener('mousemove',move); 1964 c.addEventListener('mouseleave',leave); 1965 function stop(){if(raf){cancelAnimationFrame(raf);raf=null;}} 1966 c.addEventListener('touchstart',function(e){stop();var t=e.touches[0];sx=t.clientX;sy=t.clientY;s=sc();mx=maxX(s);ox=curX();lastX=t.clientX;lastT=Date.now();vx=0;drag=true;lock=null;bg.style.transition='none';var ch=e.target&&e.target.closest?e.target.closest('.footer_scene-character'):null;pressedEl=ch;if(ch)ch.classList.add('is-press');},{passive:true}); 1967 c.addEventListener('touchmove',function(e){if(!drag)return;var t=e.touches[0];var dx=t.clientX-sx;var dy=t.clientY-sy;if(lock===null){if(Math.abs(dx)<6&&Math.abs(dy)<6)return;lock=Math.abs(dx)>Math.abs(dy)?'x':'y';if(pressedEl){pressedEl.classList.remove('is-press');pressedEl=null;}}if(lock==='y'){drag=false;return;}e.preventDefault();var now=Date.now();if(now>lastT){vx=(t.clientX-lastX)/(now-lastT);lastX=t.clientX;lastT=now;}applyX(Math.max(-mx,Math.min(mx,ox+dx)));},{passive:false}); 1968 function endT(){lastTouch=Date.now();if(pressedEl){var p=pressedEl;pressedEl=null;setTimeout(function(){p.classList.remove('is-press');},450);}if(!drag)return;drag=false;if(lock!=='x')return;var x=curX();function step(){vx*=0.95;x+=vx*16;
1968if(x>mx){x=mx;vx=0;}else if(x<-mx){x=-mx;vx=0;}applyX(x);if(Math.abs(vx)>0.02){raf=requestAnimationFrame(step);}else{raf=null;}}if(Math.abs(vx)>0.02){raf=requestAnimationFrame(step);}} 1969 c.addEventListener('touchend',endT); 1970 c.addEventListener('touchcancel',endT); 1971 } 1972 if(document.readyState!=='loading')init();else document.addEventListener('DOMContentLoaded',init); 1973})(); 1974</script>
1974</div></div></div><div class="footer_bottom-wrapper color-scheme-4"><div class="padding-global"><div class="container-large"><div class="footer_bottom-list-wrapper"><div class="footer_bottom-list"><div class="text-size-small">© <span class="this-year">2026</span> Bettr Academy. All rights reserved.</div><a href="/privacy-policy" class="text-size-small">Privacy Policy</a><a href="/terms-conditions" class="text-size-small">Terms & Conditions</a></div><div class="footer_bottom-list"><div class="text-size-small">Website by <a href="https://www.qagency.com.au">Q Agency</a></div></div></div></div></div><div class="this-year-script w-embed w-script">
1974<script> 1975 document.querySelectorAll('.this-year').forEach(function (el) { 1976 el.textContent = new Date().getFullYear(); 1977 }); 1978</script>
1978</div></div><div flowappz-cookie-consent-container="true" class="flowappz-cookie-consent"><div class="flowappz-cookie-consent-code w-embed"><style> 1979 1980/* This will hide elements with .your-body-class if .wf-doc is not on the <html> element */ 1981html:not(.wf-doc) .flowappz-hide-popup { 1982 display: none; 1983} 1984.w--redirected-checked{ 1985 background-size:11px; 1986} 1987 1988/* Custom scrollbar styles for elements with the attribute */ 1989[custom-scrollbar="true"]::-webkit-scrollbar { 1990 width: 10px; 1991 height: 10px; 1992} 1993 1994[custom-scrollbar="true"]::-webkit-scrollbar-track { 1995 background-color: #f2f2f2; 1996 border-radius: 6px; 1997} 1998 1999[custom-scrollbar="true"]::-webkit-scrollbar-thumb { 2000 background-color: #141414; 2001 border-radius: 6px; 2002 border: 2px solid #f0f0f0; /* Add padding around the thumb */ 2003} 2004 2005[custom-scrollbar="true"]::-webkit-scrollbar-thumb:hover { 2006 background-color: #0056b3; 2007} 2008 2009</style></div><div flowappz-cookie-popup="true" class="flowappz-cookie-consent-popup-13 flowappz-hide-popup"><div class="flowappz-consent-popup-content-20"><h2 class="flowappz-cookie-popup-heading-32">Cookie Settings</h2><div class="flowappz-cookie-popup-content-paragraph-30"><p class="paragraph-20">We use cookies and similar technologies to help personalise content, tailor and measure ads, and provide a better experience. By clicking OK or turning an option on in Cookie Preferences, you agree to this, as outlined in our <a href="/privacy-policy" class="flowappz-cookie-policy-link">cookie policy.</a></p></div><div class="flowappz-cookie-popup-btn-wrapper-9"><a flowappz-cookie-command="accept-all" href="#" class="flowappz-cookie-accept-button-27 w-button">Allow All</a><a flowappz-cookie-command="reject-all" href="#" class="flowappz-cookie-reject-button-23 w-button">Reject</a><p class="paragraph-21"><a href="#" flowappz-cookie-command="manage-settings" class="flowappz-policy-link-3">Customise</a></p></div><div class="flowappz-cookie-consent-code w-embed"><style> 2010 2011/* This will hide elements with .your-body-class if .wf-doc is not on the <html> element */ 2012html:not(.wf-doc) .flowappz-hide-popup { 2013 display: none; 2014} 2015.w--redirected-checked{ 2016 background-size:11px; 2017} 2018 2019 2020[custom-scrollbar="true"]::-webkit-scrollbar {
2021 width: 10px; 2022 height: 10px; 2023} 2024 2025[custom-scrollbar="true"]::-webkit-scrollbar-track { 2026 background-color: #f2f2f2; 2027 border-radius: 6px; 2028} 2029 2030[custom-scrollbar="true"]::-webkit-scrollbar-thumb { 2031 background-color: #141414; 2032 border-radius: 6px; 2033 border: 2px solid #f0f0f0; 2034} 2035 2036 2037</style></div></div></div><div flowappz-cookie-settings-wrapper="true" class="flowappz-cookie-consent-preference-manager-wrapper-10"><div custom-scrollbar="true" class="flowappz-preference-container-17"><div class="flowappz-settings-content-wrapper-3"><div class="flowappz-cookie-title-wrapper"><h2 class="flowappz-cookie-popup-heading-34">Cookie Settings</h2><div flowappz-cookie-command="close-settings" class="flowappz-cookie-settings-close-btn-16"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 34 34" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M17.7071 16.0867L22.922 10.8718L23.8059 11.7557L18.591 16.9706L23.8059 22.1855L22.922 23.0694L17.7071 17.8545L12.4922 23.0694L11.6083 22.1855L16.8232 16.9706L11.6083 11.7557L12.4922 10.8718L17.7071 16.0867Z" fill="currentColor"></path></svg></div></div><p class="flowappz-cookie-popup-content-paragraph-29">Cookies are small text that can be used by websites to make the user experience  more efficient. The law states that we may store cookies on your device if they are strictly necessaryfor the operation of this site. For all other types of cookies, we need your  permission. This site uses various types of cookies. Some cookies are placed by third party  services that appear on our pages.</p><div class="flowappz-cookie-settings-wrapper-5"><div class="w-form"><form id="wf-form-Cookie-Consent-Email-Form" name="wf-form-Cookie-Consent-Email-Form" data-name="Cookie Consent Email Form" method="get" class="form-15" data-wf-page-id="69f15e5f33afcbbd1a34530b" data-wf-element-id="cee1d75c-cd33-f0c4-ddef-19e2a9c5a072" data-turnstile-sitekey="0x4AAAAAAAQTptj2So4dx43e"><div class="flowappz-cookie-setting-content-wrapper-16"><label class="w-checkbox flowappz-cookie-setting-checkbox"><div class="w-checkbox-input w-checkbox-input--inputType-custom flowappz-cookie-setting-input-9 w--redirected-checked"></div><input type="checkbox" name="checkbox" id="checkbox" data-name="Checkbox" flowappz-cookie-choice="necessary" style="opacity:0;position:absolute;z-index:-1" checked=""/><span class="flowappz-cookie-setting-title-19 w-form-label" for="checkbox">Necessary (Always Active)</span></label><p class="flowappz-cookie-setting-description-13">These items required to enable basic website functionality</p></div><div class="flowappz-cookie-setting-content-wrapper-16"><label class="w-checkbox flowappz-cookie-setting-checkbox"><div class="w-checkbox-input w-checkbox-input--inputType-custom flowappz-cookie-setting-input-9"></div><input type="checkbox" name="checkbox-4" id="checkbox-4" data-name="Checkbox 4" flowappz-cookie-choice="marketing" style="opacity:0;position:absolute;z-index:-1"/><span class="flowappz-cookie-setting-title-19 w-form-label" for="checkbox-4">Marketing</span></label><p class="flowappz-cookie-setting-description-13">Cookies used to deliver advertising that is more relevant to you and your interests.</p></div><div class="flowappz-cookie-setting-content-wrapper-16"><label class="w-checkbox flowappz-cookie-setting-checkbox"><div class="w-checkbox-input w-checkbox-input--inputType-custom flowappz-cookie-setting-input-9"></div><input type="checkbox" name="checkbox-3" id="checkbox-3" data-name="Checkbox 3" flowappz-cookie-choice="personalization" style="opacity:0;position:absolute;z-index:-1"/><span class="flowappz-cookie-setting-title-19 w-form-label" for="checkbox-3">Personalisation</span></label><p class="flowappz-cookie-setting-description-13">Cookies allowing the website to remember choices you make (such as your user name, language, or the region you are in).</p></div><div class="flowappz-cookie-setting-content-wrapper-16"><label class="w-checkbox flowappz-cookie-setting-checkbox"><div class="w-checkbox-input w-checkbox-input--inputType-custom flowappz-cookie-setting-input-9"></div><input type="checkbox" name="checkbox-2" id="checkbox-2" data-name="Checkbox 2" flowappz-cookie-choice="analytics" style="opacity:0;position:absolute;z-index:-1"/>
2037<span class="flowappz-cookie-setting-title-19 w-form-label" for="checkbox-2">Analytics</span></label><p class="flowappz-cookie-setting-description-13">Cookies helping understand how this website performs, how visitors interact with the site, and weather there may be technical issues.</p></div></form><div class="w-form-done"><div>Thank you! Your submission has been received!</div></div><div class="w-form-fail"><div>Oops! Something went wrong while submitting the form. Please email us at [email protected].</div></div></div></div></div><div class="flowappz-cookie-settings-button-wrapper-19"><a flowappz-cookie-command="accept-selected" href="#" class="flowappz-cookie-accept-button-29 w-button">Confirm Choices</a><a flowappz-cookie-command="close-settings" href="#" class="flowappz-cookie-reject-button-22 w-button">Cancel</a></div></div></div></div></footer></main></div>
2037<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=69f15930f71b5763616e2c5c" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
2037<script src="https://cdn.prod.website-files.com/69f15930f71b5763616e2c5c/js/webflow.cd952968.1cd5b3e7cf66ad9c.js" type="text/javascript" integrity="sha384-Jqx/2yoLxMYHDMCgc2SGa0l5+EevtjcN9o7+iNXVa6EfSNZhpgRNiJGUgyCMjebR" crossorigin="anonymous"></script>
2037<script src="https://cdn.prod.website-files.com/gsap/3.15.0/gsap.min.js" type="text/javascript"></script>
2037<script src="https://cdn.prod.website-files.com/gsap/3.15.0/ScrollTrigger.min.js" type="text/javascript"></script>
2037<!-- Lenis Smooth Scroller CSS --> 2038<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/lenis.css" /> 2039 2040<!-- Scripts -->
2041<script src="https://cdn.prod.website-files.com/gsap/3.15.0/SplitText.min.js"></script>
vendor: 1 bytes, line 2041
2041
2042<script src="https://cdn.prod.website-files.com/gsap/3.15.0/CustomEase.min.js"></script>
vendor: 1 bytes, line 2042
2042
2043<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/lenis.min.js"></script>
vendor: 1 bytes, line 2043
2043
2044<script src="https://cdn.jsdelivr.net/npm/@barba/[email protected]/dist/barba.umd.min.js"></script>
vendor: 1 bytes, line 2044
2044
2045<script> 2046 gsap.registerPlugin(SplitText, ScrollTrigger, CustomEase); 2047</script>
2047 2048 2049<!-- OSMO page transition v2.4 (full commented source: SOT §4 / 2026-07-17 chat) -->
2050<script> 2051 if (window.CustomEase) gsap.registerPlugin(CustomEase); 2052 if (window.SplitText) gsap.registerPlugin(SplitText); 2053 if (window.ScrollTrigger) gsap.registerPlugin(ScrollTrigger); 2054 2055 history.scrollRestoration = 'manual'; 2056 2057 if (window.CustomEase) CustomEase.create('osmo', '0.625, 0.05, 0, 1'); 2058 gsap.defaults({ ease: 'osmo', duration: 0.6 }); 2059 2060 const HOME_ENTRANCE = { 2061 pageName: 'home', // the data-page-name value that counts as "homepage" 2062 startDelay: 1.0, 2063 ease: 'expo.out', 2064 2065 heading: { 2066 fromY: 110, // how far below each char starts (% of its height; it's masked, so this hides it) 2067 stagger: 0.03, 2068 duration: 0.75, 2069 }, 2070 subheading: { 2071 fromY: 120, 2072 stagger: 0.08, 2073 duration: 0.8, 2074 overlap: 1, 2075 }, 2076 badge: { 2077 fromRotation: 90, 2078 duration: 1.0, 2079 ease: 'back.out(1.7)', // overshoot "pop" 2080 overlap: 1, 2081 }, 2082 }; 2083 2084 const TRANSITION = { 2085 panelSlideDur: 0.45, 2086 revealBuffer: 0.15, 2087 enterStartMin: 1.2, 2088 enterStartMax: 4.0, // safety cap so a huge stack can't stall navigation 2089 }; 2090 2091 const STICKER_STACK = { 2092 firstDur: 0.35, 2093 restDur: 0.3, 2094 restStagger: 0.1, 2095 gap: 0.15, 2096 }; 2097 2098 const TRANSITION_VARIANTS = { 2099 attr: 'data-wf--page-transition--transition-variant', 2100 stickers: 'stacking-stickers', 2101 wipe: 'page-name', 2102 fallback: 'stickers', 2103 }; 2104 2105 const WIPE = { 2106 hold: 0.15, 2107 nameFade: 0.25, 2108 nameHold: 0.45, 2109 panelOutDur: 0.6, 2110 pageInDur: 0.7, 2111 ease: 'power2.out', 2112 }; 2113 2114 let lenis = null; 2115 let onceFunctionsInitialized = false; 2116 2117 const hasLenis = typeof window.Lenis !== 'undefined'; 2118 const hasScrollTrigger = typeof window.ScrollTrigger !== 'undefined'; 2119 2120 const rmMQ = window.matchMedia('(prefers-reduced-motion: reduce)'); 2121 let reducedMotion = rmMQ.matches; 2122 rmMQ.addEventListener?.('change', (e) => (reducedMotion = e.matches)); 2123 rmMQ.addListener?.((e) => (reducedMotion = e.matches)); 2124 2125 const PANEL_SLIDE_DUR = TRANSITION.panelSlideDur;
2126 2127 window.__bettrInitLenis = window.__bettrInitLenis || function () { 2128 if (window.lenis) return window.lenis; 2129 if (typeof window.Lenis === 'undefined') return null; 2130 const l = (window.lenis = new Lenis({ 2131 lerp: 0.1, 2132 wheelMultiplier: 0.7, 2133 gestureOrientation: 'vertical', 2134 normalizeWheel: false, 2135 smoothTouch: false, 2136 })); 2137 if (window.ScrollTrigger) { 2138 l.on('scroll', ScrollTrigger.update); 2139 ScrollTrigger.scrollerProxy(document.documentElement, { 2140 scrollTop(value) { 2141 if (arguments.length) l.scrollTo(value, { immediate: true }); 2142 else return window.scrollY || window.pageYOffset; 2143 }, 2144 getBoundingClientRect() { 2145 return { top: 0, left: 0, width: innerWidth, height: innerHeight }; 2146 }, 2147 pinType: document.documentElement.style.transform ? 'transform' : 'fixed', 2148 }); 2149 } 2150 gsap.ticker.add((time) => l.raf(time * 1000)); 2151 gsap.ticker.lagSmoothing(0); 2152 if (window.jQuery) { 2153 jQuery('[data-lenis-start]').on('click', () => l.start()); 2154 jQuery('[data-lenis-stop]').on('click', () => l.stop()); 2155 jQuery('[data-lenis-toggle]').on('click', function () { 2156 jQuery(this).toggleClass('stop-scroll'); 2157 jQuery(this).hasClass('stop-scroll') ? l.stop() : l.start(); 2158 }); 2159 } 2160 return l; 2161 }; 2162 2163 let cover = null; 2164 2165 function startCover() { 2166 const els = getTransitionEls(); 2167 if (!els || !els.panel) return null; 2168 gsap.set(els.wrap, { autoAlpha: 1, pointerEvents: 'auto' }); 2169 gsap.set(els.panel, { autoAlpha: 1 }); 2170 if (els.logoWrap) gsap.set(els.logoWrap, { display: 'none', autoAlpha: 0 }); 2171 if (els.nameWrap) gsap.set(els.nameWrap, { display: 'none', autoAlpha: 0 }); 2172 if (els.label) gsap.set(els.label, { autoAlpha: 0 }); 2173 gsap.fromTo(els.panel, { yPercent: 0 }, { yPercent: -100, duration: PANEL_SLIDE_DUR, ease: 'expo.out', overwrite: 'auto' }); 2174 const current = document.querySelector('[data-barba="container"]'); 2175 if (current) gsap.fromTo(current, { y: '0vh' }, { y: '-15vh', duration: Math.max(0.5, PANEL_SLIDE_DUR + 0.2), overwrite: 'auto' }); 2176 return { startedAt: performance.now() }; 2177 } 2178 2179 function coverSlideRemaining() { 2180 if (!cover) return PANEL_SLIDE_DUR; 2181 return Math.max(0, PANEL_SLIDE_DUR - coverElapsed()); 2182 } 2183 function coverElapsed() { 2184 return cover ? (performance.now() - cover.startedAt) / 1000 : 0; 2185 } 2186 2187 function wipeEnterStart(slideRemaining) { 2188 let t = Math.max(slideRemaining + WIPE.hold, 0.1); 2189 if (cover) t = Math.max(t, WIPE.nameFade + WIPE.nameHold); 2190 return t; 2191 } 2192 2193 function initOnceFunctions() { 2194 initLenis(); 2195 if (onceFunctionsInitialized) return; 2196 onceFunctionsInitialized = true; 2197 } 2198 2199 function buildLogoStack(tl, items, opts) { 2200 opts = opts || {}; 2201 if (!items.length) return tl; 2202 const firstAt = opts.firstAt != null ? opts.firstAt : 0; 2203 const s = STICKER_STACK; 2204 tl.set(items, { opacity: 0, scale: 0, rotate: () => gsap.utils.random(-8, 8) }, firstAt); 2205 tl.to(items[0], { opacity: 1, scale: 1, duration: s.firstDur, ease: 'back.out(1.7)' }, firstAt + 0.05); 2206 if (items.length > 1) { 2207 const restAt = firstAt + 0.05 + s.firstDur + s.gap; 2208 tl.to(items.slice(1), { 2209 opacity: 1, 2210 scale: () => gsap.utils.random(0.85, 1.15), 2211 duration: s.restDur, 2212 ease: 'back.out(1.7)', 2213 stagger: s.restStagger, 2214 }, restAt); 2215 } 2216 return tl; 2217 } 2218 2219 function autoEnterStart(slideRemaining, elapsed) { 2220 const wrap = document.querySelector('.transition__logo-wrapper'); 2221 const n = wrap ? wrap.children.length : 0; 2222 const effMin = Math.max(0.35, TRANSITION.enterStartMin - (elapsed || 0)); 2223 if (!n) return effMin; 2224 const s = STICKER_STACK; 2225 const logoStart = slideRemaining + 0.05; 2226 const firstEnd = logoStart + 0.05 + s.firstDur; 2227 let stackFinish = firstEnd; 2228 if (n > 1) stackFinish = firstEnd + s.gap + (n - 2) * s.restStagger + s.restDur; 2229 return Math.min(TRANSITION.enterStartMax, Math.max(effMin, stackFinish + TRANSITION.revealBuffer)); 2230 } 2231 2232 function getTransitionEls() { 2233 const wrap = document.querySelector('[data-transition-wrap]'); 2234 if (!wrap) return null; 2235 return { 2236 wrap, 2237 panel: wrap.querySelector('[data-transition-panel]'), 2238 logoWrap: wrap.querySelector('.transition__logo-wrapper'), 2239 nameWrap: wrap.querySelector('.transition__page-name-wrapper, .transiton__page-name-wrapper'), 2240 cmsTitle: wrap.querySelector('.transition__cms-page-title'), 2241 pageName: wrap.querySelector('.transition__page-name'), 2242 label: wrap.querySelector('[data-transition-label]'), 2243 }; 2244 } 2245 2246 function transitionTypeFor(data) { 2247 const html = data && data.next && data.next.html; 2248 let variant = ''; 2249 if (html) { 2250 const m = html.match(/data-wf--page-transition--transition-variant="([^"]*)"/i); 2251 if (m) variant = m[1]; 2252 } 2253 if (variant === TRANSITION_VARIANTS.wipe) return 'wipe'; 2254 if (variant === TRANSITION_VARIANTS.stickers) return 'stickers'; 2255 return TRANSITION_VARIANTS.fallback; 2256 } 2257 2258 function populateWipeText(data, els) { 2259 const isPlaceholder = (s) => /^\[.*\]$/.test(s); 2260 const html = data && data.next && data.next.html; 2261 let doc = null; 2262 if (html) { try { doc = new DOMParser().parseFromString(html, 'text/html'); } catch (e) {} } 2263 2264 const setText = (liveEl, sel, fallback) => { 2265 if (!liveEl) return; 2266 let txt = ''; 2267 if (doc) { 2268 const src = doc.querySelector(sel); 2269 if (src) { const t = (src.textContent || '').trim(); if (t && !isPlaceholder(t)) txt = t; } 2270 } 2271 if (!txt && fallback && !isPlaceholder(fallback)) txt = fallback; 2272 const inner = liveEl.querySelector('div') || liveEl; 2273 inner.textContent = txt; 2274 }; 2275 2276 const pageNameFallback = (data.next.container.getAttribute('data-page-name') || '').trim(); 2277 setText(els.cmsTitle, '.transition__cms-page-title', ''); 2278 setText(els.pageName, '.transition__page-name', pageNameFallback); 2279 } 2280 2281 function resetTransitionState() { 2282 const transitionWrap = document.querySelector('[data-transition-wrap]'); 2283 if (!transitionWrap) return; 2284 const transitionPanel = transitionWrap.querySelector('[data-transition-panel]'); 2285 const transitionLabel = transitionWrap.querySelector('[data-transition-label]'); 2286 const logoWrap = transitionWrap.querySelector('.transition__logo-wrapper'); 2287 const nameWrap = transitionWrap.querySelector('.transition__page-name-wrapper, .transiton__page-name-wrapper'); 2288 const nameEls = nameWrap ? Array.from(nameWrap.querySelectorAll('.transition__cms-page-title, .transition__page-name')) : []; 2289 const stackItems = logoWrap ? Array.from(logoWrap.children) : []; 2290 2291 if (transitionPanel) { 2292 gsap.set(transitionPanel, { clearProps: 'all' }); 2293 transitionPanel.style.opacity = ''; 2294 transitionPanel.style.visibility = ''; 2295 } 2296 if (transitionLabel) gsap.set(transitionLabel, { autoAlpha: 0 });
2297 if (logoWrap) gsap.set([logoWrap].concat(stackItems), { clearProps: 'all' }); 2298 if (nameWrap) gsap.set([nameWrap].concat(nameEls), { clearProps: 'all' }); 2299 gsap.set(transitionWrap, { clearProps: 'all' }); 2300 transitionWrap.style.pointerEvents = ''; 2301 transitionWrap.style.opacity = ''; 2302 transitionWrap.style.visibility = ''; 2303 2304 const container = document.querySelector('[data-barba="container"]'); 2305 if (container) { 2306 gsap.set(container, { clearProps: 'position,top,left,right,transform,opacity,visibility' }); 2307 container.style.position = ''; 2308 container.style.top = ''; 2309 container.style.left = ''; 2310 container.style.right = ''; 2311 } 2312 } 2313 2314 function runPageOnceAnimation(next) { 2315 const isHome = (next.getAttribute('data-page-name') || '').trim().toLowerCase() === HOME_ENTRANCE.pageName; 2316 2317 return new Promise((resolve) => { 2318 document.documentElement.classList.remove('is-home-loading'); 2319 resetTransitionState(); 2320 if (hasLenis && lenis) { lenis.resize(); lenis.start(); } 2321 window.scrollTo(0, 0); 2322 2323 if (!isHome || reducedMotion) { 2324 resolve(); 2325 return; 2326 } 2327 2328 let playHero = null; 2329 try { 2330 const heading = next.querySelector('[data-page-load="heading"]'); 2331 const subheading = next.querySelector('[data-page-load="subheading"]'); 2332 const googleBadge = next.querySelector('[data-page-load="badge"]'); 2333 2334 let split, splitSub; 2335 if (heading && window.SplitText) { 2336 split = new SplitText(heading, { type: 'chars', mask: 'chars' }); 2337 gsap.set(split.chars, { yPercent: HOME_ENTRANCE.heading.fromY }); 2338 } 2339 if (subheading && window.SplitText) { 2340 splitSub = new SplitText(subheading, { type: 'words', mask: 'words' }); 2341 gsap.set(splitSub.words, { yPercent: HOME_ENTRANCE.subheading.fromY }); 2342 } 2343 if (googleBadge) gsap.set(googleBadge, { scale: 0, rotation: HOME_ENTRANCE.badge.fromRotation }); 2344 2345 if (heading && heading.classList.contains('text-style-full-width')) { 2346 const c = heading.parentElement; 2347 heading.style.setProperty('font-size', '500px', 'important'); 2348 void heading.offsetWidth; 2349 heading.style.setProperty('font-size', 500 * (c.clientWidth / heading.scrollWidth) + 'px', 'important'); 2350 } 2351 2352 playHero = (tl) => { 2353 if (split?.chars?.length) { 2354 tl.to(split.chars, { 2355 yPercent: 0, 2356 stagger: HOME_ENTRANCE.heading.stagger, 2357 duration: HOME_ENTRANCE.heading.duration, 2358 }); 2359 } 2360 if (splitSub?.words?.length) { 2361 tl.to(splitSub.words, { 2362 yPercent: 0, 2363 stagger: HOME_ENTRANCE.subheading.stagger, 2364 duration: HOME_ENTRANCE.subheading.duration, 2365 }, '-=' + HOME_ENTRANCE.subheading.overlap); 2366 } 2367 if (googleBadge) { 2368 tl.to(googleBadge, { 2369 scale: 1, 2370 rotation: 0, 2371 duration: HOME_ENTRANCE.badge.duration, 2372 ease: HOME_ENTRANCE.badge.ease, 2373 }, '-=' + HOME_ENTRANCE.badge.overlap); 2374 } 2375 }; 2376 } catch (e) { 2377 console.warn('[home hero] entrance skipped:', e); 2378 playHero = null; 2379 } 2380 2381 if (!playHero) { 2382 resolve(); 2383 return; 2384 } 2385 2386 const tl = gsap.timeline({ 2387 delay: HOME_ENTRANCE.startDelay, 2388 defaults: { ease: HOME_ENTRANCE.ease }, 2389 onComplete: resolve, 2390 }); 2391 playHero(tl); 2392 setTimeout(resolve, HOME_ENTRANCE.startDelay * 1000 + 5000); 2393 }); 2394 } 2395 2396 function runPageLeaveAnimation(data) { 2397 const current = data.current.container; 2398 const next = data.next.container; 2399 const els = getTransitionEls(); 2400 const transitionWrap = els.wrap; 2401 const transitionPanel = els.panel; 2402 const logoWrap = els.logoWrap; 2403 const nameWrap = els.nameWrap; 2404 const stackItems = logoWrap ? Array.from(logoWrap.children) : []; 2405 const transitionLabel = els.label; 2406 const type = transitionTypeFor(data); 2407 2408 return new Promise((resolve) => { 2409 let resolved = false;
2410 const finish = () => { 2411 if (resolved) return; 2412 resolved = true; 2413 try { 2414 if (current && current.parentNode) current.remove(); 2415 setupPage(data); 2416 } catch (e) { console.warn('[barba] leave cleanup failed:', e); } 2417 resolve(); 2418 }; 2419 2420 if (reducedMotion) { 2421 gsap.set(current, { autoAlpha: 0 }); 2422 finish(); 2423 return; 2424 } 2425 2426 const slideRemaining = coverSlideRemaining(); 2427 2428 const tl = gsap.timeline({ onComplete: finish }); 2429 2430 tl.set(next, { autoAlpha: 0 }, 0); 2431 tl.set(transitionWrap, { autoAlpha: 1, pointerEvents: 'auto' }, 0); 2432 tl.set(transitionPanel, { autoAlpha: 1 }, 0); 2433 2434 if (type === 'wipe') { 2435 if (logoWrap) tl.set(logoWrap, { display: 'none', autoAlpha: 0 }, 0); 2436 if (transitionLabel) tl.set(transitionLabel, { autoAlpha: 0 }, 0); 2437 populateWipeText(data, els); 2438 const nameTargets = [els.cmsTitle, els.pageName].filter(Boolean); 2439 if (nameWrap) tl.set(nameWrap, { display: 'flex', autoAlpha: 1 }, 0); 2440 if (nameTargets.length) { 2441 tl.set(nameTargets, { display: 'block', yPercent: 0 }, 0); 2442 if (cover) tl.fromTo(nameTargets, { autoAlpha: 0 }, { autoAlpha: 1, duration: WIPE.nameFade }, 0); 2443 else tl.set(nameTargets, { autoAlpha: 1 }, 0); 2444 } 2445 } else { 2446 if (nameWrap) tl.set(nameWrap, { display: 'none', autoAlpha: 0 }, 0); 2447 if (logoWrap) tl.set(logoWrap, { display: 'flex', autoAlpha: 1 }, 0); 2448 if (transitionLabel) tl.fromTo(transitionLabel, { autoAlpha: 0 }, { autoAlpha: 1, duration: 0.4 }, 0); 2449 const transitionLabelText = transitionWrap.querySelector('[data-transition-label-text]'); 2450 if (transitionLabelText) transitionLabelText.innerText = next.getAttribute('data-page-name') || 'Hi there'; 2451 } 2452 2453 if (!cover) { 2454 tl.fromTo(transitionPanel, { yPercent: 0 }, { yPercent: -100, duration: PANEL_SLIDE_DUR, ease: 'expo.out' }, 0); 2455 tl.fromTo(current, { y: '0vh' }, { y: '-15vh', duration: Math.max(0.5, PANEL_SLIDE_DUR + 0.2) }, 0); 2456 } 2457 2458 if (type === 'wipe') { 2459 tl.add('end', wipeEnterStart(slideRemaining)); 2460 } else { 2461 const LOGO_START = slideRemaining + 0.05; 2462 if (logoWrap && stackItems.length) { 2463 tl.set(logoWrap, { display: 'flex', autoAlpha: 1 }, LOGO_START); 2464 buildLogoStack(tl, stackItems, { firstAt: LOGO_START }); 2465 } 2466 tl.add('end', '+=0.25'); 2467 } 2468 2469 setTimeout(finish, 5000); 2470 }); 2471 } 2472 2473 function runPageEnterAnimation(data) { 2474 const next = data.next.container; 2475 const els = getTransitionEls(); 2476 const transitionPanel = els.panel; 2477 const transitionLabel = els.label; 2478 const type = transitionTypeFor(data); 2479 2480 const slideRemaining = coverSlideRemaining(); 2481 const elapsed = coverElapsed(); 2482 2483 return new Promise((resolve) => { 2484 let resolved = false; 2485 const finish = () => { 2486 if (resolved) return; 2487 resolved = true; 2488 cover = null; 2489 resetTransitionState(); 2490 if (hasScrollTrigger) ScrollTrigger.refresh(); 2491 resolve(); 2492 }; 2493 2494 if (reducedMotion) { 2495 resetPage(next); 2496 gsap.set(next, { autoAlpha: 1 }); 2497 finish(); 2498 return; 2499 } 2500 2501 if (type === 'wipe') { 2502 const ENTER_START = wipeEnterStart(slideRemaining); 2503 const tl = gsap.timeline({ onComplete: finish }); 2504 2505 tl.call(() => resetPage(next), null, ENTER_START); 2506 tl.set(next, { autoAlpha: 1 }, ENTER_START); 2507 tl.fromTo(transitionPanel, { yPercent: -100 }, { yPercent: -200, duration: WIPE.panelOutDur, ease: WIPE.ease, immediateRender: false }, ENTER_START); 2508 tl.from(next, { y: '15vh', duration: WIPE.pageInDur, ease: WIPE.ease }, ENTER_START); 2509 2510 setTimeout(finish, 5500); 2511 return; 2512 } 2513 2514 const ENTER_START = autoEnterStart(slideRemaining, elapsed); 2515 const tl = gsap.timeline({ onComplete: finish }); 2516 2517 tl.call(() => resetPage(next), null, ENTER_START); 2518 tl.set(next, { autoAlpha: 1 }, ENTER_START); 2519 2520 tl.fromTo(transitionPanel, { yPercent: -100 }, { yPercent: -200, duration: 0.7, ease: 'power2.out', immediateRender: false }, ENTER_START); 2521 2522 if (transitionLabel) { 2523 tl.fromTo(transitionLabel, { autoAlpha: 1 }, { autoAlpha: 0, duration: 0.4, overwrite: 'auto', immediateRender: false }, ENTER_START + 0.1); 2524 } 2525 tl.from(next, { y: '15vh', duration: 0.7, ease: 'power2.out' }, ENTER_START); 2526 2527 setTimeout(finish, 5500); 2528 }); 2529 } 2530 2531 function setupPage(data) {
2532 if (hasScrollTrigger) ScrollTrigger.getAll().forEach((t) => t.kill()); 2533 resetWebflow(data); 2534 runContainerScripts(data.next.container); 2535 reinitFinsweet(); 2536 initBarbaNavUpdate(data); 2537 if (typeof window.fitTextToWidth === 'function') window.fitTextToWidth(); 2538 if (typeof window.reinitAll === 'function') window.reinitAll(); 2539 } 2540 2541 const LOADER = { 2542 showAfter: 0.9, 2543 color: '#2c1c0f', 2544 size: 10, 2545 skipPaths: ['/', '/courses', '/corporate', '/community-programmes', '/take-the-quiz'], 2546 }; 2547 2548 let loaderTimer = null; 2549 2550 function ensureLoadingDots() { 2551 let el = document.querySelector('.transition__loading-dots'); 2552 if (el) return el; 2553 const els = getTransitionEls(); 2554 if (!els || !els.panel) return null; 2555 const gap = Math.round(LOADER.size * 0.9); 2556 const style = document.createElement('style'); 2557 style.textContent = 2558 '.transition__loading-dots{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:' + gap + 'px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility 0s linear .2s;}' + 2559 '.transition__loading-dots.is-visible{opacity:1;visibility:visible;transition:opacity .2s ease;}' + 2560 '.transition__loading-dots span{width:' + LOADER.size + 'px;height:' + LOADER.size + 'px;border-radius:50%;background:' + LOADER.color + ';animation:transitionDotPulse 1s ease-in-out infinite;}' + 2561 '.transition__loading-dots span:nth-child(2){animation-delay:.15s;}' + 2562 '.transition__loading-dots span:nth-child(3){animation-delay:.3s;}' + 2563 '@keyframes transitionDotPulse{0%,100%{opacity:.25;transform:scale(.8);}50%{opacity:1;transform:scale(1);}}'; 2564 document.head.appendChild(style); 2565 if (getComputedStyle(els.panel).position === 'static') els.panel.style.position = 'relative'; 2566 el = document.createElement('div'); 2567 el.className = 'transition__loading-dots'; 2568 el.setAttribute('aria-hidden', 'true'); 2569 el.innerHTML = '<span></span><span></span><span></span>'; 2570 els.panel.appendChild(el); 2571 return el; 2572 } 2573 2574 function scheduleLoadingDots() { 2575 clearTimeout(loaderTimer); 2576 loaderTimer = setTimeout(() => { 2577 if (!cover) return; 2578 const el = ensureLoadingDots(); 2579 if (el) el.classList.add('is-visible'); 2580 }, LOADER.showAfter * 1000); 2581 } 2582 2583 function hideLoadingDots() { 2584 clearTimeout(loaderTimer); 2585 loaderTimer = null; 2586 const el = document.querySelector('.transition__loading-dots'); 2587 if (el) el.classList.remove('is-visible'); 2588 } 2589 2590 (function () { 2591 const origGo = barba.go.bind(barba); 2592 barba.go = function () { 2593 if (!reducedMotion && !cover && !(barba.transitions && barba.transitions.isRunning)) { 2594 let p = null; 2595 try { p = new URL(arguments[0], location.href).pathname.replace(/\/+$/, '') || '/'; } catch (e) {} 2596 const herePath = location.pathname.replace(/\/+$/, '') || '/'; 2597 if (p !== herePath) { 2598 cover = startCover(); 2599 if (cover && p && !LOADER.skipPaths.includes(p)) scheduleLoadingDots(); 2600 } 2601 } 2602 return origGo.apply(null, arguments); 2603 }; 2604 })(); 2605 2606 barba.hooks.beforeEnter(async (data) => { 2607 hideLoadingDots(); 2608 await loadNextPageStyles(data); 2609 gsap.set(data.next.container, { position: 'fixed', top: 0, left: 0, right: 0 }); 2610 if (lenis && typeof lenis.stop === 'function') lenis.stop(); 2611 applyThemeFrom(data.next.container); 2612 }); 2613
2614 barba.hooks.afterEnter((data) => { 2615 cover = null; 2616 hideLoadingDots(); 2617 resetTransitionState(); 2618 if (hasScrollTrigger) ScrollTrigger.refresh(); 2619 2620 window.dataLayer = window.dataLayer || []; 2621 window.dataLayer.push({ 2622 event: 'virtual_pageview', 2623 page_path: location.pathname + location.search, 2624 page_title: document.title, 2625 }); 2626 }); 2627 2628 barba.init({ 2629 debug: false, 2630 timeout: 9000, 2631 preventRunning: true, 2632 prevent: ({ href }) => { 2633 try { 2634 const u = new URL(href, location.href); 2635 return !!u.hash && u.pathname.replace(/\/+$/, '') === location.pathname.replace(/\/+$/, ''); 2636 } catch (e) { return false; } 2637 }, 2638 transitions: [ 2639 { 2640 name: 'default', 2641 sync: true, 2642 async once(data) { 2643 initOnceFunctions(); 2644 return runPageOnceAnimation(data.next.container); 2645 }, 2646 async leave(data) { 2647 return runPageLeaveAnimation(data); 2648 }, 2649 async enter(data) { 2650 return runPageEnterAnimation(data); 2651 }, 2652 }, 2653 ], 2654 }); 2655 2656 const themeConfig = { 2657 light: { nav: 'dark', transition: 'light' }, 2658 dark: { nav: 'light', transition: 'dark' }, 2659 }; 2660 2661 function applyThemeFrom(container) { 2662 const pageTheme = container?.dataset?.pageTheme || 'light'; 2663 const config = themeConfig[pageTheme] || themeConfig.light; 2664 document.body.dataset.pageTheme = pageTheme; 2665 const transitionEl = document.querySelector('[data-theme-transition]'); 2666 if (transitionEl) transitionEl.dataset.themeTransition = config.transition; 2667 const nav = document.querySelector('[data-theme-nav]'); 2668 if (nav) nav.dataset.themeNav = config.nav; 2669 } 2670 2671 function loadNextPageStyles(data) { 2672 try { 2673 if (!data?.next?.html) return Promise.resolve(); 2674 const nextDoc = new DOMParser().parseFromString(data.next.html, 'text/html'); 2675 const existing = new Set(Array.from(document.querySelectorAll('link[rel="stylesheet"]')).map((l) => l.getAttribute('href'))); 2676 const toLoad = Array.from(nextDoc.querySelectorAll('link[rel="stylesheet"]')).filter((l) => { 2677 const href = l.getAttribute('href'); 2678 return href && !existing.has(href); 2679 }); 2680 if (!toLoad.length) return Promise.resolve(); 2681 const loads = toLoad.map( 2682 (link) => 2683 new Promise((res) => { 2684 const clone = link.cloneNode(true); 2685 clone.addEventListener('load', () => res(), { once: true }); 2686 clone.addEventListener('error', () => res(), { once: true }); 2687 document.head.appendChild(clone); 2688 }), 2689 ); 2690 return Promise.race([Promise.all(loads), new Promise((res) => setTimeout(res, 1500))]); 2691 } catch (e) { 2692 return Promise.resolve(); 2693 } 2694 } 2695 2696 const executedScriptSrcs = new Set(Array.from(document.querySelectorAll('script[src]')).map((s) => s.src)); 2697 function runContainerScripts(container) { 2698 if (!container) return; 2699 container.querySelectorAll('script').forEach((old) => { 2700 if (old.src) { 2701 if (executedScriptSrcs.has(old.src)) return; 2702 executedScriptSrcs.add(old.src); 2703 } 2704 const s = document.createElement('script'); 2705 for (const attr of old.attributes) s.setAttribute(attr.name, attr.value); 2706 s.textContent = old.textContent; 2707 old.parentNode.replaceChild(s, old); 2708 }); 2709 } 2710 2711 function reinitFinsweet() { 2712 try { 2713 document.querySelectorAll('[fs-list-element="nest-target"]').forEach((el) => { 2714 el.innerHTML = ''; 2715 }); 2716 const mods = window.FinsweetAttributes && window.FinsweetAttributes.modules; 2717 if (!mods) return; 2718 Object.keys(mods).forEach((name) => { 2719 const mod = mods[name]; 2720 if (mod && typeof mod.restart === 'function') { 2721 try { 2722 mod.restart(); 2723 } catch (e) {} 2724 } 2725 }); 2726 } catch (e) { 2727 console.warn('[barba] Finsweet reinit failed:', e); 2728 } 2729 } 2730 2731 function resetWebflow(data) { 2732 try { 2733 if (data?.next?.html) { 2734 const parsed = new DOMParser().parseFromString(data.next.html, 'text/html'); 2735 const wfPage = parsed.documentElement.getAttribute('data-wf-page'); 2736 if (wfPage) document.documentElement.setAttribute('data-wf-page', wfPage); 2737 } 2738 if (window.Webflow) { 2739 window.Webflow.destroy(); 2740 window.Webflow.ready(); 2741 requestAnimationFrame(() => { 2742 try { 2743 const ix2 = window.Webflow.require && window.Webflow.require('ix2'); 2744 if (ix2 && ix2.init) ix2.init(); 2745 } catch (e) {} 2746 try { 2747 const ix3 = window.Webflow.require && window.Webflow.require('ix3'); 2748 if (ix3 && ix3.init) ix3.init(); 2749 } catch (e) {} 2750 document.dispatchEvent(new Event('readystatechange')); 2751 window.dispatchEvent(new Event('resize')); 2752 }); 2753 } 2754 } catch (e) { 2755 console.warn('[barba] Webflow reinit failed:', e); 2756 } 2757 } 2758 2759 function initLenis() { 2760 if (lenis) return; 2761 lenis = window.lenis || window.__bettrInitLenis(); 2762 } 2763 2764 function resetPage(container) { 2765 window.scrollTo(0, 0); 2766 if (container) { 2767 gsap.set(container, { clearProps: 'position,top,left,right' }); 2768 container.style.position = ''; 2769 container.style.top = ''; 2770 container.style.left = ''; 2771 container.style.right = ''; 2772 } 2773 if (hasLenis && lenis) { 2774 lenis.resize(); 2775 lenis.start(); 2776 } 2777 } 2778 2779 function initBarbaNavUpdate(data) { 2780 var tpl = document.createElement('template'); 2781 tpl.innerHTML = data.next.html.trim(); 2782 var nextNodes = tpl.content.querySelectorAll('[data-barba-update]'); 2783 var currentNodes = document.querySelectorAll('nav [data-barba-update]');
2784 currentNodes.forEach(function (curr, index) { 2785 var next = nextNodes[index]; 2786 if (!next) return; 2787 var newStatus = next.getAttribute('aria-current'); 2788 if (newStatus !== null) curr.setAttribute('aria-current', newStatus); 2789 else curr.removeAttribute('aria-current'); 2790 curr.setAttribute('class', next.getAttribute('class') || ''); 2791 }); 2792 } 2793</script>
2793 2794 2795<!-- Lenis smooth scroll + reveals + navbar v2 (shares window.lenis with the script above) -->
2796<script> 2797 window.__bettrInitLenis = window.__bettrInitLenis || function () { 2798 if (window.lenis) return window.lenis; 2799 if (typeof window.Lenis === 'undefined') return null; 2800 const l = (window.lenis = new Lenis({ 2801 lerp: 0.1, 2802 wheelMultiplier: 0.7, 2803 gestureOrientation: 'vertical', 2804 normalizeWheel: false, 2805 smoothTouch: false, 2806 })); 2807 if (window.ScrollTrigger) { 2808 l.on('scroll', ScrollTrigger.update); 2809 ScrollTrigger.scrollerProxy(document.documentElement, { 2810 scrollTop(value) { 2811 if (arguments.length) l.scrollTo(value, { immediate: true }); 2812 else return window.scrollY || window.pageYOffset; 2813 }, 2814 getBoundingClientRect() { 2815 return { top: 0, left: 0, width: innerWidth, height: innerHeight }; 2816 }, 2817 pinType: document.documentElement.style.transform ? 'transform' : 'fixed', 2818 }); 2819 } 2820 gsap.ticker.add((time) => l.raf(time * 1000)); 2821 gsap.ticker.lagSmoothing(0); 2822 if (window.jQuery) { 2823 jQuery('[data-lenis-start]').on('click', () => l.start()); 2824 jQuery('[data-lenis-stop]').on('click', () => l.stop()); 2825 jQuery('[data-lenis-toggle]').on('click', function () { 2826 jQuery(this).toggleClass('stop-scroll'); 2827 jQuery(this).hasClass('stop-scroll') ? l.stop() : l.start(); 2828 }); 2829 } 2830 return l; 2831 }; 2832 2833 (function () { 2834 'use strict'; 2835 2836 if (window.Webflow && Webflow.env && Webflow.env('editor')) return; 2837 2838 const REVEAL_SELECTOR = '[data-reveal]'; 2839 const PREHIDE_CLASS = '--prekick'; 2840 const TRIGGER_THRESHOLD = 0.95; 2841 const TOP_THRESHOLD = 10; 2842 2843 let initialized = false; 2844 let navScrollHandler = null; 2845 let navMenuObserver = null; 2846 2847 function initOnce() { 2848 const gs = window.gsap; 2849 const ST = window.ScrollTrigger; 2850 if (!gs || !ST) { 2851 setTimeout(initOnce, 80); 2852 return; 2853 } 2854 if (initialized) return; 2855 initialized = true; 2856 2857 gs.registerPlugin(ST); 2858 2859 window.__bettrInitLenis(); 2860 2861 let isRefreshing = false; 2862 window.addEventListener('resize', () => { 2863 if (isRefreshing) return; 2864 isRefreshing = true; 2865 requestAnimationFrame(() => { 2866 setupNavbar(); 2867 ST.refresh(); 2868 isRefreshing = false; 2869 }); 2870 }); 2871 2872 setupPage(); 2873 } 2874 2875 function setupPage() { 2876 const ST = window.ScrollTrigger; 2877 if (!ST) return; 2878 setupNavbar(); 2879 setupReveals(ST); 2880 } 2881 2882 function setupNavbar() { 2883 const navbar = document.querySelector('.navbar_component'); 2884 const menuBtn = document.querySelector('.navbar_menu-button'); 2885 const navbarBg = navbar ? navbar.querySelector('.navbar_background') : null; 2886 const noticeBanner = document.querySelector('.notice-banner_component'); 2887 2888 if (navScrollHandler && window.lenis) { 2889 window.lenis.off('scroll', navScrollHandler); 2890 navScrollHandler = null; 2891 } 2892 if (navMenuObserver) { 2893 navMenuObserver.disconnect(); 2894 navMenuObserver = null; 2895 } 2896 2897 const alwaysShowBg = !!navbar && (navbar.getAttribute('data-wf--navbar--variant') || '').toLowerCase() === 'light'; 2898 2899 let noticeBannerHeight = 0; 2900 function measureNoticeBanner() { 2901 if (!noticeBanner) return; 2902 const menuOpen = menuBtn && menuBtn.classList.contains('w--open'); 2903 if (menuOpen) return; 2904 const prevH = noticeBanner.style.height; 2905 const prevT = noticeBanner.style.transition; 2906 noticeBanner.style.transition = 'none'; 2907 noticeBanner.style.height = 'auto'; 2908 noticeBannerHeight = noticeBanner.offsetHeight; 2909 noticeBanner.style.height = prevH || noticeBannerHeight + 'px'; 2910 void noticeBanner.offsetWidth; 2911 noticeBanner.style.transition = prevT; 2912 } 2913 2914 if (noticeBanner) { 2915 noticeBanner.style.overflow = 'hidden'; 2916 measureNoticeBanner(); 2917 noticeBanner.style.height = noticeBannerHeight + 'px'; 2918 if (document.fonts && document.fonts.ready) { 2919 document.fonts.ready.then(() => { 2920 const menuOpen = menuBtn && menuBtn.classList.contains('w--open'); 2921 if (!menuOpen) { 2922 measureNoticeBanner(); 2923 noticeBanner.style.height = noticeBannerHeight + 'px'; 2924 } 2925 }); 2926 } 2927 } 2928 2929 if (navbar && menuBtn) { 2930 let lastScroll = 0, 2931 prevScrolled = false, 2932 prevMenuOpen = false;
2933 2934 function instantSet(prop, value) { 2935 if (!navbarBg) return; 2936 const t = navbarBg.style.transition; 2937 navbarBg.style.transition = 'none'; 2938 navbarBg.style[prop] = value; 2939 void navbarBg.offsetWidth; 2940 navbarBg.style.transition = t; 2941 } 2942 function isTransformAtZero() { 2943 const t = navbarBg.style.transform; 2944 return t === 'translateY(0)' || t === 'translateY(0px)' || t === ''; 2945 } 2946 function isOpacityOne() { 2947 const o = navbarBg.style.opacity; 2948 return o === '1' || o === ''; 2949 } 2950 2951 if (navbarBg) { 2952 if (alwaysShowBg) { 2953 navbarBg.style.opacity = '1'; 2954 navbarBg.style.transform = 'translateY(0)'; 2955 prevScrolled = true; 2956 prevMenuOpen = menuBtn.classList.contains('w--open'); 2957 } else { 2958 const initialScrolled = ((window.lenis && window.lenis.scroll) || 0) > TOP_THRESHOLD; 2959 const initialMenuOpen = menuBtn.classList.contains('w--open'); 2960 if (initialScrolled || initialMenuOpen) { 2961 navbarBg.style.opacity = '1'; 2962 navbarBg.style.transform = 'translateY(0)'; 2963 } else { 2964 navbarBg.style.opacity = '1'; 2965 navbarBg.style.transform = 'translateY(-102%)'; 2966 } 2967 prevScrolled = initialScrolled; 2968 prevMenuOpen = initialMenuOpen; 2969 } 2970 } 2971 2972 function updateNavbar() { 2973 const scrollY = (window.lenis && window.lenis.scroll) || window.scrollY || 0; 2974 const scrolled = scrollY > TOP_THRESHOLD; 2975 const menuOpen = menuBtn.classList.contains('w--open'); 2976 2977 if (!menuOpen) navbar.style.transform = scrollY > lastScroll ? 'translateY(-102%)' : 'translateY(0)'; 2978 if (noticeBanner) noticeBanner.style.height = menuOpen ? '0px' : noticeBannerHeight + 'px'; 2979 2980 if (navbarBg && !alwaysShowBg) { 2981 const wasVisible = prevScrolled || prevMenuOpen; 2982 const nowVisible = scrolled || menuOpen; 2983 const menuChanged = menuOpen !== prevMenuOpen; 2984 const scrollChanged = scrolled !== prevScrolled; 2985 if (wasVisible !== nowVisible) { 2986 if (menuChanged) { 2987 if (!isTransformAtZero()) instantSet('transform', 'translateY(0)'); 2988 navbarBg.style.opacity = nowVisible ? '1' : '0'; 2989 } else if (scrollChanged) { 2990 if (!isOpacityOne()) instantSet('opacity', '1'); 2991 if (nowVisible && isTransformAtZero()) instantSet('transform', 'translateY(-102%)'); 2992 navbarBg.style.transform = nowVisible ? 'translateY(0)' : 'translateY(-102%)'; 2993 } 2994 } 2995 prevScrolled = scrolled; 2996 prevMenuOpen = menuOpen; 2997 } 2998 lastScroll = scrollY; 2999 } 3000 3001 updateNavbar(); 3002 navScrollHandler = updateNavbar; 3003 if (window.lenis) window.lenis.on('scroll', updateNavbar); 3004 navMenuObserver = new MutationObserver(updateNavbar); 3005 navMenuObserver.observe(menuBtn, { attributes: true, attributeFilter: ['class'] }); 3006 } 3007 } 3008 3009 function setupReveals(ST) { 3010 const isElement = (n) => n && n.nodeType === 1; 3011 const isAbove = (el) => el.getBoundingClientRect().top < (window.innerHeight || document.documentElement.clientHeight) * TRIGGER_THRESHOLD; 3012 const isPlaying = (a) => { 3013 if (!a) return false; 3014 if (typeof a.isActive === 'function') return a.isActive(); 3015 return !a.paused() && a.progress() > 0 && a.progress() < 1; 3016 }; 3017 const isComplete = (a) => !!a && a.progress() === 1; 3018 const related = (el, all) => 3019 all.filter((s) => { 3020 const t = s.trigger; 3021 if (!t) return false; 3022 if (t === el) return true; 3023 if (isElement(t) && el.contains(t)) return true; 3024 if (isElement(t) && t.contains(el)) return true; 3025 return false; 3026 }); 3027 3028 function setupVisibilityTriggers() { 3029 Array.from(document.querySelectorAll(REVEAL_SELECTOR)) 3030 .filter((el) => el.getAttribute('data-reveal') !== 'none') 3031 .forEach((el) => 3032 ST.create({ 3033 trigger: el, 3034 start: 'top bottom', 3035 once: true, 3036 onEnter: () => { 3037 el.style.visibility = 'visible'; 3038 }, 3039 }), 3040 ); 3041 } 3042 3043 function triggerInViewAnimations() { 3044 if (!ST.getAll().length) { 3045 setTimeout(triggerInViewAnimations, 60); 3046 return; 3047 } 3048 ST.refresh(); 3049 const all = ST.getAll(); 3050 const inView = Array.from(document.querySelectorAll(REVEAL_SELECTOR)) 3051 .filter((el) => el.getAttribute('data-reveal') !== 'none') 3052 .filter(isAbove);
3053 inView.forEach((el) => el.classList.add(PREHIDE_CLASS)); 3054 inView.forEach((el) => { 3055 const triggers = related(el, all); 3056 if (!triggers.length) { 3057 el.classList.remove(PREHIDE_CLASS); 3058 el.style.visibility = 'visible'; 3059 return; 3060 } 3061 const entrance = triggers.filter((st) => { 3062 const v = st.vars || {}, 3063 a = st.animation; 3064 if (v.scrub || v.pin) return false; 3065 if ((a && (isPlaying(a) || isComplete(a))) || (!a && st.isActive)) return false; 3066 return true; 3067 }); 3068 if (!entrance.length) { 3069 el.classList.remove(PREHIDE_CLASS); 3070 el.style.visibility = 'visible'; 3071 return; 3072 } 3073 entrance.forEach((st) => { 3074 const a = st.animation; 3075 if (a) a.pause(0).progress(0).totalProgress(0, true).render(0, true, true); 3076 else if (typeof st.vars?.onEnter === 'function' && !st.isActive) st.vars.onEnter.call(st); 3077 }); 3078 requestAnimationFrame(() => { 3079 el.classList.remove(PREHIDE_CLASS); 3080 el.style.visibility = 'visible'; 3081 entrance.forEach((st) => { 3082 const a = st.animation; 3083 if (a && !isPlaying(a) && !isComplete(a)) a.restart(true, false); 3084 else if (!a && typeof st.vars?.onEnter === 'function' && !st.isActive) st.vars.onEnter.call(st); 3085 }); 3086 }); 3087 }); 3088 ST.update(); 3089 } 3090 3091 setupVisibilityTriggers(); 3092 triggerInViewAnimations(); 3093 setTimeout(triggerInViewAnimations, 100); 3094 setTimeout(triggerInViewAnimations, 300); 3095 if (document.fonts && document.fonts.ready) document.fonts.ready.then(triggerInViewAnimations); 3096 } 3097 3098 function hookBarba() { 3099 if (window.barba && barba.hooks) {
3100 barba.hooks.afterEnter(() => setupPage()); 3101 } else { 3102 setTimeout(hookBarba, 50); 3103 } 3104 } 3105 3106 initOnce(); 3107 window.addEventListener('load', () => { 3108 if (window.ScrollTrigger) window.ScrollTrigger.refresh(); 3109 }); 3110 hookBarba(); 3111 })(); 3112</script>
3112<script src="https://cookie-consent-cdn-prod.pages.dev/cookie-consent/3.0.33/cookie-consent.js" type="text/javascript" integrity="sha384-hID7SQtXLqNKM1f6agvO2qhK2radQn5wf+Su4pAEM5ElgJ/FmSWXrmcaYP4/D3E0" crossorigin="anonymous"></script>
3112</body></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.