PageSourceSearch

https://multiverse-site.webflow.io/

html multiverse-site.webflow.io collected 2026-10-03 13:29:43 UTC 321,598 bytes, 4,134 lines download raw bytes

1<!DOCTYPE html><!-- Last Published: Fri Oct 02 2026 16:47:43 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="multiverse-site.webflow.io" data-wf-page="699d7e9e881fdff59db7f525" data-wf-site="69381061fef68be00431dd04" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Upskilling platform for AI adoption | Multiverse</title><meta content="The gap between AI ambition and AI adoption is a skills problem. Multiverse closes it with apprenticeships and upskilling programmes in AI, data, engineering and leadership, trusted by 1,500+ employers." name="description"/><meta content="Upskilling platform for AI adoption | Multiverse" property="og:title"/><meta content="The gap between AI ambition and AI adoption is a skills problem. Multiverse closes it with apprenticeships and upskilling programmes in AI, data, engineering and leadership, trusted by 1,500+ employers." property="og:description"/><meta content="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6968e946b3685eb32fbecdff_OPEN%20GRAPH%20IMAGE.png" property="og:image"/><meta content="Upskilling platform for AI adoption | Multiverse" name="twitter:title"/><meta content="The gap between AI ambition and AI adoption is a skills problem. Multiverse closes it with apprenticeships and upskilling programmes in AI, data, engineering and leadership, trusted by 1,500+ employers." 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"/><link href="https://cdn.prod.website-files.com/69381061fef68be00431dd04/css/multiverse-site.shared.9e97817ee.min.css" rel="stylesheet" type="text/css" integrity="sha384-npeBfug0eN8PRaQ3G/JoDRT147khTQTdBu5WdhM63SnLz+9aTQegETkH+3RpL+1z" crossorigin="anonymous"/>
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/69381061fef68be00431dd04/69c3d4adc29ee9b46a9fc7f1_32x32.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/69381061fef68be00431dd04/69c3d4b040bd33eec71349d4_256x256.png" rel="apple-touch-icon"/><link href="https://www.multiverse.io" rel="canonical"/>
1<script type="application/ld+json">
2{
3  "@context": "https://schema.org",
4  "@type": "WebPage",
5  "@id": "https://www.multiverse.io/#webpage",
6  "url": "https://www.multiverse.io/",
7  "name": "Multiverse",
8  "inLanguage": "en-GB",
9
10  "isPartOf": {
11    "@id": "https://www.multiverse.io/#website"
12  },
13
14  "publisher": {
15    "@id": "https://www.multiverse.io/#organization"
16  }
17}
18</script>
18<!-- Ketch -->
19<script>!function(){window.semaphore=window.semaphore||[],window.ketch=function(){window.semaphore.push(arguments)};var e=document.createElement("script");e.type="text/javascript",e.src="https://global.ketchcdn.com/web/v3/config/multiverse/website_smart_tag/boot.js",e.defer=e.async=!0,document.getElementsByTagName("head")[0].appendChild(e)}();</script>
19
20
21<!-- Google Tag Manager -->
22<script>
vendor: 328 bytes, lines 22-27
22
23(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
24new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
25j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
26'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
27})(window,document,'script','dataLayer','
27GTM-KWQD2SP
vendor: 4 bytes, line 27
27');
28</script>
28
29<!-- End Google Tag Manager -->
30
31<!-- Qualified -->
32<script>
33(function(w,q){w['QualifiedObject']=q;w[q]=w[q]||function(){
34(w[q].q=w[q].q||[]).push(arguments)};})(window,'qualified')
35
36</script>
vendor: 1 bytes, line 36
36
37<script async src="https://js.qualified.com/qualified.js?token=wpHsnP5rMcLh2VpW"></script>
37
38<!-- End Qualified -->
39
40
41<!-- Debug -->
42<script type="text/javascript" src="https://cdn.jsdelivr.net/gh/makebuild-code/[email protected]/src/debug-logger/debug-logger.min.js"></script>
42
43
44
45<!-- Website Schema -->
46<script type="application/ld+json" id="schema-website">
47{
48  "@context":"https://schema.org",
49  "@type":"WebSite",
50  "@id":"https://www.multiverse.io/#website",
51  "url":"https://www.multiverse.io/",
52  "name":"Multiverse",
53  "publisher":{"@id":"https://www.multiverse.io/#organization"},
54  "inLanguage":"en-GB"
55}
56</script>
56<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/lenis.css">
57<!-- 
57<script src="https://unpkg.com/[email protected]/dist/lenis.min.js"></script>
57 
58<script>window.lenis = new Lenis({ autoRaf: true, autoToggle: true, anchors: true, allowNestedScroll: true, naiveDimensions: true, stopInertiaOnNavigate: true })</script>
58 -->
59<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/lenis.min.js" defer></script>
vendor: 1 bytes, line 59
59
60<script>
61window.addEventListener('load', () => {
62  const init = () => {
63    if (matchMedia('(hover: none), (pointer: coarse)').matches) return;
64
65    const lenis = new Lenis({ anchors: true });
66    window.lenis = lenis;
67
68    if (window.gsap && window.ScrollTrigger) {
69      // GSAP drives the single animation loop
70      lenis.on('scroll', ScrollTrigger.update);
71      gsap.ticker.add((t) => lenis.raf(t * 1000));
72      gsap.ticker.lagSmoothing(0);
73    } else {
74      // No GSAP: let Lenis run its own loop
75      lenis.options.autoRaf = true;
76      requestAnimationFrame(lenis.raf);
77    }
78  };
79
80  'requestIdleCallback' in window
81    ? requestIdleCallback(init, { timeout: 2000 })
82    : setTimeout(init, 200);
83});
84</script>
84
85
86<style>
87/* Intro sticky — desktop: the section is a sticky, opaque, full-viewport "curtain".
88   Lives here rather than on a Designer combo class so the section below stays
89   editable in the Designer (custom code doesn't load on the canvas). */
90.intro-sticky-wrap .intro-sticky {
91  position: sticky;
92  top: 0;
93  z-index: 10;
94  padding-top: 2rem;
95  padding-bottom: 2rem;
96  background-color: #fff;
97  pointer-events: none;
98}
99
100/* Off for small screens and touch-first devices (must match the script's query):
101   normal document flow and a plain 3:2 image. */
102@media (max-width: 767px) {
103  .intro-sticky-wrap .intro-sticky {
104    position: relative;
105    top: auto;
106    z-index: auto;
107    padding-top: 0;
108    padding-bottom: 0;
109    background-color: transparent;
110    pointer-events: auto;
111  }
112}
113</style></head><body><div class="page-wrapper"><section data-nav-add-class="" data-nav="wrapper" data-nav-active-class="is-active" data-panel-open-class="is-open" data-wf--section-global---nav--variant="overlapping" class="nav_wrap"><div class="global-code_wrap"><div class="w-embed"><style>
114
115/* Improve text clarity */
116
117html {
118    text-rendering: optimizeLegibility;
119    -webkit-font-smoothing: antialiased;
120    -moz-osx-font-smoothing: grayscale;
121}
122
123/* Sets default style for video compoennt */
124
125video {
126    width: 100% !important;
127    object-fit: cover !important;
128}
129
130button {
131    border: none;
132    background-color: initial;
133}
134
135.u-text-hyphen {
136    -webkit-hyphens: auto;
137    -moz-hyphens: auto;
138    -ms-hyphens: auto;
139    hyphens: auto;
140}
141  .u-body-text.w-richtext ul {
142  list-style: none;
143  margin: 0;
144  padding-left: 0;
145}
146
147.u-body-text.w-richtext ul li {
148  position: relative;
149  padding-left: 1rem;
150}
151
152.u-body-text.w-richtext ul li::before {
153  content: "";
154  position: absolute;
155  left: 0;
156  top: 0.6em;
157  top: calc((1lh - 0.375rem) / 2);
158  width: 0.375rem;
159  height: 0.375rem;
160  background-color: var(--text--primary-headings);
161}
162
163</style></div><div class="w-embed"><style>
164@media (max-height: 700px) and (min-width: 1000px){
165
166  [data-slider-slot-wrapper][data-slider-variant="content"][data-scroll-pinned] {
167    height: 100%;
168    top: 50%;
169    transform: translateY(-50%);
170  }
171
172}
173  
174</style>
175</div><div class="w-embed"><style>
176
177  /* Styles to improve the designer experience withing design mode */
178  html.wf-design-mode .collection-list_empty {
179  	display: none;
180	}
181
182  /* Styles section padding when [cc-design-mode="true"] is applied */
183
184  html.wf-design-mode .section-padding_wrap[cc-design-mode="true"], .is-ds .section-padding_wrap[cc-design-mode="true"] {
185    box-shadow: 0px 0px 0px 1px var(--_ds-system-colours---visualisation--dark) inset;
186    background: var(--_ds-system-colours---visualisation--light);
187  }
188
189  /* Styles empty slots to make them more visible */
190
191  html.wf-design-mode [slot]:empty,
192  html.wf-design-mode .u-button-group:has([slot]:empty),
193  .is-ds [slot]:empty,
194  .is-ds .u-button-group:has([slot]:empty) {
195    box-shadow: 0px 0px 0px 1px var(--_ds-system-colours---component--dark) inset;
196    background: var(--_ds-system-colours---component--light);
197    min-height: 4rem;
198    position: relative;
199    display: flex;
200    align-items: center;
201    justify-content: center;
202  }
203
204  html.wf-design-mode .u-button-group:has([slot]:empty),
205  .is-ds .u-button-group:has([slot]:empty),
206  html.wf-design-mode .u-display-contents:empty,
207  .is-ds .u-display-contents:empty{
208    width: 100%;
209  }
210
211
212
213  /* Adds pseudo label to empty slots */
214
215  html.wf-design-mode [slot]:empty::after, .is-ds [slot]:empty::after {
216    color: var(--_ds-system-colours---component--dark);
217    font-size: 0.875rem;
218    text-align: center;
219    pointer-events: none;
220    display: block !important;
221    top: 50%;
222    left: 50%;
223    transform: translate(-50%, -50%);
224    position: absolute;
225  }
226
227  /* Adds labels to empty slots */
228
229  html.wf-design-mode [slot="content"]:empty::after {
230    content: "Add content here";
231  }
232  
233  html.wf-design-mode [slot="sections"]:empty::after {
234    content: "Add sections here";
235  }
236
237  html.wf-design-mode [slot="button"]:empty::after {
238    content: "Add button component here";
239  }
240
241  html.wf-design-mode [slot="grid"]:empty::after {
242    content: "Add grid component here";
243  }
244
245  html.wf-design-mode [slot="accordion"]:empty::after {
246    content: "Add accordion item here";
247  }
248
249  html.wf-design-mode [slot="media"]:empty::after {
250    content: "Add media component here";
251  }
252
253  html.wf-design-mode [slot="tab-link"]:empty::after {
254    content: "Add tab links here";
255  }
256
257  html.wf-design-mode [slot="tab-content"]:empty::after {
258    content: "Add tab content here";
259  }
260  
261  html.wf-design-mode [slot="slider"]:empty::after {
262    content: "Add slides here";
263  }
264  
265  html.wf-design-mode [slot="logos"]:empty::after {
266    content: "Add logos here";
267  }
268  
269  html.wf-design-mode [slot="rtb"]:empty::after {
270    content: "Add list items here";
271  }
272  
273  html.wf-design-mode [slot="cms"]:empty::after {
274    content: "Add CMS list here";
275  }
276  
277  /* Design system pages */
278  .ds_nav_list.is-sub {
279    height: 0px;
280    opacity: 0;
281  }
282
283  :has(.w--current) > .ds_nav_list.is-sub {
284    height: auto;
285    opacity: 1;
286    padding-top: 0.5rem;
287  }
288  
289</style></div><div class="w-embed"><style>
290
291  /*Accordion Styling*/
292
293  .accordion_wrap[open] .accordion_toggle-button {
294    background-color: transparent;
295    color: var(--_colour-primitives---neutral--new--800);
296  }
297
298  .accordion_wrap[open] .accordion_toggle-button[data-wf--element-accordion-button--variant="warm"]{
299    color: var(--text--inverse);
300    background-color: var(--_colour-primitives---neutral--new--800);
301  }
302
303  .accordion_trigger.is-small[aria-expanded="true"] .accordion_toggle-button[data-wf--element-accordion-button--variant="small-warm"]  {
304    color: var(--text--inverse);
305    background-color: var(--_colour-primitives---neutral--new--800);
306    border-color: var(--_colour-primitives---neutral--new--800);
307  }
308
309  .curriculum-accordion_trigger[aria-expanded="true"] .accordion_toggle-button[data-wf--element-accordion-button--variant="small-warm"] {
310    color: var(--text--inverse);
311    background-color: var(--_colour-primitives---neutral--new--800);
312    border-color: var(--_colour-primitives---neutral--new--800);
313  }
314
315  /*Accordion + Image Styling*/
316
317  .accordion-img_wrap[open] .accordion-img_toggle-button{
318    color: var(--text--inverse);
319    background-color: var(--_colour-primitives---neutral--new--800);
320  }
321
322  .accordion-img_item-wrap[open] .accordion-img_image{
323    opacity: 100%;
324  }
325
326  .accordion-img_slot .accordion-img_item-wrap:last-child {
327    border-bottom: none;
328  }
329
330  .accordion-img-list_wrap[data-wf--wrapper-accordion-image-list--style-layout="image-left"] .accordion-img_image{
331    inset: .5rem auto .5rem .5rem;
332  }
333
334</style></div><div class="w-embed"><style>
335  @media (max-width: 767px) {
336    [data-tabs-accordion="content"] {
337      display: grid;
338      grid-template-rows: 0fr;
339      overflow: hidden;
340      transition: grid-template-rows 0.6s ease;
341    }
342    [data-tabs-accordion="content"].is-open {
343      grid-template-rows: 1fr;
344    }
345    [data-tabs-accordion="content"] > * {
346      min-height: 0;
347    }
348  }
349</style></div><div class="w-embed"><style>
350  @media (min-width: 992px) {
351    /* Target the CMS items wrapper */
352    [data-alt-layout="3-2"] .w-dyn-items {
353      display: flex;
354      flex-wrap: wrap;
355      gap: var(--grid-gap, 1.5rem);
356    }
357
358    /* Default: 3-up row */
359    [data-alt-layout="3-2"] .w-dyn-item {
360      width: calc((100% - (2 * var(--grid-gap, 1.5rem))) / 3);
361    }
362
363    /* The 2-up row = items 4 & 5 in each group of 5 */
364    [data-alt-layout="3-2"] .w-dyn-item:nth-child(5n + 4),
365    [data-alt-layout="3-2"] .w-dyn-item:nth-child(5n + 5) {
366      width: calc((100% - var(--grid-gap, 1.5rem)) / 2);
367    }
368
369    /* Center the 2-up row */
370    [data-alt-layout="3-2"] .w-dyn-item:nth-child(5n + 4) { margin-left: auto; }
371    [data-alt-layout="3-2"] .w-dyn-item:nth-child(5n + 5) { margin-right: auto; }
372    
373    /* If the LAST item is alone in a 2-col row (it will be the "4th" position of a 5-group), don't auto-center it */
374    [data-alt-layout="3-2"] .w-dyn-item:last-child:nth-child(5n + 4) {
375      margin-left: 0;
376    }
377
378  }
379
380  /* Tablet: 2 x 2 grid */
381  @media (max-width: 991px) and (min-width: 768px) {
382    [data-alt-layout="3-2"] .w-dyn-items {
383      display: grid;
384      grid-template-columns: repeat(2, 1fr);
385      gap: var(--_site-sizes---layout--grid-gutter);
386    }
387
388    [data-alt-layout="3-2"] .w-dyn-item {
389      width: auto;
390      margin: 0;
391    }
392  }
393  
394    /* mobile: stacked list */
395
396  @media (max-width: 767px) {
397    [data-alt-layout="3-2"] .w-dyn-items {
398      grid-template-columns: repeat(1, 1fr);
399    }
400  }
401
402</style></div><div class="w-embed"><style>
403	.jobs-list_form.is-sticky .jobs-list_tags,
404  .jobs-list_form.is-sticky .jobs-list_counter-wrap,
405  .jobs-list_form.is-sticky .jobs-list_dropdown-icon {
406  	display: none;
407  }
408  .jobs-list_form.is-sticky .jobs-list_dropdown-wrap {
409      flex-shrink: 1;
410  }
411  .jobs-list_form.is-sticky .jobs-list_dropdown-wrap {
412      flex-shrink: 1;
413      grid-column-gap: 1rem;
414      width: auto;
415      flex-flow: row;
416  }  
417  .jobs-list_form.is-sticky .jobs-list_search-wrap {
418    flex-grow: 1;
419    width: 100%;
420	}
421  .jobs-list_form.is-sticky .jobs-list_dropdown {
422  	width: auto;
423  }
424  
425  .jobs-list_form.is-sticky .jobs-list_dropdown-nav.w--open {
426    min-width: 260px;
427    right: 0;
428	}
429  
430  @media (max-width: 767px) {
431    .jobs-list_form.is-sticky .jobs-list_dropdown-toggle-title {
432      display: none;
433    }
434    .jobs-list_form.is-sticky .jobs-list_dropdown {
435    	position: static;
436    }
437    .jobs-list_form.is-sticky .jobs-list_dropdown-nav.w--open {
438      width: 100%;
439		}
440    .jobs-list_form.is-sticky .jobs-list_dropdown-toggle[data-icon="location"]::before {
441    	  content: "";
442        display: inline-block;
443        width: 24px;
444        height: 24px;
445
446        background-repeat: no-repeat;
447        background-position: center;
448        background-size: contain;
449
450        background-image: url("data:image/svg+xml;utf8,\
451      <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>\
452      <path fill='none' stroke='%23d8d9da' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M8.25 8.25a3.75 3.75 0 1 0 7.5 0 3.75 3.75 0 1 0-7.5 0' vector-effect='non-scaling-stroke'/>\
453      <path fill='none' stroke='%23d8d9da' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12 .75a7.5 7.5 0 0 1 7.5 7.5c0 3.407-5.074 11.95-6.875 14.665a.75.75 0 0 1-1.25 0C9.574 20.2 4.5 11.657 4.5 8.25A7.5 7.5 0 0 1 12 .75' vector-effect='non-scaling-stroke'/>\
454      </svg>");
455    }
456    .jobs-list_form.is-sticky .jobs-list_dropdown-toggle[data-icon="department"]::before {
457      content: "";
458      display: inline-block;
459      width: 24px;
460      height: 24px;
461
462      background-repeat: no-repeat;
463      background-position: center;
464      background-size: contain;
465
466      background-image: url("data:image/svg+xml;utf8,\
467      <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>\
468      <g fill='none' stroke='%23d8d9da' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'>\
469      <path fill='none' d='M3.754 13.943v8.25h6v-6a1.5 1.5 0 0 1 1.5-1.5h1.5a1.5 1.5 0 0 1 1.5 1.5v6h6v-8.25M.754 12.443 10.943 2.254a1.5 1.5 0 0 1 2.122 
4690l10.189 10.19' vector-effect='non-scaling-stroke'/>\
470      </g>\
471      </svg>");
472    }
473    
474	}  
475</style></div><div class="w-embed"><style>
476  .hero-blog_wrap[data-blog-bg='Black'] {
477    background-color: var(--surface--black);
478    color: var(--text--inverse);
479  }
480
481  .hero-blog_wrap[data-blog-bg='Grey'] {
482    background-color: var(--surface--inverse);
483    color: var(--text--inverse);
484  }
485
486  .hero-blog_wrap[data-blog-bg='Parchment'] {
487    background-color: var(--surface--warm);
488    color: var(--text--primary-headings);
489  }
490  .hero-blog_wrap[data-blog-bg='Black'] .blog-heading {
491    color: var(--text--inverse);
492  }
493
494  .hero-blog_wrap[data-blog-bg='Grey'] .blog-heading {
495    color: var(--text--inverse);
496  }
497
498  .hero-blog_wrap[data-blog-bg='Parchment'] .blog-heading {
499    color: var(--text--primary-headings);
500  }
501</style></div><div class="w-embed"><style>
502  .button_wrap.back-button {
503    flex-direction: row-reverse;
504  }
505  .button_wrap.back-button .button_icon-wrap {
506    transform: rotate(-90deg);
507  }
508  .button_wrap[data-wf--element-button--style-style='primary']:hover .button_wrap-inner,
509  .button_wrap[data-wf--element-button--style-style='primary']:hover .button_icon-wrap {
510    background-color: var(--button-primary--primary-bg-hover);
511  }
512  .button_wrap[data-wf--element-button--style-style='secondary']:hover .button_wrap-inner,
513  .button_wrap[data-wf--element-button--style-style='secondary']:hover .button_icon-wrap {
514    background-color: var(--button-secondary--secondary-bg-hover);
515  }
516  .button_wrap:hover .button_wrap-inner {
517    border-radius: var(--_site-sizes---radius--xsmall);
518    transition: border-radius 0.3s cubic-bezier(0.25, 1, 0.5, 1);
519  }
520  .button_wrap:hover .button_icon-wrap {
521    border-radius: 50%;
522  }
523   .button_wrap[data-wf--element-button--style-style='secondary']:hover .button_wrap-inner.is-secondary {
524    border-radius: 1.75rem;
525    transition: border-radius 0.4s cubic-bezier(0.25, 1, 0.5, 1);
526  }
527  .button_wrap[data-wf--element-button--style-style='link']:hover .button_wrap-line {
528    width: 100%;
529  }
530</style></div><div class="w-embed"><style>
531
532/*Image Card*/
533
534.card-image_wrap:has(.u-link-cover:hover) {
535	transform: scale(1.03);
536}
537
538/*Article Card*/
539.card-article_description {
540  display: -webkit-box;
541  -webkit-line-clamp: 3;
542  -webkit-box-orient: vertical;  
543}
544.card-article_wrap:hover {
545	transform: scale(1.03);
546}
547
548.card-article_content.primary {
549	background-color: var(--card-surface--surface-primary-subtle);
550}
551
552.card-article_content.primary .card-article_description{
553  color: var(--text--primary);
554}
555
556.card-article_content.warm {
557	background-color: var(--card-surface--surface-warm);
558}
559
560.card-article_content.warm .card-article_description{
561  color: var(--text--primary);
562}
563
564.card-article_content.cool {
565	background-color: var(--card-surface--surface-cool);
566}
567
568.card-article_content.cool .card-article_description{
569  color: var(--text--primary);
570}
571
572.card-article_wrap:hover:has(.card-article_content.primary) .card-article_content.primary {
573	background-color: color-mix(in srgb, var(--card-surface--surface-primary-subtle) 60%, transparent);
574}
575
576.card-article_wrap:hover:has(.card-article_content.warm) .card-article_content.warm {
577	background-color: color-mix(in srgb, var(--card-surface--surface-warm) 60%, transparent);
578}
579
580.card-article_wrap:hover:has(.card-article_content.cool) .card-article_content.warm {
581	background-color: color-mix(in srgb, var(--card-surface--surface-cool) 60%, transparent);
582}
583
584.heading_wrap.is-card-article.small {
585	font-size: 1.125rem;
586}
587
588.featured-article_wrap .card-article_img {
589	aspect-ratio: 2.39 / 1;
590}
591
592/*Programme Card*/
593.programme-card_wrap .image_wrap img,
594.programme-card_wrap .programme-card_heading {
595  transition: transform 0.4s ease;
596}
597
598.programme-card_wrap:has(.u-link-cover:hover) .programme-card_image .image_wrap img {
599  transform: scale(1.05);
600}
601
602/*Content Card*/
603.card-content_small h3 {
604  font-size: var(--_typography-tokens---body-medium--size);
605}
606.card-content_small p {
607  color: var(--text--secondary);
608}
609
610</style></div><div class="w-embed"><style>
611	/* CMS list with Finsweet Search turned on */
612  .collection-list_searchbar.is-list-active {
613  	background-color: rgb(232, 240, 254);
614  }
615  
616  .collection-list_form:has(.collection-list_searchbar.is-list-active)
617		.collection-list_search-button,
618  .collection-list_form:has(.collection-list_searchbar.is-list-active)
619    .collection-list_search-clear {
620   	background-color: rgb(255,255,255);
621  }
622  
623  /* CMS list with Finsweet Pagination & Load more */
624  .collection-list_arrow.is-list-pagination-disabled {
625  	display:none;
626  }
627  
628  .collection-list_wrap:has(.collection-list_list[fs-list-load="more"]) .w-pagination-next {
629  	border: 1px solid var(--button-flat--flat-border-idle);
630    background-color: var(--button-flat--flat-bg-idle);
631    color: var(--button-flat--flat-content-idle);
632    padding: 0 1.25rem;
633    height: 56px;
634    width: auto;
635	}
636  .collection-list_wrap:has(.collection-list_list[fs-list-load="more"]) .w-pagination-next:hover {
637  	background-color: var(--button-flat--flat-bg-hover);
638    border-color: var(--button-flat--flat-border-hover);
639    color: var(--button-flat--flat-content-hover);
640	}
641  
642  .collection-list_wrap:has(.collection-list_list[fs-list-load="more"]) .collection-list_arrow-icon,
643  .collection-list_wrap:has(.collection-list_list[fs-list-load="more"]) .collection-list_page-count-wrap,
644  .collection-list_wrap:has(.collection-list_list[fs-list-load="more"]) .collection-list_arrow.is-prev {
645  	display: none;
646  }
647  .collection-list_wrap:has(.collection-list_list[fs-list-load="more"]) .collection-list_load-more {
648  	display: block;
649  }
650  
651	.collection-list_page-count-wrap {
652    display: none;
653  }
654
655  .collection-list_page-count-wrap:has(.w-page-count) {
656    display: flex;
657  }
658  
659  .collection-list_page-count::before {
660  	content: "Page ";
661  }
662
663</style></div><div class="w-embed"><style>
664  .comparison_cell-content[background='none'] {
665    background-color: transparent;
666  }
667  .comparison_cell-content[background='dark'] {
668    background-color: var(--card-surface--surface-inverse);
669    color: var(--text--inverse);
670  }
671  .comparison_cell-content[background='subtle'] {
672    background-color: var(--card-surface--surface-cool);
673  }
674
675  @media only screen and (min-width: 767px) {
676    .comparison_grid-row[border-bottom='yes'] {
677      border-bottom: 1px solid var(--border--secondary);
678    }
679  }
680
681  .comparison_grid[col-count='2'] .comparison_grid-row {
682    grid-template-columns: 1fr 1fr 1fr;
683  }
684  .comparison_grid[col-count='2'] .comparison_grid-row .comparison_cell:last-child {
685    display: none;
686  }
687</style></div><div class="w-embed"><style>
688  @media screen and (min-width: 1180px){
689    [data-slide][data-slider-variant="featured"] [data-slide-media]{
690      width: auto;
691      height: auto;
692      overflow:auto;
693    }
694  }
695</style></div><div class="w-embed"><style>
696  .u-grid.center {
697    place-items: center stretch;
698  }
699  .u-grid.top {
700    place-items: start stretch;
701  }
702  .u-grid.bottom {
703    place-items: end stretch;
704  }
705</style></div><div class="w-embed"><style>
706  @media (min-width: 991px) {
707    /* Child item row spans */
708    [mb-row-span="1"] { grid-row: span 1; }
709    [mb-row-span="2"] { grid-row: span 2; }
710    [mb-row-span="3"] { grid-row: span 3; }
711    [mb-row-span="4"] { grid-row: span 4; }
712    [mb-row-span="5"] { grid-row: span 5; }
713    [mb-row-span="6"] { grid-row: span 6; }
714  }
715    /* Child item column spans */
716    [mb-column-span="1"] { grid-column: span 1; }
717    [mb-column-span="2"] { grid-column: span 2; }
718    [mb-column-span="3"] { grid-column: span 3; }
719    [mb-column-span="4"] { grid-column: span 4; }
720    [mb-column-span="5"] { grid-column: span 5; }
721    [mb-column-span="6"] { grid-column: span 6; }
722  }
723</style></div><div class="w-embed"><style>
724
725.u-grid:has(.u-grid) {
726	display: block;
727}
728
729@media (min-width: 992px) {
730
731  [mb-dt-column-count="1"],
732  [mb-dt-column-count="1"] .u-grid {
733    display: grid;
734    grid-template-columns: repeat(1, 1fr);
735  }
736
737  [mb-dt-column-count="2"],
738  [mb-dt-column-count="2"] .u-grid  {
739    display: grid;
740    grid-template-columns: repeat(2, 1fr);
741  }
742
743  [mb-dt-column-count="3"],
744  [mb-dt-column-count="3"] .u-grid  {
745    display: grid;
746    grid-template-columns: repeat(3, 1fr);
747  }
748
749  [mb-dt-column-count="4"],
750  [mb-dt-column-count="4"] .u-grid  {
751    display: grid;
752    grid-template-columns: repeat(4, 1fr);
753  }
754
755  [mb-dt-column-count="5"],
756  [mb-dt-column-count="5"] .u-grid  {
757    display: grid;
758    grid-template-columns: repeat(5, 1fr);
759  }
760
761  [mb-dt-column-count="6"],
762  [mb-dt-column-count="6"] .u-grid  {
763    display: grid;
764    grid-template-columns: repeat(6, 1fr);
765  }
766  
767}
768
769@media (max-width: 991px) {
770
771  [mb-tb-column-count="1"],
772  [mb-tb-column-count="1"] .u-grid  {
773    display: grid;
774    grid-template-columns: repeat(1, 1fr);
775  }
776
777  [mb-tb-column-count="2"],
778  [mb-tb-column-count="2"] .u-grid  {
779    display: grid;
780    grid-template-columns: repeat(2, 1fr);
781  }
782
783  [mb-tb-column-count="3"],
784  [mb-tb-column-count="3"] .u-grid  {
785    display: grid;
786    grid-template-columns: repeat(3, 1fr);
787  }
788
789  [mb-tb-column-count="4"],
790  [mb-tb-column-count="4"] .u-grid  {
791    display: grid;
792    grid-template-columns: repeat(4, 1fr);
793  }
794
795  [mb-tb-column-count="5"],
796  [mb-tb-column-count="5"] .u-grid  {
797    display: grid;
798    grid-template-columns: repeat(5, 1fr);
799  }
800
801  [mb-tb-column-count="6"],
802  [mb-tb-column-count="6"] .u-grid  {
803    display: grid;
804    grid-template-columns: repeat(6, 1fr);
805  }
806  
807}
808
809@media (max-width: 767px) {
810
811  [mb-mb-column-count="1"],
812  [mb-mb-column-count="1"] .u-grid {
813    display: grid;
814    grid-template-columns: repeat(1, 1fr);
815  }
816
817  [mb-mb-column-count="2"],
818  [mb-mb-column-count="2"] .u-grid  {
819    display: grid;
820    grid-template-columns: repeat(2, 1fr);
821  }
822
823  [mb-mb-column-count="3"],
824  [mb-mb-column-count="3"] .u-grid  {
825    display: grid;
826    grid-template-columns: repeat(3, 1fr);
827  }
828
829  [mb-mb-column-count="4"],
830  [mb-mb-column-count="4"] .u-grid  {
831    display: grid;
832    grid-template-columns: repeat(4, 1fr);
833  }
834
835  [mb-mb-column-count="5"],
836  [mb-mb-column-count="5"] .u-grid  {
837    display: grid;
838    grid-template-columns: repeat(5, 1fr);
839  }
840
841  [mb-mb-column-count="6"],
842  [mb-mb-column-count="6"] .u-grid  {
843    display: grid;
844    grid-template-columns: repeat(6, 1fr);
845  }
846  
847}
848
849</style></div><div class="w-embed"><style>
850
851  .heading_wrap[data-font-style="sans-serif"]{
852    font-family: var(--_typography-primitives---family--primary-family);
853  }
854
855  .heading_wrap[data-font-style="serif"]{
856    font-family: var(--_typography-primitives---family--display-serif);
857    font-weight: 400;
858  }
859
860.heading_wrap h1,
861.heading_wrap h2,
862.heading_wrap h3,
863.heading_wrap h4,
864.heading_wrap h5,
865.heading_wrap h6,
866.heading_wrap p {
867	font-size: inherit;
868  font-weight: inherit;
869  letter-spacing: inherit;
870  line-height: inherit;
871}
872
873.u-vertical-gap-large {
874  grid-row-gap: var(--_site-sizes---vertical-gap--large);
875}
876
877.u-text-colour-inverse .u-text-colour-secondary {
878	color: var(--text--inverse);
879}
880
881.eyebrow_text strong,
882.seyebrow_text b {
883  font-weight: inherit;
884}
885
886/* Heading Reveal */
887.line-mask {
888  display: block;
889  overflow: hidden;
890  padding-bottom: 0.08em;
891  margin-bottom: -0.08em;
892}
893
894.line-inner {
895  display: block;
896  transform: translateY(110%) rotate(1.5deg);
897  transform-origin: 0% 100%;
898  opacity: 0;
899  transition:
900    transform 0.85s cubic-bezier(.2,.8,.2,1),
901    opacity 0.6s ease;
902  transition-delay: calc(var(--i) * 90ms);
903  will-change: transform, opacity;
904}
905
906.js-line-split.in-view .line-inner {
907  transform: translateY(0) rotate(0deg);
908  opacity: 1;
909}
910
911.heading-lockup_heading[data-wf--text-heading-lockup--style-alignment='layout-h'] > :first-child {
912  grid-column: span 2;
913}
914
915@media (prefers-reduced-motion: reduce) {
916  .line-inner {
917    transition: opacity 0.3s ease;
918    transform: none !important;
919  }
920}
921
922</style></div><div class="w-embed"><style>
923
924/*
925.hero-split-image_media .video_wrap {
926	aspect-ratio: 16 / 9;
927}
928*/
929
930/* Hero Standalone */
931.hero-split-image_divider.light {
932	background-color: var(--_colour-primitives---neutral--lunar--0);
933}
934.hero-split-image_divider.warm {
935	background-color: var(--_colour-primitives---neutral--lunar--50);	
936}
937
938/* Hero Standalone */
939.section_decoration.light {
940	background-color: var(--_colour-primitives---neutral--lunar--0);
941}
942.section_decoration.warm {
943	background-color: var(--_colour-primitives---neutral--lunar--50);	
944}
945
946
947</style></div><div class="w-embed"><style>
948  .product-highlight_media .image_wrap {
949    border-radius: var(--_site-sizes---radius--xlarge);
950    overflow: clip;
951  }
952  .image_wrap.xsmall {
953    border-radius: var(--_site-sizes---radius--xsmall);
954    overflow: clip;
955  }
956  .image_wrap.small {
957    border-radius: var(--_site-sizes---radius--small);
958  }
959  .image_wrap.medium {
960    border-radius: var(--_site-sizes---radius--medium);
961  }
962  .image_wrap.large {
963    border-radius: var(--_site-sizes---radius--large);
964  }
965  .image_wrap.xlarge {
966    border-radius: var(--_site-sizes---radius--xlarge);
967  }
968</style>
969</div><div class="w-embed"><style>
970.jobs-list_form-container.is-sticky {
971  transition: transform 0.4s;              /* same as .nav_component-wrapper */
972}
973.jobs-list_form-container.is-sticky.is-active {
974  transform: translateY(-4.2rem);          /* sticky top 5.2rem → nav pill top 1rem */
975}
976
977@media (max-width: 991px) {
978  .jobs-list_form-container.is-sticky {
979    transition-duration: 0.3s;             /* matches the nav at tablet and below */
980  }
981  .jobs-list_form-container.is-sticky.is-active {
982    transform: translateY(-4.5rem);        /* sticky top 6rem → nav pill top 1.5rem */
983  }
984}
985</style></div><div class="w-embed"><style>
986  .check-list_wrap li::before {
987		content: '';
988    position: absolute;
989    left: 0;
990    top: 0.3em;
991    width: 1em;
992    height: 1em;
993    background-repeat: no-repeat;
994    background-size: 1em;
995		background-image: url("data:image/svg+xml;utf8,<?xml version='1.0' encoding='utf-8'?><svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'><g clip-path='url(%23a)'><path stroke='%23555553' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m12.915 7.5-3.75 5-2.083-2.083M18.335 10a8.333 8.333 0 1 1-16.667 0 8.333 8.333 0 0 1 16.667 0' vector-effect='non-scaling-stroke'/></g><defs><clipPath id='a'><path fill='%23fff' d='M0 0h20v20H0z'/></clipPath></defs></svg>");
996	}
997</style></div><div class="w-embed"><style>
998.nav_component.is-active .nav_container{
999  padding: 0.5rem 1rem;
1000}
1001  
1002  .nav_component.is-active .nav_component-inner{
1003    border-radius: var(--_site-sizes---radius--small);
1004    transition: border 0.3s ease;
1005  }
1006
1007  .nav_component.is-active .nav_component-inner.panel-open{
1008    border-radius: var(--_site-sizes---radius--small) var(--_site-sizes---radius--small) 0 0;
1009  }
1010
1011  
1012</style></div><div class="w-embed"><style>
1013  .programme-banner_wrap.light {
1014    color: var(--text--inverse);
1015  }
1016  .programme-banner_wrap.dark .u-text-colour-light,
1017  .programme-banner_wrap.dark .programme-category_wrap,
1018  .programme-banner_wrap.dark .programme-category_link {
1019    color: var(--text--secondary);
1020  }
1021  .programme-category_list .programme-category_item:not(:last-child)::after {
1022  	content: ", ";
1023	}
1024  /* Programme Categories */
1025  /* 1. Commas after all except last two */
1026  .programme-category_list
1027  ..programme-category_item:not(:nth-last-child(-n+2))::after {
1028    content: ", ";
1029  }
1030
1031  /* 2. Add " and " before the last item (only when there is more than one) */
1032  .programme-category_list
1033  .programme-category_item:nth-last-child(2)::after {
1034    content: " and ";
1035  }
1036</style></div><div class="w-embed"><style>
1037  /* All corners */
1038[data-radius="large"] {
1039  border-radius: var(--_site-sizes---radius--xlarge);
1040}
1041[data-radius="medium"] {
1042  border-radius: var(--_site-sizes---radius--large);
1043}
1044[data-radius="small"] {
1045  border-radius: var(--_site-sizes---radius--medium);
1046}
1047
1048/* Top corners only */
1049[data-radius="top-large"] {
1050  border-top-left-radius: var(--_site-sizes---radius--xlarge);
1051  border-top-right-radius: var(--_site-sizes---radius--xlarge);
1052}
1053[data-radius="top-medium"] {
1054  border-top-left-radius: var(--_site-sizes---radius--large);
1055  border-top-right-radius: var(--_site-sizes---radius--large);
1056}
1057[data-radius="top-small"] {
1058  border-top-left-radius: var(--_site-sizes---radius--medium);
1059  border-top-right-radius: var(--_site-sizes---radius--medium);
1060}
1061
1062/* Bottom corners only */
1063[data-radius="bottom-large"] {
1064  border-bottom-left-radius: var(--_site-sizes---radius--xlarge);
1065  border-bottom-right-radius: var(--_site-sizes---radius--xlarge);
1066}
1067[data-radius="bottom-medium"] {
1068  border-bottom-left-radius: var(--_site-sizes---radius--large);
1069  border-bottom-right-radius: var(--_site-sizes---radius--large);
1070}
1071[data-radius="bottom-small"] {
1072  border-bottom-left-radius: var(--_site-sizes---radius--medium);
1073  border-bottom-right-radius: var(--_site-sizes---radius--medium);
1074}
1075</style></div><div class="w-embed"><style>
1076/*
1077.toc_link.is-blog-post::before {
1078  margin-top: 0.3rem;
1079  flex-shrink: 0;
1080	content: "";
1081  display: inline-block;
1082  width: 12px;
1083  height: 12px;
1084
1085  background-repeat: no-repeat;
1086  background-size: contain;
1087  background-position: center;
1088
1089  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'><path stroke='%234a5ff7' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M2.969 10H17.03m0 0-6.562 6.563M17.03 10 10.47 3.438' vector-effect='non-scaling-stroke'/></svg>");
1090}
1091  */
1092</style></div><div class="w-embed"><style>
1093/* Number Attributes */
1094[cc-number="-1"]{--number: initial;}[cc-number="0"]{--number: 0;}[cc-number="1"]{--number:1}[cc-number="2"]{--number:2}[cc-number="3"]{--number:3}[cc-number="4"]{--number:4}[cc-number="5"]{--number:5}[cc-number="6"]{--number:6}[cc-number="7"]{--number:7}[cc-number="8"]{--number:8}[cc-number="9"]{--number:9}
1095[cc-number="10"]{--number:10}[cc-number="11"]{--number:11}[cc-number="12"]{--number:12}[cc-number="13"]{--number:13}[cc-number="14"]{--number:14}[cc-number="15"]{--number:15}[cc-number="16"]{--number:16}[cc-number="17"]{--number:17}[cc-number="18"]{--number:18}[cc-number="19"]{--number:19}
1096[cc-number="20"]{--number:20}[cc-number="21"]{--number:21}[cc-number="22"]{--number:22}[cc-number="23"]{--number:23}[cc-number="24"]{--number:24}[cc-number="25"]{--number:25}[cc-number="26"]{--number:26}[cc-number="27"]{--number:27}
1096[cc-number="28"]{--number:28}[cc-number="29"]{--number:29}
1097[cc-number="30"]{--number:30}[cc-number="31"]{--number:31}[cc-number="32"]{--number:32}[cc-number="33"]{--number:33}[cc-number="34"]{--number:34}[cc-number="35"]{--number:35}[cc-number="36"]{--number:36}[cc-number="37"]{--number:37}[cc-number="38"]{--number:38}[cc-number="39"]{--number:39}
1098[cc-number="40"]{--number:40}[cc-number="41"]{--number:41}[cc-number="42"]{--number:42}[cc-number="43"]{--number:43}[cc-number="44"]{--number:44}[cc-number="45"]{--number:45}[cc-number="46"]{--number:46}[cc-number="47"]{--number:47}[cc-number="48"]{--number:48}[cc-number="49"]{--number:49}
1099[cc-number="50"]{--number:50}[cc-number="51"]{--number:51}[cc-number="52"]{--number:52}[cc-number="53"]{--number:53}[cc-number="54"]{--number:54}[cc-number="55"]{--number:55}[cc-number="56"]{--number:56}[cc-number="57"]{--number:57}[cc-number="58"]{--number:58}[cc-number="59"]{--number:59}
1100[cc-number="60"]{--number:60}[cc-number="61"]{--number:61}[cc-number="62"]{--number:62}[cc-number="63"]{--number:63}[cc-number="64"]{--number:64}[cc-number="65"]{--number:65}[cc-number="66"]{--number:66}[cc-number="67"]{--number:67}[cc-number="68"]{--number:68}[cc-number="69"]{--number:69}
1101[cc-number="70"]{--number:70}[cc-number="71"]{--number:71}[cc-number="72"]{--number:72}[cc-number="73"]{--number:73}[cc-number="74"]{--number:74}[cc-number="75"]{--number:75}[cc-number="76"]{--number:76}[cc-number="77"]{--number:77}[cc-number="78"]{--number:78}[cc-number="79"]{--number:79}
1102[cc-number="80"]{--number:80}[cc-number="81"]{--number:81}[cc-number="82"]{--number:82}[cc-number="83"]{--number:83}[cc-number="84"]{--number:84}[cc-number="85"]{--number:85}[cc-number="86"]{--number:86}[cc-number="87"]{--number:87}[cc-number="88"]{--number:88}[cc-number="89"]{--number:89}
1103[cc-number="90"]{--number:90}[cc-number="91"]{--number:91}[cc-number="92"]{--number:92}[cc-number="93"]{--number:93}[cc-number="94"]{--number:94}[cc-number="95"]{--number:95}[cc-number="96"]{--number:96}[cc-number="97"]{--number:97}[cc-number="98"]{--number:98}[cc-number="99"]{--number:99}[cc-number="100"]{--number:100}
1104</style></div><div class="w-embed"><style>
1105
1106.u-text-1-line {
1107    display: -webkit-box;
1108    -webkit-box-orient: vertical;
1109    -webkit-line-clamp: 1;
1110    line-clamp: 1;
1111    overflow: hidden;
1112}
1113
1114.u-text-2-lines {
1115    display: -webkit-box;
1116    -webkit-box-orient: vertical;
1117    -webkit-line-clamp: 2;
1118    line-clamp: 2;
1119    overflow: hidden;
1120}
1121
1122.u-text-3-lines {
1123    display: -webkit-box;
1124    -webkit-box-orient: vertical;
1125    -webkit-line-clamp: 3;
1126    line-clamp: 3;
1127    overflow: hidden;
1128}
1129
1130
1131</style></div><div class="w-embed"><style>
1132	.timeline_slot .timeline-card_wrap.small {
1133  	padding-bottom: 1.5rem;
1134  }
1135  .timeline_slot .timeline-card_wrap.medium {
1136  	padding-bottom: 2.5rem;
1137  }
1138  .timeline_slot .timeline-card_wrap.large {
1139  	padding-bottom: 3.5rem;
1140  }
1141	
1142  .timeline_slot .timeline-card_wrap:first-child .timeline_line {
1143  	margin-top: 1.5rem;
1144  }
1145	
1146  .timeline_slot .timeline-card_wrap:last-child .timeline_line {
1147  	height: 1.5rem;
1148  }
1149  
1150 	.timeline_slot .timeline-card_wrap:last-child {
1151  	padding-bottom: 0;
1152  }
1153  
1154  .timeline-card_icon.light {
1155  	color: var(--_colour-primitives---brand--ultraviolet--700);
1156  }
1157  .timeline-card_icon.dark {
1158  	color: var(--_colour-primitives---brand--ultraviolet--500);
1159  }
1160
1161</style></div><div class="w-embed"><style>
1162  .u-rich-text h2:first-child,
1163  .article_rich-text h2:first-child {
1164    margin-top: 0;
1165  }
1166  .u-rich-text [id] {
1167    scroll-margin-top: 7rem;
1168  }
1169
1170  .article_rich-text .w-richtext-figure-type-image {
1171    max-width: 100%;
1172    margin: 4rem 0;
1173  }  
1174  
1175  .article_rich-text .check-list ul {
1176  	padding-left: 0;
1177	}  
1178  .article_rich-text .check-list ul li::before {
1179  	content: '';
1180    position: absolute;
1181    left: 0;
1182    top: 0;
1183    width: 1.1em;
1184    height: 1.1em;
1185    background-repeat: no-repeat;
1186		background-image: url("data:image/svg+xml;utf8,<?xml version='1.0' encoding='utf-8'?><svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'><g clip-path='url(%23a)'><path stroke='%238423FF' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m12.915 7.5-3.75 5-2.083-2.083M18.335 10a8.333 8.333 0 1 1-16.667 0 8.333 8.333 0 0 1 16.667 0' vector-effect='non-scaling-stroke'/></g><defs><clipPath id='a'><path fill='%23fff' d='M0 0h20v20H0z'/></clipPath></defs></svg>");
1187	}
1188  .article_rich-text .check-list ul li {
1189  	padding-left: 2rem;
1190	}
1191  
1192  .article_rich-text .block-lunarlight,
1193  .article_rich-text .block-lunardark,
1194  .article_rich-text .block-starlight {
1195  	margin: 0 auto;
1196    width: 85%;
1197    padding: 2rem;
1198    border-radius: var(--_site-sizes---radius--medium); 
1199  }
1200  .article_rich-text .block-lunarlight,
1201  .article_rich-text .block-lunardark,
1202  .article_rich-text .block-starlight,
1203  .article_rich-text .border-ultraviolet,
1204  .article_rich-text .border-eclipse 
1205  {
1206    line-height: 170%;
1207  }
1208  .article_rich-text .block-lunarlight p,
1209  .article_rich-text .block-lunardark p,
1210  .article_rich-text .block-starlight p,
1211  .article_rich-text .border-ultraviolet p,
1212  .article_rich-text .border-eclipse p
1213  {
1214    margin-bottom: 0.5rem;
1215  }
1216  .article_rich-text .block-lunarlight h5,
1217  .article_rich-text .block-lunardark h5,
1218  .article_rich-text .block-starlight h5,
1219  .article_rich-text .border-ultraviolet h5,
1220  .article_rich-text .border-eclipse h5
1221  {
1222    font-size: 1rem;
1223    font-weight: 570;
1224    margin-top: 2rem;
1225    margin-bottom: 0.75rem;
1226  }
1227  .article_rich-text .block-lunarlight h6,
1228  .article_rich-text .block-lunardark h6,
1229  .article_rich-text .block-starlight h6,
1230  .article_rich-text .border-ultraviolet h6,
1231  .article_rich-text .border-eclipse h6
1232  {
1233    font-size: 0.875rem;
1234    opacity: 85%;
1235    margin-bottom: 0;
1236    font-weight: 400;
1237  }
1238  
1239  .article_rich-text .block-lunarlight {
1240  	background-color: var(--card-surface--surface-warm);
1241  }
1242  .article_rich-text .block-starlight {
1243  	background-color: var(--card-surface--surface-primary-subtle)
1244  }
1245  .article_rich-text .block-lunardark {
1246  	background-color: var(--_colour-primitives---neutral--lunar--700);
1247    color: var(--text--accent);
1248  }
1249  .article_rich-text .border-ultraviolet {
1250    border-left: 4px solid var(--border--brand);
1251    margin-left: 3rem;
1252    padding-left: 2rem;
1253  }
1254  .article_rich-text .border-eclipse {
1255    border-left: 4px solid var(--text--accent);
1256    margin-left: 3rem;
1257    padding-left: 2rem;
1258  }
1259  
1260  .curriculum_rich-text p:has(sub) {
1261    display: inline-block;
1262    min-width: 5rem;
1263    margin-right: 0.5rem;
1264    vertical-align: top;
1265  }
1266
1267  .curriculum_rich-text p:has(sub) sub {
1268    font-size: 90%;
1269    top: 0;
1270    line-height: 120%;
1271  }
1272
1273  .curriculum_rich-text p:has(strong) {
1274    display: inline-block;
1275  }
1276  
1277  @media (min-width: 768px) {
1278    .curriculum_rich-text p:not(:has(strong)):not(:has(sub)) {
1279      margin-left: 5.5rem;
1280    }
1281    .curriculum_rich-text ul {
1282      padding-left: 5.5rem;
1283  	}
1284  }
1285  
1286  .curriculum_rich-text ul {
1287    margin-top: 0;
1288    margin-bottom: 10px;
1289  }
1290  
1291  .curriculum_rich-text ul li::before {
1292		content: '';
1293    position: absolute;
1294    left: 0;
1295    top: 0.3em;
1296    width: 1em;
1297    height: 1em;
1298    background-repeat: no-repeat;
1299    background-size: 1em;
1300		background-image: url("data:image/svg+xml;utf8,<?xml version='1.0' encoding='utf-8'?><svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'><g clip-path='url(%23a)'><path stroke='%23555553' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m12.915 7.5-3.75 5-2.083-2.083M18.335 10a8.333 8.333 0 1 1-16.667 0 8.333 8.333 0 0 1 16.667 0' vector-effect='non-scaling-stroke'/></g><defs><clipPath id='a'><path fill='%23fff' d='M0 0h20v20H0z'/></clipPath></defs></svg>");
1301	}
1302
1303
1304</style></div><div class="w-embed"><style>
1305.stat-card_stat strong,
1306.stat-card_stat b {
1307  font-weight: inherit;
1308}
1309
1310.content-block_wrap .stat-card_wrap:nth-child(1) { background-color: var(--_colour-primitives---neutral--new--200); }
1311.content-block_wrap .stat-card_wrap:nth-child(2) { background-color: var(--_colour-primitives---neutral--new--300); }
1312.content-block_wrap .stat-card_wrap:nth-child(n+3) { background-color: var(--_colour-primitives---neutral--new--400); }
1313
1314[data-accent="purple"] {
1315  --_colour-primitives---neutral--new--200: var(--_colour-primitives---brand--purple--100);
1316  --_colour-primitives---neutral--new--300: var(--_colour-primitives---brand--purple--200);
1317  --_colour-primitives---neutral--new--400: var(--_colour-primitives---brand--purple--300);
1318}
1319[data-accent="teal"] {
1320  --_colour-primitives---neutral--new--200: var(--_colour-primitives---brand--teal--100);
1321  --_colour-primitives---neutral--new--300: var(--_colour-primitives---brand--teal--200);
1322  --_colour-primitives---neutral--new--400: var(--_colour-primitives---brand--teal--300);
1323}
1324[data-accent="blue"] {
1325  --_colour-primitives---neutral--new--200: var(--_colour-primitives---brand--blue--100);
1326  --_colour-primitives---neutral--new--300: var(--_colour-primitives---brand--blue--200);
1327  --_colour-primitives---neutral--new--400: var(--_colour-primitives---brand--blue--300);
1328}
1329
1330[data-accent="purple"] .content-block_wrap .stat-card_wrap:nth-child(n+3),
1331[data-accent="teal"]   .content-block_wrap .stat-card_wrap:nth-child(n+3),
1332[data-accent="blue"]   .content-block_wrap .stat-card_wrap:nth-child(n+3) {
1333  color: var(--_colour-primitives---neutral--new--0);
1334}
1335</style></div><div class="w-embed"><style>
1336  .swiper-slide {
1337    height: auto !important
1338  }
1339</style>
1340
1341<!-- Slide Crop-->
1342<style>
1343@media screen and (max-width: 991px) {
1344  [data-image-crop="top"]    { object-position: 50% 0% !important; }
1345  [data-image-crop="15"]    { object-position: 50% 15% !important; }
1346  [data-image-crop="25"]    { object-position: 50% 25% !important; }
1347  [data-image-crop="30"]    { object-position: 50% 30% !important; }
1348  [data-image-crop="35"]    { object-position: 50% 35% !important; }
1349  [data-image-crop="bottom"] { object-position: 50% 100% !important; }
1350  [data-image-crop="75"] { object-position: 50% 75% !important; }
1351  [data-image-crop="center"] { object-position: 50% 50% !important; }
1352}
1353@media screen and (min-width: 992px) {
1354  [data-image-crop-desktop="top"]    { object-position: 50% 0% !important; }
1355  [data-image-crop-desktop="15"]    { object-position: 50% 15% !important; }
1356  [data-image-crop-desktop="25"]    { object-position: 50% 25% !important; }
1357  [data-image-crop-desktop="30"]    { object-position: 50% 30% !important; }
1358  [data-image-crop-desktop="35"]    { object-position: 50% 35% !important; }
1359  [data-image-crop-desktop="bottom"] { object-position: 50% 100% !important; }
1360  [data-image-crop-desktop="75"] { object-position: 50% 75% !important; }
1361  [data-image-crop-desktop="center"] { object-position: 50% 50% !important; }
1362}
1363</style></div><div class="w-embed"><style>
1364	.video_label-layout[bg-colour='dark'] {
1365  	background-color: rgba(0,0,0,0.80);
1366    color: var(--text--inverse);
1367  }
1368  .video_label-layout[bg-colour='light'] {
1369  	background-color: #fff;
1370    color: var(--text--primary);
1371  }  
1372
1373  .custom-ar-1{
1374    aspect-ratio: 1440/1340;
1375  }
1376</style></div><div class="w-embed w-script">
1376<script>
1377/*
1378  data-animate="rise"
1379  Drop this attribute on any element to give it the rising parallax scroll effect:
1380  as the element's top edge travels from the bottom of the viewport to the
1381  middle of the viewport, it rises faster than the page scrolls, then settles
1382  into a 1:1 scroll once it passes the midpoint.
1383
1384  Optional per-element tuning via data attributes (all in px / 0-1):
1385    data-rise-distance="60"   how far below its natural position the element
1386                               starts, i.e. how much "extra" it rises. Default 60.
1387    data-rise-end="0.5"       where in the viewport (0 = top, 1 = bottom) the
1388                               effect finishes. Default 0.5 (middle of screen).
1389    data-rise-min-width="992" disables the effect (renders at natural position)
1390                               below this viewport width. Omit to always run.
1391                               Also applies to data-animate="parallax" below.
1392
1393  data-animate="parallax"
1394  Drop this on an image that's taller than its clipping parent -
1395  e.g. height: 120%; top: -10%; on the image, overflow: clip on the parent
1396*/
1397function initMovementBlocks() {
1398  const SELECTOR = '[data-animate="rise"], [data-animate="parallax"]';
1399  const reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
1400
1401  const els = document.querySelectorAll(SELECTOR);
1402  if (!els.length || reduceMotion) return;
1403
1404  function applyTransform(el) {
1405    const minWidth = parseFloat(el.dataset.riseMinWidth);
1406    if (minWidth && window.innerWidth < minWidth) {
1407      el.style.transform = '';
1408      return;
1409    }
1410    const vh = window.innerHeight;
1411
1412    if (el.dataset.animate === 'parallax') {
1413      const container = el.parentElement;
1414      const containerRect = container.getBoundingClientRect();
1415      const halfOverscan = Math.max(0, el.offsetHeight - container.offsetHeight) / 2;
1416      const progress = Math.min(1, Math.max(0, (vh - containerRect.top) / (vh + containerRect.height)));
1417      const y = halfOverscan * (1 - 2 * progress);
1418      el.style.transform = y ? `translateY(${y}px)` : '';
1419      return;
1420    }
1421
1422    const distance = parseFloat(el.dataset.riseDistance) || 60;
1423    const endAt = parseFloat(el.dataset.riseEnd) || 0.5; // 0.5 = viewport middle
1424    const rect = el.getBoundingClientRect();
1425    const progress = Math.min(1, Math.max(0, (vh - rect.top) / (vh * (1 - endAt))));
1426    const y = distance * (1 - progress);
1427    el.style.transform = y ? `translateY(${y}px)` : '';
1428  }
1429  els.forEach(applyTransform); // set correct starting position before anything is visible
1430
1431  const active = new Set();
1432  const io = new IntersectionObserver((entries) => {
1433    entries.forEach((entry) => {
1434      if (entry.isIntersecting) active.add(entry.target);
1435      else active.delete(entry.target);
1436    });
1437    update();
1438  }, { rootMargin: '0px 0px 100% 0px' }); // pick elements up a viewport-height early so update() is already running by the time they're visible - avoids a catch-up snap on fast/inertial scrolls
1439  els.forEach((el) => io.observe(el));
1440
1441  let ticking = false;
1442  function update() {
1443    ticking = false;
1444    active.forEach(applyTransform);
1445  }
1446  function onNativeScroll() {
1447    if (!ticking) {
1448      ticking = true;
1449      requestAnimationFrame(update);
1450    }
1451  }
1452
1453  window.addEventListener('scroll', onNativeScroll, { passive: true });
1454  window.addEventListener('resize', onNativeScroll);
1455
1456  // Lenis compatibility
1457  function attachLenis() {
1458    if (window.lenis && typeof window.lenis.on === 'function') {
1459      window.lenis.on('scroll', update);
1460      return true;
1461    }
1462    return false;
1463  }
1464  if (!attachLenis()) {
1465    let attempts = 0;
1466    const poll = setInterval(() => {
1467      attempts += 1;
1468      if (attachLenis() || attempts > 20) clearInterval(poll);
1469    }, 250);
1470  }
1471}
1472
1473// wait for the DOM if this runs before .movement-block exists
1474if (document.readyState === 'loading') {
1475  document.addEventListener('DOMContentLoaded', initMovementBlocks);
1476} else {
1477  initMovementBlocks();
1478}
1479</script>
1479</div></div><div class="nav-js"><div class="w-embed w-script">
1479<script>
1480  // Dynamically control dropdown hover behavior based on screen size
1481  document.addEventListener('DOMContentLoaded', () => {
1482    const dropdowns = document.querySelectorAll('.nav-dropdown_wrap');
1483
1484    if (window.innerWidth <= 991) {
1485      dropdowns.forEach((dropdown) => {
1486        dropdown.setAttribute('data-hover', 'false');
1487      });
1488    }
1489  });
1490</script>
1490</div></div><nav aria-label="User type navigation" class="nav-type_wrap w-variant-5eff6c55-a9fb-3bbc-cb10-67a61a91c2d0"><div class="nav-type_container w-variant-5eff6c55-a9fb-3bbc-cb10-67a61a91c2d0"><div data-wf--dependency-nav-user-type--variant="employers" class="nav-type_links"><a href="/" aria-current="page" class="nav-type_link is-employers w-inline-block w--current"><div>Employers</div></a><a href="/individuals/learn-new-skills" class="nav-type_link w-inline-block"><div>Learners</div></a></div><a href="/impact-hub-2026" class="nav-type_text-link is-mobile">Our 2026 Impact Report →</a><a href="/impact-hub-2026" class="nav-type_text-link">Our 2026 Impact Report is live: data, not dreams →</a></div></nav><div data-nav-type="toggle" data-nav-add-class="" class="nav_component-wrapper w-variant-5eff6c55-a9fb-3bbc-cb10-67a61a91c2d0"><div data-nav-add-class="" class="nav_component w-variant-5eff6c55-a9fb-3bbc-cb10-67a61a91c2d0"><div data-nav="navbar" data-animation="default" class="nav_component-inner w-variant-5eff6c55-a9fb-3bbc-cb10-67a61a91c2d0 w-nav" data-easing2="ease" data-easing="ease" aria-label="Primary navigation" data-collapse="medium" role="banner" data-duration="400"><div class="nav_container-outer"><div class="nav_container w-variant-5eff6c55-a9fb-3bbc-cb10-67a61a91c2d0"><div class="nav_logo-container"><a data-panel-add-class="" aria-label="Multiverse home" data-nav-add-class="" href="/" aria-current="page" class="nav_logo-link w-variant-5eff6c55-a9fb-3bbc-cb10-67a61a91c2d0 w-nav-brand w--current"><div id="" STYLE="" class="logo_wrap"><div data-nav-add-class="" class="logo_svg w-embed"><svg viewBox="0 0 197 32" fill="none" xmlns="http://www.w3.org/2000/svg">
1491<path d="M164.788 18.0562L162.048 17.4779C160.372 17.0924 159.534 16.2892 159.534 15.004C159.534 13.4618 161.049 12.4659 162.79 12.4659C165.239 12.4659 166.496 14.0402 166.754 15.6787H171.46C170.654 10.4739 166.883 8.48193 162.79 8.48193C157.826 8.48193 154.732 11.8554 154.732 15.4859C154.732 18.9237 157.214 20.6908 160.533 21.494L163.144 22.1044C165.755 22.7149 166.915 23.3574 166.915 24.9639C166.915 26.4739 165.755 28.0161 163.531 28.0161C160.824 28.0161 159.663 26.4418 159.47 24.4819H154.635C154.732 28.7871 158.084 32 163.338 32C168.72 32 171.621 28.4016 171.621 24.7068C171.654 21.5261 169.139 19.0201 164.788 18.0562ZM153.281 8.99598H140.839V31.4859H145.384V13.012H153.281V8.99598ZM111.83 8.99598L106.093 25.7028L100.291 8.99598H95.3596L103.74 31.4859H108.414L116.794 8.99598H111.83ZM93.0711 8.99598H88.5263V31.4859H93.0711V8.99598ZM80.017 2.63454H75.4722V8.99598H69.6059V13.012H75.4722V31.4859H80.017V13.012H85.8188V8.99598H80.017V2.63454ZM67.4463 2.63454H62.9016V31.4859H67.4463V2.63454ZM53.7154 21.6546C53.7154 25.3494 51.4913 27.5984 48.4292 27.5984C45.3027 27.5984 43.1754 25.3494 43.1754 21.6546V8.99598H38.6306V21.5582C38.6306 27.8876 42.2084 32 48.3325 32C54.36 32 58.2601 27.7912 58.2601 21.5582V8.99598H53.7154V21.6546ZM34.6016 8.99598H29.4444L20.3226 23.9357V8.99598H15.101L6.01144 23.8394V8.99598H1.46667V31.4859H6.04367L15.7778 15.4859V31.4859H20.3548L30.0568 15.6466V31.4859H34.6016V8.99598ZM90.7826 5.87952C92.4264 5.87952 93.748 4.56225 93.748 2.92369C93.748 1.31727 92.4264 0 90.7826 0C89.1387 0 87.8172 1.31727 87.8172 2.92369C87.8172 4.56225 89.1387 5.87952 90.7826 5.87952ZM116.665 20.2731C116.665 27.1486 121.597 32 127.818 32C133.458 32 137.068 29.0763 138.1 24.4177H133.265C132.91 26.1205 131.395 27.759 128.14 27.759C124.627 27.759 121.822 25.7349 121.468 21.9759H138.229C138.293 21.4618 138.325 20.7871 138.325 20.2731C138.325 13.5582 134.232 8.48193 127.721 8.48193C121.5 8.48193 116.665 13.5582 116.665 20.2731ZM121.371 18.4739C121.984 14.9719 124.272 12.7229 127.721 12.7229C131.138 12.7229 133.297 14.9076 133.781 18.4739H121.371ZM173.201 20.2731C173.201 27.1486 178.132 32 184.353 32C189.994 32 193.604 29.0763 194.635 24.4177H189.8C189.446 26.1205 187.931 27.759 184.676 27.759C181.162 27.759 178.358 25.7349 178.003 21.9759H194.764C194.829 21.4618 194.861 20.7871 194.861 20.2731C194.861 13.5582 190.767 8.48193 184.256 8.48193C178.036 8.48193 173.201 13.5582 173.201 20.2731ZM177.907 18.4739C178.519 14.9719 180.808 12.7229 184.256 12.7229C187.673 12.7229 189.833 14.9076 190.316 18.4739H177.907Z" fill="currentColor"/>
1492</svg>
1493</div><div data-nav-add-class="" class="logo_svg is-icon w-embed">
1493<svg width="100%" height="100%" viewBox="0 0 34 23" fill="none" xmlns="http://www.w3.org/2000/svg">
1494<path d="M33.1349 0L27.9777 0L18.8559 14.9398V0L13.6343 0L4.54476 14.8434V0L0 0V22.49H4.577L14.3112 6.48996V22.49H18.8882L28.5901 6.6506V22.49H33.1349V0Z" fill="currentColor"/>
1495</svg></div></div></a></div><div data-panel-add-class="" data-nav-add-class="" class="nav_menu-wrap w-variant-5eff6c55-a9fb-3bbc-cb10-67a61a91c2d0"><nav role="navigation" class="nav_menu w-variant-5eff6c55-a9fb-3bbc-cb10-67a61a91c2d0 w-nav-menu"><ul role="list" class="nav_links_wrap"><li class="nav_links_item"><a href="/impact-hub-2026" class="nav_link w-inline-block"><div>Our Impact</div><div class="nav_link-icon is-link"><div data-wf--element-accordion-button--variant="transparent" class="accordion_toggle-button w-variant-1f6cc5ee-defb-eaa1-aa4c-6f483bf16a1e"><div mb-accordion-element="icon" data-accordion-element="icon" class="accordion_toggle-icon w-variant-1f6cc5ee-defb-eaa1-aa4c-6f483bf16a1e"><div data-wf--icon-caret-down--variant="cover" class="icon_wrap w-variant-702d3b5e-d0a2-ca90-cc5d-b6a059750d6f"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 16 16" fill="none" class="icon_svg w-variant-702d3b5e-d0a2-ca90-cc5d-b6a059750d6f"><path d="M13.3337 6L8.0001 11.3336L2.6665 6" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></div></div></div><div class="nav_link-line"></div></a></li><li data-panel-add-class="" data-mega-mobile="resources" class="nav_links_item"><button data-mega-trigger="resources" class="nav_link"><div>Resources</div><div data-panel-add-class="" class="nav_link-line"></div><div data-panel-add-class="" class="nav_link-icon"><div data-wf--element-accordion-button--variant="transparent" class="accordion_toggle-button w-variant-1f6cc5ee-defb-eaa1-aa4c-6f483bf16a1e"><div mb-accordion-element="icon" data-accordion-element="icon" class="accordion_toggle-icon w-variant-1f6cc5ee-defb-eaa1-aa4c-6f483bf16a1e"><div data-wf--icon-caret-down--variant="cover" class="icon_wrap w-variant-702d3b5e-d0a2-ca90-cc5d-b6a059750d6f"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 16 16" fill="none" class="icon_svg w-variant-702d3b5e-d0a2-ca90-cc5d-b6a059750d6f"><path d="M13.3337 6L8.0001 11.3336L2.6665 6" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></div></div></div></button></li><li data-panel-add-class="" data-mega-mobile="about" class="nav_links_item"><button data-mega-trigger="about" class="nav_link"><div>About</div><div data-panel-add-class="" class="nav_link-line"></div><div data-panel-add-class="" class="nav_link-icon"><div data-wf--element-accordion-button--variant="transparent" class="accordion_toggle-button w-variant-1f6cc5ee-defb-eaa1-aa4c-6f483bf16a1e"><div mb-accordion-element="icon" data-accordion-element="icon" class="accordion_toggle-icon w-variant-1f6cc5ee-defb-eaa1-aa4c-6f483bf16a1e"><div data-wf--icon-caret-down--variant="cover" class="icon_wrap w-variant-702d3b5e-d0a2-ca90-cc5d-b6a059750d6f"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 16 16" fill="none" class="icon_svg w-variant-702d3b5e-d0a2-ca90-cc5d-b6a059750d6f"><path d="M13.3337 6L8.0001 11.3336L2.6665 6" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></div></div></div></button></li></ul></nav><div class="nav_link-line-wrap"><div aria-hidden="true" class="nav_link-line"></div></div></div><div class="nav_action-container"><div class="u-button-wrapper is-nav"><a data-wf--element-button--style-style="primary" href="/employer-contact-form" class="button_wrap w-inline-block"><div class="button_wrap-inner"><div class="u-weight-medium">Contact Sales</div></div><div class="button_icon-wrap"><div class="button_icon"><div data-wf--icon-arrow-right--variant="cover" class="icon_wrap w-variant-ec33f14d-0fd7-6b46-b530-c34ec4e2a332"><div class="icon_svg w-variant-ec33f14d-0fd7-6b46-b530-c34ec4e2a332 w-embed"><svg width="100%" height="100%" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1496<path d="M10.6839 5.65685L5.02709 11.3137L4.06034 10.347L8.06682 6.34048H0V4.97323H8.06682L4.06034 0.966748L5.02709 0L10.6839 5.65685Z" fill="currentColor"/>
1497</svg></div></div></div></div></a></div><div class="nav_menu-button w-nav-button"><div class="button_wrap is-menu"><div class="nav_menu-button-text is-opened"><div class="u-text-style-small u-weight-medium">Close</div></div><div class="nav_menu-icon-wrap"><div class="nav_menu-icon-line"></div><div class="nav_menu-icon-css w-embed"><style>
1498.nav_menu-icon-wrap {
1499	--thickness: 0.2rem;
1500	--gap: 0.5rem;
1501	--rotate: 35;
1502  --width: 100%;
1503}
1504.w--open .nav_menu-icon-line {
1505	transform: scaleX(0);
1506}
1507.w--open .nav_menu-icon-line:first-child {
1508	transform: translateY(calc(var(--thickness) + var(--gap))) rotate(calc(var(--rotate) * -1.3deg));
1509}
1510.w--open .nav_menu-icon-line:last-child {
1511	transform: translateY(calc(var(--thickness) * -1 + var(--gap) * -1)) rotate(calc(var(--rotate) * 1.3deg));
1512}
1513</style></div><div class="nav_menu-icon-line"></div><div class="nav_menu-icon-line"></div></div></div></div></div></div></div><div class="nav_dropdown_mega_outer"><div data-nav-add-class="" data-panel-add-class="" data-mega-panel="resources" class="nav_dropdown_mega_wrap"><div class="nav_dropdown_mega_content"><div class="mega_wrap"><div class="u-container"><div class="mega_layout"><div class="mega_menu"><div class="u-text-style-h4">Our <span class="u-highlighted">Resources</span></div>
1513<div class="mega_menu-grid"><a href="/employers/case-studies" class="mega_nav-link w-inline-block"><div class="mega_nav-link-header"><div class="u-text-style-small u-weight-medium">Case studies</div><div class="mega_nav-link-arrow"><div data-wf--icon-arrow-right--variant="0-75rem" class="icon_wrap w-variant-9628c932-09aa-a4fa-0e47-e531e05cda11"><div class="icon_svg w-variant-9628c932-09aa-a4fa-0e47-e531e05cda11 w-embed"><svg width="100%" height="100%" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1514<path d="M10.6839 5.65685L5.02709 11.3137L4.06034 10.347L8.06682 6.34048H0V4.97323H8.06682L4.06034 0.966748L5.02709 0L10.6839 5.65685Z" fill="currentColor"/>
1515</svg></div></div></div></div><p class="u-text-style-xsmall u-text-colour-secondary">Real impact stories from Multiverse customers.</p></a><a href="/resources/ebooks-guides" class="mega_nav-link w-inline-block"><div class="mega_nav-link-header"><div class="u-text-style-small u-weight-medium">eBooks and Guides</div><div class="mega_nav-link-arrow"><div data-wf--icon-arrow-right--variant="0-75rem" class="icon_wrap w-variant-9628c932-09aa-a4fa-0e47-e531e05cda11"><div class="icon_svg w-variant-9628c932-09aa-a4fa-0e47-e531e05cda11 w-embed"><svg width="100%" height="100%" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1516<path d="M10.6839 5.65685L5.02709 11.3137L4.06034 10.347L8.06682 6.34048H0V4.97323H8.06682L4.06034 0.966748L5.02709 0L10.6839 5.65685Z" fill="currentColor"/>
1517</svg></div></div></div></div><p class="u-text-style-xsmall u-text-colour-secondary">Practical advice on data, AI and skills strategy.</p></a><a href="/events-webinars" class="mega_nav-link w-inline-block"><div class="mega_nav-link-header"><div class="u-text-style-small u-weight-medium">Events and webinars</div><div class="mega_nav-link-arrow"><div data-wf--icon-arrow-right--variant="0-75rem" class="icon_wrap w-variant-9628c932-09aa-a4fa-0e47-e531e05cda11"><div class="icon_svg w-variant-9628c932-09aa-a4fa-0e47-e531e05cda11 w-embed"><svg width="100%" height="100%" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1518<path d="M10.6839 5.65685L5.02709 11.3137L4.06034 10.347L8.06682 6.34048H0V4.97323H8.06682L4.06034 0.966748L5.02709 0L10.6839 5.65685Z" fill="currentColor"/>
1519</svg></div></div></div></div><p class="u-text-style-xsmall u-text-colour-secondary">Sign up for expert insights from industry leaders.</p></a><a href="/blog" class="mega_nav-link w-inline-block"><div class="mega_nav-link-header"><div class="u-text-style-small u-weight-medium">News &amp; Blog</div><div class="mega_nav-link-arrow"><div data-wf--icon-arrow-right--variant="0-75rem" class="icon_wrap w-variant-9628c932-09aa-a4fa-0e47-e531e05cda11"><div class="icon_svg w-variant-9628c932-09aa-a4fa-0e47-e531e05cda11 w-embed"><svg width="100%" height="100%" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1520<path d="M10.6839 5.65685L5.02709 11.3137L4.06034 10.347L8.06682 6.34048H0V4.97323H8.06682L4.06034 0.966748L5.02709 0L10.6839 5.65685Z" fill="currentColor"/>
1521</svg></div></div></div></div><p class="u-text-style-xsmall u-text-colour-secondary">Discover advice, explainers and tips. Get the latest news from our team.</p></a></div></div><div class="mega_feature-container"><div class="mega_feature"><div data-wf--element-card-full--variant="base" class="card-full_wrap"><div class="card-full_img"><div data-wf--media-image--style-aspect-ratio="cover" id="" STYLE="" class="image_wrap w-variant-b504a7c1-563e-4536-d82d-a664d1a7c96f"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6a68b58b41668287c02f2623_Multiverse%20Impact%20Hub%202026.webp.avif" loading="lazy" fetchpriority="auto" alt="Blurred image of two people walking past each other in an urban setting with horizontal metal shutters in the background." class="image_src"/></div></div><div class="card-full_content"><div class="card-full_inner-content"><div class="card-full_eyebrow">Impact Hub 2026</div><div class="heading_wrap is-text-version">See how skills are powering productivity: 40,000+ learners and £2bn+ in ROI.</div></div></div><a aria-label="See how skills are powering productivity: 40,000+ learners and £2bn+ in ROI." target="" href="https://www.multiverse.io/impact-hub-2026" class="u-link-cover w-inline-block"></a></div></div></div></div></div></div></div></div><div data-nav-add-class="" data-panel-add-class="" data-mega-panel="about" class="nav_dropdown_mega_wrap"><div class="nav_dropdown_mega_content"><div class="mega_wrap"><div class="u-container"><div class="mega_layout"><div class="mega_menu"><div class="u-text-style-h4"><span class="u-highlighted">About</span> us</div>
1521<div class="mega_menu-grid"><a href="/about/our-mission" class="mega_nav-link w-inline-block"><div class="mega_nav-link-header"><div class="u-text-style-small u-weight-medium">About</div><div class="mega_nav-link-arrow"><div data-wf--icon-arrow-right--variant="0-75rem" class="icon_wrap w-variant-9628c932-09aa-a4fa-0e47-e531e05cda11"><div class="icon_svg w-variant-9628c932-09aa-a4fa-0e47-e531e05cda11 w-embed"><svg width="100%" height="100%" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1522<path d="M10.6839 5.65685L5.02709 11.3137L4.06034 10.347L8.06682 6.34048H0V4.97323H8.06682L4.06034 0.966748L5.02709 0L10.6839 5.65685Z" fill="currentColor"/>
1523</svg></div></div></div></div><p class="u-text-style-xsmall u-text-colour-secondary">Equip the workforce to win in the AI era</p></a><a href="/careers/were-hiring" class="mega_nav-link w-inline-block"><div class="mega_nav-link-header"><div class="u-text-style-small u-weight-medium">Careers</div><div class="mega_nav-link-arrow"><div data-wf--icon-arrow-right--variant="0-75rem" class="icon_wrap w-variant-9628c932-09aa-a4fa-0e47-e531e05cda11"><div class="icon_svg w-variant-9628c932-09aa-a4fa-0e47-e531e05cda11 w-embed"><svg width="100%" height="100%" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1524<path d="M10.6839 5.65685L5.02709 11.3137L4.06034 10.347L8.06682 6.34048H0V4.97323H8.06682L4.06034 0.966748L5.02709 0L10.6839 5.65685Z" fill="currentColor"/>
1525</svg></div></div></div></div><p class="u-text-style-xsmall u-text-colour-secondary">Together, we&#x27;ll build a world where tech skills unlock people’s potential and output</p></a><a href="/careers/mobility-and-inclusion" class="mega_nav-link w-inline-block"><div class="mega_nav-link-header"><div class="u-text-style-small u-weight-medium">Career Mobility and Inclusion</div><div class="mega_nav-link-arrow"><div data-wf--icon-arrow-right--variant="0-75rem" class="icon_wrap w-variant-9628c932-09aa-a4fa-0e47-e531e05cda11"><div class="icon_svg w-variant-9628c932-09aa-a4fa-0e47-e531e05cda11 w-embed"><svg width="100%" height="100%" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1526<path d="M10.6839 5.65685L5.02709 11.3137L4.06034 10.347L8.06682 6.34048H0V4.97323H8.06682L4.06034 0.966748L5.02709 0L10.6839 5.65685Z" fill="currentColor"/>
1527</svg></div></div></div></div><p class="u-text-style-xsmall u-text-colour-secondary">We have a culture built on fair systems, clear expectations, and inclusive collaboration</p></a><a href="/blog" class="mega_nav-link w-inline-block"><div class="mega_nav-link-header"><div class="u-text-style-small u-weight-medium">News &amp; Blog</div><div class="mega_nav-link-arrow"><div data-wf--icon-arrow-right--variant="0-75rem" class="icon_wrap w-variant-9628c932-09aa-a4fa-0e47-e531e05cda11"><div class="icon_svg w-variant-9628c932-09aa-a4fa-0e47-e531e05cda11 w-embed"><svg width="100%" height="100%" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1528<path d="M10.6839 5.65685L5.02709 11.3137L4.06034 10.347L8.06682 6.34048H0V4.97323H8.06682L4.06034 0.966748L5.02709 0L10.6839 5.65685Z" fill="currentColor"/>
1529</svg></div></div></div></div><p class="u-text-style-xsmall u-text-colour-secondary">The latest news and blog from Multiverse</p></a><a href="/about/learning-science" class="mega_nav-link w-inline-block"><div class="mega_nav-link-header"><div class="u-text-style-small u-weight-medium">Learning Science Research Hub</div><div class="mega_nav-link-arrow"><div data-wf--icon-arrow-right--variant="0-75rem" class="icon_wrap w-variant-9628c932-09aa-a4fa-0e47-e531e05cda11"><div class="icon_svg w-variant-9628c932-09aa-a4fa-0e47-e531e05cda11 w-embed"><svg width="100%" height="100%" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1530<path d="M10.6839 5.65685L5.02709 11.3137L4.06034 10.347L8.06682 6.34048H0V4.97323H8.06682L4.06034 0.966748L5.02709 0L10.6839 5.65685Z" fill="currentColor"/>
1531</svg></div></div></div></div><p class="u-text-style-xsmall u-text-colour-secondary">Exciting research happening across our Learning Science Team</p></a></div></div><div class="mega_feature-container"><div class="mega_feature"><div data-wf--element-card-full--variant="base" class="card-full_wrap"><div class="card-full_img"><div data-wf--media-image--style-aspect-ratio="cover" id="" STYLE="" class="image_wrap w-variant-b504a7c1-563e-4536-d82d-a664d1a7c96f"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/69cb865e1b56e638f44e4a46_731e9ddbc1898d51a75dc40a7a924eff7a6b6e02-7369x4913.avif" loading="lazy" fetchpriority="auto" alt="Man in black outfit sitting cross-legged in a cushioned chair in a bright room with large windows, gesturing with hands while being filmed by a camera operator on the left and recorded with microphones and filming equipment in front." class="image_src"/></div></div><div class="card-full_content"><div class="card-full_inner-content"><div class="heading_wrap is-text-version">Meet Jay Richman, Chief Product Officer at Multiverse</div><p class="card-full_description">Former Spotify and Amazon leader joins Multiverse as CPO. Read his take on the future of AI, engineering &quot;dogfooding,&quot; and the London tech scene.</p></div></div><a aria-label="Meet Jay Richman, Chief Product Officer at Multiverse" target="" href="https://www.multiverse.io/blog/why-jay-richman-is-betting-on-london-and-human-centric-ai-meet-multiverse-s-new-chief-product-officer" class="u-link-cover w-inline-block"></a></div></div></div></div></div></div></div></div></div></div>
1531<div data-nav-add-class="" data-panel-add-class="" class="nav_component-bg w-variant-5eff6c55-a9fb-3bbc-cb10-67a61a91c2d0"></div></div></div><div class="u-button-wrapper is-mobile-nav"><a data-wf--element-button--style-style="primary" href="/employer-contact-form" class="button_wrap w-inline-block"><div class="button_wrap-inner"><div class="u-weight-medium">Contact Sales</div></div><div class="button_icon-wrap"><div class="button_icon"><div data-wf--icon-arrow-right--variant="cover" class="icon_wrap w-variant-ec33f14d-0fd7-6b46-b530-c34ec4e2a332"><div class="icon_svg w-variant-ec33f14d-0fd7-6b46-b530-c34ec4e2a332 w-embed"><svg width="100%" height="100%" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1532<path d="M10.6839 5.65685L5.02709 11.3137L4.06034 10.347L8.06682 6.34048H0V4.97323H8.06682L4.06034 0.966748L5.02709 0L10.6839 5.65685Z" fill="currentColor"/>
1533</svg></div></div></div></div></a></div><div data-panel-add-class="" class="nav-dropdown_scrim"></div><div><div class="u-embed w-embed w-script">
1533<script>
1534(function () {
1535  const MOBILE_BREAKPOINT = 991;
1536  const mobileMedia = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT}px)`);
1537
1538  // Nav open/close state
1539  const menuButton = document.querySelector('.nav_menu-button');
1540  function isNavOpen() {
1541    return !!menuButton && menuButton.classList.contains('w--open');
1542  }
1543  if (menuButton) {
1544    const observer = new MutationObserver(() => {
1545      document.dispatchEvent(new CustomEvent('navmenu:change', { detail: { open: isNavOpen() } }));
1546    });
1547    observer.observe(menuButton, { attributes: true, attributeFilter: ['class'] });
1548  }
1549  const scrollCallbacks = new Set();
1550  let ticking = false;
1551  window.addEventListener('scroll', () => {
1552    if (ticking) return;
1553    ticking = true;
1554    requestAnimationFrame(() => {
1555      ticking = false;
1556      scrollCallbacks.forEach(fn => fn(window.scrollY));
1557    });
1558  }, { passive: true });
1559
1560  window.SITE = {
1561    MOBILE_BREAKPOINT,
1562    mobileMedia,
1563    navMenuState: { isOpen: isNavOpen },
1564    onScroll(fn) { scrollCallbacks.add(fn); return () => scrollCallbacks.delete(fn); },
1565  };
1566})();
1567</script>
1567</div><div class="u-embed w-embed w-script">
1567<script>
1568(function () {
1569  const wrapper = document.querySelector('[data-nav="wrapper"]');
1570  if (!wrapper) return;
1571
1572  const activeClass = wrapper.dataset.navActiveClass;
1573  const allTargets = Array.from(document.querySelectorAll('[data-nav-add-class]'));
1574  if (!activeClass || !allTargets.length) return;
1575
1576  const toggleTargets = allTargets.filter(el => el.dataset.navType === 'toggle');
1577  const scrolledTargets = allTargets.filter(el => el.dataset.navType !== 'toggle');
1578
1579  const TOP_ZONE = 10;
1580  const COMMIT_DELTA = 8;
1581  const HIDE_DURATION = 300;
1582
1583  let anchorY = 0;
1584  let isHidden = false;
1585  let isScrolled = false;
1586  let scrolledTimer = null;
1587  let lastNavHeight = wrapper.offsetHeight;
1588
1589  function setHidden(state) {
1590    if (isHidden === state) return;
1591    isHidden = state;
1592    toggleTargets.forEach(el => el.classList.toggle(activeClass, state));
1593  }
1594
1595  function setScrolled(state) {
1596    if (scrolledTimer) { clearTimeout(scrolledTimer); scrolledTimer = null; }
1597    if (isScrolled === state) return;
1598    isScrolled = state;
1599    scrolledTargets.forEach(el => el.classList.toggle(activeClass, state));
1600  }
1601
1602  function menuIsOpen() {
1603    const state = window.SITE.navMenuState;
1604    return !!(state && typeof state.isOpen === 'function' && state.isOpen());
1605  }
1606
1607  function update(rawScrollY) {
1608    const y = Math.max(0, rawScrollY);
1609
1610    const navHeight = wrapper.offsetHeight;
1611    if (navHeight !== lastNavHeight) {
1612      anchorY += navHeight - lastNavHeight;
1613      lastNavHeight = navHeight;
1614    }
1615
1616    if (y < TOP_ZONE) {
1617      anchorY = y;
1618      setHidden(false);
1619      setScrolled(false);
1620      return;
1621    }
1622
1623    if (menuIsOpen()) {
1624      anchorY = y;
1625      setHidden(false);
1626      return;
1627    }
1628
1629    const delta = y - anchorY;
1630
1631    if (delta > COMMIT_DELTA) {
1632      anchorY = y;
1633
1634      setHidden(true);
1635
1636      if (!isScrolled && !scrolledTimer) {
1637        scrolledTimer = setTimeout(() => {
1638          scrolledTimer = null;
1639          if (isHidden) setScrolled(true);
1640        }, HIDE_DURATION);
1641      }
1642    } else if (delta < -COMMIT_DELTA) {
1643      anchorY = y;
1644
1645      if (scrolledTimer) setScrolled(true);
1646
1647      setHidden(false);
1648    }
1649  }
1650
1651  window.SITE.onScroll(update);
1652
1653  window.addEventListener('load', () => {
1654    const y = Math.max(0, window.scrollY);
1655    anchorY = y;
1656    if (y >= TOP_ZONE) setScrolled(true);
1657  });
1658})();
1659</script>
1659</div><div class="u-embed w-embed w-script">
1659<script>
1660(function () {
1661  const CLOSE_DELAY = 80;
1662  const NAV_INNER = document.querySelector('.nav_component-inner');
1663
1664  function initMegaMenu() {
1665    const navWrap = document.querySelector('[data-panel-open-class]');
1666    const openClass = navWrap?.getAttribute('data-panel-open-class') || 'is-open';
1667    const mobileMedia = window.SITE.mobileMedia;
1668
1669    const triggers = [...document.querySelectorAll('[data-mega-trigger]')];
1670    if (!triggers.length) return;
1671
1672    const instances = [];
1673    const scopedEls = new Set();
1674
1675    triggers.forEach((trigger) => {
1676      const id = trigger.getAttribute('data-mega-trigger');
1677      const panel = document.querySelector(`[data-mega-panel="${id}"]`);
1678      if (!panel) return;
1679
1680      const homeAnchor = document.createComment(`mega-panel-home-${id}`);
1681      panel.parentNode.insertBefore(homeAnchor, panel);
1682      const mobileHost = document.querySelector(`[data-mega-mobile="${id}"]`);
1683
1684      const classTargets = getClassTargets([trigger, panel, mobileHost].filter(Boolean));
1685      classTargets.forEach((el) => scopedEls.add(el));
1686
1687      trigger.setAttribute('aria-expanded', 'false');
1688      trigger.setAttribute('aria-haspopup', 'true');
1689      trigger.setAttribute('aria-controls', `mega-panel-${id}`);
1690      panel.id = `mega-panel-${id}`;
1691
1692      instances.push({
1693        id, trigger, panel, homeAnchor, mobileHost, classTargets,
1694        closeTimer: null, isOpen: false, isHoveringTrigger: false, isHoveringPanel: false,
1695      });
1696    });
1697
1698    const globalTargets = [...document.querySelectorAll('[data-panel-add-class]')]
1699      .filter((el) => !scopedEls.has(el));
1700
1701    function updateGlobalTargets() {
1702      const anyOpen = instances.some((inst) => inst.isOpen);
1703      globalTargets.forEach((el) => el.classList.toggle(openClass, anyOpen));
1704    }
1705
1706    function openPanel(instance) {
1707      cancelClose(instance);
1708      instances.forEach((other) => {
1709        if (other !== instance && other.isOpen) closePanel(other);
1710      });
1711      if (!instance.isOpen) {
1712        instance.isOpen = true;
1713        instance.trigger.setAttribute('aria-expanded', 'true');
1714        instance.classTargets.forEach((el) => el.classList.add(openClass));
1715        NAV_INNER.classList.add('panel-open');
1716      }
1717      updateGlobalTargets();
1718    }
1719
1720    function closePanel(instance) {
1721      cancelClose(instance);
1722      if (instance.isOpen) {
1723        instance.isOpen = false;
1724        instance.isHoveringTrigger = false;
1725        instance.isHoveringPanel = false;
1726        instance.trigger.setAttribute('aria-expanded', 'false');
1727        instance.classTargets.forEach((el) => el.classList.remove(openClass));
1728        NAV_INNER.classList.remove('panel-open');
1729      }
1730      updateGlobalTargets();
1731    }
1732
1733    function getPanelHoverRect(inst) {
1734      const rect = inst.panel.getBoundingClientRect();
1735      const layoutEl = inst.panel.querySelector('.mega_layout') || inst.panel;
1736      const layoutRect = layoutEl.getBoundingClientRect();
1737      const cs = getComputedStyle(layoutEl);
1738      const padBottom = parseFloat(cs.paddingBottom) || 0;
1739      const padTop = parseFloat(cs.paddingTop) || 0;
1740      return {
1741        top: Math.max(rect.top, layoutRect.top + padTop),
1742        left: rect.left,
1743        right: rect.right,
1744        bottom: Math.min(rect.bottom, layoutRect.bottom - padBottom),
1745      };
1746    }
1747
1748    function isPointInRect(x, y, rect) {
1749      return x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom;
1750    }
1751
1752    let currentMode = null;
1753    function applyLayout() {
1754      const mobile = mobileMedia.matches;
1755      const mode = mobile ? 'mobile' : 'desktop';
1756      if (mode === currentMode) return;
1757      currentMode = mode;
1758
1759      instances.forEach((inst) => closePanel(inst));
1760      instances.forEach((inst) => {
1761        if (mobile && inst.mobileHost) {
1762          inst.mobileHost.appendChild(inst.panel);
1763        } else {
1764          inst.homeAnchor.parentNode.insertBefore(inst.panel, inst.homeAnchor);
1765        }
1766      });
1767    }
1768
1769    mobileMedia.addEventListener('change', applyLayout);
1770    applyLayout();
1771
1772    let navWasOpen = window.SITE.navMenuState.isOpen();
1773    document.addEventListener('navmenu:change', (e) => {
1774      const navIsOpen = e.detail.open;
1775      if (navWasOpen && !navIsOpen) {
1776        instances.forEach((inst) => closePanel(inst));
1777      }
1778      navWasOpen = navIsOpen;
1779    });
1780
1781    instances.forEach((inst) => {
1782      inst.panel.addEventListener('focusin', () => {
1783        inst.isHoveringPanel = true;
1784        cancelClose(inst);
1785      });
1786
1787      inst.panel.addEventListener('focusout', () => {
1788        setTimeout(() => {
1789          if (!inst.panel.contains(document.activeElement)) {
1790            scheduleClose(inst, closePanel);
1791          }
1792        }, 0);
1793      });
1794
1795      inst.trigger.addEventListener('mouseenter', () => {
1796        if (mobileMedia.matches) return;
1797        inst.isHoveringTrigger = true;
1798        openPanel(inst);
1799      });
1800
1801      inst.trigger.addEventListener('keydown', (e) => {
1802        if (e.key === 'Enter' || e.key === ' ') {
1803          e.preventDefault();
1804          inst.isOpen ? closePanel(inst) : openPanel(inst);
1805        }
1806        if (e.key === 'Escape' && inst.isOpen) {
1807          closePanel(inst);
1808          inst.trigger.focus();
1809        }
1810      });
1811
1812      inst.trigger.addEventListener('click', (e) => {
1813        e.preventDefault();
1814        inst.isOpen ? closePanel(inst) : openPanel(inst);
1815      });
1816    });
1817
1818    document.addEventListener('mousemove', (e) => {
1819      if (mobileMedia.matches) return;
1820      instances.forEach((inst) => {
1821        if (!inst.isOpen) return;
1822        const triggerRect = inst.trigger.getBoundingClientRect();
1823        const hoverRect = getPanelHoverRect(inst);
1824        const overTrigger = isPointInRect(e.clientX, e.clientY, triggerRect);
1825        const overPanel = isPointInRect(e.clientX, e.clientY, hoverRect);
1826        inst.isHoveringTrigger = overTrigger;
1827        inst.isHoveringPanel = overPanel;
1828        if (overTrigger || overPanel) {
1829          cancelClose(inst);
1830        } else {
1831          scheduleClose(inst, closePanel);
1832        }
1833      });
1834    });
1835
1836    let lastScrollY = window.scrollY;
1837    function handleScroll(currentScrollY) {
1838      if (!mobileMedia.matches && currentScrollY > lastScrollY) {
1839        instances.forEach((inst) => { if (inst.isOpen) closePanel(inst); });
1840      }
1841      lastScrollY = currentScrollY;
1842    }
1843    window.SITE.onScroll(handleScroll);
1844  }
1845
1846  function getClassTargets(scopeEls) {
1847    const targets = new Set();
1848    scopeEls.forEach((el) => {
1849      if (el.hasAttribute('data-panel-add-class')) targets.add(el);
1850      el.querySelectorAll('[data-panel-add-class]').forEach((child) => targets.add(child));
1851    });
1852    return [...targets];
1853  }
1854
1855  function scheduleClose(instance, closeFn) {
1856    cancelClose(instance);
1857    instance.closeTimer = setTimeout(() => {
1858      if (!instance.isHoveringTrigger && !instance.isHoveringPanel) closeFn(instance);
1859    }, CLOSE_DELAY);
1860  }
1861
1862  function cancelClose(instance) {
1863    if (instance.closeTimer) {
1864      clearTimeout(instance.closeTimer);
1865      instance.closeTimer = null;
1866    }
1867  }
1868
1869  if (document.readyState === 'loading') {
1870    document.addEventListener('DOMContentLoaded', initMegaMenu);
1871  } else {
1872    initMegaMenu();
1873  }
1874})();
1875</script>
1875</div><div class="u-embed w-embed w-script">
1875<script>
1876(function () {
1877  const mobileMedia = window.SITE.mobileMedia;
1878  let savedScrollY = 0;
1879  let locked = false;
1880
1881  function lock() {
1882    if (locked) return;
1883    savedScrollY = window.scrollY;
1884    document.body.style.position = 'fixed';
1885    document.body.style.top = `-${savedScrollY}px`;
1886    document.body.style.left = '0';
1887    document.body.style.right = '0';
1888    locked = true;
1889  }
1890
1891  function unlock() {
1892    if (!locked) return;
1893    document.body.style.position = '';
1894    document.body.style.top = '';
1895    document.body.style.left = '';
1896    document.body.style.right = '';
1897    window.scrollTo(0, savedScrollY);
1898    locked = false;
1899  }
1900
1901  function syncScrollLock() {
1902    const shouldLock = mobileMedia.matches && window.SITE.navMenuState.isOpen();
1903    shouldLock ? lock() : unlock();
1904  }
1905
1906  document.addEventListener('navmenu:change', syncScrollLock);
1907  mobileMedia.addEventListener('change', syncScrollLock);
1908  syncScrollLock();
1909})();
1910</script>
1910</div><div class="u-embed w-embed w-script">
1910<script>
1911(function () {
1912  const CLOSE_TRANSITION = 'color 0.2s ease 0.5s';
1913  const CLEAR_AFTER = 750;
1914
1915  function initNavCloseDelay() {
1916    const mobileMedia = window.SITE.mobileMedia;
1917
1918    document.querySelectorAll('.nav_component').forEach((nav) => {
1919      const menu = nav.querySelector('.nav_menu');
1920      const menuButton = nav.querySelector('.nav_menu-button');
1921      const desktopTargets = nav.querySelectorAll('.nav_menu-wrap, .nav_logo-link');
1922      const mobileTargets = nav.querySelectorAll('.nav_logo-link, .nav_component-inner');
1923      let timer;
1924
1925      function setDelay(targets) {
1926        clearTimeout(timer);
1927        targets.forEach((el) => (el.style.transition = CLOSE_TRANSITION));
1928      }
1929
1930      function clearInline(targets) {
1931        clearTimeout(timer);
1932        targets.forEach((el) => (el.style.transition = ''));
1933      }
1934
1935      function clearAfterClose(targets) {
1936        clearTimeout(timer);
1937        timer = setTimeout(() => clearInline(targets), CLEAR_AFTER);
1938      }
1939
1940      if (menu) {
1941        menu.addEventListener('mouseenter', () => {
1942          if (mobileMedia.matches) return;
1943          clearInline(desktopTargets);
1944        });
1945        menu.addEventListener('mouseleave', () => {
1946          if (mobileMedia.matches) return;
1947          setDelay(desktopTargets);
1948          clearAfterClose(desktopTargets);
1949        });
1950      }
1951
1952      if (menuButton) {
1953        let wasOpen = menuButton.classList.contains('w--open');
1954
1955        new MutationObserver(() => {
1956          const isOpen = menuButton.classList.contains('w--open');
1957          if (isOpen === wasOpen) return;
1958          wasOpen = isOpen;
1959          if (!mobileMedia.matches) return;
1960
1961          if (isOpen) {
1962            requestAnimationFrame(() => requestAnimationFrame(() => {
1963              if (menuButton.classList.contains('w--open')) setDelay(mobileTargets);
1964            }));
1965          } else {
1966            clearAfterClose(mobileTargets);
1967          }
1968        }).observe(menuButton, { attributes: true, attributeFilter: ['class'] });
1969      }
1970    });
1971  }
1972
1973  if (document.readyState === 'loading') {
1974    document.addEventListener('DOMContentLoaded', initNavCloseDelay);
1975  } else {
1976    initNavCloseDelay();
1977  }
1978})();
1979</script>
1979</div><div class="u-embed w-embed"><style>
1980  /* mega dropdown open/close animation */
1981  .nav_dropdown_mega_wrap {
1982    display: grid;
1983    grid-template-rows: 0fr !important;
1984    overflow: hidden;
1985    transition: grid-template-rows 0.6s ease;
1986  }
1987  .nav_dropdown_mega_wrap.is-open {
1988    grid-template-rows: 1fr !important;
1989  }
1990
1991  /* base transition (close state, with delay) */
1992  .nav_component-bg {
1993    transition: opacity 0.2s ease 0.5s;
1994  }
1995
1996  /* desktop: triggered by hover */
1997  @media screen and (min-width: 992px) {
1998    .nav_component:has(.nav_menu:hover) .nav_component-bg {
1999      opacity: 100% !important;
2000      transition-delay: 0s;
2001    }
2002    .nav_component:has(.nav_menu:hover) .nav_menu-wrap,
2003    .nav_component:has(.nav_menu:hover) .nav_logo-link {
2004      color: var(--text--primary-headings);
2005      transition: color 0.2s ease 0s;
2006    }
2007
2008    /* mega nav arrow on hover */
2009    .mega_nav-link:hover .mega_nav-link-arrow {
2010      opacity: 1;
2011      transform: translate(0%, 0px);
2012    }
2013  }
2014
2015  /* tablet and below: triggered by navbar open (w--open) */
2016  @media screen and (max-width: 991px) {
2017    .nav_component:has(.nav_menu-button.w--open) .nav_component-bg {
2018      opacity: 100% !important;
2019      transition-delay: 0s;
2020    }
2021    .nav_component:has(.nav_menu-button.w--open) .nav_logo-link,
2022    .nav_component:has(.nav_menu-button.w--open) .nav_component-inner {
2023      color: var(--text--primary-headings);
2024      transition: color 0.2s ease 0s;
2025    }
2026
2027    .nav_menu {
2028      touch-action: pan-y;
2029      overscroll-behavior: contain;
2030    }
2031  }
2032
2033  /* mobile nav button reveal */
2034  .nav_wrap:has(.nav_menu-button.w--open) .u-button-wrapper.is-mobile-nav {
2035    transform: translate3d(0px, 0%, 0px) !important;
2036    translate: 0px 0% 0px !important;
2037  }
2038
2039  /* nav link underline on hover */
2040  .nav_link:hover .nav_link-line {
2041    width: 100%;
2042  }
2043
2044  /* misc resets */
2045  .w-dropdown-btn,
2046  .w-dropdown-toggle,
2047  .w-dropdown-link {
2048    color: unset;
2049  }
2050
2051  .accordion_toggle-button[data-wf--element-accordion-button--variant='warm'] {
2052    transition: all 0.4s;
2053  }
2054  body:has(.nav_component.is-active) .page-wrapper {
2055  margin-top: -3%;
2056}
2057</style></div></div></section><section data-wf--content---home-hero--variant="maximal" class="home-hero_wrap"><div class="home-hero_nav-reserve"></div><div cc-design-mode="false" class="section-padding_wrap home-hero-top"></div><div class="u-container u-hero-text-color"><div class="home-hero_layout"><div class="home-hero_content"><header cc-number="60" data-wf--text---highlighted-heading--style-variant="display-tight" class="heading_wrap w-variant-c9d091b2-4c69-0d0d-cce4-3595d8447e86 w-richtext"><h1><strong>Eve</strong>ry <strong>t</strong>e<strong>am</strong> <strong>h</strong>as <strong>AI</strong><strong>.</strong> <strong>Fe</strong>w <strong>master</strong><strong> it</strong><strong>.</strong></h1></header></div></div></div><div cc-design-mode="false" class="section-padding_wrap home-hero-bottom"></div><div data-wf--structure-section-split--section-split---colour="white" class="hero-split-image_divider"></div><div data-video-hero="" data-video-src="https://design-assets.multiverse.io/assets/marketing-site/homepage-hero.4a8d7949.mp4" class="bg-video_wrap"><div class="bg-video_embed w-embed w-script">
2057<script>
2058(() => {
2059  const wrap = document.currentScript.closest('[data-video-src]');
2060  if (!wrap) return;
2061
2062  const desktopSrc = wrap.getAttribute('data-video-src');
2063  if (!desktopSrc) return; // image fallback if no URL
2064  const mobileSrc = wrap.getAttribute('data-video-src-mobile');
2065  const isHero = wrap.hasAttribute('data-video-hero');
2066
2067  const reduceMotion = matchMedia('(prefers-reduced-motion: reduce)').matches;
2068  const saveData = navigator.connection?.saveData;
2069  if (reduceMotion || saveData) {
2070    // Poster only; hide the toggle since there's nothing to control
2071    const hideToggle = () => wrap.querySelector('[data-video="toggle"]')?.setAttribute('hidden', '');
2072    document.readyState === 'loading'
2073      ? document.addEventListener('DOMContentLoaded', hideToggle, { once: true })
2074      : hideToggle();
2075    return;
2076  }
2077
2078  const video = document.createElement('video');
2079  video.setAttribute('data-loop-video', '');
2080  video.defaultMuted = true;
2081  video.muted = true;
2082  video.setAttribute('muted', '');
2083  video.playsInline = true;
2084  video.setAttribute('webkit-playsinline', '');
2085  video.loop = true;
2086  video.preload = 'none';   // nothing downloads until load() runs
2087  video.setAttribute('aria-hidden', 'true');
2088  video.tabIndex = -1;
2089  video.style.cssText = 'position:absolute;inset:0;width:100%;height:100%;object-fit:cover;';
2090  wrap.appendChild(video);
2091
2092  let loaded = false;
2093  let inView = false;
2094  let userPaused = false;
2095
2096  const load = () => {
2097    if (loaded) return;
2098    loaded = true;
2099    const useMobile = mobileSrc && matchMedia('(max-width: 767px)').matches;
2100    video.src = useMobile ? mobileSrc : desktopSrc;
2101    video.preload = 'auto';
2102  };
2103
2104  const tryPlay = () => {
2105    if (loaded && inView && !userPaused) video.play().catch(() => {});
2106  };
2107
2108  video.addEventListener('playing', () => {
2109    wrap.querySelector('[data-video="poster"]')?.classList.add('is-video-ready');
2110  }, { once: true });
2111
2112  // Hero: wait until the page has loaded so the poster wins LCP.
2113  // Everything else: start loading when it's within 300px of the viewport.
2114  if (isHero) {
2115    const start = () => { load(); tryPlay(); };
2116    document.readyState === 'complete' ? start() : window.addEventListener('load', start, { once: true });
2117  } else {
2118    const loadObserver = new IntersectionObserver((entries) => {
2119      if (entries.some(e => e.isIntersecting)) {
2120        load();
2121        tryPlay();
2122        loadObserver.disconnect();
2123      }
2124    }, { rootMargin: '300px 0px' });
2125    loadObserver.observe(wrap);
2126  }
2127
2128  // Play/pause by visibility — this video only
2129  new IntersectionObserver(([entry]) => {
2130    inView = entry.isIntersecting;
2131    inView ? tryPlay() : video.pause();
2132  }, { threshold: 0.25 }).observe(wrap);
2133
2134  const wireToggle = () => {
2135    const toggle = wrap.querySelector('[data-video="toggle"]');
2136    if (!toggle) return;
2137    const playIcon = toggle.querySelector('[data-video="icon-play"]');
2138    const pauseIcon = toggle.querySelector('[data-video="icon-pause"]');
2139
2140    toggle.addEventListener('click', () => {
2141      if (video.paused) {
2142        userPaused = false;
2143        load();
2144        video.play().catch(() => {});
2145        toggle.setAttribute('aria-label', 'Pause background video');
2146        playIcon?.classList.add('u-hide-button');
2147        pauseIcon?.classList.remove('u-hide-button');
2148      } else {
2149        userPaused = true;
2150        video.pause();
2151        toggle.setAttribute('aria-label', 'Play background video');
2152        pauseIcon?.classList.add('u-hide-button');
2153        playIcon?.classList.remove('u-hide-button');
2154      }
2155    });
2156  };
2157
2158  document.readyState === 'loading'
2159    ? document.addEventListener('DOMContentLoaded', wireToggle, { once: true })
2160    : wireToggle();
2161})();
2162</script>
2162</div><img fetchpriority="high" data-video="poster" alt="" src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe27f5e758121d1fd977b7_homepage-hero.avif" loading="eager" sizes="(max-width: 1440px) 100vw, 1440px" srcset="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe27f5e758121d1fd977b7_homepage-hero-p-500.avif 500w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe27f5e758121d1fd977b7_homepage-hero-p-800.avif 800w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe27f5e758121d1fd977b7_homepage-hero-p-1080.avif 1080w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe27f5e758121d1fd977b7_homepage-hero-p-1600.avif 1600w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe27f5e758121d1fd977b7_homepage-hero-p-2000.avif 2000w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe27f5e758121d1fd977b7_homepage-hero.avif 2560w" class="bg-video_poster"/><button aria-label="Pause background video" data-video="toggle" class="bg-video_toggle"><div data-video="icon-play" class="bg-video_icon-play u-hide-button w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2163<path d="M20.1333 9.97067L7.47733 2.96267C6.74 2.55467 5.86933 2.56667 5.14533 2.99333C4.428 3.416 4 4.16267 4 4.992V19.008C4 19.8373 4.428 20.584 5.14533 21.0067C5.51733 21.2253 5.92667 21.336 6.33867 21.336C6.72933 21.336 7.12 21.236 7.47733 21.0387L20.132 14.0307C20.8733 13.6213 21.3333 12.8427 21.3333 12.0013C21.3333 11.16 20.8733 10.38 20.1333 9.97067Z" fill="currentColor"/>
2164</svg></div><div data-video="icon-pause" class="bg-video_icon-pause w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2165<path d="M7 2.66663H5C3.71134 2.66663 2.66667 3.71129 2.66667 4.99996V19C2.66667 20.2886 3.71134 21.3333 5 21.3333H7C8.28866 21.3333 9.33333 20.2886 9.33333 19V4.99996C9.33333 3.71129 8.28866 2.66663 7 2.66663Z" fill="currentColor"/>
2166<path d="M19 2.66663H17C15.7113 2.66663 14.6667 3.71129 14.6667 4.99996V19C14.6667 20.2886 15.7113 21.3333 17 21.3333H19C20.2887 21.3333 21.3333 20.2886 21.3333 19V4.99996C21.3333 3.71129 20.2887 2.66663 19 2.66663Z" fill="currentColor"/>
2167</svg></div></button></div></section><section class="heading-standalone_wrap u-section"><div cc-design-mode="false" data-wf--structure-section-padding--style-size="none" class="section-padding_wrap w-variant-b8dc5a9b-8812-6fe9-32ee-40b7f2f8cc4d"></div><div class="u-container"><div data-wf--text-heading-lockup--style-alignment="full-width---2-column" class="heading-lockup_wrap w-variant-64da9291-f926-75b2-15d7-8bf0af6b00e6"><div id="w-node-_3e6058e9-5e4a-5e2f-bb8e-de861be88a9b-60470592" class="heading-lockup_heading w-variant-64da9291-f926-75b2-15d7-8bf0af6b00e6"><div data-wf--text-eyebrow--variant="base" class="eyebrow_wrap"><div class="eyebrow_svg w-embed"><svg width="100%" height="100%" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
2168<path d="M4 0C6.20918 0 7.99991 1.79084 8 4C8 6.20924 6.20924 8 4 8C1.79087 7.99987 0 6.20916 0 4C9.50842e-05 1.79092 1.79093 0.000127419 4 0ZM2.15918 2.15918V5.8418H5.8418V2.15918H2.15918Z" fill="currentColor"/>
2169</svg></div><p class="eyebrow_text">Multiverse is the AI Adoption Layer</p></div><div class="lockup-heading_layout"></div></div><div class="heading-lockup_body"><div cc-number="25" data-wf--text-body--style-size="large" class="u-body-text w-variant-fda06414-de25-9f0d-c93f-4000ce11761d w-richtext u-text-pretty"><p>The missing layer between AI tools you’ve invested in and the people who bring them to life.</p></div></div></div></div><div cc-design-mode="false" data-wf--structure-section-padding--style-size="large" class="section-padding_wrap"></div></section><div class="intro-sticky-wrap"><section class="intro-sticky"><div class="intro-image_wrap"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe5eb4e0a03f03abd7f40d_hero-reveal_bg.avif" loading="lazy" sizes="(max-width: 2064px) 100vw, 2064px" srcset="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe5eb4e0a03f03abd7f40d_hero-reveal_bg-p-500.avif 500w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe5eb4e0a03f03abd7f40d_hero-reveal_bg-p-800.avif 800w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe5eb4e0a03f03abd7f40d_hero-reveal_bg-p-1080.avif 1080w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe5eb4e0a03f03abd7f40d_hero-reveal_bg-p-1600.avif 1600w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe5eb4e0a03f03abd7f40d_hero-reveal_bg.avif 2064w" alt="" class="intro-image"/><div data-reveal-tile="top-left" class="intro-image-tile_1"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe58480f818d60d7441e61_hero-reveal-avatar.avif" loading="lazy" alt="" class="image-intro-tile_avatar"/><div class="intro-image-text_wrap"><div class="intro-image-heading">AI Solutions Builder</div><div class="intro-image-body"><strong>7 days</strong> until launch</div></div></div><div data-reveal-tile="bottom-right" class="intro-image-tile_2"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe5a6706b9c61a3ab9bce6_hero-reveal-tile.avif" loading="lazy" alt="" class="image-intro-tile_gradient"/><div class="intro-image_text-wrap"><div class="intro-image-heading">AI-Powered Productivity</div><div class="intro-image_bar-wrap"><div class="intro-image-eyebrow">50% COMPLETE</div><div class="intro-image-bar_outer"><div class="intro-image-bar_inner"></div></div></div></div></div></div></section><div class="intro-sticky_below"><section class="products-demo_wrap u-section"><div class="products-demo_bg"><div cc-design-mode="false" data-wf--structure-section-padding--style-size="none" class="section-padding_wrap w-variant-b8dc5a9b-8812-6fe9-32ee-40b7f2f8cc4d"></div><div class="tabbed-content_js w-embed w-script">
2169<script>
2170
2171/**
2172 * Tabs Component (+ mobile accordion)
2173 * Optimized for multiple instances on a single page.
2174 * 
2175 * Features:
2176 * - Tab panel switching based on tab link clicks
2177 * - Full keyboard navigation support (Arrow keys, Home, End, Enter, Space)
2178 * - Comprehensive ARIA attributes (aria-selected, aria-hidden, aria-controls, aria-labelledby, aria-expanded)
2179 * - Autoplay with configurable duration
2180 * - Pause on hover and focus
2181 * - Smooth panel animations with CSS transitions
2182 * - Multiple instances per page
2183 * - Active state management for tab links
2184 * - Optional accordion mode on mobile (tab show/hide, fades and autoplay are turned off)
2185 * - Accordion code only runs if accordion attributes are present
2186 * - No layout shift on load: no open animation on first paint, images preloaded in accordion mode
2187 * 
2188 * Usage (tabs):
2189 * - Add [data-tabs-element="wrapper"] to the main wrapper
2190 * - Add [data-tabs-element="link-list"] to the tab links container
2191 * - Add [data-tabs-element="panel-list"] to the tab panels container
2192 * - Tab links should have [data-tabs-element="tab-link"]
2193 * - Tab panes should have [data-tabs-element="tab-panel"]
2194 * 
2195 * Usage (accordion, optional, mobile only):
2196 * - [data-tabs-accordion="wrapper"]       one per tab link, holds the trigger + content
2197 * - [data-tabs-accordion="trigger"]       opens the accordion (usually the tab link)
2198 * - [data-tabs-accordion="content"]       the panel is moved into its first child on mobile
2199 * - [data-tabs-accordion="item"]          the panel that gets moved (same order as the wrappers)
2200 * - data-tabs-accordion-class="is-open"   on the accordion wrapper: the active class
2201 * - [data-tabs-accordion-add-class]       elements inside the accordion wrapper that receive the active class
2202 * - [data-tabs-accordion-animate]         added to the tabs wrapper by the script once it's safe to animate
2203 * 
2204 * Attributes (on [data-tabs-element="wrapper"]):
2205 * - data-pause-on-hover="true/false" - Pause autoplay on hover (default: false)
2206 * - data-autoplay-duration="0" - Autoplay duration in seconds (0 = disabled)
2207 * - data-duration="0.3" - Panel animation duration in seconds
2208 * - data-initial-tab="1" - Initially active tab (1-based index)
2209 * - data-fade-panels="true/false" - Fade panels in from 0 to 1 opacity (default: false)
2210 * - data-tabs-accordion-breakpoint="767" - Max width (px) for accordion mode (default: 767)
2211 */
2212
2213(function() {
2214    // Debug helpers
2215    const urlParams = new URLSearchParams(window.location.search);
2216    const debugMode = urlParams.get('debug') === 'true';
2217    
2218    function debug(message) {
2219        if (debugMode) console.log(`[Tabs] ${message}`);
2220    }
2221    
2222    function debugWarn(message) {
2223        if (debugMode) console.warn(`[Tabs] ${message}`);
2224    }
2225    
2226    function debugError(message) {
2227        if (debugMode) console.error(`[Tabs] ${message}`);
2228    }
2229
2230    function initTabs() {
2231        const tabWrappers = document.querySelectorAll('[data-tabs-element="wrapper"]');
2232        debug(`Found ${tabWrappers.length} tabs component(s).`);
2233
2234        tabWrappers.forEach((tabWrapper, componentIndex) => {
2235            // Prevent multiple initializations
2236            if (tabWrapper.dataset.tabsInitialized) {
2237                debug(`Component ${componentIndex + 1} already initialized, skipping.`);
2238                return;
2239            }
2240            tabWrapper.dataset.tabsInitialized = "true";
2241            debug(`Initializing tabs for component ${componentIndex + 1}...`);
2242
2243            // Get configuration
2244            const pauseOnHover = tabWrapper.getAttribute("data-pause-on-hover") === "true";
2245            const autoplay = Number(tabWrapper.getAttribute("data-autoplay-duration")) || 0;
2246            const duration = Number(tabWrapper.getAttribute("data-duration")) || 0.3;
2247            const initialTab = parseInt(tabWrapper.getAttribute('data-initial-tab') || '1', 10);
2248            const fadePanes = tabWrapper.getAttribute("data-fade-panels") === "true";
2249
2250            // Get DOM elements
2251            const linkList = tabWrapper.querySelector('[data-tabs-element="link-list"]');
2252            const paneList = tabWrapper.querySelector('[data-tabs-element="panel-list"]');
2253
2254            if (!linkList || !paneList) {
2255                debugError(`Missing link list or pane list in component ${c
2255omponentIndex + 1}`);
2256                return;
2257            }
2258
2259            const tabLinks = Array.from(linkList.querySelectorAll('[data-tabs-element="tab-link"]'));
2260            const tabPanes = Array.from(paneList.querySelectorAll('[data-tabs-element="tab-panel"]'));
2261
2262            if (!tabLinks.length || !tabPanes.length) {
2263                debugError(`No tab links or panes found in component ${componentIndex + 1}`);
2264                return;
2265            }
2266
2267            debug(`Found ${tabLinks.length} tab link(s) and ${tabPanes.length} pane(s)`);
2268
2269            // ---------------------------------------------------------------
2270            // Accordion setup (only runs if accordion attributes are present)
2271            // ---------------------------------------------------------------
2272            const hasAccordion = !!tabWrapper.querySelector('[data-tabs-accordion="wrapper"]');
2273            let accordionMq = null;
2274            let accItems = [];
2275            let accItemHomes = [];
2276            let accParts = [];
2277            let imagesPreloaded = false;
2278
2279            if (hasAccordion) {
2280                const accordionBp = parseInt(tabWrapper.getAttribute('data-tabs-accordion-breakpoint') || '767', 10);
2281                accordionMq = window.matchMedia(`(max-width: ${accordionBp}px)`);
2282
2283                // Items to move (fallback to tab panes if no item attribute is set)
2284                const accItemsFound = Array.from(tabWrapper.querySelectorAll('[data-tabs-accordion="item"]'));
2285                accItems = accItemsFound.length ? accItemsFound : tabPanes;
2286                // Remember where each item lives on desktop
2287                accItemHomes = accItems.map(item => item.parentNode);
2288
2289                accParts = Array.from(tabWrapper.querySelectorAll('[data-tabs-accordion="wrapper"]')).map(wrap => {
2290                    const content = wrap.querySelector('[data-tabs-accordion="content"]');
2291                    return {
2292                        trigger: wrap.querySelector('[data-tabs-accordion="trigger"]'),
2293                        // Move into the inner div (needed for the grid 0fr → 1fr collapse)
2294                        target: content ? (content.firstElementChild || content) : null,
2295                        toggles: Array.from(wrap.querySelectorAll('[data-tabs-accordion-add-class]')),
2296                        cls: wrap.getAttribute('data-tabs-accordion-class') || 'is-open'
2297                    };
2298                });
2299            }
2300
2301            const isAccordionMode = () => hasAccordion && accordionMq.matches;
2302
2303            debug(`Config: autoplay=${autoplay}s, duration=${duration}s, pauseOnHover=${pauseOnHover}, initialTab=${initialTab}, fadePanes=${fadePanes}, accordion=${hasAccordion ? accordionMq.media : 'off'}`);
2304
2305            // Set up ARIA attributes
2306            linkList.setAttribute("role", "tablist");
2307            
2308            tabLinks.forEach((link, index) => {
2309                const componentId = componentIndex + 1;
2310                const tabId = `tab-${componentId}-${index + 1}`;
2311                const paneId = `tabpane-${componentId}-${index + 1}`;
2312                
2313                // Tab link attributes
2314                link.setAttribute("role", "tab");
2315                link.setAttribute("id", tabId);
2316                link.setAttribute("aria-selected", "false");
2317                link.setAttribute("aria-controls", paneId);
2318                link.setAttribute("tabindex", "-1");
2319                
2320                // Add active class management
2321                if (link.classList.contains('is-active')) {
2322                    link.classList.remove('is-active');
2323                }
2324            });
2325
2326            tabPanes.forEach((pane, index) => {
2327                const componentId = componentIndex + 1;
2328                const tabId = `tab-${componentId}-${index + 1}`;
2329                const paneId = `tabpane-${componentId}-${index + 1}`;
2330                
2331                // Tab pane attributes
2332                pane.setAttribute("role", "tabpanel");
2333                pane.setAttribute("id", paneId);
2334                pane.setAttribute("aria-labelledby", tabId);
2335                pane.setAttribute("aria-hidden", "true");
2336                pane.style.display = "none";
2337                pane.setAttribute("tabindex", "0");
2338                
2339                // Set up CSS transitions for smooth animations
2340                pane.style.transition = fadePanes 
2341                    ? `opacity ${duration}s ease-out` 
2342                    : 'none';
2343                
2344                // Set panes to opacity 0 if fadePanes is enabled
2345                if (fadePanes) {
2346                    pane.style.opacity = '0';
2347                }
2348            });
2349
2350            let activeIndex = -1;
2351            let animating = false;
2352            let animationTimeouts = []; // Track timeouts to allow cancellation
2353            let canPlay = autoplay > 0;
2354            let autoplayInterval = null;
2355            let refreshAutoplay = () => {}; // Set by autoplay block if enabled
2356
2357            // Cancel any running fade timeouts
2358            const cancelAnimations = () => {
2359                animationTimeouts.forEach(timeout => clearTimeout(timeout));
2360                animationTimeouts = [];
2361                animating = false;
2362            };
2363
2364            // Mobile: show all panes, the accordion handles open/close
2365            const showAllPanes = () => {
2366                cancelAnimations();
2367                tabPanes.forEach(pane => {
2368                    pane.style.display = "flex";
2369                    pane.style.opacity = "1";
2370                });
2371            };
2372
2373            // Desktop: only the active pane is visible
2374            const restoreTabPanes = () => {
2375                cancelAnimations();
2376                tabPanes.forEach((pane, i) => {
2377                    const isActive = i === activeIndex;
2378                    pane.style.display = isActive ? "flex" : "none";
2379                    pane.style.opacity = fadePanes ? (isActive ? "1" : "0") : "";
2380                    pane.setAttribute("aria-hidden", isActive ? "false" : "true");
2381                });
2382            };
2383
2384            // ---------------------------------------------------------------
2385            // Accordion helpers (only called in accordion mode)
2386            // ---------------------------------------------------------------
2387            const setAccordionOpen = (i, open) => {
2388                const p = accParts[i];
2389                if (!p) return;
2390                p.toggles.forEach(el => el.classList.toggle(p.cls, open));
2391                if (p.trigger) p.trigger.setAttribute('aria-expanded', open ? 'true' : 'false');
2392                if (accItems[i]) accItems[i].setAttribute('aria-hidden', open ? 'false' : 'true');
2393            };
2394
2395            // Only the given index is open
2396            const syncAccordion = (index) => {
2397                accParts.forEach((_, i) => setAccordionOpen(i, i === index));
2398            };
2399
2400            // Load lazy images now, so opening an accordion doesn't jump when the image arrives
2401            const preloadImages = () => {
2402                if (imagesPreloaded) return;
2403                imagesPreloaded = true;
2404                accItems.forEach(item => {
2405                    item.querySelectorAll('img[loading="lazy"]').forEach(img => {
2406                        img.loading = 'eager';
2407                    });
2408                });
2409            };
2410
2411            const enterAccordion = () => {
2412                debug(`Component ${componentIndex + 1}: accordion mode`);
2413                // No transition while setting the initial state (prevents open animation / shift)
2414                tabWrapper.removeAttribute('data-tabs-accordion-animate');
2415
2416                accItems.forEach((item, i) => {
2417                    if (accParts[i] && accParts[i].target) accParts[i].target.appendChild(item);
2418                });
2419                showAllPanes();
2420                syncAccordion(activeIndex);
2421                preloadImages();
2422
2423                // Turn transitions on after the initial state has painted
2424                requestAnimationFrame(() => {
2425                    requestAnimationFrame(() => {
2426                        if (isAccordionMode()) tabWrapper.setAttribute('data-tabs-accordion-animate', '');
2427                    });
2428                });
2429            };
2430
2431            const exitAccordion = () => {
2432                debug(`Component ${componentIndex + 1}: tabs mode`);
2433                tabWrapper.removeAttribute('data-tabs-accordion-animate');
2434                accItems.forEach((item, i) => accItemHomes[i].appendChild(item));
2435                accParts.forEach(p => {
2436                    p.toggles.forEach(el => el.classList.remove(p.cls));
2437                    if (p.trigger) p.trigger.removeAttribute('aria-expanded');
2438                });
2439                restoreTabPanes();
2440            };
2441
2442            // Function to switch tab panes
2443            const switchPane = (index, animate = true) => {
2444                // Only switch to a different tab (clicking the open one does nothing, so it stays open)
2445                if (index === activeIndex || index < 0 || index >= tabPanes.length) return;
2446                
2447                // Cancel any ongoing animations
2448                if (animating) {
2449                    debug(`Interrupting animation to switch to pane ${index + 1}`);
2450                    cancelAnimations();
2451                }
2452                
2453                const previousIndex = activeIndex;
2454                debug(`Switching pane from ${previousIndex + 1} to ${index + 1}`);
2455
2456                const previousPane = tabPanes[previousIndex];
2457                const currentPane = tabPanes[index];
2458
2459                // Update ARIA attributes and classes for previous tab link/pane
2460                if (previousIndex !== -1) {
2461                    if (tabLinks[previousIndex]) {
2462                        tabLinks[previousIndex].setAttribute('aria-selected', 'false');
2463                        tabLinks[previousIndex].setAttribute('tabindex', '-1');
2464                        tabLinks[previousIndex].classList.remove('is-active');
2465                    }
2466                    if (previousPane) {
2467                        previousPane.setAttribute('aria-hidden', 'true');
2468                    }
2469                }
2470
2471                // Update ARIA attributes and classes for current tab link/pane
2472                if (tabLinks[index]) {
2473                    tabLinks[index].setAttribute('aria-selected', 'true');
2474                    tabLinks[index].setAttribute('tabindex', '0');
2475                    tabLinks[index].classList.add('is-active');
2476                }
2477                currentPane.setAttribute('aria-hidden', 'false');
2478
2479                if (isAccordionMode()) {
2480                    // Mobile: skip tab show/hide + fade, the accordion handles it
2481                    showAllPanes();
2482                    syncAccordion(index);
2483                } else if (animate && previousIndex !== -1 && fadePanes) {
2484                    // Animate pane transition
2485                    animating = true;
2486                    
2487                    // Fade out previous pane
2488                    if (previousPane) {
2489                        previousPane.style.opacity = '0';
2490                        
2491                        const timeout1 = setTimeout(() => {
2492                            previousPane.style.display = "none";
2493                            
2494                            // Fade in current pane
2495                            currentPane.style.display = "flex";
2496                            currentPane.style.opacity = '0';
2497                            
2498                            // Force reflow to ensure transition
2499                            currentPane.offsetHeight;
2500                            
2501                            currentPane.style.opacity = '1';
2502                            
2503                            const timeout2 = setTimeout(() => {
2504                                animating = false;
2505                                animationTimeouts = [];
2506                            }, duration * 1000);
2507                            
2508                            animationTimeouts.push(timeout2);
2509                        }, duration * 1000);
2510                        
2511                        animationTimeouts.push(timeout1);
2512                    } else {
2513                        // No previous pane, just show current
2514                        currentPane.style.display = "flex";
2515                        currentPane.style.opacity = '0';
2516                        currentPane.offsetHeight;
2517                        currentPane.style.opacity = '1';
2518                        
2519                        const timeout = setTimeout(() => {
2520                            animating = false;
2521                            animationTimeouts = [];
2522                        }, duration * 1000);
2523                        
2524                        animationTimeouts.push(timeout);
2525                    }
2526                } else {
2527                    // No animation or no fade
2528                    if (previousPane) {
2529                        previousPane.style.display = "none";
2530                        if (fadePanes) previousPane.style.opacity = '0';
2531                    }
2532                    currentPane.style.display = "flex";
2533                    currentPane.style.opacity = fadePanes ? '1' : '';
2534                }
2535
2536                activeIndex = index;
2537
2538                // Dispatch custom event
2539                window.dispatchEvent(new CustomEvent('tabChange', {
2540                    detail: {
2541                        component: tabWrapper,
2542                        activeIndex: index,
2543                        activeLink: tabLinks[index],
2544                        activePane: tabPanes[index]
2545                    }
2546                }));
2547            };
2548
2549            // Set initial active pane
2550            const initialIndex = initialTab > 0 && initialTab <= tabPanes.length ? initialTab - 1 : 0;
2551            switchPane(initialIndex, false);
2552
2553            // Start in accordion mode if on mobile, and switch on resize
2554            if (hasAccordion) {
2555                if (isAccordionMode()) enterAccordion();
2556
2557                accordionMq.addEventListener("change", () => {
2558                    if (isAccordionMode()) {
2559                        enterAccordion();
2560                    } else {
2561                        exitAccordion();
2562                    }
2563                    refreshAutoplay();
2564                });
2565            }
2566
2567            // Handle tab link clicks
2568            tabLinks.forEach((link, index) => {
2569                link.addEventListener('click', (e) => {
2570                    e.preventDefault();
2571                    switchPane(index);
2572                    link.focus();
2573                });
2574            });
2575
2576            // Accordion triggers that aren't tab links (if set up that way)
2577            if (hasAccordion) {
2578                accParts.forEach((p, index) => {
2579                    if (!p.trigger || tabLinks.includes(p.trigger)) return;
2580                    p.trigger.addEventListener('click', (e) => {
2581                        if (!isAccordionMode()) return;
2582                        e.preventDefault();
2583                        switchPane(index);
2584                    });
2585                });
2586            }
2587
2588            // Keyboard navigation
2589            linkList.addEventListener('keydown', (e) => {
2590                const currentFocus = document.activeElement;
2591                const currentIndex = tabLinks.indexOf(currentFocus);
2592                
2593                if (currentIndex === -1) return;
2594
2595                let targetIndex = currentIndex;
2596
2597                switch (e.key) {
2598                    case 'ArrowRight':
2599                    case 'ArrowDown':
2600                        e.preventDefault();
2601                        targetIndex = (currentIndex + 1) % tabLinks.length;
2602                        break;
2603                    
2604                    case 'ArrowLeft':
2605                    case 'ArrowUp':
2606                        e.preventDefault();
2607                        targetIndex = (currentIndex - 1 + tabLinks.length) % tabLinks.length;
2608                        break;
2609                    
2610                    case 'Home':
2611                        e.preventDefault();
2612                        targetIndex = 0;
2613                        break;
2614                    
2615                    case 'End':
2616                        e.preventDefault();
2617                        targetIndex = tabLinks.length - 1;
2618                        break;
2619                    
2620                    case 'Enter':
2621                    case ' ':
2622                        e.preventDefault();
2623                        switchPane(currentIndex);
2624                        return;
2625                    
2626                    default:
2627                        return;
2628                }
2629
2630                // Switch to target tab and focus it
2631                switchPane(targetIndex);
2632                tabLinks[targetIndex].focus();
2633            });
2634
2635            // Autoplay functionality
2636            if (autoplay > 0) {
2637                debug(`Setting up autoplay with ${autoplay}s interval`);
2638                
2639                let isHovered = false;
2640                let hasFocusInside = false;
2641                let prefersReducedMotion = false;
2642                let inView = true;
2643
2644                function startAutoplay() {
2645                    if (autoplayInterval) return;
2646                    
2647                    autoplayInterval = setInterval(() => {
2648                        const nextIndex = (activeIndex + 1) % tabLinks.length;
2649                        switchPane(nextIndex);
2650                    }, autoplay * 1000);
2651                }
2652
2653                function stopAutoplay() {
2654                    if (autoplayInterval) {
2655                        clearInterval(autoplayInterval);
2656                        autoplayInterval = null;
2657                    }
2658                }
2659
2660                function updateAutoplay() {
2661                    // No autoplay in accordion mode
2662                    if (isAccordionMode() || prefersReducedMotion || !inView || !canPlay || isHovered || hasFocusInside) {
2663                        stopAutoplay();
2664                    } else {
2665                        startAutoplay();
2666                    }
2667                }
2668                refreshAutoplay = updateAutoplay;
2669
2670                // Reduced motion preference
2671                function handleMotionChange(e) {
2672                    prefersReducedMotion = e.matches;
2673                    updateAutoplay();
2674                }
2675                handleMotionChange(window.matchMedia("(prefers-reduced-motion: reduce)"));
2676                window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change", handleMotionChange);
2677
2678                // Pause on hover
2679                if (pauseOnHover) {
2680                    tabWrapper.addEventListener("mouseenter", () => {
2681                        isHovered = true;
2682                        updateAutoplay();
2683                    });
2684                    tabWrapper.addEventListener("mouseleave", () => {
2685                        isHovered = false;
2686                        hasFocusInside = false;
2687                        updateAutoplay();
2688                    });
2689                }
2690
2691                // Pause on focus
2692                tabWrapper.addEventListener("focusin", () => {
2693                    hasFocusInside = true;
2694                    updateAutoplay();
2695                });
2696                tabWrapper.addEventListener("focusout", (e) => {
2697                    if (!e.relatedTarget || !tabWrapper.contains(e.relatedTarget)) {
2698                        hasFocusInside = false;
2699                        updateAutoplay();
2700                    }
2701                });
2702
2703                // Pause when out of view
2704                new IntersectionObserver((entries) => {
2705                    inView = entries[0].isIntersecting;
2706                    updateAutoplay();
2707                }, { threshold: 0 }).observe(tabWrapper);
2708
2709                updateAutoplay();
2710            }
2711
2712            debug(`Component ${componentIndex + 1} initialized successfully`);
2713        });
2714    }
2715    initTabs();
2716    if (document.readyState === 'loading') {
2717        document.addEventListener('DOMContentLoaded', initTabs);
2718    }
2719})();
2720
2721</script>
2721</div><div class="u-container"><div class="products-demo_content"></div><div data-fade-panels="true" data-tabs-element="wrapper" data-pause-on-hover="false" data-autoplay-duration="0" data-duration="0.3" data-wf--element-tab-wrapper--variant="tabs-absolute" class="tabbed-content_wrap"><div class="tabbed-content_layout"><div slot="tab-content" class="tabbed-content_panel-list"><div data-tabs-element="panel-list" slot="tab-content" class="tabbed-content_panel-list"><div data-tabs-element="tab-panel" class="tabbed-content_panel"><div class="tabbed-content_content-wrap"><div class="tabbed-content_logo"><div class="tabbed-content_logo-wrap"><div data-wf--media-image--style-aspect-ratio="contain" id="" STYLE="" class="image_wrap w-variant-24d32a7c-a068-72bc-566a-92a3d098582d"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6ab0f13f4f3f1084f656730a_MV_LOGO.svg" loading="lazy" fetchpriority="auto" alt="" class="image_src w-variant-24d32a7c-a068-72bc-566a-92a3d098582d"/></div></div><div cc-number="60" data-wf--text-body--style-size="medium" class="u-body-text w-variant-bfbf01b2-03c6-2841-54d1-41ef2a9ed520 w-richtext u-text-pretty"><p><strong>Skills Scan</strong></p></div></div><header cc-number="10" data-wf--text---highlighted-heading--style-variant="h2" class="heading_wrap w-variant-69689fb8-29eb-16e5-facc-03019b1b57f5 w-richtext"><h2>Find where the <strong>gaps are</strong>.</h2></header><div cc-number="42" data-wf--text-body--style-size="base" class="u-body-text w-richtext u-text-pretty"><p>You lead a workforce of 12,000, <strong>most of your skill gaps are blocking business goals</strong>. Let’s find where the gaps are.</p></div></div><div class="tabbed-content_embed-wrap"><div slot="product-demo"><code-island data-loader="{&quot;tag&quot;:&quot;FEDERATION&quot;,&quot;val&quot;:{&quot;clientModuleUrl&quot;:&quot;https://code-components.website-files.com/6abfaa897b456cdc49a62246%2Fmodule%2Fwf-manifest.json&quot;,&quot;moduleId&quot;:&quot;_6abfaa897b456cdc49a62246&quot;,&quot;submoduleId&quot;:&quot;SkillsScan&quot;,&quot;exportPath&quot;:&quot;default&quot;,&quot;serverModuleUrl&quot;:&quot;_&quot;}}" data-props="{&quot;texture&quot;:{&quot;src&quot;:&quot;https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd221a7476a6b700fbc5cf_blue-green.webp&quot;},&quot;showHeader&quot;:true,&quot;headerTitle&quot;:&quot;Skills scan&quot;,&quot;headerSubtitle&quot;:&quot;Workforce of 12,000&quot;,&quot;headerMeta&quot;:&quot;11,860 of 12,000 responses&quot;,&quot;cardHeight&quot;:488,&quot;mobileCardHeight&quot;:440,&quot;replayOnScroll&quot;:false}" data-slots="[]" data-hydrate="true" data-webflow-context="{&quot;mode&quot;:&quot;publish&quot;,&quot;interactive&quot;:true,&quot;locale&quot;:&quot;en&quot;}" data-interactive="true" style="display:contents"><template shadowrootmode="open"><link rel="stylesheet" type="text/css" href="https://code-components.website-files.com/6abfaa897b456cdc49a62246%2Fmodule%2F9815b7ebe7ff2eef2de2.css"/><div data-root="true" style="display:contents"><!--$--><div role="group" aria-label="Skills scan" class="pd-root pd-paused" style="--pd-card-h:488px;--pd-card-h-m:440px"><div class="pd-card"><div class="pd-texture" style="background-image:url(&quot;https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd221a7476a6b700fbc5cf_blue-green.webp&quot;);background-size:260% auto;background-position:78% 22%"></div><div class="pd-panel"><div style="position:absolute;inset:0"><div class="pd-winwrap" style="position:absolute;top:36px;left:36px;right:-70px;bottom:-60px;
2721animation:pd-win-l 0.8s var(--pd-ease) both"><div class="pd-mat" style="position:absolute;inset:-8px;border-radius:16px 0px 0px 0px;background:rgba(255,255,255,0.34);border:1px solid rgba(255,255,255,0.55);box-shadow:inset 0 1px 0 rgba(255,255,255,0.35), 0 30px 80px rgba(0,0,0,0.35);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);box-sizing:border-box"></div><div class="pd-win" style="position:absolute;inset:0;background:#F0ECE1;border-radius:10px 0px 0px 0px;display:flex;flex-direction:row;overflow:hidden;color:#232220"><div class="pd-side" style="width:150px;flex:none;background:#FFFFFF;padding:20px 12px;display:flex;flex-direction:column;gap:18px;box-sizing:border-box"><img src="data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22120.21%2087.35%20702.57%20116.63%22%3E%3Cpath%20d%3D%22M713.64%2C153.17l-9.95-2.1c-6.09-1.4-9.13-4.32-9.13-8.99%2C0-5.6%2C5.5-9.22%2C11.83-9.22%2C8.9%2C0%2C13.47%2C5.72%2C14.4%2C11.67h17.1c-2.93-18.91-16.63-26.15-31.5-26.15-18.03%2C0-29.28%2C12.26-29.28%2C25.45%2C0%2C12.49%2C9.02%2C18.91%2C21.08%2C21.83l9.49%2C2.22c9.49%2C2.22%2C13.7%2C4.55%2C13.7%2C10.39%2C0%2C5.49-4.22%2C11.09-12.3%2C11.09-9.84%2C0-14.05-5.72-14.76-12.84h-17.57c.35%2C15.64%2C12.53%2C27.31%2C31.62%2C27.31s30.09-13.07%2C30.09-26.5c.12-11.56-9.02-20.66-24.83-24.16ZM671.84%2C120.25h-45.2v81.71h16.51v-67.12h28.69v-14.59ZM521.24%2C120.25l-20.85%2C60.7-21.08-60.7h-17.92l30.45%2C81.71h16.98l30.45-81.71h-18.03ZM453.09%2C120.25h-16.51v81.71h16.51v-81.71ZM405.66%2C97.14h-16.51v23.11h-21.31v14.59h21.31v67.12h16.51v-67.12h21.08v-14.59h-21.08v-23.11ZM359.99%2C97.14h-16.51v104.82h16.51v-104.82ZM310.1%2C166.24c0%2C13.42-8.08%2C21.59-19.21%2C21.59s-19.09-8.17-19.09-21.59v-45.99h-16.51v45.64c0%2C22.99%2C13%2C37.94%2C35.25%2C37.94s36.07-15.29%2C36.07-37.94v-45.64h-16.51v45.99ZM240.66%2C120.25h-18.74l-33.14%2C54.28v-54.28h-18.97l-33.02%2C53.93v-53.93h-16.51v81.71h16.63l35.37-58.13v58.13h16.63l35.25-57.55v57.55h16.51v-81.71ZM444.77%2C108.93c5.97%2C0%2C10.77-4.79%2C10.77-10.74s-4.8-10.62-10.77-10.62-10.77%2C4.79-10.77%2C10.62%2C4.8%2C10.74%2C10.77%2C10.74ZM538.81%2C161.22c0%2C24.98%2C17.92%2C42.6%2C40.52%2C42.6%2C20.49%2C0%2C33.61-10.62%2C37.36-27.55h-17.57c-1.29%2C6.19-6.79%2C12.14-18.62%2C12.14-12.76%2C0-22.95-7.35-24.24-21.01h60.89c.23-1.87.35-4.32.35-6.19%2C0-24.4-14.87-42.84-38.53-42.84s-40.17%2C18.44-40.17%2C42.84ZM555.91%2C154.69c2.22-12.72%2C10.54-20.89%2C23.07-20.89s20.26%2C7.94%2C22.02%2C20.89h-45.08ZM744.21%2C161.22c0%2C24.98%2C17.92%2C42.6%2C40.52%2C42.6%2C20.49%2C0%2C33.61-10.62%2C37.36-27.55h-17.57c-1.29%2C6.19-6.79%2C12.14-18.62%2C12.14-12.76%2C0-22.95-7.35-24.24-21.01h60.89c.23-1.87.35-4.32.35-6.19%2C0-24.4-14.87-42.84-38.53-42.84s-40.17%2C18.44-40.17%2C42.84ZM761.3%2C154.69c2.23-12.72%2C10.54-20.89%2C23.07-20.89s20.26%2C7.94%2C22.02%2C20.89h-45.09Z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E" alt="Multiverse" style="height:15px;width:auto;align-self:flex-start;margin-left:8px;display:block"/><div style="display:flex;flex-direction:column;gap:4px;margin-top:20px"><div style="display:flex;align-items:center;gap:8px;padding:8px 8px;border-radius:8px;background:transparent;font-size:13px;font-weight:300;color:#232220;white-space:nowrap"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="#232220" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex:none"><path d="M3 10.5 12 3l9 7.5V20a1 1 0 0 1-1 1h-5v-6h-6v6H4a1 1 0 0 1-1-1z"></path></svg>Overview</div><div style="display:flex;align-items:center;gap:8px;padding:8px 8px;border-radius:8px;background:#232220;font-size:13px;font-weight:500;color:#FFFFFF;white-space:nowrap"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="#D6EE40" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex:none"><path d="M3 7V5a2 2 0 0 1 2-2h2"></path><path d="M17 3h2a2 2 0 0 1 2 2v2"></path><path d="M21 17v2a2 2 0 0 1-2 2h-2"></path><path d="M7 21H5a2 2 0 0 1-2-2v-2"></path><path d="M7 12h10"></path></svg>Skills scan<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex:none;margin-left:auto"><path d="m9 6 6 6-6 6"></path></svg></div><div style="display:flex;align-items:center;gap:8px;padding:8px 8px;border-radius:8px;background:transparent;font-size:13px;font-weight:300;color:#232220;white-space:nowrap"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="#232220" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex:none"><path d="M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20"></path></svg>Programmes</div><div style="display:flex;align-items:center;gap:8px;padding:8px 8px;border-radius:8px;background:transparent;font-size:13px;font-weight:300;color:#232220;white-space:nowrap"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="#232220" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex:none"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>Progress</div><div style="display:flex;align-items:center;gap:8px;padding:8px 8px;border-radius:8px;background:transparent;font-size:13px;font-weight:300;color:#232220;white-space:nowrap"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="#232220" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex:none"><path d="M3 3v18h18"></path><path d="M7 15l4-4 4 4 5-6"></path></svg>Impact</div></div></div><div class="pd-main" style="flex:1;min-width:0;display:flex;flex-direction:column;gap:20px;padding:24px 94px 84px 24px;box-sizing:border-box"><div class="pd-panel-head" style="display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(35,34,32,0.10);flex:none"><span style="display:flex;flex-direction:column;gap:3px"><span style="font-size:15px;font-weight:500;letter-spacing:-0.01em;color:#232220">Skills scan</span><span style="font-size:13px;font-weight:300;color:#383633">Workforce of 12,000</span></span><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633;display:flex;align-items:center;gap:8px;white-space:nowrap"><span style="width:6px;height:6px;border-radius:50%;background:#232220"></span>11,860 of 12,000 responses</span></div><div class="pd-panel-body" style="flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;margin-right:0"><div class="pd-s1" style="display:flex;flex-direction:column;gap:20px;
2721animation:pd-rise 0.7s var(--pd-ease) 0ms both"><div style="display:flex;justify-content:space-between;gap:12px;align-items:baseline"><span style="font-size:14px;font-weight:300;color:#383633">Where the week goes</span><span class="pd-hide-m" style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">Hours · per person · per week</span></div><div class="pd-s1-rows" style="display:flex;flex-direction:column;gap:12px"><div class="pd-s1-row" style="display:grid;grid-template-columns:minmax(0,128px) minmax(0,1fr) 32px;gap:12px;align-items:center;animation:pd-rise 0.7s var(--pd-ease) 80ms both"><span style="font-size:14px;font-weight:500;color:#232220;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Manual reporting</span><div style="height:20px;border-radius:4px 10px 10px 4px;background:#FFFFFF;overflow:hidden"><div style="width:100%;height:100%;border-radius:4px 10px 10px 4px;background:#7B16EE;transform-origin:left;animation:pd-grow 0.9s var(--pd-ease) 120ms both"></div></div><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#232220;text-align:right">9<!-- -->h</span></div><div class="pd-s1-row" style="display:grid;grid-template-columns:minmax(0,128px) minmax(0,1fr) 32px;gap:12px;align-items:center;animation:pd-rise 0.7s var(--pd-ease) 150ms both"><span style="font-size:14px;font-weight:300;color:#232220;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Data preparation</span><div style="height:20px;border-radius:4px 10px 10px 4px;background:#FFFFFF;overflow:hidden"><div style="width:66.66666666666666%;height:100%;border-radius:4px 10px 10px 4px;background:#9A50F2;transform-origin:left;animation:pd-grow 0.9s var(--pd-ease) 210ms both"></div></div><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#232220;text-align:right">6<!-- -->h</span></div><div class="pd-s1-row" style="display:grid;grid-template-columns:minmax(0,128px) minmax(0,1fr) 32px;gap:12px;align-items:center;animation:pd-rise 0.7s var(--pd-ease) 220ms both"><span style="font-size:14px;font-weight:300;color:#232220;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Status meetings</span><div style="height:20px;border-radius:4px 10px 10px 4px;background:#FFFFFF;overflow:hidden"><div style="width:44.44444444444444%;height:100%;border-radius:4px 10px 10px 4px;background:#CAA2F8;transform-origin:left;animation:pd-grow 0.9s var(--pd-ease) 300ms both"></div></div><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#232220;text-align:right">4<!-- -->h</span></div><div class="pd-s1-row" style="display:grid;grid-template-columns:minmax(0,128px) minmax(0,1fr) 32px;gap:12px;align-items:center;animation:pd-rise 0.7s var(--pd-ease) 290ms both"><span style="font-size:14px;font-weight:300;color:#232220;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Chasing approvals</span><div style="height:20px;border-radius:4px 10px 10px 4px;background:#FFFFFF;overflow:hidden"><div style="width:33.33333333333333%;height:100%;border-radius:4px 10px 10px 4px;background:#E5D0FC;transform-origin:left;animation:pd-grow 0.9s var(--pd-ease) 390ms both"></div></div><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#232220;text-align:right">3<!-- -->h</span></div><div class="pd-s1-row" style="display:grid;grid-template-columns:minmax(0,128px) minmax(0,1fr) 32px;gap:12px;align-items:center;animation:pd-rise 0.7s var(--pd-ease) 360ms both"><span style="font-size:14px;font-weight:300;color:#232220;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Ad-hoc analysis</span><div style="height:20px;border-radius:4px 10px 10px 4px;background:#FFFFFF;overflow:hidden"><div style="width:22.22222222222222%;height:100%;border-radius:4px 10px 10px 4px;background:#F2E8FE;transform-origin:left;animation:pd-grow 0.9s var(--pd-ease) 480ms both"></div></div><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#232220;text-align:right">2<!-- -->h</span></div></div><div class="pd-s1-foot" style="display:flex;justify-content:space-between;padding-top:16px;border-top:1px solid rgba(35,34,32,0.10);align-items:flex-end;
2721gap:16px"><span style="font-size:14px;font-weight:500;color:#232220;line-height:1.3">Recoverable with AI skills</span><div class="pd-s1-big" style="display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right;animation:pd-rise 0.7s var(--pd-ease) 620ms both"><span style="font-family:var(--pd-font-display);font-weight:300;font-size:36px;line-height:0.9;letter-spacing:-0.02em;white-space:nowrap;color:#232220">288,000</span><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633;white-space:nowrap">hours a week · 24h per person</span></div></div></div></div></div></div></div></div></div></div></div><!--/$--></div></template></code-island></div></div></div><div data-tabs-element="tab-panel" class="tabbed-content_panel"><div class="tabbed-content_content-wrap"><div class="tabbed-content_logo"><div class="tabbed-content_logo-wrap"><div data-wf--media-image--style-aspect-ratio="contain" id="" STYLE="" class="image_wrap w-variant-24d32a7c-a068-72bc-566a-92a3d098582d"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6ab0f13f4f3f1084f656730a_MV_LOGO.svg" loading="lazy" fetchpriority="auto" alt="" class="image_src w-variant-24d32a7c-a068-72bc-566a-92a3d098582d"/></div></div><div cc-number="60" data-wf--text-body--style-size="medium" class="u-body-text w-variant-bfbf01b2-03c6-2841-54d1-41ef2a9ed520 w-richtext u-text-pretty"><p><strong>Programme matcher</strong></p></div></div><header cc-number="10" data-wf--text---highlighted-heading--style-variant="h2" class="heading_wrap w-variant-69689fb8-29eb-16e5-facc-03019b1b57f5 w-richtext"><h2>Skills gaps, <strong>matched</strong>.</h2></header><div cc-number="42" data-wf--text-body--style-size="base" class="u-body-text w-richtext u-text-pretty"><p>Your workforce’s remaining gaps: <strong>AI Building</strong>, <strong>AI Governance</strong>. Matched programme: <strong>AI Solutions Builder</strong> – for 250 of your 12,000 employees, within your levy budget.</p></div></div><div class="tabbed-content_embed-wrap"><div slot="product-demo"><code-island data-loader="{&quot;tag&quot;:&quot;FEDERATION&quot;,&quot;val&quot;:{&quot;clientModuleUrl&quot;:&quot;https://code-components.website-files.com/6abfaa897b456cdc49a62246%2Fmodule%2Fwf-manifest.json&quot;,&quot;moduleId&quot;:&quot;_6abfaa897b456cdc49a62246&quot;,&quot;submoduleId&quot;:&quot;ProgrammeMatcher&quot;,&quot;exportPath&quot;:&quot;default&quot;,&quot;serverModuleUrl&quot;:&quot;_&quot;}}" data-props="{&quot;texture&quot;:{&quot;src&quot;:&quot;https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd214ed35ed003f11bec6a_pink-cream.webp&quot;},&quot;showHeader&quot;:true,&quot;headerTitle&quot;:&quot;Programme matcher · 2 gaps&quot;,&quot;headerMeta&quot;:&quot;Level 4 · Recommended&quot;,&quot;cardHeight&quot;:488,&quot;mobileCardHeight&quot;:440,&quot;replayOnScroll&quot;:false,&quot;solutionsBuilderImage&quot;:{&quot;src&quot;:&quot;https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abcfa1c67bb7d14a86a3ceb_expression-embedded-pink-light.webp&quot;},&quot;transformationArchitectImage&quot;:{&quot;src&quot;:&quot;https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd157219c6aa5a0b868f3c_expression-exponential-blue-dark.webp&quot;}}" data-slots="[]" data-hydrate="true" data-webflow-context="{&quot;mode&quot;:&quot;publish&quot;,&quot;interactive&quot;:true,&quot;locale&quot;:&quot;en&quot;}" data-interactive="true" style="display:contents"><template shadowrootmode="open"><link rel="stylesheet" type="text/css" href="https://code-components.website-files.com/6abfaa897b456cdc49a62246%2Fmodule%2F9815b7ebe7ff2eef2de2.css"/><div data-root="true" style="display:contents"><!--$--><div role="group" aria-label="Programme matcher" class="pd-root pd-paused" style="--pd-card-h:488px;--pd-card-h-m:440px"><div class="pd-card"><div class="pd-texture" style="background-image:url(&quot;https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd214ed35ed003f11bec6a_pink-cream.webp&quot;);background-size:400% auto;
2721background-position:100% 55%"></div><div class="pd-panel"><div style="position:absolute;inset:0"><div class="pd-winwrap" style="position:absolute;top:56px;left:36px;right:-96px;bottom:30px;animation:pd-win-d 0.8s var(--pd-ease) both"><div class="pd-mat" style="position:absolute;inset:-8px;border-radius:16px 0px 0px 16px;background:rgba(255,255,255,0.34);border:1px solid rgba(255,255,255,0.55);box-shadow:inset 0 1px 0 rgba(255,255,255,0.35), 0 30px 80px rgba(0,0,0,0.35);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);box-sizing:border-box"></div><div class="pd-win" style="position:absolute;inset:0;background:#F0ECE1;border-radius:10px 0px 0px 10px;display:flex;flex-direction:row;overflow:hidden;color:#232220"><div class="pd-main" style="flex:1;min-width:0;display:flex;flex-direction:column;gap:20px;padding:24px 120px 24px 24px;box-sizing:border-box"><div class="pd-panel-head" style="display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(35,34,32,0.10);flex:none"><span style="display:flex;flex-direction:column;gap:3px"><span style="font-size:15px;font-weight:500;letter-spacing:-0.01em;color:#232220">Programme matcher · 2 gaps</span></span><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633;display:flex;align-items:center;gap:8px;white-space:nowrap"><span style="width:6px;height:6px;border-radius:50%;background:#232220"></span>Level 4 · Recommended</span></div><div class="pd-panel-body" style="flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;margin-right:-96px"><div class="pd-two" style="animation:pd-rise 0.7s var(--pd-ease) 0ms both"><div class="pd-gaps" style="display:flex;flex-direction:column;gap:12px"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">Remaining gaps · 2 of 5</span><div class="pd-gap-tile" style="background:#FFFFFF;border-radius:10px;padding:14px 16px;box-sizing:border-box;color:#232220;display:flex;flex-direction:column;gap:10px;
2721animation:pd-rise 0.7s var(--pd-ease) 80ms both"><div style="display:flex;justify-content:space-between;align-items:baseline;gap:8px"><span style="font-size:15px;font-weight:500;letter-spacing:-0.01em">AI Building</span><span style="font-family:var(--pd-font-display);font-weight:300;font-size:22px;line-height:1">32<!-- -->%</span></div><div style="height:6px;border-radius:999px;background:#F0ECE1;overflow:hidden"><div style="width:32%;height:100%;border-radius:999px;background:#7B16EE;transform-origin:left;animation:pd-grow 0.9s var(--pd-ease) 300ms both"></div></div><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">Team coverage</span></div><div class="pd-gap-tile" style="background:#FFFFFF;border-radius:10px;padding:14px 16px;box-sizing:border-box;color:#232220;display:flex;flex-direction:column;gap:10px;animation:pd-rise 0.7s var(--pd-ease) 170ms both"><div style="display:flex;justify-content:space-between;align-items:baseline;gap:8px"><span style="font-size:15px;font-weight:500;letter-spacing:-0.01em">AI Governance</span><span style="font-family:var(--pd-font-display);font-weight:300;font-size:22px;line-height:1">41<!-- -->%</span></div><div style="height:6px;border-radius:999px;background:#F0ECE1;overflow:hidden"><div style="width:41%;height:100%;border-radius:999px;background:#7B16EE;transform-origin:left;animation:pd-grow 0.9s var(--pd-ease) 420ms both"></div></div><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">Team coverage</span></div><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633;margin-top:4px">Match confidence · 94%</span></div><div class="pd-flow" style="position:relative;height:6px;min-width:0;display:flex;justify-content:space-between;align-items:center"><span style="width:3px;height:3px;border-radius:50%;background:rgba(35,34,32,0.25)"></span><span style="width:3px;height:3px;border-radius:50%;background:rgba(35,34,32,0.25)"></span><span style="width:3px;height:3px;border-radius:50%;background:rgba(35,34,32,0.25)"></span><span style="width:3px;height:3px;border-radius:50%;background:rgba(35,34,32,0.25)"></span><span style="width:3px;height:3px;border-radius:50%;background:rgba(35,34,32,0.25)"></span><span style="position:absolute;top:0;width:6px;height:6px;border-radius:50%;background:#D6EE40;box-shadow:0 0 0 3px rgba(214,238,64,0.25);
2721animation:pd-travel 1.8s var(--pd-ease) 0s infinite"></span></div><div class="pd-cards" style="position:relative;display:flex;justify-content:flex-start;align-items:center;animation:pd-rise 0.7s var(--pd-ease) 260ms both"><div class="pd-back-card" style="position:absolute;top:0;bottom:0;left:150px;display:flex;align-items:center;opacity:0.7;animation:pd-rise 0.7s var(--pd-ease) 420ms both"><div style="position:relative;width:300px;box-sizing:border-box;border-radius:29.512px;background-color:#fff;overflow:hidden;display:flex;flex-direction:column;gap:31.275px;padding:26.062px;flex:none;zoom:0.56"><div style="display:flex;flex-direction:column;gap:26.062px;padding-bottom:20.85px;align-self:stretch"><div style="height:104.25px;align-self:stretch;border-radius:11.755px;overflow:hidden;background:url(&quot;https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd157219c6aa5a0b868f3c_expression-exponential-blue-dark.webp&quot;) center / cover no-repeat"></div><div style="display:flex;flex-direction:column;gap:20.85px;align-self:stretch"><span style="font-family:var(--pd-font-body);font-weight:380;font-size:17.375px;line-height:1.2;letter-spacing:-0.02em;color:#212223">AI Transformation Architect</span><div style="align-self:flex-start;border-radius:20.85px;box-shadow:0 0 0 0.869px #E9E9E9;padding:6.95px 8.687px;display:flex;align-items:center"><span style="font-family:var(--pd-font-body);font-weight:380;font-size:10.425px;line-height:1.2;letter-spacing:0.02em;color:#212223;white-space:nowrap">Artificial Intelligence</span></div><span style="font-family:var(--pd-font-body);font-weight:380;font-size:13.9px;line-height:1.2;color:#212223;align-self:stretch">Identify and transform processes across departments with agentic AI and automation.</span><div style="display:flex;flex-direction:column;gap:6.95px;align-self:stretch"><span style="font-family:var(--pd-font-body);font-weight:380;font-size:12.162px;line-height:1.2;color:#212223">Who&#x27;s it for</span><span style="font-family:var(--pd-font-body);font-weight:380;font-size:12.162px;line-height:1.2;color:#7A7670">AI strategists</span></div><div style="display:flex;flex-direction:column;gap:6.95px;align-self:stretch"><span style="font-family:var(--pd-font-body);font-weight:380;font-size:12.162px;line-height:1.2;color:#212223">Course details</span><span style="font-family:var(--pd-font-body);font-weight:380;font-size:12.162px;line-height:1.2;color:#7A7670">13 month delivery, plus 3 month assessment</span></div></div></div><div style="margin-top:auto;align-self:stretch"><div style="height:0.811px;background:#7A7670;align-self:stretch;margin-bottom:18px"></div><div style="display:flex;align-items:center;gap:9.067px"><svg width="27.201" height="27.201" viewBox="0 0 28 28" fill="none" aria-hidden="true" style="flex-shrink:0"><rect x="1.63629" y="17.2865" width="7.09586" height="7.09586" rx="3.54793" fill="#D6EE40"></rect><rect x="17.2272" y="17.2272" width="7.09586" height="7.09586" rx="3.54793" fill="#D6EE40"></rect><rect x="1.81339" y="1.81339" width="7.09586" height="7.09586" rx="3.54793" fill="#D6EE40"></rect><rect x="17.2865" y="1.63586" width="7.09586" height="7.09586" rx="0" fill="#D6EE40"></rect></svg><span style="font-family:var(--pd-font-mono);font-weight:400;font-size:10.425px;line-height:1.4;color:#7A7670;text-transform:uppercase">Level 4 Apprenticeship<br/>AI &amp; Automation Practitioner</span></div></div></div></div><div class="pd-front-card" style="position:relative;width:300px;box-sizing:border-box;border-radius:29.512px;background-color:#fff;overflow:hidden;display:flex;flex-direction:column;gap:31.275px;padding:26.062px;flex:none;zoom:0.6;box-shadow:0 16px 40px rgba(35,34,32,0.22)"><div style="display:flex;flex-direction:column;gap:26.062px;padding-bottom:20.85px;align-self:stretch"><div style="height:104.25px;align-self:stretch;border-radius:11.755px;overflow:hidden;background:url(&quot;https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abcfa1c67bb7d14a86a3ceb_expression-embedded-pink-light.webp&quot;) center / cover no-repeat"></div><div style="display:flex;flex-direction:column;gap:20.85px;align-self:stretch"><span style="font-family:var(--pd-font-body);font-weight:380;font-size:17.375px;line-height:1.2;letter-spacing:-0.02em;color:#212223">AI Solutions Builder</span><div style="align-self:flex-start;border-radius:20.85px;box-shadow:0 0 0 0.869px #E9E9E9;padding:6.95px 8.687px;display:flex;align-items:center"><span style="font-family:var(--pd-font-body);font-weight:380;font-size:10.425px;line-height:1.2;letter-spacing:0.02em;color:#212223;white-space:nowrap">Artificial Intelligence</span></div><span style="font-family:var(--pd-font-body);font-weight:380;font-size:13.9px;line-height:1.2;color:#212223;align-self:stretch">Create agentic AI experts who build solutions to improve team processes and eliminate repetitive tasks.</span><div style="display:flex;flex-direction:column;gap:6.95px;align-self:stretch"><span style="font-family:var(--pd-font-body);font-weight:380;font-size:12.162px;line-height:1.2;color:#212223">Who&#x27;s it for</span><span style="font-family:var(--pd-font-body);font-weight:380;font-size:12.162px;line-height:1.2;color:#7A7670">Mid-level employees and departmental AI champions</span></div><div style="display:flex;flex-direction:column;gap:6.95px;align-self:stretch"><span style="font-family:var(--pd-font-body);font-weight:380;font-size:12.162px;line-height:1.2;color:#212223">Course details</span><span style="font-family:var(--pd-font-body);font-weight:380;font-size:12.162px;line-height:1.2;color:#7A7670">13 month delivery, plus 3 month assessment</span></div></div></div><div style="margin-top:auto;align-self:stretch"><div style="height:0.811px;background:#7A7670;align-self:stretch;margin-bottom:18px"></div><div style="display:flex;align-items:center;gap:9.067px">
2721<svg width="27.201" height="27.201" viewBox="0 0 28 28" fill="none" aria-hidden="true" style="flex-shrink:0"><rect x="1.63629" y="17.2865" width="7.09586" height="7.09586" rx="3.54793" fill="#D6EE40"></rect><rect x="17.2272" y="17.2272" width="7.09586" height="7.09586" rx="3.54793" fill="#D6EE40"></rect><rect x="1.81339" y="1.81339" width="7.09586" height="7.09586" rx="3.54793" fill="#D6EE40"></rect><rect x="17.2865" y="1.63586" width="7.09586" height="7.09586" rx="0" fill="#D6EE40"></rect></svg><span style="font-family:var(--pd-font-mono);font-weight:400;font-size:10.425px;line-height:1.4;color:#7A7670;text-transform:uppercase">Level 4 Apprenticeship<br/>AI &amp; Automation Practitioner</span></div></div></div></div></div></div></div></div></div></div></div></div></div><!--/$--></div></template></code-island></div></div></div><div data-tabs-element="tab-panel" class="tabbed-content_panel"><div class="tabbed-content_content-wrap"><div class="tabbed-content_logo"><div class="tabbed-content_logo-wrap"><div data-wf--media-image--style-aspect-ratio="contain" id="" STYLE="" class="image_wrap w-variant-24d32a7c-a068-72bc-566a-92a3d098582d"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6ab0f13f4f3f1084f656730a_MV_LOGO.svg" loading="lazy" fetchpriority="auto" alt="" class="image_src w-variant-24d32a7c-a068-72bc-566a-92a3d098582d"/></div></div><div cc-number="60" data-wf--text-body--style-size="medium" class="u-body-text w-variant-bfbf01b2-03c6-2841-54d1-41ef2a9ed520 w-richtext u-text-pretty"><p><strong>Learning and coaching</strong></p></div></div><header cc-number="10" data-wf--text---highlighted-heading--style-variant="h2" class="heading_wrap w-variant-69689fb8-29eb-16e5-facc-03019b1b57f5 w-richtext"><h2>Learn by <strong>doing</strong>.</h2></header><div cc-number="42" data-wf--text-body--style-size="base" class="u-body-text w-richtext u-text-pretty"><p>Your team applies skills through expert instruction, dedicated group or one-to-one coaching, and <strong>Atlas</strong> supporting every moment in between.</p></div></div><div class="tabbed-content_embed-wrap"><div slot="product-demo"><code-island data-loader="{&quot;tag&quot;:&quot;FEDERATION&quot;,&quot;val&quot;:{&quot;clientModuleUrl&quot;:&quot;https://code-components.website-files.com/6abfaa897b456cdc49a62246%2Fmodule%2Fwf-manifest.json&quot;,&quot;moduleId&quot;:&quot;_6abfaa897b456cdc49a62246&quot;,&quot;submoduleId&quot;:&quot;Learning&quot;,&quot;exportPath&quot;:&quot;default&quot;,&quot;serverModuleUrl&quot;:&quot;_&quot;}}" data-props="{&quot;texture&quot;:{&quot;src&quot;:&quot;https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd234d8cb22a3055a0eab9_red-green.webp&quot;},&quot;showHeader&quot;:true,&quot;headerTitle&quot;:&quot;This week · Cohort of 12&quot;,&quot;headerMeta&quot;:&quot;Week 9 of 56&quot;,&quot;cardHeight&quot;:488,&quot;mobileCardHeight&quot;:440,&quot;replayOnScroll&quot;:false,&quot;portrait1&quot;:{&quot;src&quot;:&quot;https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd24a21b4b5591788fd1bd_photo-portrait-technology.webp&quot;},&quot;portrait2&quot;:{&quot;src&quot;:&quot;https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd24a2705d610b262db312_photo-portrait-nurse.webp&quot;},&quot;portrait3&quot;:{&quot;src&quot;:&quot;https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd24a2705d610b262db30f_photo-portrait-retail.webp&quot;}}" data-slots="[]" data-hydrate="true" data-webflow-context="{&quot;mode&quot;:&quot;publish&quot;,&quot;interactive&quot;:true,&quot;locale&quot;:&quot;en&quot;}" data-interactive="true" style="display:contents"><template shadowrootmode="open"><link rel="stylesheet" type="text/css" href="https://code-components.website-files.com/6abfaa897b456cdc49a62246%2Fmodule%2F9815b7ebe7ff2eef2de2.css"/><div data-root="true" style="display:contents"><!--$--><div role="group" aria-label="Learning and coaching" class="pd-root pd-paused" style="--pd-card-h:488px;--pd-card-h-m:440px"><div class="pd-card"><div class="pd-texture" style="background-image:url(&quot;https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd234d8cb22a3055a0eab9_red-green.webp&quot;);background-size:230% auto;background-position:85% 60%"></div><div class="pd-panel"><div style="position:absolute;inset:0"><div class="pd-winwrap" style="position:absolute;top:36px;left:36px;right:-80px;bottom:36px;
2721animation:pd-win-r 0.8s var(--pd-ease) both"><div class="pd-mat" style="position:absolute;inset:-8px;border-radius:16px 0px 0px 16px;background:rgba(255,255,255,0.34);border:1px solid rgba(255,255,255,0.55);box-shadow:inset 0 1px 0 rgba(255,255,255,0.35), 0 30px 80px rgba(0,0,0,0.35);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);box-sizing:border-box"></div><div class="pd-win" style="position:absolute;inset:0;background:#F0ECE1;border-radius:10px 0px 0px 10px;display:flex;flex-direction:column;overflow:hidden;color:#232220"><div class="pd-panel-head" style="display:flex;align-items:center;gap:12px;padding:14px 100px 14px 20px;background:#FFFFFF;flex:none"><img src="data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%2293.07%2093.06%20186.38%20126.64%22%3E%3Cpath%20d%3D%22M279.6%2C93.2h-29.01l-51.31%2C84.04v-84.04h-29.37l-51.13%2C83.5v-83.5h-25.57v126.52h25.75l54.76-90.01v90.01h25.75l54.58-89.1v89.1h25.57v-126.52Z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E" alt="" style="height:16px;width:auto;display:block"/><span style="font-size:14px;font-weight:500;letter-spacing:-0.01em;color:#232220">This week · Cohort of 12</span><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633;margin-left:auto;display:flex;align-items:center;gap:10px;white-space:nowrap">Week 9 of 56</span></div><div class="pd-main" style="flex:1;min-width:0;display:flex;flex-direction:column;gap:20px;padding:24px 104px 24px 24px;box-sizing:border-box"><div class="pd-panel-body" style="flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;margin-right:-80px"><div class="pd-three" style="align-items:stretch;
2721animation:pd-rise 0.7s var(--pd-ease) 0ms both"><div style="background:#FFFFFF;border-radius:10px;padding:16px;box-sizing:border-box;color:#232220;display:flex;flex-direction:column;gap:14px;min-height:250px;animation:pd-rise 0.7s var(--pd-ease) 60ms both"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">Coaching</span><div class="pd-hide-m" style="display:flex"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd24a21b4b5591788fd1bd_photo-portrait-technology.webp" alt="" style="width:60px;height:60px;border-radius:50%;margin-left:0;border:2px solid #FFFFFF;box-sizing:border-box;object-fit:cover;display:block"/><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd24a2705d610b262db312_photo-portrait-nurse.webp" alt="" style="width:60px;height:60px;border-radius:50%;margin-left:-16px;border:2px solid #FFFFFF;box-sizing:border-box;object-fit:cover;display:block"/><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd24a2705d610b262db30f_photo-portrait-retail.webp" alt="" style="width:60px;height:60px;border-radius:50%;margin-left:-16px;border:2px solid #FFFFFF;box-sizing:border-box;object-fit:cover;display:block"/></div><span style="font-size:15px;font-weight:500;margin-top:auto">Group or one-to-one</span><span style="font-size:13px;font-weight:300;color:#383633">Weekly · 45 min</span><span style="font-family:var(--pd-font-mono);font-size:10px;letter-spacing:0.06em;text-transform:uppercase;color:#232220;padding:4px 8px;border-radius:999px;background:#F0ECE1;white-space:nowrap">Next · Tue 14:00</span></div><div style="background:#232220;border-radius:10px;padding:16px;box-sizing:border-box;color:#FFFFFF;display:flex;flex-direction:column;gap:12px;min-height:250px;
2721animation:pd-rise 0.7s var(--pd-ease) 140ms both"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#F0ECE1;display:flex;align-items:center;gap:8px"><span style="width:6px;height:6px;border-radius:50%;background:#D6EE40"></span>Atlas · Online</span><div style="align-self:flex-end;background:rgba(255,255,255,0.14);color:#FFFFFF;border-radius:12px 12px 4px 12px;padding:6px 10px;font-size:11px;line-height:1.35;max-width:90%;animation:pd-bubble 0.5s var(--pd-ease) 500ms both">How do I brief an agent safely?</div><div style="position:relative;align-self:flex-start;max-width:92%"><div style="position:absolute;left:0;top:0;background:#F0ECE1;border-radius:12px 12px 12px 4px;padding:8px 10px;display:flex;gap:3px;animation:pd-typing 6s linear 1100ms both"><span style="width:5px;height:5px;border-radius:50%;background:#232220;animation:pd-dot 1.1s ease-in-out 0s infinite"></span><span style="width:5px;height:5px;border-radius:50%;background:#232220;animation:pd-dot 1.1s ease-in-out 0.15s infinite"></span><span style="width:5px;height:5px;border-radius:50%;background:#232220;
2721animation:pd-dot 1.1s ease-in-out 0.3s infinite"></span></div><div style="background:#F0ECE1;color:#232220;border-radius:12px 12px 12px 4px;padding:6px 10px;font-size:11px;line-height:1.35;animation:pd-bubble 0.5s var(--pd-ease) 2700ms both">Start with scope and data access. Here’s a template from your last project.</div></div></div><div style="background:#FFFFFF;border-radius:10px;padding:16px;box-sizing:border-box;color:#232220;display:flex;flex-direction:column;gap:14px;min-height:250px;animation:pd-rise 0.7s var(--pd-ease) 220ms both"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">Expert instruction</span><div class="pd-hide-m" style="width:60px;height:60px;border-radius:4px;background:#F0ECE1;color:#232220;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1"><span style="font-family:var(--pd-font-mono);font-size:9px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">Thu</span><span style="font-size:20px;font-weight:500;margin-top:3px">12</span></div><span style="font-size:15px;font-weight:500;margin-top:auto">Agentic workflows</span><span style="font-size:13px;font-weight:300;color:#383633">Live · Thu 10:00</span><span style="font-family:var(--pd-font-mono);font-size:10px;letter-spacing:0.06em;text-transform:uppercase;color:#232220;padding:4px 8px;border-radius:999px;background:#F0ECE1;white-space:nowrap">42 attending</span></div></div></div></div></div></div></div></div></div></div><!--/$--></div></template></code-island></div></div></div><div data-tabs-element="tab-panel" class="tabbed-content_panel"><div class="tabbed-content_content-wrap"><div class="tabbed-content_logo"><div class="tabbed-content_logo-wrap"><div data-wf--media-image--style-aspect-ratio="contain" id="" STYLE="" class="image_wrap w-variant-24d32a7c-a068-72bc-566a-92a3d098582d"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6ab0f13f4f3f1084f656730a_MV_LOGO.svg" loading="lazy" fetchpriority="auto" alt="" class="image_src w-variant-24d32a7c-a068-72bc-566a-92a3d098582d"/></div></div><div cc-number="60" data-wf--text-body--style-size="medium" class="u-body-text w-variant-bfbf01b2-03c6-2841-54d1-41ef2a9ed520 w-richtext u-text-pretty"><p><strong>Atlas</strong></p></div></div><header cc-number="10" data-wf--text---highlighted-heading--style-variant="h2" class="heading_wrap w-variant-69689fb8-29eb-16e5-facc-03019b1b57f5 w-richtext"><h2>Atlas, in the <strong>flow of work</strong>.</h2></header><div cc-number="42" data-wf--text-body--style-size="base" class="u-body-text w-richtext u-text-pretty"><p>Connect <strong>Atlas</strong> with the tools your team uses, so they learn AI skills directly in the flow of work.</p></div></div><div class="tabbed-content_embed-wrap"><div slot="product-demo"><code-island data-loader="{&quot;tag&quot;:&quot;FEDERATION&quot;,&quot;val&quot;:{&quot;clientModuleUrl&quot;:&quot;https://code-components.website-files.com/6abfaa897b456cdc49a62246%2Fmodule%2Fwf-manifest.json&quot;,&quot;moduleId&quot;:&quot;_6abfaa897b456cdc49a62246&quot;,&quot;submoduleId&quot;:&quot;Atlas&quot;,&quot;exportPath&quot;:&quot;default&quot;,&quot;serverModuleUrl&quot;:&quot;_&quot;}}" data-props="{&quot;texture&quot;:{&quot;src&quot;:&quot;https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd238075d178af72859665_blue-yellow.webp&quot;},&quot;showHeader&quot;:true,&quot;headerTitle&quot;:&quot;Atlas · Work coach&quot;,&quot;headerMeta&quot;:&quot;MCP · Connected&quot;,&quot;cardHeight&quot;:488,&quot;mobileCardHeight&quot;:440,&quot;replayOnScroll&quot;:false,&quot;copilotLogo&quot;:{&quot;src&quot;:&quot;https://cdn.prod.website-files.com/69381061fef68be00431dd04/6ab3d8225902bb8f5aa8f04a_copilotsvg.webp&quot;},&quot;claudeLogo&quot;:{&quot;src&quot;:&quot;https://cdn.prod.website-files.com/69381061fef68be00431dd04/6ab3d82d01f86b85d620d806_claude.webp&quot;}}" data-slots="[]" data-hydrate="true" data-webflow-context="{&quot;mode&quot;:&quot;publish&quot;,&quot;interactive&quot;:true,&quot;locale&quot;:&quot;en&quot;}" data-interactive="true" style="display:contents"><template shadowrootmode="open"><link rel="stylesheet" type="text/css" href="https://code-components.website-files.com/6abfaa897b456cdc49a62246%2Fmodule%2F9815b7ebe7ff2eef2de2.css"/><div data-root="true" style="display:contents"><!--$-->
2721<div role="group" aria-label="Atlas" class="pd-root pd-paused" style="--pd-card-h:488px;--pd-card-h-m:440px"><div class="pd-card"><div class="pd-texture" style="background-image:url(&quot;https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd238075d178af72859665_blue-yellow.webp&quot;);background-size:220% auto;background-position:92% 12%"></div><div class="pd-panel"><div style="position:absolute;inset:0"><div class="pd-winwrap" style="position:absolute;top:30px;left:44px;right:44px;bottom:-70px;animation:pd-win-s 0.8s var(--pd-ease) both"><div class="pd-mat" style="position:absolute;inset:-8px;border-radius:16px 16px 0px 0px;background:rgba(255,255,255,0.34);border:1px solid rgba(255,255,255,0.55);box-shadow:inset 0 1px 0 rgba(255,255,255,0.35), 0 30px 80px rgba(0,0,0,0.35);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);box-sizing:border-box"></div><div class="pd-win" style="position:absolute;inset:0;background:#F0ECE1;border-radius:10px 10px 0px 0px;display:flex;flex-direction:row;overflow:hidden;color:#232220"><div class="pd-main" style="flex:1;min-width:0;display:flex;flex-direction:column;gap:20px;padding:24px 24px 94px 24px;box-sizing:border-box"><div class="pd-panel-head" style="display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(35,34,32,0.10);flex:none"><span style="display:flex;flex-direction:column;gap:3px"><span style="font-size:15px;font-weight:500;letter-spacing:-0.01em;color:#232220">Atlas · Work coach</span></span><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633;display:flex;align-items:center;gap:8px;white-space:nowrap"><span style="width:6px;height:6px;border-radius:50%;background:#232220"></span>MCP · Connected</span></div><div class="pd-panel-body" style="flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;margin-right:0"><div class="pd-s4" style="display:flex;flex-direction:column;gap:18px;
2721animation:pd-rise 0.7s var(--pd-ease) 0ms both"><div style="display:grid;grid-template-columns:auto minmax(20px,1fr) auto minmax(20px,1fr) auto;align-items:center;gap:8px;padding:4px 0"><div class="pd-tool" style="display:flex;flex-direction:column;align-items:center;gap:12px;animation:pd-rise 0.7s var(--pd-ease) 200ms both"><div style="width:64px;height:64px;border-radius:16px;background:#FFFFFF;display:grid;place-items:center;overflow:hidden"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6ab3d8225902bb8f5aa8f04a_copilotsvg.webp" alt="Copilot" style="width:36px;height:36px;object-fit:contain;display:block"/></div><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">Copilot</span></div><div style="position:relative;height:6px;min-width:0;display:flex;justify-content:space-between;align-items:center"><span style="width:3px;height:3px;border-radius:50%;background:rgba(35,34,32,0.25)"></span><span style="width:3px;height:3px;border-radius:50%;background:rgba(35,34,32,0.25)"></span><span style="width:3px;height:3px;border-radius:50%;background:rgba(35,34,32,0.25)"></span><span style="width:3px;height:3px;border-radius:50%;background:rgba(35,34,32,0.25)"></span><span style="width:3px;height:3px;border-radius:50%;background:rgba(35,34,32,0.25)"></span><span style="position:absolute;top:0;width:6px;height:6px;border-radius:50%;background:#D6EE40;box-shadow:0 0 0 3px rgba(214,238,64,0.25);
2721animation:pd-travel 1.8s var(--pd-ease) 0s infinite"></span></div><div style="display:flex;flex-direction:column;align-items:center;gap:14px"><div class="pd-orb" style="width:120px;height:120px;border-radius:50%;background:#FFFFFF;display:grid;place-items:center;box-shadow:0 4px 14px rgba(35,34,32,0.10), 0 1px 2px rgba(35,34,32,0.06)"><svg viewBox="0 0 100 100" width="86%" height="86%" style="display:block"><g style="transform-box:fill-box;transform-origin:50% 50%;animation:pd-atlas-breathe 5.4s cubic-bezier(0.65,0.05,0.36,1) infinite"><g style="animation:pd-atlas-look 7s cubic-bezier(0.65,0.05,0.36,1) infinite"><g fill="#232220" transform="translate(-3.5,4)"><g style="animation:pd-atlas-arch 5.4s cubic-bezier(0.65,0.05,0.36,1) infinite"><path d="M0 0H6.879V30H0.81V8.871L-12.042 30H-18.111Z" transform="translate(40.1,18)"></path></g><g style="animation:pd-atlas-arch-r 5.4s cubic-bezier(0.65,0.05,0.36,1) 80ms infinite"><path d="M0 0H6.879V30H0.81V8.871L-12.042 30H-18.111Z" transform="translate(71.1,18)"></path></g></g><g transform="translate(-2,2)"><path d="M 36,64 C 45,71 57,71 68,64" fill="none" stroke="#232220" stroke-width="6" stroke-linecap="butt" style="animation:pd-atlas-mouth 5.4s cubic-bezier(0.65,0.05,0.36,1) infinite"></path></g></g></g></svg></div><span style="display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#232220;font-size:12px;color:#FFFFFF"><span style="width:6px;height:6px;border-radius:50%;background:#D6EE40;
2721animation:pd-pulse 1.8s ease-in-out infinite"></span>Atlas is listening</span></div><div style="position:relative;height:6px;min-width:0;display:flex;justify-content:space-between;align-items:center"><span style="width:3px;height:3px;border-radius:50%;background:rgba(35,34,32,0.25)"></span><span style="width:3px;height:3px;border-radius:50%;background:rgba(35,34,32,0.25)"></span><span style="width:3px;height:3px;border-radius:50%;background:rgba(35,34,32,0.25)"></span><span style="width:3px;height:3px;border-radius:50%;background:rgba(35,34,32,0.25)"></span><span style="width:3px;height:3px;border-radius:50%;background:rgba(35,34,32,0.25)"></span><span style="position:absolute;top:0;width:6px;height:6px;border-radius:50%;background:#D6EE40;box-shadow:0 0 0 3px rgba(214,238,64,0.25);animation:pd-travel-r 1.8s var(--pd-ease) 0.9s infinite"></span></div><div class="pd-tool" style="display:flex;flex-direction:column;align-items:center;gap:12px;animation:pd-rise 0.7s var(--pd-ease) 320ms both"><div style="width:64px;height:64px;border-radius:16px;background:#FFFFFF;display:grid;place-items:center;overflow:hidden"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6ab3d82d01f86b85d620d806_claude.webp" alt="Claude" style="width:36px;height:36px;object-fit:contain;display:block"/></div><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">Claude</span></div></div><div class="pd-s4-copy" style="display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center"><span style="font-family:var(--pd-font-display);font-weight:300;font-size:26px;line-height:1;letter-spacing:-0.02em">Connected to your AI tool</span><span style="font-size:14px;font-weight:300;color:#383633">Starting with Copilot and Claude</span></div><div class="pd-hide-m" style="display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:8px;padding-top:14px;border-top:1px solid rgba(35,34,32,0.10)"><div style="display:flex;flex-direction:column;gap:4px;min-width:0;
2721animation:pd-rise 0.7s var(--pd-ease) 500ms both"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#232220">Calendar</span><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">12 weeks read</span></div><div style="display:flex;flex-direction:column;gap:4px;min-width:0;animation:pd-rise 0.7s var(--pd-ease) 590ms both"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#232220">Email</span><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">31 threads</span></div><div style="display:flex;flex-direction:column;gap:4px;min-width:0;animation:pd-rise 0.7s var(--pd-ease) 680ms both"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#232220">Files</span><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">9 documents</span></div><div style="display:flex;flex-direction:column;gap:4px;min-width:0;
2721animation:pd-rise 0.7s var(--pd-ease) 770ms both"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#232220">Copilot</span><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Connected</span></div></div></div></div></div></div></div></div></div></div></div><!--/$--></div></template></code-island></div></div></div><div data-tabs-element="tab-panel" class="tabbed-content_panel"><div class="tabbed-content_content-wrap"><div class="tabbed-content_logo"><div class="tabbed-content_logo-wrap"><div data-wf--media-image--style-aspect-ratio="contain" id="" STYLE="" class="image_wrap w-variant-24d32a7c-a068-72bc-566a-92a3d098582d"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6ab0f13f4f3f1084f656730a_MV_LOGO.svg" loading="lazy" fetchpriority="auto" alt="" class="image_src w-variant-24d32a7c-a068-72bc-566a-92a3d098582d"/></div></div><div cc-number="60" data-wf--text-body--style-size="medium" class="u-body-text w-variant-bfbf01b2-03c6-2841-54d1-41ef2a9ed520 w-richtext u-text-pretty"><p><strong>Progress</strong></p></div></div><header cc-number="11" data-wf--text---highlighted-heading--style-variant="h2" class="heading_wrap w-variant-69689fb8-29eb-16e5-facc-03019b1b57f5 w-richtext"><h2><strong>Upskill in AI</strong> as you work.</h2></header><div cc-number="42" data-wf--text-body--style-size="base" class="u-body-text w-richtext u-text-pretty"><p>Every skill earned in the flow of work is tracked, so progress <strong>compounds</strong> across five AI capability areas.</p></div></div><div class="tabbed-content_embed-wrap"><div slot="product-demo"><code-island data-loader="{&quot;tag&quot;:&quot;FEDERATION&quot;,&quot;val&quot;:{&quot;clientModuleUrl&quot;:&quot;https://code-components.website-files.com/6abfaa897b456cdc49a62246%2Fmodule%2Fwf-manifest.json&quot;,&quot;moduleId&quot;:&quot;_6abfaa897b456cdc49a62246&quot;,&quot;submoduleId&quot;:&quot;Progress&quot;,&quot;exportPath&quot;:&quot;default&quot;,&quot;serverModuleUrl&quot;:&quot;_&quot;}}" data-props="{&quot;texture&quot;:{&quot;src&quot;:&quot;https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd221a7476a6b700fbc5cf_blue-green.webp&quot;},&quot;showHeader&quot;:true,&quot;headerTitle&quot;:&quot;Progress · Sam Okafor&quot;,&quot;headerMeta&quot;:&quot;41 of 54 skills&quot;,&quot;cardHeight&quot;:488,&quot;mobileCardHeight&quot;:440,&quot;replayOnScroll&quot;:false,&quot;avatar&quot;:{&quot;src&quot;:&quot;&quot;}}" data-slots="[]" data-hydrate="true" data-webflow-context="{&quot;mode&quot;:&quot;publish&quot;,&quot;interactive&quot;:true,&quot;locale&quot;:&quot;en&quot;}" data-interactive="true" style="display:contents"><template shadowrootmode="open"><link rel="stylesheet" type="text/css" href="https://code-components.website-files.com/6abfaa897b456cdc49a62246%2Fmodule%2F9815b7ebe7ff2eef2de2.css"/><div data-root="true" style="display:contents"><!--$--><div role="group" aria-label="Progress" class="pd-root pd-paused" style="--pd-card-h:488px;--pd-card-h-m:440px"><div class="pd-card"><div class="pd-texture" style="background-image:url(&quot;https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd221a7476a6b700fbc5cf_blue-green.webp&quot;);background-size:280% auto;background-position:4% 96%"></div><div class="pd-panel"><div style="position:absolute;inset:0"><div class="pd-winwrap" style="position:absolute;top:40px;left:60px;right:-110px;bottom:-70px;
2721animation:pd-win-u 0.8s var(--pd-ease) both"><div class="pd-mat" style="position:absolute;inset:-8px;border-radius:16px 0px 0px 0px;background:rgba(255,255,255,0.34);border:1px solid rgba(255,255,255,0.55);box-shadow:inset 0 1px 0 rgba(255,255,255,0.35), 0 30px 80px rgba(0,0,0,0.35);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);box-sizing:border-box"></div><div class="pd-win" style="position:absolute;inset:0;background:#F0ECE1;border-radius:10px 0px 0px 0px;display:flex;flex-direction:column;overflow:hidden;color:#232220"><div class="pd-panel-head" style="display:flex;align-items:center;gap:12px;padding:14px 130px 14px 20px;background:#FFFFFF;flex:none"><img src="data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%2293.07%2093.06%20186.38%20126.64%22%3E%3Cpath%20d%3D%22M279.6%2C93.2h-29.01l-51.31%2C84.04v-84.04h-29.37l-51.13%2C83.5v-83.5h-25.57v126.52h25.75l54.76-90.01v90.01h25.75l54.58-89.1v89.1h25.57v-126.52Z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E" alt="" style="height:16px;width:auto;display:block"/><span style="font-size:14px;font-weight:500;letter-spacing:-0.01em;color:#232220">Progress · Sam Okafor</span><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633;margin-left:auto;display:flex;align-items:center;gap:10px;white-space:nowrap">41 of 54 skills</span></div><div class="pd-main" style="flex:1;min-width:0;display:flex;flex-direction:column;gap:20px;padding:24px 134px 94px 24px;box-sizing:border-box"><div class="pd-panel-body" style="flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;margin-right:0"><div class="pd-s5" style="display:flex;flex-direction:column;gap:14px"><div class="pd-hide-m pd-s5-top" style="display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:10px"><div style="background:#FFFFFF;border-radius:10px;padding:12px 14px;box-sizing:border-box;color:#232220;display:flex;flex-direction:column;gap:6px;
2721animation:pd-rise 0.7s var(--pd-ease) 60ms both"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">Earned</span><span style="font-family:var(--pd-font-display);font-weight:300;font-size:22px;line-height:1;letter-spacing:-0.02em;color:#232220">41</span></div><div style="background:#FFFFFF;border-radius:10px;padding:12px 14px;box-sizing:border-box;color:#232220;display:flex;flex-direction:column;gap:6px;animation:pd-rise 0.7s var(--pd-ease) 140ms both"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">This month</span><span style="font-family:var(--pd-font-display);font-weight:300;font-size:22px;line-height:1;letter-spacing:-0.02em;color:#232220">+6</span></div><div style="background:#FFFFFF;border-radius:10px;padding:12px 14px;box-sizing:border-box;color:#232220;display:flex;flex-direction:column;gap:6px;animation:pd-rise 0.7s var(--pd-ease) 220ms both"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">Streak</span><span style="font-family:var(--pd-font-display);font-weight:300;font-size:22px;line-height:1;letter-spacing:-0.02em;color:#232220">9 wks</span></div><div style="background:#FFFFFF;border-radius:10px;padding:12px 14px;box-sizing:border-box;color:#232220;display:flex;flex-direction:column;gap:6px;
2721animation:pd-rise 0.7s var(--pd-ease) 300ms both"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">Level</span><span style="font-family:var(--pd-font-display);font-weight:300;font-size:22px;line-height:1;letter-spacing:-0.02em;color:#232220">4</span></div></div><div class="pd-prog" style="animation:pd-rise 0.7s var(--pd-ease) 0ms both"><div style="display:flex;flex-direction:column;gap:22px"><div class="pd-item" style="display:flex;align-items:center;gap:12px;animation:pd-rise 0.7s var(--pd-ease) 120ms both"><div style="width:34px;height:34px;border-radius:10px;background:#7B16EE;flex:none;display:grid;place-items:center"><div style="width:10px;height:10px;border-radius:3px;border:1.5px solid #FFFFFF"></div></div><div style="display:flex;flex-direction:column;gap:4px;min-width:0"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">AI fluency</span><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#232220">12<!-- --> / <!-- -->15</span></div></div><div class="pd-item" style="display:flex;align-items:center;gap:12px;
2721animation:pd-rise 0.7s var(--pd-ease) 200ms both"><div style="width:34px;height:34px;border-radius:10px;background:#B27CF5;flex:none;display:grid;place-items:center"><div style="width:10px;height:10px;border-radius:3px;border:1.5px solid #232220"></div></div><div style="display:flex;flex-direction:column;gap:4px;min-width:0"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">Strategy &amp; delivery</span><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#232220">11<!-- --> / <!-- -->15</span></div></div><div class="pd-item" style="display:flex;align-items:center;gap:12px;animation:pd-rise 0.7s var(--pd-ease) 280ms both"><div style="width:34px;height:34px;border-radius:10px;background:#CAA2F8;flex:none;display:grid;place-items:center"><div style="width:10px;height:10px;border-radius:3px;border:1.5px solid #232220"></div></div><div style="display:flex;flex-direction:column;gap:4px;min-width:0"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">Governance &amp; compliance</span><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#232220">7<!-- --> / <!-- -->9</span></div></div></div><div class="pd-ring" style="position:relative;width:180px;height:180px;justify-self:center"><svg viewBox="0 0 220 220" width="180" height="180" style="display:block"><g><circle cx="110" cy="110" r="100" fill="none" stroke="#FFFFFF" stroke-width="9"></circle><circle cx="110" cy="110" r="100" fill="none" stroke="#7B16EE" stroke-width="9" stroke-linecap="round" stroke-dasharray="628.3185307179587" transform="rotate(-90 110 110)" style="--c:628.3185307179587;--o:125.6637061435917;
2721animation:pd-ring 1.4s var(--pd-ease) 200ms both"></circle></g><g><circle cx="110" cy="110" r="85" fill="none" stroke="#FFFFFF" stroke-width="9"></circle><circle cx="110" cy="110" r="85" fill="none" stroke="#9A50F2" stroke-width="9" stroke-linecap="round" stroke-dasharray="534.0707511102648" transform="rotate(-90 110 110)" style="--c:534.0707511102648;--o:133.5176877775662;animation:pd-ring 1.4s var(--pd-ease) 320ms both"></circle></g><g><circle cx="110" cy="110" r="70" fill="none" stroke="#FFFFFF" stroke-width="9"></circle><circle cx="110" cy="110" r="70" fill="none" stroke="#B27CF5" stroke-width="9" stroke-linecap="round" stroke-dasharray="439.822971502571" transform="rotate(-90 110 110)" style="--c:439.822971502571;--o:117.28612573401897;animation:pd-ring 1.4s var(--pd-ease) 440ms both"></circle></g><g><circle cx="110" cy="110" r="55" fill="none" stroke="#FFFFFF" stroke-width="9"></circle><circle cx="110" cy="110" r="55" fill="none" stroke="#CAA2F8" stroke-width="9" stroke-linecap="round" stroke-dasharray="345.57519189487726" transform="rotate(-90 110 110)" style="--c:345.57519189487726;--o:76.7944870877505;
2721animation:pd-ring 1.4s var(--pd-ease) 560ms both"></circle></g><g><circle cx="110" cy="110" r="40" fill="none" stroke="#FFFFFF" stroke-width="9"></circle><circle cx="110" cy="110" r="40" fill="none" stroke="#E5D0FC" stroke-width="9" stroke-linecap="round" stroke-dasharray="251.32741228718345" transform="rotate(-90 110 110)" style="--c:251.32741228718345;--o:71.80783208205241;animation:pd-ring 1.4s var(--pd-ease) 680ms both"></circle></g></svg><div style="position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;pointer-events:none;animation:pd-rise 0.7s var(--pd-ease) 900ms both"><span style="font-family:var(--pd-font-display);font-weight:300;font-size:24px;line-height:1">41</span><span style="font-family:var(--pd-font-mono);font-size:9px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">of 54</span></div></div><div style="display:flex;flex-direction:column;gap:22px"><div class="pd-item" style="display:flex;align-items:center;gap:12px;animation:pd-rise 0.7s var(--pd-ease) 160ms both"><div style="width:34px;height:34px;border-radius:10px;background:#9A50F2;flex:none;display:grid;place-items:center"><div style="width:10px;height:10px;border-radius:3px;border:1.5px solid #FFFFFF"></div></div><div style="display:flex;flex-direction:column;gap:4px;min-width:0"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">Automation</span><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#232220">6<!-- --> / <!-- -->8</span></div></div><div class="pd-item" style="display:flex;align-items:center;gap:12px;
2721animation:pd-rise 0.7s var(--pd-ease) 240ms both"><div style="width:34px;height:34px;border-radius:10px;background:#E5D0FC;flex:none;display:grid;place-items:center"><div style="width:10px;height:10px;border-radius:3px;border:1.5px solid #232220"></div></div><div style="display:flex;flex-direction:column;gap:4px;min-width:0"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">Agentic systems</span><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#232220">5<!-- --> / <!-- -->7</span></div></div></div></div><div class="pd-hide-m" style="display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid rgba(35,34,32,0.10);animation:pd-rise 0.7s var(--pd-ease) 500ms both"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">Recently earned</span><div style="display:flex;align-items:center;gap:10px;animation:pd-rise 0.7s var(--pd-ease) 560ms both"><span style="width:6px;height:6px;border-radius:50%;background:#D6EE40;flex:none;box-shadow:0 0 0 4px #232220;margin-left:4px;margin-right:4px"></span><span style="font-size:13px;font-weight:500;color:#232220">Briefing an agent safely</span><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633;margin-left:auto;white-space:nowrap">Agentic systems<!-- --> · <!-- -->Today</span></div><div style="display:flex;align-items:center;gap:10px;
2721animation:pd-rise 0.7s var(--pd-ease) 640ms both"><span style="width:6px;height:6px;border-radius:50%;background:#D6EE40;flex:none;box-shadow:0 0 0 4px #232220;margin-left:4px;margin-right:4px"></span><span style="font-size:13px;font-weight:500;color:#232220">Prompt evaluation</span><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633;margin-left:auto;white-space:nowrap">AI fluency<!-- --> · <!-- -->Tue</span></div></div></div></div></div></div></div></div></div></div></div><!--/$--></div></template></code-island></div></div></div><div data-tabs-element="tab-panel" class="tabbed-content_panel"><div class="tabbed-content_content-wrap"><div class="tabbed-content_logo"><div class="tabbed-content_logo-wrap"><div data-wf--media-image--style-aspect-ratio="contain" id="" STYLE="" class="image_wrap w-variant-24d32a7c-a068-72bc-566a-92a3d098582d"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6ab0f13f4f3f1084f656730a_MV_LOGO.svg" loading="lazy" fetchpriority="auto" alt="" class="image_src w-variant-24d32a7c-a068-72bc-566a-92a3d098582d"/></div></div><div cc-number="60" data-wf--text-body--style-size="medium" class="u-body-text w-variant-bfbf01b2-03c6-2841-54d1-41ef2a9ed520 w-richtext u-text-pretty"><p><strong>Impact</strong></p></div></div><header cc-number="10" data-wf--text---highlighted-heading--style-variant="h2" class="heading_wrap w-variant-69689fb8-29eb-16e5-facc-03019b1b57f5 w-richtext"><h2>Measure what <strong>matters</strong>.</h2></header><div cc-number="42" data-wf--text-body--style-size="base" class="u-body-text w-richtext u-text-pretty"><p>Measure AI transformation across your organisation through <strong>earned skills</strong> and <strong>credible ROI</strong>.</p></div></div><div class="tabbed-content_embed-wrap"><div slot="product-demo"><code-island data-loader="{&quot;tag&quot;:&quot;FEDERATION&quot;,&quot;val&quot;:{&quot;clientModuleUrl&quot;:&quot;https://code-components.website-files.com/6abfaa897b456cdc49a62246%2Fmodule%2Fwf-manifest.json&quot;,&quot;moduleId&quot;:&quot;_6abfaa897b456cdc49a62246&quot;,&quot;submoduleId&quot;:&quot;Impact&quot;,&quot;exportPath&quot;:&quot;default&quot;,&quot;serverModuleUrl&quot;:&quot;_&quot;}}" data-props="{&quot;texture&quot;:{&quot;src&quot;:&quot;https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd241aa4ba29084c6b6483_red-green-intense.webp&quot;},&quot;showHeader&quot;:true,&quot;headerTitle&quot;:&quot;Impact · Whole organisation&quot;,&quot;headerMeta&quot;:&quot;FY26 · Verified&quot;,&quot;cardHeight&quot;:488,&quot;mobileCardHeight&quot;:440,&quot;replayOnScroll&quot;:false}" data-slots="[]" data-hydrate="true" data-webflow-context="{&quot;mode&quot;:&quot;publish&quot;,&quot;interactive&quot;:true,&quot;locale&quot;:&quot;en&quot;}" data-interactive="true" style="display:contents"><template shadowrootmode="open"><link rel="stylesheet" type="text/css" href="https://code-components.website-files.com/6abfaa897b456cdc49a62246%2Fmodule%2F9815b7ebe7ff2eef2de2.css"/><div data-root="true" style="display:contents"><!--$--><div role="group" aria-label="Impact" class="pd-root pd-paused" style="--pd-card-h:488px;--pd-card-h-m:440px"><div class="pd-card"><div class="pd-texture" style="background-image:url(&quot;https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd241aa4ba29084c6b6483_red-green-intense.webp&quot;);background-size:260% auto;background-position:100% 0%"></div><div class="pd-panel"><div style="position:absolute;inset:0"><div class="pd-winwrap" style="position:absolute;top:36px;left:28px;right:-60px;bottom:36px;
2721animation:pd-win 0.8s var(--pd-ease) both"><div class="pd-mat" style="position:absolute;inset:-8px;border-radius:16px 0px 0px 16px;background:rgba(255,255,255,0.34);border:1px solid rgba(255,255,255,0.55);box-shadow:inset 0 1px 0 rgba(255,255,255,0.35), 0 30px 80px rgba(0,0,0,0.35);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);box-sizing:border-box"></div><div class="pd-win" style="position:absolute;inset:0;background:#F0ECE1;border-radius:10px 0px 0px 10px;display:flex;flex-direction:row;overflow:hidden;color:#232220"><div class="pd-side" style="width:150px;flex:none;background:#FFFFFF;padding:20px 12px;display:flex;flex-direction:column;gap:18px;box-sizing:border-box"><img src="data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22120.21%2087.35%20702.57%20116.63%22%3E%3Cpath%20d%3D%22M713.64%2C153.17l-9.95-2.1c-6.09-1.4-9.13-4.32-9.13-8.99%2C0-5.6%2C5.5-9.22%2C11.83-9.22%2C8.9%2C0%2C13.47%2C5.72%2C14.4%2C11.67h17.1c-2.93-18.91-16.63-26.15-31.5-26.15-18.03%2C0-29.28%2C12.26-29.28%2C25.45%2C0%2C12.49%2C9.02%2C18.91%2C21.08%2C21.83l9.49%2C2.22c9.49%2C2.22%2C13.7%2C4.55%2C13.7%2C10.39%2C0%2C5.49-4.22%2C11.09-12.3%2C11.09-9.84%2C0-14.05-5.72-14.76-12.84h-17.57c.35%2C15.64%2C12.53%2C27.31%2C31.62%2C27.31s30.09-13.07%2C30.09-26.5c.12-11.56-9.02-20.66-24.83-24.16ZM671.84%2C120.25h-45.2v81.71h16.51v-67.12h28.69v-14.59ZM521.24%2C120.25l-20.85%2C60.7-21.08-60.7h-17.92l30.45%2C81.71h16.98l30.45-81.71h-18.03ZM453.09%2C120.25h-16.51v81.71h16.51v-81.71ZM405.66%2C97.14h-16.51v23.11h-21.31v14.59h21.31v67.12h16.51v-67.12h21.08v-14.59h-21.08v-23.11ZM359.99%2C97.14h-16.51v104.82h16.51v-104.82ZM310.1%2C166.24c0%2C13.42-8.08%2C21.59-19.21%2C21.59s-19.09-8.17-19.09-21.59v-45.99h-16.51v45.64c0%2C22.99%2C13%2C37.94%2C35.25%2C37.94s36.07-15.29%2C36.07-37.94v-45.64h-16.51v45.99ZM240.66%2C120.25h-18.74l-33.14%2C54.28v-54.28h-18.97l-33.02%2C53.93v-53.93h-16.51v81.71h16.63l35.37-58.13v58.13h16.63l35.25-57.55v57.55h16.51v-81.71ZM444.77%2C108.93c5.97%2C0%2C10.77-4.79%2C10.77-10.74s-4.8-10.62-10.77-10.62-10.77%2C4.79-10.77%2C10.62%2C4.8%2C10.74%2C10.77%2C10.74ZM538.81%2C161.22c0%2C24.98%2C17.92%2C42.6%2C40.52%2C42.6%2C20.49%2C0%2C33.61-10.62%2C37.36-27.55h-17.57c-1.29%2C6.19-6.79%2C12.14-18.62%2C12.14-12.76%2C0-22.95-7.35-24.24-21.01h60.89c.23-1.87.35-4.32.35-6.19%2C0-24.4-14.87-42.84-38.53-42.84s-40.17%2C18.44-40.17%2C42.84ZM555.91%2C154.69c2.22-12.72%2C10.54-20.89%2C23.07-20.89s20.26%2C7.94%2C22.02%2C20.89h-45.08ZM744.21%2C161.22c0%2C24.98%2C17.92%2C42.6%2C40.52%2C42.6%2C20.49%2C0%2C33.61-10.62%2C37.36-27.55h-17.57c-1.29%2C6.19-6.79%2C12.14-18.62%2C12.14-12.76%2C0-22.95-7.35-24.24-21.01h60.89c.23-1.87.35-4.32.35-6.19%2C0-24.4-14.87-42.84-38.53-42.84s-40.17%2C18.44-40.17%2C42.84ZM761.3%2C154.69c2.23-12.72%2C10.54-20.89%2C23.07-20.89s20.26%2C7.94%2C22.02%2C20.89h-45.09Z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E" alt="Multiverse" style="height:15px;width:auto;align-self:flex-start;margin-left:8px;display:block"/><div style="display:flex;flex-direction:column;gap:4px;margin-top:20px"><div style="display:flex;align-items:center;gap:8px;padding:8px 8px;border-radius:8px;background:transparent;font-size:13px;font-weight:300;color:#232220;white-space:nowrap"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="#232220" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex:none"><path d="M3 10.5 12 3l9 7.5V20a1 1 0 0 1-1 1h-5v-6h-6v6H4a1 1 0 0 1-1-1z"></path></svg>Overview</div><div style="display:flex;align-items:center;gap:8px;padding:8px 8px;border-radius:8px;background:transparent;font-size:13px;font-weight:300;color:#232220;white-space:nowrap"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="#232220" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex:none"><path d="M3 7V5a2 2 0 0 1 2-2h2"></path><path d="M17 3h2a2 2 0 0 1 2 2v2"></path><path d="M21 17v2a2 2 0 0 1-2 2h-2"></path><path d="M7 21H5a2 2 0 0 1-2-2v-2"></path><path d="M7 12h10"></path></svg>Skills scan</div><div style="display:flex;align-items:center;gap:8px;padding:8px 8px;border-radius:8px;background:transparent;font-size:13px;font-weight:300;color:#232220;white-space:nowrap"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="#232220" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex:none"><path d="M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20"></path></svg>Programmes</div><div style="display:flex;align-items:center;gap:8px;padding:8px 8px;border-radius:8px;background:transparent;font-size:13px;font-weight:300;color:#232220;white-space:nowrap"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="#232220" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex:none"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>Progress</div><div style="display:flex;align-items:center;gap:8px;padding:8px 8px;border-radius:8px;background:#232220;font-size:13px;font-weight:500;color:#FFFFFF;white-space:nowrap"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="#D6EE40" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex:none"><path d="M3 3v18h18"></path><path d="M7 15l4-4 4 4 5-6"></path></svg>Impact<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex:none;margin-left:auto"><path d="m9 6 6 6-6 6"></path></svg></div></div></div><div class="pd-main" style="flex:1;min-width:0;display:flex;flex-direction:column;gap:20px;padding:24px 84px 24px 24px;box-sizing:border-box"><div class="pd-panel-head" style="display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(35,34,32,0.10);flex:none"><span style="display:flex;flex-direction:column;gap:3px"><span style="font-size:15px;font-weight:500;letter-spacing:-0.01em;color:#232220">Impact · Whole organisation</span></span><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633;display:flex;align-items:center;gap:8px;white-space:nowrap"><span style="width:6px;height:6px;border-radius:50%;background:#232220"></span>FY26 · Verified</span></div><div class="pd-panel-body" style="flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;margin-right:-60px"><div class="pd-s6" style="display:flex;flex-direction:column;gap:12px;
2721animation:pd-rise 0.7s var(--pd-ease) 0ms both"><div class="pd-three pd-stats"><div style="background:#FFFFFF;border-radius:10px;padding:14px;box-sizing:border-box;color:#232220;display:flex;flex-direction:column;gap:12px;animation:pd-rise 0.7s var(--pd-ease) 60ms both"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">Skills earned</span><span class="pd-val" style="font-family:var(--pd-font-display);font-weight:300;font-size:34px;line-height:0.9;letter-spacing:-0.02em;white-space:nowrap;display:flex;align-items:baseline;color:#232220">1,240</span><div><span style="font-family:var(--pd-font-mono);font-size:10px;letter-spacing:0.06em;text-transform:uppercase;color:#232220;padding:4px 8px;border-radius:999px;background:#F0ECE1;white-space:nowrap">+18% QoQ</span></div></div><div style="background:#FFFFFF;border-radius:10px;padding:14px;box-sizing:border-box;color:#232220;display:flex;flex-direction:column;gap:12px;animation:pd-rise 0.7s var(--pd-ease) 140ms both"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">Hours returned</span><span class="pd-val" style="font-family:var(--pd-font-display);font-weight:300;font-size:34px;line-height:0.9;letter-spacing:-0.02em;white-space:nowrap;display:flex;align-items:baseline;color:#232220">600<span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633;margin-left:6px">a week</span></span><div><span style="font-family:var(--pd-font-mono);font-size:10px;letter-spacing:0.06em;text-transform:uppercase;color:#232220;padding:4px 8px;border-radius:999px;background:#F0ECE1;white-space:nowrap">+12% QoQ</span></div></div><div style="background:#FFFFFF;border-radius:10px;padding:14px;box-sizing:border-box;color:#232220;display:flex;flex-direction:column;gap:12px;
2721animation:pd-rise 0.7s var(--pd-ease) 220ms both"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">ROI</span><span class="pd-val" style="font-family:var(--pd-font-display);font-weight:300;font-size:34px;line-height:0.9;letter-spacing:-0.02em;white-space:nowrap;display:flex;align-items:baseline;color:#232220">4.2×</span><div><span style="font-family:var(--pd-font-mono);font-size:10px;letter-spacing:0.06em;text-transform:uppercase;color:#232220;padding:4px 8px;border-radius:999px;background:#F0ECE1;white-space:nowrap">Verified</span></div></div></div><div class="pd-chart-tile" style="background:#FFFFFF;border-radius:10px;padding:14px;box-sizing:border-box;color:#232220;display:flex;flex-direction:column;gap:14px;animation:pd-rise 0.7s var(--pd-ease) 320ms both"><div style="display:flex;justify-content:space-between;gap:12px"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">Skills earned across the organisation</span><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633">12 months</span></div><div class="pd-chart" style="display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:10px;align-items:end;height:104px"><div style="display:flex;flex-direction:column;gap:8px;height:100%;justify-content:flex-end"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#232220;text-align:center;animation:pd-count 0.6s var(--pd-ease) 900ms both">223</span><div style="height:18%;border-radius:10px 10px 4px 4px;background:#E5D0FC;transform-origin:bottom;animation:pd-grow-y 0.9s var(--pd-ease) 420ms both"></div><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633;text-align:center">Q1</span></div><div style="display:flex;flex-direction:column;gap:8px;height:100%;justify-content:flex-end"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#232220;text-align:center;animation:pd-count 0.6s var(--pd-ease) 1010ms both">446</span><div style="height:36%;border-radius:10px 10px 4px 4px;background:#CAA2F8;transform-origin:bottom;animation:pd-grow-y 0.9s var(--pd-ease) 530ms both"></div><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633;text-align:center">Q2</span></div><div style="display:flex;flex-direction:column;gap:8px;height:100%;justify-content:flex-end"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#232220;text-align:center;animation:pd-count 0.6s var(--pd-ease) 1120ms both">756</span><div style="height:61%;border-radius:10px 10px 4px 4px;background:#9A50F2;transform-origin:bottom;animation:pd-grow-y 0.9s var(--pd-ease) 640ms both"></div><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633;text-align:center">Q3</span></div><div style="display:flex;flex-direction:column;gap:8px;height:100%;justify-content:flex-end"><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#232220;text-align:center;animation:pd-count 0.6s var(--pd-ease) 1230ms both">1240</span><div style="height:100%;border-radius:10px 10px 4px 4px;background:#7B16EE;transform-origin:bottom;animation:pd-grow-y 0.9s var(--pd-ease) 750ms both"></div><span style="font-family:var(--pd-font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#383633;text-align:center">Q4</span></div></div></div></div></div></div></div></div></div></div></div></div><!--/$--></div></template></code-island></div></div></div></div></div><div data-tabs-element="link-list" slot="tab-link" class="tabbed-content_link-list"><div data-tabs-element="link-list" slot="tab-link" class="tabbed-content_link-list-inner"><button data-tabs-element="tab-link" id="" class="tabbed-content_link"><div template="heading" cc-number="" class="u-text-style-eyebrow">Skills scan</div></button><button data-tabs-element="tab-link" id="" class="tabbed-content_link"><div template="heading" cc-number="" class="u-text-style-eyebrow">Programme matcher</div></button><button data-tabs-element="tab-link" id="" class="tabbed-content_link"><div template="heading" cc-number="" class="u-text-style-eyebrow">Coaching</div></button><button data-tabs-element="tab-link" id="" class="tabbed-content_link"><div template="heading" cc-number="" class="u-text-style-eyebrow">Atlas</div></button><button data-tabs-element="tab-link" id="" class="tabbed-content_link"><div template="heading" cc-number="" class="u-text-style-eyebrow">Progress</div></button><button data-tabs-element="tab-link" id="" class="tabbed-content_link"><div template="heading" cc-number="" class="u-text-style-eyebrow">Impact</div></button></div></div></div></div></div><div cc-design-mode="false" data-wf--structure-section-padding--style-size="xlarge" class="section-padding_wrap w-variant-aba6ddbf-fa7f-fd47-276b-0d10beff318c"></div></div></section></div></div><div id="hero-split-image"><section data-wf--section-sticky-text-media--style-layout-order="standard" class="new-text-media_wrap u-section"><div cc-design-mode="false" data-wf--structure-section-padding--style-size="xlarge" class="section-padding_wrap w-variant-aba6ddbf-fa7f-fd47-276b-0d10beff318c"></div><div class="u-container"><div class="new-text-media_layout"><div id="w-node-f115f477-a7cd-65cb-c8ec-f8092cdca0de-2cdca0da" class="new-text-media_content"><div class="new-text-media_lockup"><div data-wf--text-eyebrow--variant="base" class="eyebrow_wrap"><div class="eyebrow_svg w-embed">
2721<svg width="100%" height="100%" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
2722<path d="M4 0C6.20918 0 7.99991 1.79084 8 4C8 6.20924 6.20924 8 4 8C1.79087 7.99987 0 6.20916 0 4C9.50842e-05 1.79092 1.79093 0.000127419 4 0ZM2.15918 2.15918V5.8418H5.8418V2.15918H2.15918Z" fill="currentColor"/>
2723</svg></div><p class="eyebrow_text">The adoption gap</p></div></div><div class="new-text-media_sticky-wrap"><div class="new-text-media_sticky"><header data-split="lines" cc-number="14" data-wf--text---highlighted-heading--style-variant="h2" class="heading_wrap w-variant-69689fb8-29eb-16e5-facc-03019b1b57f5 w-richtext"><h2>You bought AI. </h2><h2>The <strong>productivity never showed up.</strong></h2></header><p cc-number="38" class="new-text-media_text">Licences sit unused, pilots stall, gains stay theoretical. The bottleneck isn’t the technology - it’s that nobody equipped your people to use it.</p></div></div></div><div class="new-text-media_style custom-ar-1"><div class="u-slot new-text-media_slot"><div data-video-src="https://design-assets.multiverse.io/assets/marketing-site/adoption-gap.2fc99ec9.mp4" class="bg-video_wrap"><div class="bg-video_embed w-embed w-script">
2723<script>
2724(() => {
2725  const wrap = document.currentScript.closest('[data-video-src]');
2726  if (!wrap) return;
2727
2728  const desktopSrc = wrap.getAttribute('data-video-src');
2729  if (!desktopSrc) return; // image fallback if no URL
2730  const mobileSrc = wrap.getAttribute('data-video-src-mobile');
2731  const isHero = wrap.hasAttribute('data-video-hero');
2732
2733  const reduceMotion = matchMedia('(prefers-reduced-motion: reduce)').matches;
2734  const saveData = navigator.connection?.saveData;
2735  if (reduceMotion || saveData) {
2736    // Poster only; hide the toggle since there's nothing to control
2737    const hideToggle = () => wrap.querySelector('[data-video="toggle"]')?.setAttribute('hidden', '');
2738    document.readyState === 'loading'
2739      ? document.addEventListener('DOMContentLoaded', hideToggle, { once: true })
2740      : hideToggle();
2741    return;
2742  }
2743
2744  const video = document.createElement('video');
2745  video.setAttribute('data-loop-video', '');
2746  video.defaultMuted = true;
2747  video.muted = true;
2748  video.setAttribute('muted', '');
2749  video.playsInline = true;
2750  video.setAttribute('webkit-playsinline', '');
2751  video.loop = true;
2752  video.preload = 'none';   // nothing downloads until load() runs
2753  video.setAttribute('aria-hidden', 'true');
2754  video.tabIndex = -1;
2755  video.style.cssText = 'position:absolute;inset:0;width:100%;height:100%;object-fit:cover;';
2756  wrap.appendChild(video);
2757
2758  let loaded = false;
2759  let inView = false;
2760  let userPaused = false;
2761
2762  const load = () => {
2763    if (loaded) return;
2764    loaded = true;
2765    const useMobile = mobileSrc && matchMedia('(max-width: 767px)').matches;
2766    video.src = useMobile ? mobileSrc : desktopSrc;
2767    video.preload = 'auto';
2768  };
2769
2770  const tryPlay = () => {
2771    if (loaded && inView && !userPaused) video.play().catch(() => {});
2772  };
2773
2774  video.addEventListener('playing', () => {
2775    wrap.querySelector('[data-video="poster"]')?.classList.add('is-video-ready');
2776  }, { once: true });
2777
2778  // Hero: wait until the page has loaded so the poster wins LCP.
2779  // Everything else: start loading when it's within 300px of the viewport.
2780  if (isHero) {
2781    const start = () => { load(); tryPlay(); };
2782    document.readyState === 'complete' ? start() : window.addEventListener('load', start, { once: true });
2783  } else {
2784    const loadObserver = new IntersectionObserver((entries) => {
2785      if (entries.some(e => e.isIntersecting)) {
2786        load();
2787        tryPlay();
2788        loadObserver.disconnect();
2789      }
2790    }, { rootMargin: '300px 0px' });
2791    loadObserver.observe(wrap);
2792  }
2793
2794  // Play/pause by visibility — this video only
2795  new IntersectionObserver(([entry]) => {
2796    inView = entry.isIntersecting;
2797    inView ? tryPlay() : video.pause();
2798  }, { threshold: 0.25 }).observe(wrap);
2799
2800  const wireToggle = () => {
2801    const toggle = wrap.querySelector('[data-video="toggle"]');
2802    if (!toggle) return;
2803    const playIcon = toggle.querySelector('[data-video="icon-play"]');
2804    const pauseIcon = toggle.querySelector('[data-video="icon-pause"]');
2805
2806    toggle.addEventListener('click', () => {
2807      if (video.paused) {
2808        userPaused = false;
2809        load();
2810        video.play().catch(() => {});
2811        toggle.setAttribute('aria-label', 'Pause background video');
2812        playIcon?.classList.add('u-hide-button');
2813        pauseIcon?.classList.remove('u-hide-button');
2814      } else {
2815        userPaused = true;
2816        video.pause();
2817        toggle.setAttribute('aria-label', 'Play background video');
2818        pauseIcon?.classList.add('u-hide-button');
2819        playIcon?.classList.remove('u-hide-button');
2820      }
2821    });
2822  };
2823
2824  document.readyState === 'loading'
2825    ? document.addEventListener('DOMContentLoaded', wireToggle, { once: true })
2826    : wireToggle();
2827})();
2828</script>
2828</div><img fetchpriority="high" data-video="poster" alt="" src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe291d2ce842efff606bd1_adoption-gap.avif" loading="eager" sizes="(max-width: 1440px) 100vw, 1440px" srcset="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe291d2ce842efff606bd1_adoption-gap-p-500.avif 500w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe291d2ce842efff606bd1_adoption-gap-p-800.avif 800w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe291d2ce842efff606bd1_adoption-gap-p-1080.avif 1080w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe291d2ce842efff606bd1_adoption-gap.avif 1280w" class="bg-video_poster"/></div></div></div></div></div><div cc-design-mode="false" data-wf--structure-section-padding--style-size="xlarge" class="section-padding_wrap w-variant-aba6ddbf-fa7f-fd47-276b-0d10beff318c"></div></section><section data-wf--section-sticky-text-media--style-layout-order="reverse" class="new-text-media_wrap u-section"><div cc-design-mode="false" data-wf--structure-section-padding--style-size="xlarge" class="section-padding_wrap w-variant-aba6ddbf-fa7f-fd47-276b-0d10beff318c"></div><div class="u-container"><div class="new-text-media_layout"><div id="w-node-f115f477-a7cd-65cb-c8ec-f8092cdca0de-2cdca0da" class="new-text-media_content w-variant-0665b4e5-65a8-f6dc-82d8-adabd795bdf1"><div class="new-text-media_lockup"><div data-wf--text-eyebrow--variant="base" class="eyebrow_wrap"><div class="eyebrow_svg w-embed"><svg width="100%" height="100%" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
2829<path d="M4 0C6.20918 0 7.99991 1.79084 8 4C8 6.20924 6.20924 8 4 8C1.79087 7.99987 0 6.20916 0 4C9.50842e-05 1.79092 1.79093 0.000127419 4 0ZM2.15918 2.15918V5.8418H5.8418V2.15918H2.15918Z" fill="currentColor"/>
2830</svg></div><p class="eyebrow_text">What we do</p></div></div><div class="new-text-media_sticky-wrap"><div class="new-text-media_sticky"><header data-split="lines" cc-number="15" data-wf--text---highlighted-heading--style-variant="h2" class="heading_wrap w-variant-69689fb8-29eb-16e5-facc-03019b1b57f5 w-richtext"><h2>The layer where AI ambition <strong>becomes AI adoption</strong></h2></header><p cc-number="37" class="new-text-media_text">Multiverse sits between tools and teams: embedding AI capability into real workflows. Spots skills gaps in real time. Delivers expert coaching at the moments that matter.</p></div></div></div><div class="new-text-media_style w-variant-0665b4e5-65a8-f6dc-82d8-adabd795bdf1"><div class="u-slot new-text-media_slot"><div data-video-src="https://design-assets.multiverse.io/assets/marketing-site/what-we-do.89cb035b.mp4" class="bg-video_wrap"><div class="bg-video_embed w-embed w-script">
2830<script>
2831(() => {
2832  const wrap = document.currentScript.closest('[data-video-src]');
2833  if (!wrap) return;
2834
2835  const desktopSrc = wrap.getAttribute('data-video-src');
2836  if (!desktopSrc) return; // image fallback if no URL
2837  const mobileSrc = wrap.getAttribute('data-video-src-mobile');
2838  const isHero = wrap.hasAttribute('data-video-hero');
2839
2840  const reduceMotion = matchMedia('(prefers-reduced-motion: reduce)').matches;
2841  const saveData = navigator.connection?.saveData;
2842  if (reduceMotion || saveData) {
2843    // Poster only; hide the toggle since there's nothing to control
2844    const hideToggle = () => wrap.querySelector('[data-video="toggle"]')?.setAttribute('hidden', '');
2845    document.readyState === 'loading'
2846      ? document.addEventListener('DOMContentLoaded', hideToggle, { once: true })
2847      : hideToggle();
2848    return;
2849  }
2850
2851  const video = document.createElement('video');
2852  video.setAttribute('data-loop-video', '');
2853  video.defaultMuted = true;
2854  video.muted = true;
2855  video.setAttribute('muted', '');
2856  video.playsInline = true;
2857  video.setAttribute('webkit-playsinline', '');
2858  video.loop = true;
2859  video.preload = 'none';   // nothing downloads until load() runs
2860  video.setAttribute('aria-hidden', 'true');
2861  video.tabIndex = -1;
2862  video.style.cssText = 'position:absolute;inset:0;width:100%;height:100%;object-fit:cover;';
2863  wrap.appendChild(video);
2864
2865  let loaded = false;
2866  let inView = false;
2867  let userPaused = false;
2868
2869  const load = () => {
2870    if (loaded) return;
2871    loaded = true;
2872    const useMobile = mobileSrc && matchMedia('(max-width: 767px)').matches;
2873    video.src = useMobile ? mobileSrc : desktopSrc;
2874    video.preload = 'auto';
2875  };
2876
2877  const tryPlay = () => {
2878    if (loaded && inView && !userPaused) video.play().catch(() => {});
2879  };
2880
2881  video.addEventListener('playing', () => {
2882    wrap.querySelector('[data-video="poster"]')?.classList.add('is-video-ready');
2883  }, { once: true });
2884
2885  // Hero: wait until the page has loaded so the poster wins LCP.
2886  // Everything else: start loading when it's within 300px of the viewport.
2887  if (isHero) {
2888    const start = () => { load(); tryPlay(); };
2889    document.readyState === 'complete' ? start() : window.addEventListener('load', start, { once: true });
2890  } else {
2891    const loadObserver = new IntersectionObserver((entries) => {
2892      if (entries.some(e => e.isIntersecting)) {
2893        load();
2894        tryPlay();
2895        loadObserver.disconnect();
2896      }
2897    }, { rootMargin: '300px 0px' });
2898    loadObserver.observe(wrap);
2899  }
2900
2901  // Play/pause by visibility — this video only
2902  new IntersectionObserver(([entry]) => {
2903    inView = entry.isIntersecting;
2904    inView ? tryPlay() : video.pause();
2905  }, { threshold: 0.25 }).observe(wrap);
2906
2907  const wireToggle = () => {
2908    const toggle = wrap.querySelector('[data-video="toggle"]');
2909    if (!toggle) return;
2910    const playIcon = toggle.querySelector('[data-video="icon-play"]');
2911    const pauseIcon = toggle.querySelector('[data-video="icon-pause"]');
2912
2913    toggle.addEventListener('click', () => {
2914      if (video.paused) {
2915        userPaused = false;
2916        load();
2917        video.play().catch(() => {});
2918        toggle.setAttribute('aria-label', 'Pause background video');
2919        playIcon?.classList.add('u-hide-button');
2920        pauseIcon?.classList.remove('u-hide-button');
2921      } else {
2922        userPaused = true;
2923        video.pause();
2924        toggle.setAttribute('aria-label', 'Play background video');
2925        pauseIcon?.classList.add('u-hide-button');
2926        playIcon?.classList.remove('u-hide-button');
2927      }
2928    });
2929  };
2930
2931  document.readyState === 'loading'
2932    ? document.addEventListener('DOMContentLoaded', wireToggle, { once: true })
2933    : wireToggle();
2934})();
2935</script>
2935</div><img fetchpriority="high" data-video="poster" alt="" src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe29673c361831f4d9319f_what-we-do.avif" loading="eager" sizes="(max-width: 1440px) 100vw, 1440px" srcset="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe29673c361831f4d9319f_what-we-do-p-500.avif 500w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe29673c361831f4d9319f_what-we-do-p-800.avif 800w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe29673c361831f4d9319f_what-we-do-p-1080.avif 1080w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe29673c361831f4d9319f_what-we-do-p-1600.avif 1600w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe29673c361831f4d9319f_what-we-do.avif 1920w" class="bg-video_poster"/></div></div></div></div></div><div cc-design-mode="false" data-wf--structure-section-padding--style-size="xlarge" class="section-padding_wrap w-variant-aba6ddbf-fa7f-fd47-276b-0d10beff318c"></div></section></div><div data-wf--theme-wrapper--style-theme="dark" class="theme-wrapper_wrap w-variant-0aaa4c6e-f6eb-3b6d-83c9-40f12303dd85"><div slot="sections" class="u-slot"><section class="u-section"><div class="w-layout-blockcontainer u-container is-half-full is-flex-col w-container"><div cc-design-mode="false" data-wf--structure-section-padding--style-size="xlarge" class="section-padding_wrap w-variant-aba6ddbf-fa7f-fd47-276b-0d10beff318c"></div><div class="featured-slider_breakout"><code-island data-loader="{&quot;tag&quot;:&quot;FEDERATION&quot;,&quot;val&quot;:{&quot;clientModuleUrl&quot;:&quot;https://code-components.website-files.com/6abfaa897b456cdc49a62246%2Fmodule%2Fwf-manifest.json&quot;,&quot;moduleId&quot;:&quot;_6abfaa897b456cdc49a62246&quot;,&quot;submoduleId&quot;:&quot;FeaturedSlider&quot;,&quot;exportPath&quot;:&quot;default&quot;,&quot;serverModuleUrl&quot;:&quot;_&quot;}}" data-props="{&quot;label&quot;:&quot;Featured&quot;,&quot;loop&quot;:true,&quot;autoplay&quot;:false,&quot;autoplayDelay&quot;:6000,&quot;showArrows&quot;:true,&quot;showPagination&quot;:true}" data-slots="[&quot;children&quot;]" data-hydrate="true" data-webflow-context="{&quot;mode&quot;:&quot;publish&quot;,&quot;interactive&quot;:true,&quot;locale&quot;:&quot;en&quot;}" data-interactive="true" style="display:contents"><template shadowrootmode="open"><link rel="stylesheet" type="text/css" href="https://code-components.website-files.com/6abfaa897b456cdc49a62246%2Fmodule%2Fce41c8a61a6af28cd35d.css"/><div data-root="true" style="display:contents"><!--$--><div data-slider="true" data-slider-variant="featured" data-arrow-style="cursor" class="mb-slider mb-featured-slider" role="region" aria-roledescription="carousel" aria-label="Featured"><div class="mb-slider-viewport"><div data-slider-track="true" class="mb-slider-track"><slot name="children"></slot></div></div><div aria-live="polite" class="mb-slider-visually-hidden">Slide <!-- -->1<!-- --> of <!-- -->0</div></div><!--/$--></div></template><div slot="children"><div data-wf--element-featured-slide--variant="base" class="featured-slide_wrap"><div data-slide-content="" class="featured-slide_content-wrap"><div data-wf--text-heading-lockup--style-alignment="basic---left" class="heading-lockup_wrap"><div class="heading-lockup_heading"><div class="lockup-heading_layout"><header cc-number="10" data-wf--text---highlighted-heading--style-variant="h2" class="heading_wrap w-variant-69689fb8-29eb-16e5-facc-03019b1b57f5 w-richtext"><h1>Build the workforce <strong>of the future</strong><strong></strong></h1></header></div></div><div class="heading-lockup_body"><div cc-number="40" data-wf--text-body--style-size="base" class="u-body-text w-richtext u-text-pretty"><p>Skills are cheaper to build than buy. Upskill the people you already have - at speed, at scale, and funded by the levy - so every role becomes an AI-enabled role.</p></div></div><div id="w-node-_0c50c06d-3162-d373-1610-18e275f6633f-60470592" class="lockup-button_layout"><div id="" class="u-button-group"><div slot="button" class="u-button-slot"><a data-wf--element-button--style-style="link" href="/about/our-mission" class="button_wrap w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194 w-inline-block"><div class="button_wrap-inner w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194"><div class="u-weight-medium w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194">About Us</div><div class="button_wrap-line w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194"></div></div></a></div></div></div></div></div>
2935<div data-slide-media="" id="w-node-fe07e569-95de-a47d-5485-a7d577af7ae8-77af7ada" class="featured-slide_image-wrap"><img loading="lazy" src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd300b7a507be0726c69e3_04-build-workforce-future.webp" alt="" class="featured-slide_image"/></div></div><div data-wf--element-featured-slide--variant="base" class="featured-slide_wrap"><div data-slide-content="" class="featured-slide_content-wrap"><div data-wf--text-heading-lockup--style-alignment="basic---left" class="heading-lockup_wrap"><div class="heading-lockup_heading"><div class="lockup-heading_layout"><header cc-number="15" data-wf--text---highlighted-heading--style-variant="h2" class="heading_wrap w-variant-69689fb8-29eb-16e5-facc-03019b1b57f5 w-richtext"><h1><strong>Unlock</strong> productivity<strong></strong><strong></strong></h1></header></div></div><div class="heading-lockup_body"><div cc-number="40" data-wf--text-body--style-size="base" class="u-body-text w-richtext u-text-pretty"><p>Your workforce is sitting on hours of untapped capacity. We find the gaps holding your people back and close them — turning saved time into measurable, compounding productivity gains.</p></div></div><div id="w-node-_0c50c06d-3162-d373-1610-18e275f6633f-60470592" class="lockup-button_layout"><div id="" class="u-button-group"><div slot="button" class="u-button-slot"><a data-wf--element-button--style-style="link" href="/about/our-mission" class="button_wrap w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194 w-inline-block"><div class="button_wrap-inner w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194"><div class="u-weight-medium w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194">About Us</div><div class="button_wrap-line w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194"></div></div></a></div></div></div></div></div><div data-slide-media="" id="w-node-fe07e569-95de-a47d-5485-a7d577af7ae8-77af7ada" class="featured-slide_image-wrap"><div data-video-src="https://design-assets.multiverse.io/assets/marketing-site/unlock-productivity.d11eaba4.mp4" class="bg-video_wrap"><div class="bg-video_embed w-embed w-script">
2935<script>
2936(() => {
2937  const wrap = document.currentScript.closest('[data-video-src]');
2938  if (!wrap) return;
2939
2940  const desktopSrc = wrap.getAttribute('data-video-src');
2941  if (!desktopSrc) return; // image fallback if no URL
2942  const mobileSrc = wrap.getAttribute('data-video-src-mobile');
2943  const isHero = wrap.hasAttribute('data-video-hero');
2944
2945  const reduceMotion = matchMedia('(prefers-reduced-motion: reduce)').matches;
2946  const saveData = navigator.connection?.saveData;
2947  if (reduceMotion || saveData) {
2948    // Poster only; hide the toggle since there's nothing to control
2949    const hideToggle = () => wrap.querySelector('[data-video="toggle"]')?.setAttribute('hidden', '');
2950    document.readyState === 'loading'
2951      ? document.addEventListener('DOMContentLoaded', hideToggle, { once: true })
2952      : hideToggle();
2953    return;
2954  }
2955
2956  const video = document.createElement('video');
2957  video.setAttribute('data-loop-video', '');
2958  video.defaultMuted = true;
2959  video.muted = true;
2960  video.setAttribute('muted', '');
2961  video.playsInline = true;
2962  video.setAttribute('webkit-playsinline', '');
2963  video.loop = true;
2964  video.preload = 'none';   // nothing downloads until load() runs
2965  video.setAttribute('aria-hidden', 'true');
2966  video.tabIndex = -1;
2967  video.style.cssText = 'position:absolute;inset:0;width:100%;height:100%;object-fit:cover;';
2968  wrap.appendChild(video);
2969
2970  let loaded = false;
2971  let inView = false;
2972  let userPaused = false;
2973
2974  const load = () => {
2975    if (loaded) return;
2976    loaded = true;
2977    const useMobile = mobileSrc && matchMedia('(max-width: 767px)').matches;
2978    video.src = useMobile ? mobileSrc : desktopSrc;
2979    video.preload = 'auto';
2980  };
2981
2982  const tryPlay = () => {
2983    if (loaded && inView && !userPaused) video.play().catch(() => {});
2984  };
2985
2986  video.addEventListener('playing', () => {
2987    wrap.querySelector('[data-video="poster"]')?.classList.add('is-video-ready');
2988  }, { once: true });
2989
2990  // Hero: wait until the page has loaded so the poster wins LCP.
2991  // Everything else: start loading when it's within 300px of the viewport.
2992  if (isHero) {
2993    const start = () => { load(); tryPlay(); };
2994    document.readyState === 'complete' ? start() : window.addEventListener('load', start, { once: true });
2995  } else {
2996    const loadObserver = new IntersectionObserver((entries) => {
2997      if (entries.some(e => e.isIntersecting)) {
2998        load();
2999        tryPlay();
3000        loadObserver.disconnect();
3001      }
3002    }, { rootMargin: '300px 0px' });
3003    loadObserver.observe(wrap);
3004  }
3005
3006  // Play/pause by visibility — this video only
3007  new IntersectionObserver(([entry]) => {
3008    inView = entry.isIntersecting;
3009    inView ? tryPlay() : video.pause();
3010  }, { threshold: 0.25 }).observe(wrap);
3011
3012  const wireToggle = () => {
3013    const toggle = wrap.querySelector('[data-video="toggle"]');
3014    if (!toggle) return;
3015    const playIcon = toggle.querySelector('[data-video="icon-play"]');
3016    const pauseIcon = toggle.querySelector('[data-video="icon-pause"]');
3017
3018    toggle.addEventListener('click', () => {
3019      if (video.paused) {
3020        userPaused = false;
3021        load();
3022        video.play().catch(() => {});
3023        toggle.setAttribute('aria-label', 'Pause background video');
3024        playIcon?.classList.add('u-hide-button');
3025        pauseIcon?.classList.remove('u-hide-button');
3026      } else {
3027        userPaused = true;
3028        video.pause();
3029        toggle.setAttribute('aria-label', 'Play background video');
3030        pauseIcon?.classList.add('u-hide-button');
3031        playIcon?.classList.remove('u-hide-button');
3032      }
3033    });
3034  };
3035
3036  document.readyState === 'loading'
3037    ? document.addEventListener('DOMContentLoaded', wireToggle, { once: true })
3038    : wireToggle();
3039})();
3040</script>
3040</div><img fetchpriority="high" data-video="poster" alt="" src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe2ff837948f4c2dbd1577_unlock-productivity.avif" loading="eager" sizes="(max-width: 1440px) 100vw, 1440px" srcset="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe2ff837948f4c2dbd1577_unlock-productivity-p-500.avif 500w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe2ff837948f4c2dbd1577_unlock-productivity-p-800.avif 800w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe2ff837948f4c2dbd1577_unlock-productivity-p-1080.avif 1080w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe2ff837948f4c2dbd1577_unlock-productivity.avif 1194w" class="bg-video_poster"/></div></div></div><div data-wf--element-featured-slide--variant="base" class="featured-slide_wrap"><div data-slide-content="" class="featured-slide_content-wrap"><div data-wf--text-heading-lockup--style-alignment="basic---left" class="heading-lockup_wrap"><div class="heading-lockup_heading"><div class="lockup-heading_layout"><header cc-number="15" data-wf--text---highlighted-heading--style-variant="h2" class="heading_wrap w-variant-69689fb8-29eb-16e5-facc-03019b1b57f5 w-richtext"><h1>Deliver<strong> </strong>outcomes<strong> with AI</strong><strong></strong><strong></strong></h1></header></div></div><div class="heading-lockup_body"><div cc-number="40" data-wf--text-body--style-size="base" class="u-body-text w-richtext u-text-pretty"><p>Stop measuring AI by licences bought. Start measuring it by outcomes delivered: adoption you can see, ROI you can report, and a competitive edge your board can bank.</p></div></div><div id="w-node-_0c50c06d-3162-d373-1610-18e275f6633f-60470592" class="lockup-button_layout"><div id="" class="u-button-group"><div slot="button" class="u-button-slot"><a data-wf--element-button--style-style="link" href="/about/our-mission" class="button_wrap w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194 w-inline-block"><div class="button_wrap-inner w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194"><div class="u-weight-medium w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194">About Us</div><div class="button_wrap-line w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194"></div></div></a></div></div></div></div></div><div data-slide-media="" id="w-node-fe07e569-95de-a47d-5485-a7d577af7ae8-77af7ada" class="featured-slide_image-wrap"><div data-video-src="https://design-assets.multiverse.io/assets/marketing-site/deliver-outcomes.6323a6ba.mp4" class="bg-video_wrap"><div class="bg-video_embed w-embed w-script">
3040<script>
3041(() => {
3042  const wrap = document.currentScript.closest('[data-video-src]');
3043  if (!wrap) return;
3044
3045  const desktopSrc = wrap.getAttribute('data-video-src');
3046  if (!desktopSrc) return; // image fallback if no URL
3047  const mobileSrc = wrap.getAttribute('data-video-src-mobile');
3048  const isHero = wrap.hasAttribute('data-video-hero');
3049
3050  const reduceMotion = matchMedia('(prefers-reduced-motion: reduce)').matches;
3051  const saveData = navigator.connection?.saveData;
3052  if (reduceMotion || saveData) {
3053    // Poster only; hide the toggle since there's nothing to control
3054    const hideToggle = () => wrap.querySelector('[data-video="toggle"]')?.setAttribute('hidden', '');
3055    document.readyState === 'loading'
3056      ? document.addEventListener('DOMContentLoaded', hideToggle, { once: true })
3057      : hideToggle();
3058    return;
3059  }
3060
3061  const video = document.createElement('video');
3062  video.setAttribute('data-loop-video', '');
3063  video.defaultMuted = true;
3064  video.muted = true;
3065  video.setAttribute('muted', '');
3066  video.playsInline = true;
3067  video.setAttribute('webkit-playsinline', '');
3068  video.loop = true;
3069  video.preload = 'none';   // nothing downloads until load() runs
3070  video.setAttribute('aria-hidden', 'true');
3071  video.tabIndex = -1;
3072  video.style.cssText = 'position:absolute;inset:0;width:100%;height:100%;object-fit:cover;';
3073  wrap.appendChild(video);
3074
3075  let loaded = false;
3076  let inView = false;
3077  let userPaused = false;
3078
3079  const load = () => {
3080    if (loaded) return;
3081    loaded = true;
3082    const useMobile = mobileSrc && matchMedia('(max-width: 767px)').matches;
3083    video.src = useMobile ? mobileSrc : desktopSrc;
3084    video.preload = 'auto';
3085  };
3086
3087  const tryPlay = () => {
3088    if (loaded && inView && !userPaused) video.play().catch(() => {});
3089  };
3090
3091  video.addEventListener('playing', () => {
3092    wrap.querySelector('[data-video="poster"]')?.classList.add('is-video-ready');
3093  }, { once: true });
3094
3095  // Hero: wait until the page has loaded so the poster wins LCP.
3096  // Everything else: start loading when it's within 300px of the viewport.
3097  if (isHero) {
3098    const start = () => { load(); tryPlay(); };
3099    document.readyState === 'complete' ? start() : window.addEventListener('load', start, { once: true });
3100  } else {
3101    const loadObserver = new IntersectionObserver((entries) => {
3102      if (entries.some(e => e.isIntersecting)) {
3103        load();
3104        tryPlay();
3105        loadObserver.disconnect();
3106      }
3107    }, { rootMargin: '300px 0px' });
3108    loadObserver.observe(wrap);
3109  }
3110
3111  // Play/pause by visibility — this video only
3112  new IntersectionObserver(([entry]) => {
3113    inView = entry.isIntersecting;
3114    inView ? tryPlay() : video.pause();
3115  }, { threshold: 0.25 }).observe(wrap);
3116
3117  const wireToggle = () => {
3118    const toggle = wrap.querySelector('[data-video="toggle"]');
3119    if (!toggle) return;
3120    const playIcon = toggle.querySelector('[data-video="icon-play"]');
3121    const pauseIcon = toggle.querySelector('[data-video="icon-pause"]');
3122
3123    toggle.addEventListener('click', () => {
3124      if (video.paused) {
3125        userPaused = false;
3126        load();
3127        video.play().catch(() => {});
3128        toggle.setAttribute('aria-label', 'Pause background video');
3129        playIcon?.classList.add('u-hide-button');
3130        pauseIcon?.classList.remove('u-hide-button');
3131      } else {
3132        userPaused = true;
3133        video.pause();
3134        toggle.setAttribute('aria-label', 'Play background video');
3135        pauseIcon?.classList.add('u-hide-button');
3136        playIcon?.classList.remove('u-hide-button');
3137      }
3138    });
3139  };
3140
3141  document.readyState === 'loading'
3142    ? document.addEventListener('DOMContentLoaded', wireToggle, { once: true })
3143    : wireToggle();
3144})();
3145</script>
3145</div><img fetchpriority="high" data-video="poster" alt="" src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe2ff8445800c27752d49b_deliver-outcomes.avif" loading="eager" sizes="(max-width: 1440px) 100vw, 1440px" srcset="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe2ff8445800c27752d49b_deliver-outcomes-p-500.avif 500w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe2ff8445800c27752d49b_deliver-outcomes-p-800.avif 800w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe2ff8445800c27752d49b_deliver-outcomes-p-1080.avif 1080w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe2ff8445800c27752d49b_deliver-outcomes.avif 1194w" class="bg-video_poster"/></div></div></div></div></code-island></div><div cc-design-mode="false" data-wf--structure-section-padding--style-size="xlarge" class="section-padding_wrap w-variant-aba6ddbf-fa7f-fd47-276b-0d10beff318c"></div></div></section></div></div><div data-wf--theme-wrapper--style-theme="parchment-muted" class="theme-wrapper_wrap w-variant-776b36cb-93bc-e4ae-c2d4-5a0bc73077d1"><div slot="sections" class="u-slot"><section class="u-section"><div class="w-layout-blockcontainer u-container w-container"><code-island data-loader="{&quot;tag&quot;:&quot;FEDERATION&quot;,&quot;val&quot;:{&quot;clientModuleUrl&quot;:&quot;https://code-components.website-files.com/6abfaa897b456cdc49a62246%2Fmodule%2Fwf-manifest.json&quot;,&quot;moduleId&quot;:&quot;_6abfaa897b456cdc49a62246&quot;,&quot;submoduleId&quot;:&quot;ContentSlider&quot;,&quot;exportPath&quot;:&quot;default&quot;,&quot;serverModuleUrl&quot;:&quot;_&quot;}}" data-props="{&quot;label&quot;:&quot;Content&quot;,&quot;loop&quot;:false,&quot;autoplay&quot;:false,&quot;autoplayDelay&quot;:6000,&quot;showArrows&quot;:false,&quot;showPagination&quot;:true,&quot;scrollDriven&quot;:true,&quot;scrollThreshold&quot;:150}" data-slots="[&quot;children&quot;]" data-hydrate="true" data-webflow-context="{&quot;mode&quot;:&quot;publish&quot;,&quot;interactive&quot;:true,&quot;locale&quot;:&quot;en&quot;}" data-interactive="true" style="display:contents"><template shadowrootmode="open"><link rel="stylesheet" type="text/css" href="https://code-components.website-files.com/6abfaa897b456cdc49a62246%2Fmodule%2Fb7bbf5f8567bb2a52f41.css"/><div data-root="true" style="display:contents"><!--$--><div data-scroll-range="true" class="mb-slider-scroll-range" style="height:var(--scroll-range-height, 0vh)"><div data-slider="true" data-slider-variant="content" data-arrow-style="none" data-scroll-pinned="true" class="mb-slider mb-content-slider" role="region" aria-roledescription="carousel" aria-label="Content"><div class="mb-slider-viewport"><div data-slider-stage="true" class="mb-slider-stage"><slot name="children"></slot></div></div><div aria-live="polite" class="mb-slider-visually-hidden">Slide <!-- -->1<!-- --> of <!-- -->0</div></div></div><!--/$--></div></template><div slot="children"><div data-wf--content-slide--variant="minimal" class="content-slide_layout"><div class="content-slide-image_wrap"><div data-wf--media-image--style-aspect-ratio="cover" id="" STYLE="" class="image_wrap w-variant-b504a7c1-563e-4536-d82d-a664d1a7c96f"><img class="image_src" src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd34ae44964b494bb8f6de_07-results-speak-1.webp" data-image-crop="" data-slide-media="" alt="" data-image-crop-desktop="" loading="lazy" fetchpriority="auto"/></div></div><div class="content-slide-content_wrap"><div data-wf--text-eyebrow--variant="base" class="eyebrow_wrap"><div class="eyebrow_svg w-embed"><svg width="100%" height="100%" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
3146<path d="M4 0C6.20918 0 7.99991 1.79084 8 4C8 6.20924 6.20924 8 4 8C1.79087 7.99987 0 6.20916 0 4C9.50842e-05 1.79092 1.79093 0.000127419 4 0ZM2.15918 2.15918V5.8418H5.8418V2.15918H2.15918Z" fill="currentColor"/>
3147</svg></div><p class="eyebrow_text">THE RESULTS SPEAK FOR THEMSELVES</p></div><div class="content-slide-heading_lockup"><header data-slide-heading="" cc-number="60" data-wf--text---highlighted-heading--style-variant="h1" class="heading_wrap w-richtext"><h1>94% of top-100 customers relaunch <strong>within a year</strong></h1></header></div></div></div><div data-wf--content-slide--variant="minimal" class="content-slide_layout"><div class="content-slide-image_wrap"><div data-wf--media-image--style-aspect-ratio="cover" id="" STYLE="" class="image_wrap w-variant-b504a7c1-563e-4536-d82d-a664d1a7c96f"><img class="image_src" src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe7fb25a9c0aa030028140_08-results-speak-2-1.webp" data-image-crop="top" data-sli
3147de-media="" alt="" data-image-crop-desktop="" loading="lazy" fetchpriority="auto"/></div></div><div class="content-slide-content_wrap"><div data-wf--text-eyebrow--variant="base" class="eyebrow_wrap"><div class="eyebrow_svg w-embed"><svg width="100%" height="100%" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
3148<path d="M4 0C6.20918 0 7.99991 1.79084 8 4C8 6.20924 6.20924 8 4 8C1.79087 7.99987 0 6.20916 0 4C9.50842e-05 1.79092 1.79093 0.000127419 4 0ZM2.15918 2.15918V5.8418H5.8418V2.15918H2.15918Z" fill="currentColor"/>
3149</svg></div><p class="eyebrow_text">THE RESULTS SPEAK FOR THEMSELVES</p></div><div class="content-slide-heading_lockup"><header data-slide-heading="" cc-number="60" data-wf--text---highlighted-heading--style-variant="h1" class="heading_wrap w-richtext"><h1>£181,970 projected financial return per learner</h1></header></div></div></div><div data-wf--content-slide--variant="minimal" class="content-slide_layout"><div class="content-slide-image_wrap"><div data-wf--media-image--style-aspect-ratio="cover" id="" STYLE="" class="image_wrap w-variant-b504a7c1-563e-4536-d82d-a664d1a7c96f"><img class="image_src" src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd34d9fea807987f27a34b_08-results-speak-3-1.webp" data-image-crop="" data-slide-media="" alt="" data-image-crop-desktop="" loading="lazy" fetchpriority="auto"/></div></div><div class="content-slide-content_wrap"><div data-wf--text-eyebrow--variant="base" class="eyebrow_wrap"><div class="eyebrow_svg w-embed"><svg width="100%" height="100%" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
3150<path d="M4 0C6.20918 0 7.99991 1.79084 8 4C8 6.20924 6.20924 8 4 8C1.79087 7.99987 0 6.20916 0 4C9.50842e-05 1.79092 1.79093 0.000127419 4 0ZM2.15918 2.15918V5.8418H5.8418V2.15918H2.15918Z" fill="currentColor"/>
3151</svg></div><p class="eyebrow_text">THE RESULTS SPEAK FOR THEMSELVES</p></div><div class="content-slide-heading_lockup"><header data-slide-heading="" cc-number="60" data-wf--text---highlighted-heading--style-variant="h1" class="heading_wrap w-richtext"><h1>57% of learners gain a promotion or pay rise</h1></header></div></div></div></div></code-island></div></section><div cc-design-mode="false" data-wf--structure-section-padding--style-size="large" class="section-padding_wrap"></div><code-island data-loader="{&quot;tag&quot;:&quot;FEDERATION&quot;,&quot;val&quot;:{&quot;clientModuleUrl&quot;:&quot;https://code-components.website-files.com/6abfaa897b456cdc49a62246%2Fmodule%2Fwf-manifest.json&quot;,&quot;moduleId&quot;:&quot;_6abfaa897b456cdc49a62246&quot;,&quot;submoduleId&quot;:&quot;Marquee&quot;,&quot;exportPath&quot;:&quot;default&quot;,&quot;serverModuleUrl&quot;:&quot;_&quot;}}" data-props="{&quot;height&quot;:48,&quot;speed&quot;:30,&quot;gap&quot;:80,&quot;direction&quot;:&quot;left&quot;,&quot;pauseOnHover&quot;:false,&quot;pauseEaseDuration&quot;:600,&quot;fadeEdges&quot;:false,&quot;edgeWidth&quot;:80,&quot;edgeColor&quot;:&quot;white&quot;,&quot;edgeOpacity&quot;:1,&quot;scrollInertia&quot;:true,&quot;scrollInertiaStrength&quot;:2.5,&quot;scrollInertiaMax&quot;:6,&quot;scrollInertiaRelease&quot;:800}" data-slots="[&quot;children&quot;]" data-hydrate="false" data-webflow-context="{&quot;mode&quot;:&quot;publish&quot;,&quot;interactive&quot;:true,&quot;locale&quot;:&quot;en&quot;}" data-interactive="true" style="display:contents" data-wf--multiverse-code-components--marquee--direction="left"><template shadowrootmode="open"><div data-root="true" style="display:contents"></div><link rel="stylesheet" type="text/css" href="https://cdn.prod.website-files.com/69381061fef68be00431dd04/css/tags.26ef79055.css"/></template><div slot="children"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6aa1843a8f4e41bccaaf38c7_wgsn.svg" loading="lazy" alt="WGSN logo"/><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6aa18439e461939df1b3eaac_citi.svg" loading="lazy" alt="Citi Logo"/><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6aa184395ce5c6e508f8a5cc_kpmg.svg" loading="lazy" alt="KPMG logo"/><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6aa1843943929eca60c54098_capita.svg" loading="lazy" alt="Capita Logo"/><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6aa18439a68e33c1e09e2201_just-eat.svg" loading="lazy" alt="Just Eat Logo"/><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6aa18439f1ccc451cd2c4cc4_microsoft.svg" loading="lazy" alt="Microsoft logo"/></div></code-island><div cc-design-mode="false" data-wf--structure-section-padding--style-size="xlarge" class="section-padding_wrap w-variant-aba6ddbf-fa7f-fd47-276b-0d10beff318c"></div></div></div><section class="u-section"><div cc-design-mode="false" data-wf--structure-section-padding--style-size="xlarge" class="section-padding_wrap w-variant-aba6ddbf-fa7f-fd47-276b-0d10beff318c"></div><div class="u-container"><div class="block-list_layout"><div class="block-list_eyebrow-wrap"><div class="block-list-sticky_wrap"><div class="block-list_sticky"><div data-wf--text-eyebrow--variant="base" class="eyebrow_wrap"><div class="eyebrow_svg w-embed">
3151<svg width="100%" height="100%" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
3152<path d="M4 0C6.20918 0 7.99991 1.79084 8 4C8 6.20924 6.20924 8 4 8C1.79087 7.99987 0 6.20916 0 4C9.50842e-05 1.79092 1.79093 0.000127419 4 0ZM2.15918 2.15918V5.8418H5.8418V2.15918H2.15918Z" fill="currentColor"/>
3153</svg></div><p class="eyebrow_text">Updates</p></div></div></div><div cc-design-mode="false" data-wf--structure-section-padding--style-size="large" class="section-padding_wrap"></div></div><div class="block-list_wrap"><div role="list"><div data-wf--large-block-list-item--variant="regular-first-item" id="" role="listitem" class="large-block-item_wrap"><div class="large-block-list_parallax-wrap w-variant-9f470827-0b70-9da0-0455-40aca2b38c2b"><div cc-design-mode="false" data-wf--structure-section-padding--style-size="large" class="section-padding_wrap"></div><div class="updates-list_parallax-control"></div></div><div class="large-block-item_layout"><div class="large--block-item_media"><div class="large-block-item_image-wrap"><div data-wf--media-image--style-aspect-ratio="cover" id="" STYLE="" class="image_wrap w-variant-b504a7c1-563e-4536-d82d-a664d1a7c96f"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd37a5b799b47be462c967_09-impact-hub.webp" loading="lazy" fetchpriority="auto" alt="" class="image_src"/></div></div></div><div class="large-block-item_content"><div class="block-list-sticky_wrap"><div class="updates-item_sticky"><div data-wf--text-eyebrow--variant="base" class="eyebrow_wrap"><p class="eyebrow_text">01</p></div></div></div><div data-wf--text-heading-lockup--style-alignment="basic---left" class="heading-lockup_wrap"><div class="heading-lockup_heading"><div class="lockup-heading_layout"><header data-split="lines" cc-number="60" data-wf--text---highlighted-heading--style-variant="h3" class="heading_wrap w-variant-9f2a6e12-fa26-1522-e250-0b03c8fabe81 w-richtext"><h2><strong>Impact</strong> Hub</h2></header></div></div><div class="heading-lockup_body"><div cc-number="28" data-wf--text-body--style-size="medium" class="u-body-text w-variant-bfbf01b2-03c6-2841-54d1-41ef2a9ed520 w-richtext u-text-pretty"><p>Real companies, real numbers. Explore the outcomes our customers are unlocking.</p></div></div><div id="w-node-_0c50c06d-3162-d373-1610-18e275f6633f-60470592" class="lockup-button_layout"><div id="" class="u-button-group"><div slot="button" class="u-button-slot"><a data-wf--element-button--style-style="link" href="/impact-hub-2026" class="button_wrap w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194 w-inline-block"><div class="button_wrap-inner w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194"><div class="u-weight-medium w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194">Discover more</div><div class="button_wrap-line w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194"></div></div></a></div></div></div></div></div></div><div cc-design-mode="false" data-wf--structure-section-padding--style-size="large" class="section-padding_wrap"></div></div><div data-wf--large-block-list-item--variant="regular" id="" role="listitem" class="large-block-item_wrap"><div class="large-block-list_parallax-wrap"><div cc-design-mode="false" data-wf--structure-section-padding--style-size="large" class="section-padding_wrap"></div><div class="updates-list_parallax-control"></div></div><div data-animate="rise" class="large-block-item_layout"><div class="large--block-item_media"><div class="large-block-item_image-wrap"><div data-wf--media-image--style-aspect-ratio="cover" id="" STYLE="" class="image_wrap w-variant-b504a7c1-563e-4536-d82d-a664d1a7c96f"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd37b78ca91be6aed4b45a_10-skills-intelligence.webp" loading="lazy" fetchpriority="auto" alt="" class="image_src"/></div></div></div><div class="large-block-item_content"><div class="block-list-sticky_wrap"><div class="updates-item_sticky"><div data-wf--text-eyebrow--variant="base" class="eyebrow_wrap"><p class="eyebrow_text">02</p></div></div></div><div data-wf--text-heading-lockup--style-alignment="basic---left" class="heading-lockup_wrap"><div class="heading-lockup_heading"><div class="lockup-heading_layout"><header data-split="lines" cc-number="60" data-wf--text---highlighted-heading--style-variant="h3" class="heading_wrap w-variant-9f2a6e12-fa26-1522-e250-0b03c8fabe81 w-richtext"><h2><strong>Skills </strong>Intelligence Report</h2></header></div></div><div class="heading-lockup_body"><div cc-number="28" data-wf--text-body--style-size="medium" class="u-body-text w-variant-bfbf01b2-03c6-2841-54d1-41ef2a9ed520 w-richtext u-text-pretty"><p>Discover the most in-demand AI and data skills from 14,500 workers across 16 industries,</p></div></div><div id="w-node-_0c50c06d-3162-d373-1610-18e275f6633f-60470592" class="lockup-button_layout"><div id="" class="u-button-group"><div slot="button" class="u-button-slot"><a data-wf--element-button--style-style="link" href="/resources/skills-intelligence-report-2025" class="button_wrap w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194 w-inline-block"><div class="button_wrap-inner w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194"><div class="u-weight-medium w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194">Read the report</div><div class="button_wrap-line w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194"></div></div></a></div></div></div></div></div></div><div cc-design-mode="false" data-wf--structure-section-padding--style-size="large" class="section-padding_wrap"></div></div><div data-wf--large-block-list-item--variant="regular" id="" role="listitem" class="large-block-item_wrap"><div class="large-block-list_parallax-wrap"><div cc-design-mode="false" data-wf--structure-section-padding--style-size="large" class="section-padding_wrap"></div><div class="updates-list_parallax-control"></div></div><div data-animate="rise" class="large-block-item_layout"><div class="large--block-item_media"><div class="large-block-item_image-wrap"><div data-wf--media-image--style-aspect-ratio="cover" id="" STYLE="" class="image_wrap w-variant-b504a7c1-563e-4536-d82d-a664d1a7c96f"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abd37c95292f6b4913ad4cb_11-workforce-2030.webp" loading="lazy" fetchpriority="auto" alt="" class="image_src"/></div></div></div><div class="large-block-item_content"><div class="block-list-sticky_wrap"><div class="updates-item_sticky"><div data-wf--text-eyebrow--variant="base" class="eyebrow_wrap"><p class="eyebrow_text">03</p></div></div></div><div data-wf--text-heading-lockup--style-alignment="basic---left" class="heading-lockup_wrap"><div class="heading-lockup_heading"><div class="lockup-heading_layout"><header data-split="lines" cc-number="60" data-wf--text---highlighted-heading--style-variant="h3" class="heading_wrap w-variant-9f2a6e12-fa26-1522-e250-0b03c8fabe81 w-richtext"><h2>Workforce 2030 <strong>conference</strong></h2></header></div></div><div class="heading-lockup_body"><div cc-number="28" data-wf--text-body--style-size="medium" class="u-body-text w-variant-bfbf01b2-03c6-2841-54d1-41ef2a9ed520 w-richtext u-text-pretty"><p>Didn’t get a ticket? Watch every keynote from Workforce 2030 on 14th October.</p></div></div><div id="w-node-_0c50c06d-3162-d373-1610-18e275f6633f-60470592" class="lockup-button_layout"><div id="" class="u-button-group"><div slot="button" class="u-button-slot"><a data-wf--element-button--style-style="link" href="https://workforce2030.multiverse.io/" class="button_wrap w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194 w-inline-block"><div class="button_wrap-inner w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194"><div class="u-weight-medium w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194">Learn more</div><div class="button_wrap-line w-variant-5d5b61f8-fc1e-cf12-3af7-ff8b1c223194"></div></div></a></div></div></div></div></div></div><div cc-design-mode="false" data-wf--structure-section-padding--style-size="large" class="section-padding_wrap"></div></div></div></div></div></div><div cc-design-mode="false" data-wf--structure-section-padding--style-size="xlarge" class="section-padding_wrap w-variant-aba6ddbf-fa7f-fd47-276b-0d10beff318c"></div></section><div data-wf--theme-wrapper--style-theme="dark" class="theme-wrapper_wrap w-variant-0aaa4c6e-f6eb-3b6d-83c9-40f12303dd85"><div slot="sections" class="u-slot"><div cc-design-mode="false" data-wf--structure-section-padding--style-size="xlarge" class="section-padding_wrap w-variant-aba6ddbf-fa7f-fd47-276b-0d10beff318c"></div><section class="u-section"><div class="w-layout-blockcontainer u-container w-container"><code-island data-loader="{&quot;tag&quot;:&quot;FEDERATION&quot;,&quot;val&quot;:{&quot;clientModuleUrl&quot;:&quot;https://code-components.website-files.com/6abfaa897b456cdc49a62246%2Fmodule%2Fwf-manifest.json&quot;,&quot;moduleId&quot;:&quot;_6abfaa897b456cdc49a62246&quot;,&quot;submoduleId&quot;:&quot;ContentSlider&quot;,&quot;exportPath&quot;:&quot;default&quot;,&quot;serverModuleUrl&quot;:&quot;_&quot;}}" data-props="{&quot;label&quot;:&quot;Content&quot;,&quot;loop&quot;:false,&quot;autoplay&quot;:false,&quot;autoplayDelay&quot;:6000,&quot;showArrows&quot;:false,&quot;showPagination&quot;:true,&quot;scrollDriven&quot;:true,&quot;scrollThreshold&quot;:150}" data-slots="[&quot;children&quot;]" data-hydrate="true" data-webflow-context="{&quot;mode&quot;:&quot;publish&quot;,&quot;interactive&quot;:true,&quot;locale&quot;:&quot;en&quot;}" data-interactive="true" style="display:contents"><template shadowrootmode="open"><link rel="stylesheet" type="text/css" href="https://code-components.website-files.com/6abfaa897b456cdc49a62246%2Fmodule%2Fb7bbf5f8567bb2a52f41.css"/><div data-root="true" style="display:contents"><!--$--><div data-scroll-range="true" class="mb-slider-scroll-range" style="height:var(--scroll-range-height, 0vh)">
3153<div data-slider="true" data-slider-variant="content" data-arrow-style="none" data-scroll-pinned="true" class="mb-slider mb-content-slider" role="region" aria-roledescription="carousel" aria-label="Content"><div class="mb-slider-viewport"><div data-slider-stage="true" class="mb-slider-stage"><slot name="children"></slot></div></div><div aria-live="polite" class="mb-slider-visually-hidden">Slide <!-- -->1<!-- --> of <!-- -->0</div></div></div><!--/$--></div></template><div slot="children"><div data-wf--content-slide--variant="testimonial" class="content-slide_layout w-variant-ed7189c3-4bb0-04df-f6fa-dbf96d49dea8"><div class="content-slide-image_wrap w-variant-ed7189c3-4bb0-04df-f6fa-dbf96d49dea8"><div data-wf--media-image--style-aspect-ratio="cover" id="" STYLE="" class="image_wrap w-variant-b504a7c1-563e-4536-d82d-a664d1a7c96f"><img class="image_src" src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abfa9f98cd850b7e569f552_14-customer-stories-2.webp" data-image-crop="15" data-slide-media="" alt="" data-image-crop-desktop="top" loading="lazy" fetchpriority="auto"/></div></div><div class="content-slide-content_wrap w-variant-ed7189c3-4bb0-04df-f6fa-dbf96d49dea8"><div data-wf--text-eyebrow--variant="base" class="eyebrow_wrap"><div class="eyebrow_svg w-embed"><svg width="100%" height="100%" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
3154<path d="M4 0C6.20918 0 7.99991 1.79084 8 4C8 6.20924 6.20924 8 4 8C1.79087 7.99987 0 6.20916 0 4C9.50842e-05 1.79092 1.79093 0.000127419 4 0ZM2.15918 2.15918V5.8418H5.8418V2.15918H2.15918Z" fill="currentColor"/>
3155</svg></div><p class="eyebrow_text">Customer Stories</p></div><div class="content-slide-heading_lockup w-variant-ed7189c3-4bb0-04df-f6fa-dbf96d49dea8"><header data-slide-heading="" cc-number="60" data-wf--text---highlighted-heading--style-variant="h1" class="heading_wrap w-richtext"><h2>“Patient falls cut by 88% using Power BI skills”</h2></header><div data-slide-meta="" class="attribution_layout w-variant-ed7189c3-4bb0-04df-f6fa-dbf96d49dea8"><div class="attibution-image_wrap"><div data-wf--media-image--style-aspect-ratio="contain" id="" STYLE="" class="image_wrap w-variant-24d32a7c-a068-72bc-566a-92a3d098582d"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe52724712d46f86bb6e58_NHS.svg" loading="lazy" fetchpriority="auto" alt="" class="image_src w-variant-24d32a7c-a068-72bc-566a-92a3d098582d"/></div></div><div class="attibution-content_wrap"><div class="u-weight-bold">Anvi Boulbouldjou</div><div>Quality and Cancer Performance Manager, Harrogate and District NHS Foundation Trust</div></div></div></div><div data-slide-cta="" class="content-slide-buttons w-variant-ed7189c3-4bb0-04df-f6fa-dbf96d49dea8"><div data-wf--wrapper-button-wrapper--variant="base" id="" class="u-button-group"><div slot="button" class="u-display-contents"><a data-wf--element-button--style-style="primary" href="https://www.multiverse.io/case-studies/from-17-falls-a-month-to-two-inside-a-trust-wide-data-upskilling-drive" class="button_wrap w-inline-block"><div class="button_wrap-inner"><div class="u-weight-medium">Read case study</div></div><div class="button_icon-wrap"><div class="button_icon"><div data-wf--icon-arrow-right--variant="cover" class="icon_wrap w-variant-ec33f14d-0fd7-6b46-b530-c34ec4e2a332"><div class="icon_svg w-variant-ec33f14d-0fd7-6b46-b530-c34ec4e2a332 w-embed"><svg width="100%" height="100%" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
3156<path d="M10.6839 5.65685L5.02709 11.3137L4.06034 10.347L8.06682 6.34048H0V4.97323H8.06682L4.06034 0.966748L5.02709 0L10.6839 5.65685Z" fill="currentColor"/>
3157</svg></div></div></div></div></a></div></div></div></div></div><div data-wf--content-slide--variant="testimonial" class="content-slide_layout w-variant-ed7189c3-4bb0-04df-f6fa-dbf96d49dea8"><div class="content-slide-image_wrap w-variant-ed7189c3-4bb0-04df-f6fa-dbf96d49dea8"><div data-wf--media-image--style-aspect-ratio="cover" id="" STYLE="" class="image_wrap w-variant-b504a7c1-563e-4536-d82d-a664d1a7c96f"><img class="image_src" src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abfa9e4a6d5d8338b33e0b4_13-customer-stories-1-1.webp" data-image-crop="15" data-sli
3157de-media="" alt="" data-image-crop-desktop="15" loading="lazy" fetchpriority="auto"/></div></div><div class="content-slide-content_wrap w-variant-ed7189c3-4bb0-04df-f6fa-dbf96d49dea8"><div data-wf--text-eyebrow--variant="base" class="eyebrow_wrap"><div class="eyebrow_svg w-embed"><svg width="100%" height="100%" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
3158<path d="M4 0C6.20918 0 7.99991 1.79084 8 4C8 6.20924 6.20924 8 4 8C1.79087 7.99987 0 6.20916 0 4C9.50842e-05 1.79092 1.79093 0.000127419 4 0ZM2.15918 2.15918V5.8418H5.8418V2.15918H2.15918Z" fill="currentColor"/>
3159</svg></div><p class="eyebrow_text">Customer Stories</p></div><div class="content-slide-heading_lockup w-variant-ed7189c3-4bb0-04df-f6fa-dbf96d49dea8"><header data-slide-heading="" cc-number="60" data-wf--text---highlighted-heading--style-variant="h1" class="heading_wrap w-richtext"><h2>“Work that took weeks is 10x faster”</h2></header><div data-slide-meta="" class="attribution_layout w-variant-ed7189c3-4bb0-04df-f6fa-dbf96d49dea8"><div class="attibution-image_wrap"><div data-wf--media-image--style-aspect-ratio="contain" id="" STYLE="" class="image_wrap w-variant-24d32a7c-a068-72bc-566a-92a3d098582d"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe5272bc96eee40de9b6b7_QS.svg" loading="lazy" fetchpriority="auto" alt="" class="image_src w-variant-24d32a7c-a068-72bc-566a-92a3d098582d"/></div></div><div class="attibution-content_wrap"><div class="u-weight-bold">BeiBei Xiong</div><div>Product Manager, QS</div></div></div></div><div data-slide-cta="" class="content-slide-buttons w-variant-ed7189c3-4bb0-04df-f6fa-dbf96d49dea8"><div data-wf--wrapper-button-wrapper--variant="base" id="" class="u-button-group"><div slot="button" class="u-display-contents"><a data-wf--element-button--style-style="primary" href="https://www.multiverse.io/case-studies/disrupting-themselves-before-someone-else-does-how-qs-is-building-a-future-ready-workforce-with-multiverse" class="button_wrap w-inline-block"><div class="button_wrap-inner"><div class="u-weight-medium">Read case study</div></div><div class="button_icon-wrap"><div class="button_icon"><div data-wf--icon-arrow-right--variant="cover" class="icon_wrap w-variant-ec33f14d-0fd7-6b46-b530-c34ec4e2a332"><div class="icon_svg w-variant-ec33f14d-0fd7-6b46-b530-c34ec4e2a332 w-embed"><svg width="100%" height="100%" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
3160<path d="M10.6839 5.65685L5.02709 11.3137L4.06034 10.347L8.06682 6.34048H0V4.97323H8.06682L4.06034 0.966748L5.02709 0L10.6839 5.65685Z" fill="currentColor"/>
3161</svg></div></div></div></div></a></div></div></div></div></div><div data-wf--content-slide--variant="testimonial" class="content-slide_layout w-variant-ed7189c3-4bb0-04df-f6fa-dbf96d49dea8"><div class="content-slide-image_wrap w-variant-ed7189c3-4bb0-04df-f6fa-dbf96d49dea8"><div data-wf--media-image--style-aspect-ratio="cover" id="" STYLE="" class="image_wrap w-variant-b504a7c1-563e-4536-d82d-a664d1a7c96f"><img class="image_src" src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6aa3eb3250ae2b8cd344cf58_S01%20Customers.avif" data-image-crop="" data-slide-media="" alt="" data-image-crop-desktop="" loading="lazy" fetchpriority="auto"/></div></div><div class="content-slide-content_wrap w-variant-ed7189c3-4bb0-04df-f6fa-dbf96d49dea8"><div data-wf--text-eyebrow--variant="base" class="eyebrow_wrap"><div class="eyebrow_svg w-embed"><svg width="100%" height="100%" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
3162<path d="M4 0C6.20918 0 7.99991 1.79084 8 4C8 6.20924 6.20924 8 4 8C1.79087 7.99987 0 6.20916 0 4C9.50842e-05 1.79092 1.79093 0.000127419 4 0ZM2.15918 2.15918V5.8418H5.8418V2.15918H2.15918Z" fill="currentColor"/>
3163</svg></div><p class="eyebrow_text">Customer Stories</p></div><div class="content-slide-heading_lockup w-variant-ed7189c3-4bb0-04df-f6fa-dbf96d49dea8"><header data-slide-heading="" cc-number="60" data-wf--text---highlighted-heading--style-variant="h1" class="heading_wrap w-richtext"><h1>“200+ hours saved a year on tracking new starters”</h1></header>
3163<div data-slide-meta="" class="attribution_layout w-variant-ed7189c3-4bb0-04df-f6fa-dbf96d49dea8"><div class="attibution-image_wrap"><div data-wf--media-image--style-aspect-ratio="contain" id="" STYLE="" class="image_wrap w-variant-24d32a7c-a068-72bc-566a-92a3d098582d"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe52725b931a8fba094413_JL.svg" loading="lazy" fetchpriority="auto" alt="" class="image_src w-variant-24d32a7c-a068-72bc-566a-92a3d098582d"/></div></div><div class="attibution-content_wrap"><div class="u-weight-bold">Laura Zilite</div><div>John Lewis Partnership</div></div></div></div><div data-slide-cta="" class="content-slide-buttons w-variant-ed7189c3-4bb0-04df-f6fa-dbf96d49dea8"><div data-wf--wrapper-button-wrapper--variant="base" id="" class="u-button-group"><div slot="button" class="u-display-contents"><a data-wf--element-button--style-style="primary" href="https://www.multiverse.io/case-studies/john-lewis-partnership-case-study" class="button_wrap w-inline-block"><div class="button_wrap-inner"><div class="u-weight-medium">Read case study</div></div><div class="button_icon-wrap"><div class="button_icon"><div data-wf--icon-arrow-right--variant="cover" class="icon_wrap w-variant-ec33f14d-0fd7-6b46-b530-c34ec4e2a332"><div class="icon_svg w-variant-ec33f14d-0fd7-6b46-b530-c34ec4e2a332 w-embed"><svg width="100%" height="100%" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
3164<path d="M10.6839 5.65685L5.02709 11.3137L4.06034 10.347L8.06682 6.34048H0V4.97323H8.06682L4.06034 0.966748L5.02709 0L10.6839 5.65685Z" fill="currentColor"/>
3165</svg></div></div></div></div></a></div></div></div></div></div></div></code-island></div></section><div cc-design-mode="false" data-wf--structure-section-padding--style-size="xlarge" class="section-padding_wrap w-variant-aba6ddbf-fa7f-fd47-276b-0d10beff318c"></div></div></div><section data-wf--section-expression---cta-02--style-theme="video" class="expression-2-cta_wrap"><div cc-design-mode="false" data-wf--structure-section-padding--style-size="xlarge" class="section-padding_wrap w-variant-aba6ddbf-fa7f-fd47-276b-0d10beff318c"></div><div class="expression-cta_outer"><div class="expression-cta_container u-container"><div class="expression-cta_layout"><div id="w-node-_788b7488-4da6-53a7-9142-d4f2b76a6685-3881c4d7" class="expression-cta_tag"><div data-wf--text-eyebrow--variant="base" class="eyebrow_wrap"><div class="eyebrow_svg w-embed"><svg width="100%" height="100%" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
3166<path d="M4 0C6.20918 0 7.99991 1.79084 8 4C8 6.20924 6.20924 8 4 8C1.79087 7.99987 0 6.20916 0 4C9.50842e-05 1.79092 1.79093 0.000127419 4 0ZM2.15918 2.15918V5.8418H5.8418V2.15918H2.15918Z" fill="currentColor"/>
3167</svg></div><p class="eyebrow_text">What We Believe</p></div></div><div id="w-node-_3c2f1302-915f-bcff-8a4c-bd985723553a-3881c4d7" class="expression-cta_content"><header cc-number="60" data-wf--text---highlighted-heading--style-variant="h2" class="heading_wrap w-variant-69689fb8-29eb-16e5-facc-03019b1b57f5 w-richtext"><p><strong>T</strong>e<strong>c</strong>h<strong> </strong>sh<strong>ould make </strong></p><p><strong>huma</strong>n<strong>s smarter. </strong></p><p>Not the<strong> o</strong>t<strong>her </strong></p><p><strong>wa</strong>y<strong> </strong>aro<strong>und.</strong></p></header><div class="expression-cta_buttons"><a data-wf--element-button--style-style="primary" href="/about/our-mission" class="button_wrap w-inline-block"><div class="button_wrap-inner"><div class="u-weight-medium">About Us</div></div><div class="button_icon-wrap"><div class="button_icon"><div data-wf--icon-arrow-right--variant="cover" class="icon_wrap w-variant-ec33f14d-0fd7-6b46-b530-c34ec4e2a332"><div class="icon_svg w-variant-ec33f14d-0fd7-6b46-b530-c34ec4e2a332 w-embed"><svg width="100%" height="100%" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
3168<path d="M10.6839 5.65685L5.02709 11.3137L4.06034 10.347L8.06682 6.34048H0V4.97323H8.06682L4.06034 0.966748L5.02709 0L10.6839 5.65685Z" fill="currentColor"/>
3169</svg></div></div></div></div></a></div></div></div></div></div><div data-video-src="https://design-assets.multiverse.io/assets/marketing-site/homepage-bottom.fd6
31695faed.mp4" class="bg-video_wrap"><div class="bg-video_embed w-embed w-script">
3169<script>
3170(() => {
3171  const wrap = document.currentScript.closest('[data-video-src]');
3172  if (!wrap) return;
3173
3174  const desktopSrc = wrap.getAttribute('data-video-src');
3175  if (!desktopSrc) return; // image fallback if no URL
3176  const mobileSrc = wrap.getAttribute('data-video-src-mobile');
3177  const isHero = wrap.hasAttribute('data-video-hero');
3178
3179  const reduceMotion = matchMedia('(prefers-reduced-motion: reduce)').matches;
3180  const saveData = navigator.connection?.saveData;
3181  if (reduceMotion || saveData) {
3182    // Poster only; hide the toggle since there's nothing to control
3183    const hideToggle = () => wrap.querySelector('[data-video="toggle"]')?.setAttribute('hidden', '');
3184    document.readyState === 'loading'
3185      ? document.addEventListener('DOMContentLoaded', hideToggle, { once: true })
3186      : hideToggle();
3187    return;
3188  }
3189
3190  const video = document.createElement('video');
3191  video.setAttribute('data-loop-video', '');
3192  video.defaultMuted = true;
3193  video.muted = true;
3194  video.setAttribute('muted', '');
3195  video.playsInline = true;
3196  video.setAttribute('webkit-playsinline', '');
3197  video.loop = true;
3198  video.preload = 'none';   // nothing downloads until load() runs
3199  video.setAttribute('aria-hidden', 'true');
3200  video.tabIndex = -1;
3201  video.style.cssText = 'position:absolute;inset:0;width:100%;height:100%;object-fit:cover;';
3202  wrap.appendChild(video);
3203
3204  let loaded = false;
3205  let inView = false;
3206  let userPaused = false;
3207
3208  const load = () => {
3209    if (loaded) return;
3210    loaded = true;
3211    const useMobile = mobileSrc && matchMedia('(max-width: 767px)').matches;
3212    video.src = useMobile ? mobileSrc : desktopSrc;
3213    video.preload = 'auto';
3214  };
3215
3216  const tryPlay = () => {
3217    if (loaded && inView && !userPaused) video.play().catch(() => {});
3218  };
3219
3220  video.addEventListener('playing', () => {
3221    wrap.querySelector('[data-video="poster"]')?.classList.add('is-video-ready');
3222  }, { once: true });
3223
3224  // Hero: wait until the page has loaded so the poster wins LCP.
3225  // Everything else: start loading when it's within 300px of the viewport.
3226  if (isHero) {
3227    const start = () => { load(); tryPlay(); };
3228    document.readyState === 'complete' ? start() : window.addEventListener('load', start, { once: true });
3229  } else {
3230    const loadObserver = new IntersectionObserver((entries) => {
3231      if (entries.some(e => e.isIntersecting)) {
3232        load();
3233        tryPlay();
3234        loadObserver.disconnect();
3235      }
3236    }, { rootMargin: '300px 0px' });
3237    loadObserver.observe(wrap);
3238  }
3239
3240  // Play/pause by visibility — this video only
3241  new IntersectionObserver(([entry]) => {
3242    inView = entry.isIntersecting;
3243    inView ? tryPlay() : video.pause();
3244  }, { threshold: 0.25 }).observe(wrap);
3245
3246  const wireToggle = () => {
3247    const toggle = wrap.querySelector('[data-video="toggle"]');
3248    if (!toggle) return;
3249    const playIcon = toggle.querySelector('[data-video="icon-play"]');
3250    const pauseIcon = toggle.querySelector('[data-video="icon-pause"]');
3251
3252    toggle.addEventListener('click', () => {
3253      if (video.paused) {
3254        userPaused = false;
3255        load();
3256        video.play().catch(() => {});
3257        toggle.setAttribute('aria-label', 'Pause background video');
3258        playIcon?.classList.add('u-hide-button');
3259        pauseIcon?.classList.remove('u-hide-button');
3260      } else {
3261        userPaused = true;
3262        video.pause();
3263        toggle.setAttribute('aria-label', 'Play background video');
3264        pauseIcon?.classList.add('u-hide-button');
3265        playIcon?.classList.remove('u-hide-button');
3266      }
3267    });
3268  };
3269
3270  document.readyState === 'loading'
3271    ? document.addEventListener('DOMContentLoaded', wireToggle, { once: true })
3272    : wireToggle();
3273})();
3274</script>
3274</div><img fetchpriority="high" data-video="poster" alt="" src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe29d67123c30e7c897a12_4d0df181baa2caf2681beecfc682f18b_homepage-bottom.avif" loading="eager" sizes="(max-width: 1440px) 100vw, 1440px" srcset="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe29d67123c30e7c897a12_4d0df181baa2caf2681beecfc682f18b_homepage-bottom-p-500.avif 500w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe29d67123c30e7c897a12_4d0df181baa2caf2681beecfc682f18b_homepage-bottom-p-800.avif 800w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe29d67123c30e7c897a12_4d0df181baa2caf2681beecfc682f18b_homepage-bottom-p-1080.avif 1080w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe29d67123c30e7c897a12_4d0df181baa2caf2681beecfc682f18b_homepage-bottom-p-1600.avif 1600w, https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe29d67123c30e7c897a12_4d0df181baa2caf2681beecfc682f18b_homepage-bottom.avif 2000w" class="bg-video_poster"/></div><div class="expression-cta_marquee w-variant-01900172-f12c-0940-95e2-0588aaac5300"><code-island data-loader="{&quot;tag&quot;:&quot;FEDERATION&quot;,&quot;val&quot;:{&quot;clientModuleUrl&quot;:&quot;https://code-components.website-files.com/6abfaa897b456cdc49a62246%2Fmodule%2Fwf-manifest.json&quot;,&quot;moduleId&quot;:&quot;_6abfaa897b456cdc49a62246&quot;,&quot;submoduleId&quot;:&quot;Marquee&quot;,&quot;exportPath&quot;:&quot;default&quot;,&quot;serverModuleUrl&quot;:&quot;_&quot;}}" data-props="{&quot;height&quot;:48,&quot;speed&quot;:10,&quot;gap&quot;:48,&quot;direction&quot;:&quot;left&quot;,&quot;pauseOnHover&quot;:false,&quot;pauseEaseDuration&quot;:600,&quot;fadeEdges&quot;:false,&quot;edgeWidth&quot;:80,&quot;edgeColor&quot;:&quot;white&quot;,&quot;edgeOpacity&quot;:1,&quot;scrollInertia&quot;:true,&quot;scrollInertiaStrength&quot;:2.5,&quot;scrollInertiaMax&quot;:3,&quot;scrollInertiaRelease&quot;:800}" data-slots="[&quot;children&quot;]" data-hydrate="false" data-webflow-context="{&quot;mode&quot;:&quot;publish&quot;,&quot;interactive&quot;:true,&quot;locale&quot;:&quot;en&quot;}" data-interactive="true" style="display:contents" data-wf--multiverse-code-components--marquee--direction="left"><template shadowrootmode="open"><div data-root="true" style="display:contents"></div><link rel="stylesheet" type="text/css" href="https://cdn.prod.website-files.com/69381061fef68be00431dd04/css/tags.26ef79055.css"/></template><div slot="children"><div data-wf--text-eyebrow--variant="base" class="eyebrow_wrap"><p class="eyebrow_text">Ai Adoption Layer</p></div><div class="icon_wrap is-circle"><svg viewBox="0 0 8 8" class="icon_svg"><path d="M3.94141 0C6.11849 0 7.88379 1.7653 7.88379 3.94238C7.88358 6.11929 6.11836 7.88379 3.94141 7.88379C1.7645 7.88374 0.000206443 6.11926 0 3.94238C0 1.76533 1.76437 5.29669e-05 3.94141 0ZM2.12598 2.12793V5.75684H5.75488V2.12793H2.12598Z" fill="currentColor"></path></svg></div><div data-wf--text-eyebrow--variant="base" class="eyebrow_wrap"><p class="eyebrow_text">Multiverse</p></div><div class="icon_wrap is-circle"><svg viewBox="0 0 8 8" class="icon_svg"><path d="M3.94141 0C6.11849 0 7.88379 1.7653 7.88379 3.94238C7.88358 6.11929 6.11836 7.88379 3.94141 7.88379C1.7645 7.88374 0.000206443 6.11926 0 3.94238C0 1.76533 1.76437 5.29669e-05 3.94141 0ZM2.12598 2.12793V5.75684H5.75488V2.12793H2.12598Z" fill="currentColor"></path></svg></div></div></code-island></div><div cc-design-mode="false" data-wf--structure-section-padding--style-size="xlarge" class="section-padding_wrap w-variant-aba6ddbf-fa7f-fd47-276b-0d10beff318c"></div></section><section data-wf--section-sticky-text-media--style-layout-order="standard" class="new-text-media_wrap u-section"><div cc-design-mode="false" data-wf--structure-section-padding--style-size="xlarge" class="section-padding_wrap w-variant-aba6ddbf-fa7f-fd47-276b-0d10beff318c"></div><div class="u-container"><div class="new-text-media_layout"><div id="w-node-f115f477-a7cd-65cb-c8ec-f8092cdca0de-2cdca0da" class="new-text-media_content"><div class="new-text-media_sticky-wrap"><div class="new-text-media_sticky"><header data-split="lines" cc-number="10" data-wf--text---highlighted-heading--style-variant="h2" class="heading_wrap w-variant-69689fb8-29eb-16e5-facc-03019b1b57f5 w-richtext"><h2>AI adoption starts <strong>with</strong></h2><h2><strong>a skills scan</strong></h2></header><p cc-number="28" class="new-text-media_text">Ten minutes to see the gaps. One demo to see how we close them.</p><div data-wf--wrapper-button-wrapper--variant="left" id="" class="u-button-group w-variant-902564bc-361d-59bc-7c93-e16a4306923a"><div slot="button" class="u-display-contents"><div class="u-display-contents"><a data-wf--element-button--style-style="primary" href="/book-a-demo" class="button_wrap w-inline-block"><div class="button_wrap-inner is-secondary"><div class="u-weight-medium">Book a demo</div></div></a></div></div></div></div></div></div><div class="new-text-media_style"><div class="u-slot new-text-media_slot"><div data-wf--media-image--style-aspect-ratio="cover" id="" STYLE="" class="image_wrap w-variant-b504a7c1-563e-4536-d82d-a664d1a7c96f"><img src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/6abe4a638e9c4d66311f58d9_12-skills-scan.webp" loading="lazy" fetchpriority="auto" alt="" class="image_src"/></div></div></div></div></div><div cc-design-mode="false" data-wf--structure-section-padding--style-size="xlarge" class="section-padding_wrap w-variant-aba6ddbf-fa7f-fd47-276b-0d10beff318c"></div></section></div><footer class="footer_wrap"><div class="u-container u-text-colour-inverse"><div class="footer_stack"><div class="footer_layout"><div class="footer_column"><ul role="list" class="footer_social-list w-list-unstyled"><li><a aria-label="facebook" href="https://www.facebook.com/joinmultiverse" target="_blank" class="footer_social-link w-inline-block"><svg xmlns="http://www.w3.org/2000/svg" stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 512 512" aria-hidden="true" width="100%"><path d="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z"></path></svg></a></li><li><a aria-label="Twitter X" href="https://x.com/joinmultiverse" target="_blank" class="footer_social-link w-inline-block"><svg xmlns="http://www.w3.org/2000/svg" stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 512 512" aria-hidden="true" width="100%"><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"></path></svg></a></li><li><a aria-label="LinkedIn" href="https://www.linkedin.com/company/joinmultiverse/" target="_blank" class="footer_social-link w-inline-block"><svg xmlns="http://www.w3.org/2000/svg" stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" aria-hidden="true" width="100%"><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"></path></svg></a></li><li><a aria-label="Instagram" href="https://www.instagram.com/joinmultiverse" target="_blank" class="footer_social-link w-inline-block"><svg xmlns="http://www.w3.org/2000/svg" stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" aria-hidden="true" width="100%"><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></a></li><li><a aria-label="Youtube" href="https://www.youtube.com/c/multiverse1" target="_blank" class="footer_social-link w-inline-block"><svg xmlns="http://www.w3.org/2000/svg" stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 576 512" aria-hidden="true" width="100%"><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"></path></svg></a></li><li><a aria-label="Tik Tok" href="https://www.tiktok.com/@joinmultiverse" target="_blank" class="footer_social-link w-inline-block"><svg xmlns="http://www.w3.org/2000/svg" stroke="currentColor" fill="currentColor" stroke-width="0" role="img" viewBox="0 0 24 24" aria-hidden="true" width="100%"><path d="M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08
3274-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"></path></svg></a></li></ul></div><div class="footer_links"><div class="footer_column"><button id="" class="footer-label_wrap"><div class="footer_list-label is-static"><div>Employers</div></div><div class="footer-dropdown_wrap"><div class="footer-dropdown-icon w-embed"><svg width="100%" height="100%" viewBox="0 0 9 5" fill="none" xmlns="http://www.w3.org/2000/svg">
3275<path d="M8.5 0.5L4.5 4.5L0.5 0.5" stroke="currentColor" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
3276</svg>
3277</div></div></button><ul role="list" class="footer_link-list"><li class="footer_link-list-item"><a href="/" aria-current="page" class="footer_link w-inline-block w--current"><div>Overview</div></a></li><li class="footer_link-list-item"><a href="/employers/why-multiverse" class="footer_link w-inline-block"><div>Why Multiverse</div></a></li><li class="footer_link-list-item"><a href="/employers/how-it-works" class="footer_link w-inline-block"><div>How it works</div></a></li><li class="footer_link-list-item"><a href="/impact-hub-2026" class="footer_link w-inline-block"><div>Impact Hub 2026</div></a></li><li class="footer_link-list-item"><a href="/employers/the-apprenticeship-levy" class="footer_link w-inline-block"><div>Levy</div></a></li></ul></div><div class="footer_column"><button id="" class="footer-label_wrap"><div class="footer_list-label is-static"><div>Get Involved</div></div><div class="footer-dropdown_wrap"><div class="footer-dropdown-icon w-embed"><svg width="100%" height="100%" viewBox="0 0 9 5" fill="none" xmlns="http://www.w3.org/2000/svg">
3278<path d="M8.5 0.5L4.5 4.5L0.5 0.5" stroke="currentColor" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
3279</svg>
3280</div></div></button><ul role="list" class="footer_link-list w-list-unstyled"><li class="footer_link-list-item"><a href="/individuals/learn-new-skills" class="footer_link w-inline-block"><div>Learn New Skills</div></a></li><li class="footer_link-list-item"><a href="/individuals/community" class="footer_link w-inline-block"><div>Community</div></a></li><li class="footer_link-list-item"><a href="/careers/were-hiring" class="footer_link w-inline-block"><div>Join the team</div></a></li><li class="footer_link-list-item"><a href="/employer-contact-form" class="footer_link w-inline-block"><div>Contact Us</div></a></li></ul></div><div class="footer_column"><button id="" class="footer-label_wrap"><div class="footer_list-label is-static"><div>About</div></div><div class="footer-dropdown_wrap"><div class="footer-dropdown-icon w-embed"><svg width="100%" height="100%" viewBox="0 0 9 5" fill="none" xmlns="http://www.w3.org/2000/svg">
3281<path d="M8.5 0.5L4.5 4.5L0.5 0.5" stroke="currentColor" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
3282</svg>
3283</div></div></button><ul role="list" class="footer_link-list w-list-unstyled"><li class="footer_link-list-item"><a href="/about/our-mission" class="footer_link w-inline-block"><div>Overview</div></a></li><li class="footer_link-list-item"><a href="/blog" class="footer_link w-inline-block"><div>Blog</div></a></li><li class="footer_link-list-item"><a href="/careers/mobility-and-inclusion" class="footer_link w-inline-block"><div>Diversity, Equity and Inclusion</div></a></li><li class="footer_link-list-item"><a href="/about/press-media" class="footer_link w-inline-block"><div>Press Enquiries</div></a></li></ul></div><div class="footer_column is-last"><button id="" class="footer-label_wrap"><div class="footer_list-label is-static"><div>Legal</div></div><div class="footer-dropdown_wrap"><div class="footer-dropdown-icon w-embed"><svg width="100%" height="100%" viewBox="0 0 9 5" fill="none" xmlns="http://www.w3.org/2000/svg">
3284<path d="M8.5 0.5L4.5 4.5L0.5 0.5" stroke="currentColor" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
3285</svg>
3286</div></div></button><ul role="list" class="footer_link-list w-list-unstyled"><li class="footer_link-list-item"><a href="/about/our-policies" class="footer_link w-inline-block"><div>Policies &amp; Terms of Use</div></a></li><li class="footer_link-list-item"><a href="/our-policies/privacy-policy-uk" class="footer_link w-inline-block"><div>Privacy Policy</div></a></li><li id="privacy-settings" class="footer_link-list-item"><a href="#" class="footer_link w-inline-block"><div>Privacy Settings</div></a></li><li class="footer_link-list-item"><a href="/our-policies/accounts" class="footer_link w-inline-block"><div>Accounts</div></a></li><li class="footer_link-list-item"><a href="/our-policies/browser-support" class="footer_link w-inline-block"><div>Browser Support</div></a></li><li class="footer_link-list-item"><a href="/our-policies/transparency-information-2026" class="footer_link w-inline-block"><div>Transparency Information 2026</div></a></li><li class="footer_link-list-item"><a href="/info/modern-slavery-human-trafficking" class="footer_link w-inline-block"><div>Modern slavery statement</div></a></li></ul></div></div></div><div class="footer-dummy"><div class="footer-logo w-embed">
3286<svg width="100%" height="auto" viewBox="0 0 1376 229" fill="none" xmlns="http://www.w3.org/2000/svg">
3287<path d="M1162.03 128.885L1142.54 124.757C1130.61 122.005 1124.65 116.272 1124.65 107.099C1124.65 96.0907 1135.43 88.9813 1147.81 88.9813C1165.24 88.9813 1174.19 100.219 1176.02 111.915H1209.5C1203.77 74.7627 1176.94 60.544 1147.81 60.544C1112.5 60.544 1090.48 84.624 1090.48 110.539C1090.48 135.077 1108.14 147.691 1131.76 153.424L1150.34 157.781C1168.91 162.139 1177.17 166.725 1177.17 178.192C1177.17 188.971 1168.91 199.979 1153.09 199.979C1133.82 199.979 1125.57 188.741 1124.19 174.752H1089.79C1090.48 205.483 1114.33 228.416 1151.71 228.416C1190.01 228.416 1210.65 202.731 1210.65 176.357C1210.88 153.653 1192.99 135.765 1162.03 128.885ZM1080.16 64.2133H991.637V224.747H1023.97V92.88H1080.16V64.2133ZM785.237 64.2133L744.416 183.467L703.136 64.2133H668.048L727.675 224.747H760.928L820.555 64.2133H785.237ZM651.765 64.2133H619.429V224.747H651.765V64.2133ZM558.885 18.8053H526.549V64.2133H484.811V92.88H526.549V224.747H558.885V92.88H600.165V64.2133H558.885V18.8053ZM469.445 18.8053H437.109V224.747H469.445V18.8053ZM371.749 154.571C371.749 180.944 355.925 196.997 334.139 196.997C311.893 196.997 296.757 180.944 296.757 154.571V64.2133H264.421V153.883C264.421 199.061 289.877 228.416 333.451 228.416C376.336 228.416 404.085 198.373 404.085 153.883V64.2133H371.749V154.571ZM235.755 64.2133H199.061L134.16 170.853V64.2133H97.008L32.336 170.165V64.2133H0V224.747H32.5653L101.824 110.539V224.747H134.389L203.419 111.685V224.747H235.755V64.2133ZM635.483 41.968C647.179 41.968 656.581 32.5653 656.581 20.8693C656.581 9.40267 647.179 0 635.483 0C623.787 0 614.384 9.40267 614.384 20.8693C614.384 32.5653 623.787 41.968 635.483 41.968ZM819.637 144.709C819.637 193.787 854.725 228.416 898.987 228.416C939.12 228.416 964.805 207.547 972.144 174.293H937.744C935.221 186.448 924.443 198.144 901.28 198.144C876.283 198.144 856.331 183.696 853.808 156.864H973.061C973.52 153.195 973.749 148.379 973.749 144.709C973.749 96.7787 944.624 60.544 898.299 60.544C854.037 60.544 819.637 96.7787 819.637 144.709ZM853.12 131.867C857.477 106.869 873.76 90.816 898.299 90.816C922.608 90.816 937.973 106.411 941.413 131.867H853.12ZM1221.89 144.709C1221.89 193.787 1256.98 228.416 1301.24 228.416C1341.37 228.416 1367.06 207.547 1374.39 174.293H1339.99C1337.47 186.448 1326.69 198.144 1303.53 198.144C1278.53 198.144 1258.58 183.696 1256.06 156.864H1375.31C1375.77 153.195 1376 148.379 1376 144.709C1376 96.7787 1346.87 60.544 1300.55 60.544C1256.29 60.544 1221.89 96.7787 1221.89 144.709ZM1255.37 131.867C1259.73 106.869 1276.01 90.816 1300.55 90.816C1324.86 90.816 1340.22 106.411 1343.66 131.867H1255.37Z" fill="white"/>
3288</svg>
3289</div><div class="footer-sentinel"></div></div><div class="footer-space"></div><div class="footer_bottom"><div class="footer-logo w-embed"><svg width="100%" height="auto" viewBox="0 0 1376 229" fill="none" xmlns="http://www.w3.org/2000/svg">
3290<path d="M1162.03 128.885L1142.54 124.757C1130.61 122.005 1124.65 116.272 1124.65 107.099C1124.65 96.0907 1135.43 88.9813 1147.81 88.9813C1165.24 88.9813 1174.19 100.219 1176.02 111.915H1209.5C1203.77 74.7627 1176.94 60.544 1147.81 60.544C1112.5 60.544 1090.48 84.624 1090.48 110.539C1090.48 135.077 1108.14 147.691 1131.76 153.424L1150.34 157.781C1168.91 162.139 1177.17 166.725 1177.17 178.192C1177.17 188.971 1168.91 199.979 1153.09 199.979C1133.82 199.979 1125.57 188.741 1124.19 174.752H1089.79C1090.48 205.483 1114.33 228.416 1151.71 228.416C1190.01 228.416 1210.65 202.731 1210.65 176.357C1210.88 153.653 1192.99 135.765 1162.03 128.885ZM1080.16 64.2133H991.637V224.747H1023.97V92.88H1080.16V64.2133ZM785.237 64.2133L744.416 183.467L703.136 64.2133H668.048L727.675 224.747H760.928L820.555 64.2133H785.237ZM651.765 64.2133H619.429V224.747H651.765V64.2133ZM558.885 18.8053H526.549V64.2133H484.811V92.88H526.549V224.747H558.885V92.88H600.165V64.2133H558.885V18.8053ZM469.445 18.8053H437.109V224.747H469.445V18.8053ZM371.749 154.571C371.749 180.944 355.925 196.997 334.139 196.997C311.893 196.997 296.757 180.944 296.757 154.571V64.2133H264.421V153.883C264.421 199.061 289.877 228.416 333.451 228.416C376.336 228.416 404.085 198.373 404.085 153.883V64.2133H371.749V154.571ZM235.755 64.2133H199.061L134.16 170.853V64.2133H97.008L32.336 170.165V64.2133H0V224.747H32.5653L101.824 110.539V224.747H134.389L203.419 111.685V224.747H235.755V64.2133ZM635.483 41.968C647.179 41.968 656.581 32.5653 656.581 20.8693C656.581 9.40267 647.179 0 635.483 0C623.787 0 614.384 9.40267 614.384 20.8693C614.384 32.5653 623.787 41.968 635.483 41.968ZM819.637 144.709C819.637 193.787 854.725 228.416 898.987 228.416C939.12 228.416 964.805 207.547 972.144 174.293H937.744C935.221 186.448 924.443 198.144 901.28 198.144C876.283 198.144 856.331 183.696 853.808 156.864H973.061C973.52 153.195 973.749 148.379 973.749 144.709C973.749 96.7787 944.624 60.544 898.299 60.544C854.037 60.544 819.637 96.7787 819.637 144.709ZM853.12 131.867C857.477 106.869 873.76 90.816 898.299 90.816C922.608 90.816 937.973 106.411 941.413 131.867H853.12ZM1221.89 144.709C1221.89 193.787 1256.98 228.416 1301.24 228.416C1341.37 228.416 1367.06 207.547 1374.39 174.293H1339.99C1337.47 186.448 1326.69 198.144 1303.53 198.144C1278.53 198.144 1258.58 183.696 1256.06 156.864H1375.31C1375.77 153.195 1376 148.379 1376 144.709C1376 96.7787 1346.87 60.544 1300.55 60.544C1256.29 60.544 1221.89 96.7
3290787 1221.89 144.709ZM1255.37 131.867C1259.73 106.869 1276.01 90.816 1300.55 90.816C1324.86 90.816 1340.22 106.411 1343.66 131.867H1255.37Z" fill="white"/>
3291</svg>
3292</div></div></div></div></footer>
3292<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=69381061fef68be00431dd04" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
3292<script src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/js/multiverse-site.schunk.b36de0610a35aa79.js" type="text/javascript" integrity="sha384-bOZ0zosqGRfOla7kqUultK9km3dXI3K5kOn6mDnozBPY/ZGl9/GKllrjZ0EdPONC" crossorigin="anonymous"></script>
3292<script src="https://cdn.prod.website-files.com/69381061fef68be00431dd04/js/multiverse-site.1f3f8683.2bf56f0cdd2c2efd.js" type="text/javascript" integrity="sha384-TDkRTFI3xAFHrVy7JY2S8o/EI0Vxh/YdyuIdS8eIbzqDoHDdgmMtAQFxkiDYzskt" crossorigin="anonymous"></script>
3292<script type="application/ld+json" id="schema-organization">
3293{
3294  "@context": "https://schema.org",
3295  "@type": "Organization",
3296  "@id": "https://www.multiverse.io/#organization",
3297  "name": "Multiverse",
3298  "url": "https://www.multiverse.io",
3299  "logo": {
3300    "@type": "ImageObject",
3301    "url": "https://cdn.prod.website-files.com/69381061fef68be00431dd04/696a57e58189719ef932a40b_Logo.svg"
3302  },
3303  "contactPoint": {
3304  	"@type": "ContactPoint",
3305  	"contactType": "customer support",
3306  	"email": "[email protected]"
3307  },
3308  "address": {
3309    "@type": "PostalAddress",
3310    "streetAddress": "2 Eastbourne Terrace, Floors 5+6",
3311    "addressLocality": "London",
3312    "addressCountry": "GB",
3313    "postalCode": "W2 6LG"
3314  },
3315  "sameAs": [
3316    "https://www.linkedin.com/company/joinmultiverse/",
3317    "https://twitter.com/joinmultiverse",
3318    "https://www.youtube.com/c/multiverse1",
3319    "https://www.instagram.com/joinmultiverse",
3320    "https://www.facebook.com/joinmultiverse",
3321    "https://www.tiktok.com/@joinmultiverse"
3322  ]
3323}
3324</script>
3324
3325
3326<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 3326-3327
3326
3327<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
3327GTM-KWQD2SP
vendor: 83 bytes, lines 3327-3328
3327"
3328height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
3329<!-- End Google Tag Manager (noscript) -->
3330
3331<!-- Show Ketch Privacy Settings on Footer 'Privacy Settings' Link Click -->
3332<script>
3333document.addEventListener("DOMContentLoaded", function () {
3334  var el = document.getElementById("privacy-settings");
3335
3336  if (el) {
3337    el.addEventListener("click", function (e) {
3338      e.preventDefault();
3339
3340      if (window.ketch) {
3341        window.ketch('showConsent');
3342      }
3343    });
3344  }
3345});
3346</script>
3346
3347
3348<!-- Paginated Canonicals -->
3349<script>
3350document.addEventListener("DOMContentLoaded", function () {
3351  const url = new URL(window.location.href);
3352
3353  // Detect pagination param (_page)
3354  const paginationParams = Array.from(url.searchParams.keys())
3355    .filter(key => key.endsWith("_page"));
3356
3357  if (paginationParams.length === 0) return;
3358
3359  // Keep only pagination params
3360  const cleanUrl = new URL(url.origin + url.pathname);
3361
3362  paginationParams.forEach(param => {
3363    cleanUrl.searchParams.set(param, url.searchParams.get(param));
3364  });
3365
3366  // Remove existing canonical
3367  document.querySelectorAll("link[rel='canonical']").forEach(el => el.remove());
3368
3369  // Add clean canonical
3370  const canonical = document.createElement("link");
3371  canonical.rel = "canonical";
3372  canonical.href = cleanUrl.toString();
3373
3374  document.head.appendChild(canonical);
3375});
3376</script>
vendor: 1 bytes, line 3376
3376
3377<script>
3378(function () {
3379  const SELECTOR = '[data-split="lines"]';
3380  const HEADING_TAGS = ['h1','h2','h3','h4','h5','h6','p'];
3381  const originalMarkup = new WeakMap();
3382
3383  function resolveTargets(root) {
3384    return HEADING_TAGS.includes(root.tagName.toLowerCase())
3385      ? [root]
3386      : Array.from(root.querySelectorAll(HEADING_TAGS.join(',')));
3387  }
3388
3389  function collectWords(root) {
3390    const words = [];
3391    (function walk(node, tags) {
3392      if (node.nodeType === Node.TEXT_NODE) {
3393        node.textContent.split(/\s+/).filter(Boolean).forEach(text => words.push({ text, tags: tags.slice() }));
3394      } else if (node.nodeType === Node.ELEMENT_NODE) {
3395        const tagInfo = { tagName: node.tagName.toLowerCase(), attrs: Array.from(node.attributes) };
3396        Array.from(node.childNodes).forEach(child => walk(child, tags.concat([tagInfo])));
3397      }
3398    })(root, []);
3399    return words;
3400  }
3401
3402  function buildWordSpan(wordObj) {
3403    let node = document.createTextNode(wordObj.text + '\u00A0');
3404    for (let i = wordObj.tags.length - 1; i >= 0; i--) {
3405      const info = wordObj.tags[i];
3406      const wrapper = document.createElement(info.tagName);
3407      info.attrs.forEach(attr => wrapper.setAttribute(attr.name, attr.value));
3408      wrapper.appendChild(node);
3409      node = wrapper;
3410    }
3411    const span = document.createElement('span');
3412    span.className = 'word';
3413    span.style.display = 'inline-block';
3414    span.appendChild(node);
3415    return span;
3416  }
3417
3418  function splitLines(el) {
3419    if (!originalMarkup.has(el)) originalMarkup.set(el, el.innerHTML);
3420
3421    const container = document.createElement('div');
3422    container.innerHTML = originalMarkup.get(el);
3423    const wordSpans = collectWords(container).map(buildWordSpan);
3424
3425    el.innerHTML = '';
3426    wordSpans.forEach(span => el.appendChild(span));
3427    
3428// patch for line splitting
3429    const LINE_TOLERANCE = 10;
3430  	const tops = wordSpans.map(w => w.offsetTop);
3431  	const lines = [];
3432 	 let currentTop = null;
3433 	 wordSpans.forEach((span, i) => {
3434    if (currentTop === null || Math.abs(tops[i] - currentTop) > LINE_TOLERANCE) {
3435      lines.push([]);
3436      currentTop = tops[i];
3437    }
3438    lines[lines.length - 1].push(span);
3439  });
3440// end patch
3441
3442    el.innerHTML = '';
3443    lines.forEach((lineSpans, i) => {
3444      const mask = document.createElement('span');
3445      mask.className = 'line-mask';
3446      const inner = document.createElement('span');
3447      inner.className = 'line-inner';
3448      inner.style.setProperty('--i', i);
3449      lineSpans.forEach(span => inner.appendChild(span));
3450      mask.appendChild(inner);
3451      el.appendChild(mask);
3452    });
3453  }
3454
3455  function init() {
3456    const seen = new Set();
3457    const els = [];
3458    Array.from(document.querySelectorAll(SELECTOR)).forEach(root => {
3459      resolveTargets(root).forEach(target => {
3460        if (!seen.has(target)) {
3461          seen.add(target);
3462          target.classList.add('js-line-split');
3463          els.push(target);
3464        }
3465      });
3466    });
3467
3468    els.forEach(splitLines);
3469
3470    const io = new IntersectionObserver((entries, obs) => {
3471      entries.forEach(entry => {
3472        if (entry.isIntersecting) {
3473          entry.target.classList.add('in-view');
3474          obs.unobserve(entry.target);
3475        }
3476      });
3477    }, { threshold: 0.2, rootMargin: '0px 0px -10% 0px' });
3478
3479    els.forEach(el => io.observe(el));
3480
3481    let resizeTimer;
3482    window.addEventListener('resize', () => {
3483      clearTimeout(resizeTimer);
3484      resizeTimer = setTimeout(() => {
3485        els.forEach(splitLines);
3486      }, 150);
3487    });
3488  }
3489
3490  if (document.readyState === 'loading') {
3491    document.addEventListener('DOMContentLoaded', init);
3492  } else {
3493    init();
3494  }
3495})();
3496</script>
3496
3497
3498
3499<!-- Footer Animation Code -->
3500<style>
3501  .footer_layout {
3502    opacity: 0;
3503    transition: opacity 0.3s ease;
3504  }
3505  .footer_layout.is-visible {
3506    opacity: 1;
3507  }
3508</style>
3509<script>
3510function initFooterLayoutReveal() {
3511  const layout = document.querySelector('.footer_layout');
3512  const sentinel = document.querySelector('.footer-sentinel'); // 1px div, 32px below dummy's bottom
3513  if (!layout || !sentinel) return;
3514
3515  const observer = new IntersectionObserver(
3516    ([entry]) => layout.classList.toggle('is-visible', entry.isIntersecting)
3517  );
3518  observer.observe(sentinel);
3519}
3520window.addEventListener('DOMContentLoaded', initFooterLayoutReveal);
3521</script>
3521
3522
3523<!-- VIDEO PLAYER — headless controller -->
3524
3525<script>
3526/*
3527  Headless video player controller.
3528    - a normal file (.mp4 etc) -> played as-is with native controls
3529    - any Wistia link          -> the <video> is swapped for a <wistia-player>
3530*/
3531(function () {
3532  const WISTIA_PLAYER_JS = 'https://fast.wistia.com/player.js';
3533  const ID_PATTERNS = [
3534    /\/medias\/([a-z0-9]{10})/i,
3535    /\/embed\/iframe\/([a-z0-9]{10})/i,
3536    /\/embed\/medias\/([a-z0-9]{10})/i,
3537    /[?&]wvideo=([a-z0-9]{10})/i
3538  ];
3539
3540  function isWistiaUrl(src) {
3541    return /(^|\/\/|\.)wistia\.(com|net)\//i.test(src);
3542  }
3543
3544
3545  function mediaIdFromUrl(src) {
3546    for (let i = 0; i < ID_PATTERNS.length; i++) {
3547      const m = src.match(ID_PATTERNS[i]);
3548      if (m) return m[1];
3549    }
3550    return null;
3551  }
3552
3553  function resolveMediaId(src) {
3554    const direct = mediaIdFromUrl(src);
3555    if (direct) return Promise.resolve(direct);
3556    return fetch('https://fast.wistia.com/oembed.json?url=' + encodeURIComponent(src))
3557      .then(function (r) { return r.ok ? r.json() : null; })
3558      .then(function (data) { return data ? mediaIdFromUrl(data.html || '') : null; })
3559      .catch(function () { return null; });
3560  }
3561
3562  let wistiaReady = null;
3563  function loadWistia() {
3564    if (wistiaReady) return wistiaReady;
3565    if (!document.querySelector('script[src^="' + WISTIA_PLAYER_JS + '"]')) {
3566      const s = document.createElement('script');
3567      s.src = WISTIA_PLAYER_JS;
3568      s.async = true;
3569      document.head.appendChild(s);
3570    }
3571    wistiaReady = customElements.whenDefined('wistia-player');
3572    return wistiaReady;
3573  }
3574
3575  // Swap the <video> for a <wistia-player>
3576  function buildWistiaPlayer(videoEl, mediaId) {
3577    const p = document.createElement('wistia-player');
3578    p.setAttribute('data-vp-video', '');
3579    p.setAttribute('media-id', mediaId);
3580    p.setAttribute('fit-strategy', 'contain');     
3581    p.setAttribute('big-play-button', 'false');    
3582    p.setAttribute('controls-visible-on-load', 'false');
3583    p.setAttribute('playback-rate-control', 'false');
3584    p.setAttribute('style', videoEl.getAttribute('style') || 'width:100%;height:100%;display:block;background:#000');
3585    videoEl.removeAttribute('src');             
3586    videoEl.replaceWith(p);
3587    return p;
3588  }
3589
3590  // --- media adapters: one interface over <wistia-player> and <video> ---
3591  function wistiaAdapter(p) {
3592    return {
3593      play: function () { const r = p.play(); if (r && r.catch) r.catch(function () {}); },
3594      focus: function () { try { p.focus(); } catch (e) {} },
3595      reset: function () { try { p.currentTime = 0; } catch (e) {} },
3596      on: function (ev, cb) { p.addEventListener(ev, cb); },
3597      onDuration: function (cb) {
3598        const ready = typeof p.whenApiReady === 'function' ? p.whenApiReady() : Promise.resolve();
3599        Promise.resolve(ready).then(function () { cb(p.duration); }).catch(function () {});
3600      }
3601    };
3602  }
3603
3604  function nativeAdapter(v) {
3605    return {
3606      play: function () {
3607        v.setAttribute('controls', '');
3608        const r = v.play();
3609        if (r && r.catch) r.catch(function () {});
3610      },
3611      focus: function () { try { v.focus(); } catch (e) {} },
3612      reset: function () { v.removeAttribute('controls'); v.currentTime = 0; },
3613      on: function (ev, cb) { v.addEventListener(ev, cb); },
3614      onDuration: function (cb) {
3615        if (v.readyState > 0) cb(v.duration);
3616        else v.addEventListener('loadedmetadata', function () { cb(v.duration); });
3617      }
3618    };
3619  }
3620
3621  function initPlayer(root) {
3622    if (root.dataset.vpInit) return;
3623    root.dataset.vpInit = 'true';
3624
3625    const videoEl = root.querySelector('[data-vp-video]');
3626    const poster = root.querySelector('[data-vp-poster]');
3627    const playBtn = root.querySelector('[data-vp-play]');
3628    const meta = root.querySelector('[data-vp-meta]');
3629    const labelEl = root.querySelector('[data-vp-label]');
3630    const durationEl = root.querySelector('[data-vp-duration]');
3631    const hideOnPlay = [poster, playBtn, meta].filter(Boolean);
3632    if (!videoEl || !playBtn) return;
3633
3634    playBtn.setAttribute('aria-label', 'Play: ' + (labelEl ? labelEl.textContent.trim() : 'video'));
3635
3636    let media = null;
3637    let pendingPlay = false;
3638    playBtn.addEventListener('click', function () {
3639      if (media) media.play();
3640      else pendingPlay = true;
3641    });
3642
3643    function wire(adapter) {
3644      media = adapter;
3645
3646      media.onDuration(function (d) {
3647        if (durationEl) {
3648          if (Number.isFinite(d) && d > 0) {
3649            const m = Math.floor(d / 60);
3650            const s = Math.floor(d % 60).toString().padStart(2, '0');
3651            durationEl.textContent = m + ':' + s;
3652          } else {
3653            durationEl.style.display = 'none';
3654            const dot = root.querySelector('.video-player_dot, [data-vp-dot]');
3655            if (dot) dot.style.display = 'none';
3656          }
3657        }
3658        root.dispatchEvent(new CustomEvent('video-loadedmetadata', { bubbles: true, detail: { duration: d } }));
3659      });
3660
3661      media.on('play', function () {
3662        hideOnPlay.forEach(function (el) {
3663          el.style.opacity = '';
3664          el.style.visibility = '';
3665          el.classList.add('is-playing');
3666        });
3667        media.focus();
3668        root.dispatchEvent(new CustomEvent('video-play', { bubbles: true }));
3669      });
3670
3671      let endHandled = false; 
3672      media.on('ended', function () {
3673        if (endHandled) return;
3674        endHandled = true;
3675        root.dispatchEvent(new CustomEvent('video-ended', { bubbles: true }));
3676        setTimeout(function () {
3677          hideOnPlay.forEach(function (el) {
3678            el.style.transition = 'opacity 0.8s ease';
3679            el.classList.remove('is-playing');
3680          });
3681          setTimeout(function () {
3682            media.reset();
3683            hideOnPlay.forEach(function (el) { el.style.transition = ''; });
3684            endHandled = false;
3685          }, 800);
3686        }, 5000);
3687      });
3688
3689      if (pendingPlay) {
3690        pendingPlay = false;
3691        media.play();
3692      }
3693    }
3694
3695    const src = videoEl.getAttribute('src') || '';
3696
3697    if (!isWistiaUrl(src)) {
3698      wire(nativeAdapter(videoEl));
3699      return;
3700    }
3701
3702    Promise.all([resolveMediaId(src), loadWistia()]).then(function (results) {
3703      const mediaId = results[0];
3704      if (!mediaId) {
3705        console.warn('[video-player] could not resolve a Wistia media id from:', src);
3706        return;
3707      }
3708      wire(wistiaAdapter(buildWistiaPlayer(videoEl, mediaId)));
3709    });
3710  }
3711
3712  function initAll() {
3713    document.querySelectorAll('[data-vp-root]').forEach(initPlayer);
3714  }
3715
3716  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', initAll);
3717  else initAll();
3718})();
3719</script>
3719
3720
3721<script>
3722/* Footer accordion (<=767px): button.footer-label_wrap toggles its sibling .footer_link-list */
3723(() => {
3724  const mq = matchMedia('(max-width: 767px)');
3725  const still = matchMedia('(prefers-reduced-motion: reduce)');
3726  const labels = [...document.querySelectorAll('.footer-label_wrap')];
3727  const sentinel = document.querySelector('.footer-sentinel');
3728
3729  document.head.insertAdjacentHTML('beforeend', `<style>
3730@media (max-width:767px){
3731  .footer_link-list{display:flex;overflow:hidden}
3732  .footer_link-list[hidden]{display:none}
3733  .footer_layout:not(.is-visible){pointer-events:none}
3734  .footer-label_wrap{cursor:pointer}
3735  .footer-dropdown-icon{transition:transform .25s}
3736  [aria-expanded=true] .footer-dropdown-icon{transform:rotate(180deg)}
3737}
3738@media (prefers-reduced-motion:reduce){.footer-dropdown-icon{transition:none}}
3739</style>`);
3740
3741  labels.forEach((l, i) => {
3742    const ul = l.nextElementSibling;
3743    ul.id ||= 'footer-list-' + i;
3744    l.setAttribute('aria-controls', ul.id);
3745  });
3746
3747  const sync = () => labels.forEach((l) => {
3748    l.nextElementSibling.hidden = mq.matches;
3749    mq.matches ? l.setAttribute('aria-expanded', 'false') : l.removeAttribute('aria-expanded');
3750  });
3751
3752  const toggle = (l) => {
3753    const ul = l.nextElementSibling;
3754    const open = l.getAttribute('aria-expanded') !== 'true';
3755    ul.getAnimations().forEach((a) => a.cancel());
3756    l.setAttribute('aria-expanded', open);
3757    const y0 = sentinel && sentinel.getBoundingClientRect().top;
3758    ul.hidden = false;
3759    const a = ul.animate(
3760      { height: ['0px', ul.offsetHeight + 'px'], paddingBlock: ['0px', getComputedStyle(ul).paddingTop] },
3761      { duration: still.matches ? 0 : 250, easing: 'ease', direction: open ? 'normal' : 'reverse' }
3762    );
3763    a.onfinish = () => (ul.hidden = !open);
3764
3765    // Footer reveal is driven by the sentinel at the page bottom. While opening, scroll by however much
3766    // the page grows each frame so the sentinel stays in view (no fade-out, links never sit behind the pinned logo).
3767    if (open && y0 < innerHeight) {
3768      const follow = () => {
3769        scrollBy(0, sentinel.getBoundingClientRect().top - y0);
3770        if (a.playState === 'running') requestAnimationFrame(follow);
3771      };
3772      requestAnimationFrame(follow);
3773    }
3774  };
3775
3776  document.addEventListener('click', (e) => {
3777    const l = mq.matches && e.target.closest('.footer-label_wrap');
3778    if (l) toggle(l);
3779  });
3780
3781  mq.addEventListener('change', sync);
3782  sync();
3783})();
3784</script>
3784<script>
3785/*
3786  Intro sticky image
3787  ------------------
3788  .intro-sticky-wrap
3789    section.intro-sticky         ← sticky "curtain" (styles in <head> CSS); fades out once, never returns
3790      .intro-image_wrap          ← scales startScale → 1 on scroll, reaching full size as it pins
3791    .intro-sticky_below          ← card sits exactly where the image was
3792
3793  Sequence
3794  1. Image grows as it scrolls in, reaching full size exactly as it pins.
3795  2. It holds for holdPx of scroll, then — while still opaque — the curtain switches
3796     from sticky to fixed (same spot), which takes its space out of the page. A
3797     spacer the size of the hold keeps _below at the top of the viewport, its card
3798     in the image's footprint, without scrolling (a scroll up would show the nav).
3799  3. Curtain fades out over fadeMs (scroll input paused meanwhile); animations
3800     inside _below are restarted so they play as it's revealed.
3801  4. _below is sticky with a revealHoldPx spacer after it, so it holds briefly
3802     before scrolling on.
3803  5. On the first scroll up (the nav is showing then anyway) all of that is removed
3804     in one go with _below kept still on screen, so the page is back to normal.
3805  If the page loads (or restores its scroll) past the reveal point, the image is
3806  removed straight away and never shown.
3807*/
3808(function () {
3809  const CFG = {
3810    startScale: 0.4,      // image scale when the section first enters the viewport
3811    holdPx: 80,           // scroll distance the pinned, full-size image holds before fading
3812    revealHoldPx: 400,    // scroll distance the revealed section holds before scrolling away
3813    fadeMs: 700,
3814    fadeEase: 'cubic-bezier(0.4, 0, 0.2, 1)',
3815    pauseScroll: true,    // hold the page still while the fade plays
3816    replayAnimations: true,
3817    scaleEase: t => 1 - (1 - t) * (1 - t), // easeOutQuad; use t => t for linear
3818  };
3819
3820  let current;
3821
3822  function initIntroSticky() {
3823    if (current) current.destroy();
3824
3825    const wrap = document.querySelector('.intro-sticky-wrap');
3826    const section = document.querySelector('.intro-sticky');
3827    const image = section && section.querySelector('.intro-image_wrap');
3828    const below = document.querySelector('.intro-sticky_below');
3829    if (!wrap || !section || !image || !below) return;
3830
3831    const reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
3832
3833    image.style.willChange = 'transform';
3834
3835    let state = 'active'; // active → revealing → revealed → done, or destroyed
3836    let ticking = false;
3837    let rafId;
3838    let lastY = 0;
3839    let holdEl;
3840    let fadeTimer;
3841    let unlockScroll = () => {};
3842
3843    function setScale(s, originY) {
3844      image.style.transformOrigin = `50% ${originY}%`;
3845      image.style.transform = s >= 1 ? 'none' : `scale(${s})`;
3846    }
3847
3848    function setScroll(y) {
3849      const l = window.lenis;
3850      if (l && typeof l.scrollTo === 'function') l.scrollTo(y, { immediate: true, force: true });
3851      else window.scrollTo(0, y);
3852    }
3853
3854    // Run a layout change without `anchor` visibly moving.
3855    function withoutShift(anchor, change) {
3856      const root = document.documentElement;
3857      const prevAnchor = root.style.overflowAnchor;
3858      root.style.overflowAnchor = 'none';
3859      const before = anchor.getBoundingClientRect().top;
3860      change();
3861      const after = anchor.getBoundingClientRect().top;
3862      if (before !== after) setScroll(window.scrollY + after - before);
3863      root.style.overflowAnchor = prevAnchor;
3864    }
3865
3866    function pauseScroll(ms) {
3867      const keys = ['ArrowUp', 'ArrowDown', 'PageUp', 'PageDown', 'Home', 'End', ' '];
3868      const block = e => {
3869        if (e.type === 'keydown' && !keys.includes(e.key)) return;
3870        e.preventDefault();
3871        e.stopImmediatePropagation();
3872      };
3873      const opts = { capture: true, passive: false };
3874      const types = ['wheel', 'touchmove', 'keydown'];
3875      types.forEach(t => document.addEventListener(t, block, opts));
3876      const timer = setTimeout(unlock, ms);
3877      function unlock() {
3878        clearTimeout(timer);
3879        types.forEach(t => document.removeEventListener(t, block, opts));
3880        unlockScroll = () => {};
3881      }
3882      unlockScroll = unlock;
3883    }
3884
3885    function replayAnimations() {
3886      const roots = [below, ...[...below.querySelectorAll('*')].map(el =>
3886 el.shadowRoot).filter(Boolean)];
3887      for (const root of roots) {
3888        const anims = root === below ? below.getAnimations({ subtree: true }) : root.getAnimations();
3889        for (const a of anims) {
3890          a.currentTime = 0;
3891          a.play();
3892        }
3893      }
3894    }
3895
3896    // Page loaded (or scroll-restored) past the reveal point → never show it.
3897    function removeInstantly() {
3898      withoutShift(below, () => { section.style.display = 'none'; });
3899      finish();
3900    }
3901
3902    function reveal() {
3903      state = 'revealing';
3904      setScale(1, 50);
3905      if (CFG.pauseScroll) pauseScroll(CFG.fadeMs);
3906
3907      const r = section.getBoundingClientRect();
3908      Object.assign(section.style, {
3909        position: 'fixed',
3910        top: `${r.top}px`,
3911        left: `${r.left}px`,
3912        width: `${r.width}px`,
3913        margin: '0',
3914      });
3915      const offset = below.getBoundingClientRect().top;
3916      if (offset < 0) {
3917        wrap.style.paddingTop = `${-offset}px`;
3918      } else if (offset > 0) {
3919        setScroll(window.scrollY + offset); // only ever downwards
3920      }
3921
3922      // Hold the revealed section briefly
3923      below.style.position = 'sticky';
3924      below.style.top = '0px';
3925      holdEl = document.createElement('div');
3926      holdEl.setAttribute('aria-hidden', 'true');
3927      holdEl.style.height = `${CFG.revealHoldPx}px`;
3928      wrap.appendChild(holdEl);
3929
3930      if (CFG.replayAnimations) replayAnimations();
3931
3932      section.style.transition = `opacity ${CFG.fadeMs}ms ${CFG.fadeEase}`;
3933      section.style.opacity = '0';
3934      fadeTimer = setTimeout(() => {
3935        section.style.display = 'none';
3936        state = 'revealed';
3937        lastY = window.scrollY;
3938      }, CFG.fadeMs);
3939    }
3940
3941    // On the first scroll up (the nav is showing then anyway), put the layout back to
3942    // normal in one go, keeping _below still on screen.
3943    function checkScrollUp() {
3944      const y = window.scrollY;
3945      if (y < lastY) {
3946        withoutShift(below, restoreLayout);
3947        finish();
3948      }
3949      lastY = y;
3950    }
3951
3952    function restoreLayout() {
3953      wrap.style.paddingTop = '';
3954      below.style.position = '';
3955      below.style.top = '';
3956      if (holdEl) holdEl.remove();
3957      holdEl = undefined;
3958    }
3959
3960    function finish() {
3961      state = 'done';
3962      unbind();
3963    }
3964
3965    function update(instant) {
3966      ticking = false;
3967      if (state === 'revealed') return checkScrollUp();
3968      if (state !== 'active') return;
3969
3970      const vh = window.innerHeight;
3971      const wrapTop = wrap.getBoundingClientRect().top; // not sticky, so it's the true flow position
3972
3973      if (wrapTop <= -CFG.holdPx) return instant ? removeInstantly() : reveal();
3974
3975      if (reduceMotion) return setScale(1, 50);
3976      // 0 as the section's top enters the viewport → 1 as it pins at the top.
3977      const p = Math.min(Math.max((vh - wrapTop) / vh, 0), 1);
3978      // Shrink towards the top edge at first (keeps the gap to the text above),
3979      // shifting to the centre by the time it pins.
3980      setScale(CFG.startScale + (1 - CFG.startScale) * CFG.scaleEase(p), 50 * p * p);
3981    }
3982
3983    function onScroll() {
3984      if (!ticking) {
3985        ticking = true;
3986        rafId = requestAnimationFrame(() => update(false));
3987      }
3988    }
3989
3990    function onLoad() {
3991      rafId = requestAnimationFrame(() => update(true));
3992    }
3993
3994    function unbind() {
3995      window.removeEventListener('scroll', onScroll);
3996      window.removeEventListener('resize', onScroll);
3997      window.removeEventListener('load', onLoad);
3998      image.style.willChange = '';
3999    }
4000
4001    function destroy() {
4002      state = 'destroyed'; // stops any already-queued update from touching the page
4003      unbind();
4004      cancelAnimationFrame(rafId);
4005      unlockScroll();
4006      clearTimeout(fadeTimer);
4007      section.removeAttribute('style');
4008      image.removeAttribute('style');
4009      restoreLayout();
4010      if (current === api) current = undefined;
4011    }
4012
4013    window.addEventListener('scroll', onScroll, { passive: true });
4014    window.addEventListener('resize', onScroll);
4015
4016    update(true);
4017    if (document.readyState !== 'complete') window.addEventListener('load', onLoad, { once: true });
4018
4019    const api = { destroy, state: () => state };
4020    current = api;
4021    return api;
4022  }
4023
4024  // Off for small screens (must match the <head> CSS query).
4025  const disabledMQ = window.matchMedia('(max-width: 767px)');
4026
4027  function sync() {
4028    if (disabledMQ.matches) {
4029      if (current) current.destroy();
4030      window.introSticky = undefined;
4031    } else if (!current) {
4032      window.introSticky = initIntroSticky();
4033    }
4034  }
4035
4036  window.initIntroSticky = initIntroSticky;
4037  disabledMQ.addEventListener('change', sync);
4038  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', sync);
4039  else sync();
4040})();
4041
4042</script>
4042
4043
4044
4045<script>
4046/*
4047  Intro image tiles: keep them from running into each other
4048*/
4049(function () {
4050  const CFG = {
4051    gapRem: 1.5,    // minimum clearance kept between the tiles, and from the wrap's edges
4052    minScale: 0.5,  // never shrink them below this
4053  };
4054
4055  function initIntroTiles() {
4056    const wrap = document.querySelector('.intro-image_wrap');
4057    const tiles = wrap ? [...wrap.querySelectorAll('[data-reveal-tile]')] : [];
4058    if (tiles.length !== 2) return;
4059
4060    // Each tile shrinks towards the corner it's anchored to
4061    function origin(t, W, H) {
4062      const v = t.getAttribute('data-reveal-tile') || '';
4063      const right = /right/.test(v) || (!/left/.test(v) && W - (t.offsetLeft + t.offsetWidth) < t.offsetLeft);
4064      const bottom = /bottom/.test(v) || (!/top/.test(v) && H - (t.offsetTop + t.offsetHeight) < t.offsetTop);
4065      return { right, bottom };
4066    }
4067
4068    function scaledBox(t, o, s) {
4069      const w = t.offsetWidth * s;
4070      const h = t.offsetHeight * s;
4071      const left = o.right ? t.offsetLeft + t.offsetWidth - w : t.offsetLeft;
4072      const top = o.bottom ? t.offsetTop + t.offsetHeight - h : t.offsetTop;
4073      return { left, top, right: left + w, bottom: top + h };
4074    }
4075
4076    function clear(a, b, gap) {
4077      return (
4078        a.right + gap <= b.left || b.right + gap <= a.left ||
4079        a.bottom + gap <= b.top || b.bottom + gap <= a.top
4080      );
4081    }
4082
4083    function inside(box, o, W, H, m) {
4084      return (o.right ? box.left >= m : box.right <= W - m) &&
4085        (o.bottom ? box.top >= m : box.bottom <= H - m);
4086    }
4087
4088    function fit() {
4089      if (tiles.some(t => !t.offsetParent)) {
4090        tiles.forEach(t => { t.style.scale = ''; });
4091        return;
4092      }
4093      const W = wrap.clientWidth;
4094      const H = wrap.clientHeight;
4095      const gap = CFG.gapRem * parseFloat(getComputedStyle(document.documentElement).fontSize);
4096      const [ta, tb] = tiles;
4097      const oa = origin(ta, W, H);
4098      const ob = origin(tb, W, H);
4099      const fits = s => {
4100        const a = scaledBox(ta, oa, s);
4101        const b = scaledBox(tb, ob, s);
4102        return clear(a, b, gap) && inside(a, oa, W, H, gap) && inside(b, ob, W, H, gap);
4103      };
4104
4105      let s = 1;
4106      if (!fits(1)) {
4107        let lo = CFG.minScale;
4108        let hi = 1;
4109        for (let i = 0; i < 20; i++) {
4110          const mid = (lo + hi) / 2;
4111          if (fits(mid)) lo = mid;
4112          else hi = mid;
4113        }
4114        s = lo;
4115      }
4116
4117      tiles.forEach((t, i) => {
4118        const o = i ? ob : oa;
4119        t.style.transformOrigin = `${o.right ? 'right' : 'left'} ${o.bottom ? 'bottom' : 'top'}`;
4120        t.style.scale = s < 1 ? String(Math.round(s * 1000) / 1000) : '';
4121      });
4122    }
4123
4124    const ro = new ResizeObserver(fit);
4125    ro.observe(wrap);
4126    tiles.forEach(t => ro.observe(t)); // their height changes as text wraps or fonts load
4127    if (document.fonts) document.fonts.ready.then(fit);
4128    fit();
4129  }
4130
4131  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', initIntroTiles);
4132  else initIntroTiles();
4133})();
4134</script>
4134</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.