PageSourceSearch

https://mlarteka.ai/case-studies/a-self-serve-retail-app-that-made-in-store-price-checks-75-faster

html mlarteka.ai collected 2026-10-05 13:38:05 UTC 195,156 bytes, 5,318 lines download raw bytes

1<!doctype html>
2<html lang="en-US">
3<head>
4	<!-- Google Tag Manager -->
5<script>
vendor: 327 bytes, lines 5-9
5(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
6new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
7j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
8'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
9})(window,document,'script','dataLayer','
9GTM-MHR8JXW
vendor: 3 bytes, line 9
9');
9</script>
9
10<!-- End Google Tag Manager -->
11	
12<!-- 	Google Analytics 4 Code -->
13	<!-- Google tag (gtag.js) -->
vendor: 65 bytes, lines 13-14
13
14	<script async src="https://www.googletagmanager.com/gtag/js?id=
14G-X3DDQK6QLM
vendor: 13 bytes, lines 14-15
14"></script>
15	
15<script>
16	  
vendor: 137 bytes, lines 16-20
16window.dataLayer = window.dataLayer || [];
17	  function gtag(){dataLayer.push(arguments);}
18	  gtag('js', new Date());
19
20	  gtag('config', '
20G-X3DDQK6QLM
vendor: 5 bytes, lines 20-21
20');
21	
21</script>
21
22<!-- 	End Google Analytics 4 Code -->
23	
24	<meta charset="UTF-8">
25	<meta name="viewport" content="width=device-width, initial-scale=1">
26	<meta name="google-site-verification" content="zRoEDju38ELxo4jpnRfeFxH-vAgsJJN1eTlkwIKIQBY" />
27	<link rel="preconnect" href="https://fonts.googleapis.com">
28<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
29<link href="https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap" rel="stylesheet">
30	<link rel="profile" href="https://gmpg.org/xfn/11">
31	
31<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
31
32	
32<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/gsap.min.js"></script>
32
33	
33<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/ScrollTrigger.min.js"></script>
33
34	
34<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/ScrollSmoother.min.js"></script>
34
35<!-- 	
35<script type="text/javascript" src="/wp-content/themes/mobilelive/slick/slick.min.js"></script>
35 -->
36	
36<script src="https://sdk.amazonaws.com/js/aws-sdk-2.1.24.min.js"></script>
36
37	<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
38
39	<!-- This site is optimized with the Yoast SEO plugin v28.6 - https://yoast.com/product/yoast-seo-wordpress/ -->
40	<title>Hybrid Self-Serve Retail Shopping App | ML arteka</title>
41	<meta name="description" content="How ML arteka built a hybrid self-serve retail app with Scan and Go that made in-store price checks 75% faster and cut staff-assisted queries 30%." />
42	<link rel="canonical" href="https://mlarteka.com/case-studies/a-self-serve-retail-app-that-made-in-store-price-checks-75-faster" />
43	<meta property="og:locale" content="en_US" />
44	<meta property="og:type" content="article" />
45	<meta property="og:title" content="Hybrid Self-Serve Retail Shopping App | ML arteka" />
46	<meta property="og:description" content="How ML arteka built a hybrid self-serve retail app with Scan and Go that made in-store price checks 75% faster and cut staff-assisted queries 30%." />
47	<meta property="og:url" content="https://mlarteka.com/case-studies/a-self-serve-retail-app-that-made-in-store-price-checks-75-faster" />
48	<meta property="og:site_name" content="ML arteka" />
49	<meta property="article:modified_time" content="2026-08-27T14:48:55+00:00" />
50	<meta property="og:image" content="https://mlarteka.com/wp-content/uploads/2026/08/A-Self-Serve-Retail-App-That-Made-In-Store-Price-Checks-75-Faster-1.jpg" />
51	<meta property="og:image:width" content="640" />
52	<meta property="og:image:height" content="360" />
53	<meta property="og:image:type" content="image/jpeg" />
54	<meta name="twitter:card" content="summary_large_image" />
55	<meta name="twitter:label1" content="Est. reading time" />
56	<meta name="twitter:data1" content="3 minutes" />
57	
57<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/mlarteka.com\/case-studies\/a-self-serve-retail-app-that-made-in-store-price-checks-75-faster","url":"https:\/\/mlarteka.com\/case-studies\/a-self-serve-retail-app-that-made-in-store-price-checks-75-faster","name":"Hybrid Self-Serve Retail Shopping App | ML arteka","isPartOf":{"@id":"https:\/\/mlarteka.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/mlarteka.com\/case-studies\/a-self-serve-retail-app-that-made-in-store-price-checks-75-faster#primaryimage"},"image":{"@id":"https:\/\/mlarteka.com\/case-studies\/a-self-serve-retail-app-that-made-in-store-price-checks-75-faster#primaryimage"},"thumbnailUrl":"https:\/\/mlarteka.ai\/wp-content\/uploads\/2026\/08\/A-Self-Serve-Retail-App-That-Made-In-Store-Price-Checks-75-Faster-1.jpg","datePublished":"2026-08-18T15:04:58+00:00","dateModified":"2026-08-27T14:48:55+00:00","description":"How ML arteka built a hybrid self-serve retail app with Scan and Go that made in-store price checks 75% faster and cut staff-assisted queries 30%.","breadcrumb":{"@id":"https:\/\/mlarteka.com\/case-studies\/a-self-serve-retail-app-that-made-in-store-price-checks-75-faster#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mlarteka.com\/case-studies\/a-self-serve-retail-app-that-made-in-store-price-checks-75-faster"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/mlarteka.com\/case-studies\/a-self-serve-retail-app-that-made-in-store-price-checks-75-faster#primaryimage","url":"https:\/\/mlarteka.ai\/wp-content\/uploads\/2026\/08\/A-Self-Serve-Retail-App-That-Made-In-Store-Price-Checks-75-Faster-1.jpg","contentUrl":"https:\/\/mlarteka.ai\/wp-content\/uploads\/2026\/08\/A-Self-Serve-Retail-App-That-Made-In-Store-Price-Checks-75-Faster-1.jpg","width":640,"height":360},{"@type":"BreadcrumbList","@id":"https:\/\/mlarteka.com\/case-studies\/a-self-serve-retail-app-that-made-in-store-price-checks-75-faster#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/mlarteka.com\/"},{"@type":"ListItem","position":2,"name":"A Self-Serve Retail App That Made In-Store Price Checks 75% Faster"}]},{"@type":"WebSite","@id":"https:\/\/mlarteka.com\/#website","url":"https:\/\/mlarteka.com\/","name":"ML arteka","description":"Closing the Gap Between AI Ambition &amp; Technology ROI","publisher":{"@id":"https:\/\/mlarteka.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mlarteka.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/mlarteka.com\/#organization","name":"ML arteka","url":"https:\/\/mlarteka.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/mlarteka.com\/#\/schema\/logo\/image\/","url":"https:\/\/mlarteka.com\/wp-content\/uploads\/2026\/06\/Original-Logo.png","contentUrl":"https:\/\/mlarteka.com\/wp-content\/uploads\/2026\/06\/Original-Logo.png","width":1299,"height":290,"caption":"ML arteka"},"image":{"@id":"https:\/\/mlarteka.com\/#\/schema\/logo\/image\/"}}]}</script>
57
58	<!-- / Yoast SEO plugin. -->
59
60
61<link rel="alternate" type="application/rss+xml" title="ML arteka &raquo; Feed" href="https://mlarteka.ai/feed" />
62<link rel="alternate" type="application/rss+xml" title="ML arteka &raquo; Comments Feed" href="https://mlarteka.ai/comments/feed" />
63<link rel="alternate" type="application/rss+xml" title="ML arteka &raquo; A Self-Serve Retail App That Made In-Store Price Checks 75% Faster Comments Feed" href="https://mlarteka.ai/case-studies/a-self-serve-retail-app-that-made-in-store-price-checks-75-faster/feed" />
64<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://mlarteka.ai/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fmlarteka.ai%2Fcase-studies%2Fa-self-serve-retail-app-that-made-in-store-price-checks-75-faster" />
65<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://mlarteka.ai/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fmlarteka.ai%2Fcase-studies%2Fa-self-serve-retail-app-that-made-in-store-price-checks-75-faster&#038;format=xml" />
66<style id="wp-img-auto-sizes-contain-inline-css">
67img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
68/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
69</style>
70<style id="wp-block-library-inline-css">
71:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
71--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
72
73/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
74</style>
75<style id="classic-theme-styles-inline-css">
76/*! This file is auto-generated */
77.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
78/*# sourceURL=/wp-includes/css/classic-themes.min.css */
79</style>
80
81<style id="global-styles-inline-css">
82:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
820) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
82.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
83/*# sourceURL=global-styles-inline-css */
84</style>
85
86<link rel='stylesheet' id='cf7apps-honeypot-frontend-css' href='https://mlarteka.ai/wp-content/plugins/contact-form-7-honeypot/legacy-honeypot/includes/css/honeypot-frontend.css?ver=3.8.0' media='all' />
87<link rel='stylesheet' id='wpo_min-header-0-css' href='https://mlarteka.ai/wp-content/cache/wpo-minify/1791206269/assets/wpo-minify-header-fdb94048.min.css' media='all' />
88<script id="wpo_min-header-0-js" src="https://mlarteka.ai/wp-content/cache/wpo-minify/1791206269/assets/wpo-minify-header-7b210e3f.min.js"></script>
vendor: 1 bytes, line 88
88
89<script data-wp-strategy="defer" defer id="wpo_min-header-1-js" src="https://mlarteka.ai/wp-content/cache/wpo-minify/1791206269/assets/wpo-minify-header-bda50a9b.min.js"></script>
vendor: 1 bytes, line 89
89
90<script id="wpo_min-header-2-js-extra">
91var ecs_ajax_params = {"ajaxurl":"https://mlarteka.ai/wp-admin/admin-ajax.php","posts":"{\"page\":0,\"case-studies\":\"a-self-serve-retail-app-that-made-in-store-price-checks-75-faster\",\"post_type\":\"case-studies\",\"name\":\"a-self-serve-retail-app-that-made-in-store-price-checks-75-faster\",\"error\":\"\",\"m\":\"\",\"p\":0,\"post_parent\":\"\",\"subpost\":\"\",\"subpost_id\":\"\",\"attachment\":\"\",\"attachment_id\":0,\"pagename\":\"\",\"page_id\":0,\"second\":\"\",\"minute\":\"\",\"hour\":\"\",\"day\":0,\"monthnum\":0,\"year\":0,\"w\":0,\"category_name\":\"\",\"tag\":\"\",\"cat\":\"\",\"tag_id\":\"\",\"author\":\"\",\"author_name\":\"\",\"feed\":\"\",\"tb\":\"\",\"paged\":0,\"meta_key\":\"\",\"meta_value\":\"\",\"preview\":\"\",\"s\":\"\",\"sentence\":\"\",\"title\":\"\",\"fields\":\"all\",\"menu_order\":\"\",\"embed\":\"\",\"category__in\":[],\"category__not_in\":[],\"category__and\":[],\"post__in\":[],\"post__not_in\":[],\"post_name__in\":[],\"tag__in\":[],\"tag__not_in\":[],\"tag__and\":[],\"tag_slug__in\":[],\"tag_slug__and\":[],\"post_parent__in\":[],\"post_parent__not_in\":[],\"author__in\":[],\"author__not_in\":[],\"search_columns\":[],\"ignore_sticky_posts\":false,\"suppress_filters\":false,\"cache_results\":true,\"update_post_term_cache\":true,\"update_menu_item_cache\":false,\"lazy_load_term_meta\":true,\"update_post_meta_cache\":true,\"posts_per_page\":10,\"nopaging\":false,\"comments_per_page\":\"50\",\"no_found_rows\":false,\"order\":\"DESC\"}"};
92//# sourceURL=wpo_min-header-2-js-extra
93</script>
vendor: 1 bytes, line 93
93
94<script id="wpo_min-header-2-js" src="https://mlarteka.ai/wp-content/cache/wpo-minify/1791206269/assets/wpo-minify-header-cb9b0fe7.min.js"></script>
94
95<link rel="https://api.w.org/" href="https://mlarteka.ai/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://mlarteka.ai/wp-json/wp/v2/case-studies/40262" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://mlarteka.ai/xmlrpc.php?rsd" />
96<meta name="generator" content="WordPress 7.1.2" />
97<link rel='shortlink' href='https://mlarteka.ai/?p=40262' />
98<link rel="pingback" href="https://mlarteka.ai/xmlrpc.php"><link rel="icon" href="https://mlarteka.ai/wp-content/uploads/2026/06/cropped-ML-arteka-Favicon-Icon-32x32.png" sizes="32x32" />
99<link rel="icon" href="https://mlarteka.ai/wp-content/uploads/2026/06/cropped-ML-arteka-Favicon-Icon-192x192.png" sizes="192x192" />
100<link rel="apple-touch-icon" href="https://mlarteka.ai/wp-content/uploads/2026/06/cropped-ML-arteka-Favicon-Icon-180x180.png" />
101<meta name="msapplication-TileImage" content="https://mlarteka.ai/wp-content/uploads/2026/06/cropped-ML-arteka-Favicon-Icon-270x270.png" />
102<style id="wp-custom-css">
103.footer p, .footer h4,.footer h3,.footer h2, .footer ul, .has-bg h2,.has-bg h3, .has-bg p, .has-bg a, .has-bg span{
104	background-color:rgba(0,0,0,0.01);
105}
106@media (max-width:991px){
107	.enterprises-build-card > div{
108		border-color:#0f0f37 !important;
109	}
110	.hygh__steps svg path{
111		fill:#0f0f37;
112	}
113	.hygh--v2 .hygh__hex:before,
114	.hygh--v2 .hygh__line,
115.hygh--v2 .hygh__item:not(:last-child):not(.hygh__item--last):not(.hygh__item--build):after{
116		background:#0f0f37 !important;
117	}
118	.hygh--v2 .hygh__num,
119	.hygh__title, .hygh h3,.hygh h2,.hygh p{
120		color:#0f0f37 !important;
121	}
122}
123.legacy-pin-section .elementor-row {
124    align-items: flex-start;
125}
126.mlce-sig .mlce-sig__stage{
127	padding:20px !important;
128}
129
130/* Service page banners — Cloud & Engineering + Data & AI (shared .mlce-sig) */
131.mlce-sig,
132.mlce-sig * {
133  box-sizing: border-box !important;
134}
135
136.mlce-sig {
137  --ce-navy: #0F0F37;
138  --ce-orange: #E9590C;
139  --ce-blue: #1491C2;
140  --ce-teal: var(--ce-blue);
141  --ce-muted: #C47A5A;
142  --ce-cream: #FEFBF8;
143  --ce-art-max-w: 720px;
144  --ce-stage-pad: 20px;
145  --ce-svg-ar: 680 / 640;
146  --ce-node-r-ambient: 3;
147  --ce-node-r-field: 3.2;
148  --ce-node-r-mid: 3.5;
149  --ce-node-r-near: 3.8;
150  --ce-node-r-seed: 3.2;
151  position: relative !important;
152  overflow: visible !important;
153  background: var(--ce-cream) !important;
154  background-image: none !important;
155  min-height: auto !important;
156  font-family: "Nunito Sans", Nunito, system-ui, sans-serif !important;
157  color: var(--ce-navy) !important;
158  margin: 0 !important;
159  padding: 0 !important;
160  width: 100% !important;
161  max-width: none !important;
162  display: block !important;
163  line-height: normal !important;
164}
165
166.mlce-sig p {
167  margin: 0 !important;
168}
169
170/* Mesh — lives in right column only */
171.mlce-sig .mlce-sig__art {
172  position: relative !important;
173  inset: auto;
174  width: 100%;
175  height: auto;
176  pointer-events: none;
177  z-index: 0;
178  overflow: visible;
179  background: transparent !important;
180}
181
182.mlce-sig .mlce-sig__mesh {
183  background: transparent !important;
184  position: relative;
185  top: auto;
186  right: auto;
187  bottom: auto;
188  left: auto;
189  width: 100%;
190  height: auto;
191  min-height: 0;
192  opacity: 1;
193  -webkit-mask-image: linear-gradient(
194    90deg,
195    transparent 0%,
196    rgba(0, 0, 0, 0.35) 8%,
197    rgba(0, 0, 0, 0.85) 16%,
198    #000 24%,
199    #000 100%
200  );
201  mask-image: linear-gradient(
202    90deg,
203    transparent 0%,
204    rgba(0, 0, 0, 0.35) 8%,
205    rgba(0, 0, 0, 0.85) 16%,
206    #000 24%,
207    #000 100%
208  );
209  filter: contrast(1.06);
210  will-change: transform, opacity;
211}
212
213.mlce-sig .mlce-sig__hex--ambient {
214  stroke-width: 1.05 !important;
215}
216
217.mlce-sig .mlce-sig__hex--field {
218  stroke-width: 1.35 !important;
219}
220
221.mlce-sig .mlce-sig__hex--mid {
222  stroke-width: 1.45 !important;
223}
224
225.mlce-sig .mlce-sig__hex--near {
226  stroke-width: 2.35 !important;
227}
228
229/* Subtle tint only — no visible glow halo against page cream */
230.mlce-sig .mlce-sig__aura {
231  opacity: 0;
232  pointer-events: none;
233}
234
235.mlce-sig .mlce-sig__layer--ambient .mlce-sig__hex {
236  opacity: 0.5 !important;
237}
238
239.mlce-sig .mlce-sig__layer--field .mlce-sig__hex {
240  opacity: 0.64 !important;
241}
242
243.mlce-sig .mlce-sig__layer--mid .mlce-sig__hex {
244  opacity: 0.76 !important;
245}
246
247.mlce-sig .mlce-sig__layer--near .mlce-sig__hex {
248  opacity: 0.94 !important;
249}
250
251.mlce-sig .mlce-sig__node--ambient {
252  opacity: 0 !important;
253  visibility: hidden !important;
254  r: var(--ce-node-r-ambient) !important;
255}
256
257.mlce-sig .mlce-sig__node--field {
258  opacity: 0 !important;
259  visibility: hidden !important;
260  r: var(--ce-node-r-field) !important;
261}
262
263.mlce-sig .mlce-sig__node--mid {
264  opacity: 0 !important;
265  visibility: hidden !important;
266  r: var(--ce-node-r-mid) !important;
267}
268
269.mlce-sig .mlce-sig__node--near {
270  opacity: 0 !important;
271  visibility: hidden !important;
272  r: var(--ce-node-r-near) !important;
273}
274
275.mlce-sig .mlce-sig__seed {
276  r: var(--ce-node-r-seed) !important;
277  fill: var(--ce-blue) !important;
278  opacity: 0 !important;
279  visibility: hidden !important;
280  pointer-events: none !important;
281}
282
283.mlce-sig .mlce-sig__accent-grow polygon {
284  stroke-width: 2.5 !important;
285}
286
287.mlce-sig .mlce-sig__svg {
288  width: 100%;
289  height: auto;
290  min-height: clamp(260px, 34vw, 420px);
291  max-height: none;
292  display: block;
293  overflow: visible;
294}
295
296.mlce-sig .mlce-sig__hex {
297  stroke: var(--ce-blue) !important;
298  fill: none !important;
299  vector-effect: non-scaling-stroke;
300}
301
302/* Legacy teal hex in Elementor SVG/HTML → brand blue (stroke/fill separately) */
303.mlce-sig .mlce-sig__svg [stroke="#3DB8C5"],
304.mlce-sig .mlce-sig__svg [stroke="#3db8c5"] {
305  stroke: var(--ce-blue) !important;
306}
307
308.mlce-sig .mlce-sig__svg [fill="#3DB8C5"],
309.mlce-sig .mlce-sig__svg [fill="#3db8c5"] {
310  fill: var(--ce-blue) !important;
311}
312
313.mlce-sig .mlce-sig__svg stop[stop-color="#3DB8C5"],
314.mlce-sig .mlce-sig__svg stop[stop-color="#3db8c5"] {
315  stop-color: var(--ce-blue) !important;
316}
317
318.mlce-sig .mlce-sig__hex--orange {
319  stroke: var(--ce-orange) !important;
320}
321
322.mlce-sig .mlce-sig__node {
323  fill: var(--ce-blue) !important;
324  opacity: 0 !important;
325  visibility: hidden !important;
326  pointer-events: none !important;
327}
328
329.mlce-sig .mlce-sig__node--orange {
330  fill: var(--ce-orange) !important;
331}
332
333.mlce-sig .mlce-sig__hex--culled,
334.mlce-sig .mlce-sig__node--culled {
335  opacity: 0 !important;
336  visibility: hidden;
337  pointer-events: none;
338}
339
340.mlce-sig.mlce-sig--entered .mlce-sig__node:not(.mlce-sig__node--culled) {
341  visibility: hidden;
342}
343
344.mlce-sig:not(.mlce-sig--js) .mlce-sig__hex:not(.mlce-sig__hex--culled),
345.mlce-sig:not(.mlce-sig--js) .mlce-sig__node:not(.mlce-sig__node--culled) {
346  visibility: visible;
347}
348
349.mlce-sig:not(.mlce-sig--js) .mlce-sig__node:not(.mlce-sig__node--culled) {
350  opacity: 0 !important;
351  visibility: hidden !important;
352}
353
354
355.mlce-sig .mlce-sig__accent--support .mlce-sig__accent-grow > polygon:first-of-type,
356.mlce-sig .mlce-sig__accent--support .mlce-sig__accent-icon,
357.mlce-sig [data-acc="ai"] .mlce-sig__accent-grow > polygon,
358.mlce-sig [data-acc="secure"] .mlce-sig__accent-grow > polygon,
359.mlce-sig [data-acc="growth"] .mlce-sig__accent-grow > polygon,
360.mlce-sig [data-acc="ai"] .mlce-sig__accent-icon,
361.mlce-sig [data-acc="secure"] .mlce-sig__accent-icon,
362.mlce-sig [data-acc="growth"] .mlce-sig__accent-icon {
363  stroke: var(--ce-blue) !important;
364}
365
366.mlce-sig .mlce-sig__accent--support .mlce-sig__accent-icon circle[fill]:not([fill="none"]),
367.mlce-sig [data-acc="ai"] .mlce-sig__accent-icon circle[fill]:not([fill="none"]),
368.mlce-sig [data-acc="secure"] .mlce-sig__accent-icon circle[fill]:not([fill="none"]),
369.mlce-sig [data-acc="growth"] .mlce-sig__accent-icon circle[fill]:not([fill="none"]) {
370  fill: var(--ce-blue) !important;
371}
372
373.mlce-sig .mlce-sig__accent-grow {
374  transform-origin: 0 0;
375  filter: drop-shadow(0 8px 14px rgba(15, 15, 55, 0.07));
376}
377
378.mlce-sig .mlce-sig__accents {
379  pointer-events: none;
380  isolation: isolate;
381}
382
383.mlce-sig .mlce-sig__packet {
384  fill: var(--ce-orange);
385  stroke: var(--ce-cream);
386  stroke-width: 1.5;
387  pointer-events: none;
388  vector-effect: non-scaling-stroke;
389}
390
391.mlce-sig .mlce-sig__pulse-ring {
392  transform-box: fill-box;
393  transform-origin: center;
394  pointer-events: none;
395  vector-effect: non-scaling-stroke;
396}
397
398.mlce-sig .elementor-element.mlce-sig__art-wrap {
399  position: relative !important;
400}
401
402.mlce-sig .mlce-sig__ripple {
403  position: absolute;
404  z-index: 4;
405  width: 40px;
406  height: 40px;
407  margin: -20px 0 0 -20px;
408  border: 2px solid rgba(20, 145, 194, 0.62);
409  border-radius: 50%;
410  background: transparent;
411  box-shadow: 0 0 18px rgba(20, 145, 194, 0.2);
412  opacity: 0;
413  pointer-events: none;
414  transform: scale(0.2);
415  transform-origin: center center;
416}
417
418/* Constellation ignition spark (18-constellation-ignition) */
419.mlce-sig .mlce-sig__bloom {
420  position: absolute;
421  z-index: 1;
422  width: 180px;
423  height: 180px;
424  margin: -90px 0 0 -90px;
425  border-radius: 50%;
426  pointer-events: none;
427  opacity: 0;
428  transform: scale(0.2);
429  transform-origin: center center;
430  background: radial-gradient(
431    circle,
432    rgba(233, 89, 12, 0.45) 0%,
433    rgba(20, 145, 194, 0.2) 40%,
434    transparent 70%
435  );
436  mix-blend-mode: screen;
437}
438
439/* Design & Experience — mesh assembles in place (no art nudge from the right) */
440.mlce-sig.mlce-sig--de.mlce-sig--split .elementor-element.mlce-sig__art-wrap {
441  transform: none !important;
442}
443
444.mlce-sig .mlce-sig__layer--side .mlce-sig__hex--side {
445  stroke-width: 1.15 !important;
446}
447
448.mlce-sig .mlce-sig__accent--logo .mlce-sig__accent-grow polygon,
449.mlce-sig .mlce-sig__accent--cloud .mlce-sig__accent-grow polygon {
450  stroke: var(--ce-orange) !important;
451  stroke-width: 3 !important;
452}
453
454.mlce-sig .mlce-sig__node {
455  transform-box: fill-box;
456  transform-origin: center;
457}
458
459/* ── Copy stack (Figma: crumb top, title middle-left overlapping mesh) ── */
460.mlce-sig .mlce-sig__content {
461  position: relative;
462  z-index: 3;
463  background: var(--ce-cream);
464}
465.mlce-sig .elementor-element.mlce-sig__crumb-wrap {
466  position: relative;
467  z-index: 4;
468  width: 100%;
469  max-width: none !important;
470  margin: 0 !important;
471}
472
473.mlce-sig .mlce-sig__crumb {
474  margin: 0 !important;
475  font-size: 15px;
476  line-height: 1.4;
477  color: var(--ce-muted);
478  font-weight: 500;
479}
480
481.mlce-sig .mlce-sig__crumb-sep {
482  margin: 0 6px;
483  opacity: 0.7;
484}
485
486.mlce-sig .mlce-sig__crumb-current {
487  color: var(--ce-orange);
488  font-weight: 700;
489}
490
491.mlce-sig .mlce-sig__title-area,
492.mlce-sig .elementor-section.mlce-sig__title-area,
493.mlce-sig .mlce-sig__copy-col,
494.mlce-sig .elementor-column.mlce-sig__copy-col {
495  position: relative;
496  z-index: 3;
497  width: 100%;
498  max-width: none !important;
499  padding: 0 !important;
500  margin: 0 !important;
501  min-height: 0;
502  display: flex !important;
503  align-items: center;
504  background: var(--ce-cream) !important;
505}
506
507.mlce-sig .mlce-sig__title-area > .elementor-container,
508.mlce-sig .elementor-section.mlce-sig__title-area > .elementor-container {
509  width: 100%;
510  max-width: 100% !important;
511  padding: 0 !important;
512}
513
514.mlce-sig h1.mlce-sig__title {
515  margin: 0 !important;
516  padding: 0 !important;
517  border: 0 !important;
518  background: none !important;
519  color: var(--ce-navy) !important;
520  font-family: "Nunito Sans", Nunito, sans-serif !important;
521  font-size: clamp(2.85rem, 6.4vw, 5.75rem) !important;
522  line-height: 0.98 !important;
523  font-weight: 600 !important;
524  letter-spacing: -0.02em !important;
525  text-transform: none !important;
526  overflow: visible;
527  width: 100%;
528  max-width: 100%;
529}
530
531.mlce-sig .elementor-element.mlce-sig__title-wrap .mlce-sig__title,
532.mlce-sig .elementor-element.mlce-sig__title-wrap h1 {
533  width: 100% !important;
534  max-width: 100% !important;
535  font-weight: 600 !important;
536}
537
538.mlce-sig .mlce-sig__line {
539  display: block;
540  font-weight: 600 !important;
541}
542
543.mlce-sig .mlce-sig__line--scale {
544  white-space: nowrap !important;
545}
546
547/* ── Lead — full width at bottom ── */
548.mlce-sig .mlce-sig__lead {
549  position: relative;
550  z-index: 2;
551  width: 100%;
552  margin: 0;
553  padding: clamp(16px, 2.5vw, 28px) 0 clamp(48px, 7vw, 88px);
554  color: var(--ce-navy);
555  font-family: "Nunito Sans", Nunito, sans-serif !important;
556  font-size: clamp(1.375rem, 2.6vw, 2.25rem) !important;
557  font-weight: 500 !important;
558  line-height: 1.25 !important;
559  overflow: hidden;
560}
561
562.mlce-sig .mlce-sig__lead-line {
563  margin: 0 !important;
564  padding: 0 !important;
565  color: var(--ce-navy) !important;
566  font: inherit !important;
567  display: block;
568  overflow: hidden;
569  will-change: transform, opacity;
570}
571
572/* GSAP sets initial opacity/transform inline — never hide copy in CSS (breaks if JS/CSS mismatch on live) */
573
574/* ── Elementor: crumb → split (copy | art) → lead ── */
575.mlce-sig > .elementor-container > .elementor-column > .elementor-widget-wrap {
576  display: flex;
577  flex-direction: column;
578  gap: 0;
579}
580
581.mlce-sig .elementor-element.mlce-sig__crumb-wrap {
582  position: relative;
583  z-index: 2;
584  width: 100%;
585  padding: clamp(28px, 3.5vw, 44px) clamp(32px, 4vw, 57px) 0 !important;
586  margin: 0 !important;
587}
588
589.mlce-sig .elementor-section.mlce-sig__split {
590  position: relative !important;
591  width: 100% !important;
592  min-height: clamp(360px, 50vh, 500px) !important;
593  padding: clamp(12px, 2vw, 24px) clamp(32px, 4vw, 57px) clamp(20px, 2.5vw, 32px) !important;
594  overflow: visible !important;
595}
596
597.mlce-sig .elementor-section.mlce-sig__split > .elementor-container {
598  align-items: center !important;
599  min-height: inherit;
600  height: auto !important;
601  overflow: visible !important;
602}
603
604.mlce-sig .elementor-column.mlce-sig__copy-col,
605.mlce-sig .elementor-column.mlce-sig__art-col {
606  position: relative !important;
607  overflow: visible !important;
608  align-self: center !important;
609}
610
611.mlce-sig .elementor-column.mlce-sig__art-col {
612  z-index: 1;
613}
614
615.mlce-sig .elementor-element.mlce-sig__art-wrap,
616.mlce-sig .elementor-element.mlce-sig__title-wrap {
617  width: 100% !important;
618  overflow: visible !important;
619}
620
621.mlce-sig .elementor-element.mlce-sig__art-wrap {
622  margin-left: auto !important;
623  margin-right: 0 !important;
624  width: 88% !important;
625  max-width: 460px !important;
626}
627
628.mlce-sig.mlce-sig--split .elementor-element.mlce-sig__art-wrap {
629  transform: translateX(clamp(20px, 3vw, 40px));
630}
631
632.mlce-sig .elementor-element.mlce-sig__art-wrap > .elementor-widget-container,
633.mlce-sig .elementor-element.mlce-sig__art-wrap .mlce-sig__art {
634  position: relative !important;
635  width: 100% !important;
636  height: auto !important;
637  min-height: 0 !important;
638  padding: 0 !important;
639  margin: 0 !important;
640  overflow: visible !important;
641}
642
643.mlce-sig .elementor-element.mlce-sig__art-wrap .mlce-sig__mesh {
644  position: relative !important;
645  top: auto !important;
646  right: auto !important;
647  bottom: auto !important;
648  left: auto !important;
649  width: 100% !important;
650  min-height: 0 !important;
651  height: auto !important;
652  opacity: 1 !important;
653}
654
655.mlce-sig .elementor-element.mlce-sig__art-wrap .mlce-sig__svg {
656  width: 100% !important;
657  height: auto !important;
658  min-height: clamp(300px, 38vw, 460px) !important;
659  max-height: none !important;
660  display: block;
661  overflow: visible !important;
662}
663
664.mlce-sig .elementor-element.mlce-sig__lead-wrap {
665  margin: 0 !important;
666  flex-shrink: 0;
667}
668
669.mlce-sig .elementor-element.mlce-sig__lead-wrap > .elementor-widget-container {
670  padding: 0 !important;
671  margin: 0 !important;
672}
673
674.mlce-sig .elementor-widget-text-editor.mlce-sig__crumb-wrap .elementor-widget-container {
675  margin: 0 !important;
676  font-size: 15px;
677  line-height: 1.4;
678  color: var(--ce-muted);
679  font-weight: 500;
680}
681
682.mlce-sig .elementor-element.mlce-sig__anim-note {
683  display: none !important;
684}
685
686@media (max-width: 1100px) {
687  .mlce-sig h1.mlce-sig__title {
688    font-size: clamp(2.35rem, 5.2vw, 4.35rem) !important;
689    line-height: 1 !important;
690  }
691}
692
693@media (max-width: 900px) {
694  .mlce-sig .mlce-sig__copy-col,
695  .mlce-sig .elementor-section.mlce-sig__title-area {
696    max-width: 100% !important;
697  }
698
699  .mlce-sig .mlce-sig__line--scale {
700    white-space: normal;
701  }
702
703  .mlce-sig h1.mlce-sig__title {
704    font-size: clamp(1.95rem, 4.6vw, 3rem) !important;
705    line-height: 1.02 !important;
706    font-weight: 600 !important;
707  }
708
709  .mlce-sig .elementor-section.mlce-sig__split {
710    min-height: auto !important;
711    padding-bottom: clamp(16px, 3vw, 24px) !important;
712  }
713
714  .mlce-sig .elementor-column.mlce-sig__art-col {
715    margin-top: clamp(8px, 2vw, 16px);
716  }
717}
718
719@media (max-width: 767px) {
720  .mlce-sig {
721    min-height: auto !important;
722    overflow: visible !important;
723  }
724
725  .mlce-sig h1.mlce-sig__title {
726    font-size: clamp(1.65rem, 7.2vw, 2.25rem) !important;
727    line-height: 1.04 !important;
728  }
729
730  .mlce-sig .elementor-section.mlce-sig__split {
731    min-height: auto !important;
732    overflow: visible !important;
733  }
734
735  .mlce-sig .elementor-element.mlce-sig__art-wrap .mlce-sig__svg,
736  .mlce-sig .mlce-sig__svg {
737    width: 100% !important;
738    height: auto !important;
739    min-height: clamp(260px, 72vw, 340px) !important;
740    max-height: none !important;
741  }
742
743  .mlce-sig .mlce-sig__lead {
744    font-size: clamp(1.25rem, 5.2vw, 1.75rem) !important;
745    line-height: 1.35 !important;
746  }
747}
748
749@media (prefers-reduced-motion: reduce) {
750  .mlce-sig .mlce-sig-anim,
751  .mlce-sig .mlce-sig__line,
752  .mlce-sig .mlce-sig__lead-line,
753  .mlce-sig .mlce-sig__lead p,
754  .mlce-sig .mlce-sig__lead-wrap p {
755    opacity: 1 !important;
756    transform: none !important;
757  }
758}
759
760.mlce-sig .elementor-element.mlce-sig__critical-css{display:none!important}
761
762/*
763 * Anti-FOUC — hide animated hero content before GSAP runs.
764 * Phase 1: no JS yet (HTML painted, script still loading)
765 * Title: also targets Elementor Heading widgets (h1 without .mlce-sig__line)
766 */
767.mlce-sig:not(.mlce-sig--js) .mlce-sig__crumb,
768.mlce-sig:not(.mlce-sig--js) .mlce-sig__line,
769.mlce-sig:not(.mlce-sig--js) .mlce-sig__copy-col h1,
770.mlce-sig:not(.mlce-sig--js) .mlce-sig__title-wrap h1,
771.mlce-sig:not(.mlce-sig--js) h1.mlce-sig__title,
772.mlce-sig:not(.mlce-sig--js) .mlce-sig__copy-col .elementor-heading-title,
773#mlceSigHero:not(.mlce-sig--js) .mlce-sig__crumb,
774#mldaSigHero:not(.mlce-sig--js) .mlce-sig__crumb,
775#mldeSigHero:not(.mlce-sig--js) .mlce-sig__crumb,
776#mlentSigHero:not(.mlce-sig--js) .mlce-sig__crumb,
777#mlceSigHero:not(.mlce-sig--js) .mlce-sig__line,
778#mldaSigHero:not(.mlce-sig--js) .mlce-sig__line,
779#mldeSigHero:not(.mlce-sig--js) .mlce-sig__line,
780#mlentSigHero:not(.mlce-sig--js) .mlce-sig__line,
781#mlceSigHero:not(.mlce-sig--js) .mlce-sig__copy-col h1,
782#mldaSigHero:not(.mlce-sig--js) .mlce-sig__copy-col h1,
783#mldeSigHero:not(.mlce-sig--js) .mlce-sig__copy-col h1,
784#mlentSigHero:not(.mlce-sig--js) .mlce-sig__copy-col h1,
785#mlceSigHero:not(.mlce-sig--js) .mlce-sig__hex:not(.mlce-sig__hex--culled),
786#mldaSigHero:not(.mlce-sig--js) .mlce-sig__hex:not(.mlce-sig__hex--culled),
787#mldeSigHero:not(.mlce-sig--js) .mlce-sig__hex:not(.mlce-sig__hex--culled),
788#mlentSigHero:not(.mlce-sig--js) .mlce-sig__hex:not(.mlce-sig__hex--culled),
789#mlceSigHero:not(.mlce-sig--js) .mlce-sig__node:not(.mlce-sig__node--culled),
790#mldaSigHero:not(.mlce-sig--js) .mlce-sig__node:not(.mlce-sig__node--culled),
791#mldeSigHero:not(.mlce-sig--js) .mlce-sig__node:not(.mlce-sig__node--culled),
792#mlentSigHero:not(.mlce-sig--js) .mlce-sig__node:not(.mlce-sig__node--culled),
793#mlceSigHero:not(.mlce-sig--js) .mlce-sig__accent-grow,
794#mldaSigHero:not(.mlce-sig--js) .mlce-sig__accent-grow,
795#mldeSigHero:not(.mlce-sig--js) .mlce-sig__accent-grow,
796#mlentSigHero:not(.mlce-sig--js) .mlce-sig__accent-grow,
797#mlceSigHero:not(.mlce-sig--js) .mlce-sig__lead-line,
798#mldaSigHero:not(.mlce-sig--js) .mlce-sig__lead-line,
799#mldeSigHero:not(.mlce-sig--js) .mlce-sig__lead-line,
800#mlentSigHero:not(.mlce-sig--js) .mlce-sig__lead-line,
801#mlceSigHero:not(.mlce-sig--js) .mlce-sig__lead p,
802#mldaSigHero:not(.mlce-sig--js) .mlce-sig__lead p,
803#mldeSigHero:not(.mlce-sig--js) .mlce-sig__lead p,
804#mlentSigHero:not(.mlce-sig--js) .mlce-sig__lead p,
805#mlceSigHero:not(.mlce-sig--js) .mlce-sig__lead-wrap p,
806#mldaSigHero:not(.mlce-sig--js) .mlce-sig__lead-wrap p,
807#mldeSigHero:not(.mlce-sig--js) .mlce-sig__lead-wrap p,
808#mlentSigHero:not(.mlce-sig--js) .mlce-sig__lead-wrap p {
809  opacity: 0 !important;
810  visibility: hidden;
811}
812
813/* Phase 2: crumb only — title is GSAP-controlled after --js (no visibility:hidden on lines) */
814.mlce-sig.mlce-sig--js:not(.mlce-sig--entered) .mlce-sig__crumb,
815#mlceSigHero.mlce-sig--js:not(.mlce-sig--entered) .mlce-sig__crumb,
816#mldaSigHero.mlce-sig--js:not(.mlce-sig--entered) .mlce-sig__crumb,
817#mldeSigHero.mlce-sig--js:not(.mlce-sig--entered) .mlce-sig__crumb,
818#mlentSigHero.mlce-sig--js:not(.mlce-sig--entered) .mlce-sig__crumb {
819  opacity: 0;
820  visibility: hidden;
821}
822
823@media (scripting: none) {
824  .mlce-sig .mlce-sig__crumb,
825  .mlce-sig .mlce-sig__line,
826  .mlce-sig .mlce-sig__copy-col h1,
827  .mlce-sig h1.mlce-sig__title,
828  #mlceSigHero .mlce-sig__crumb,
829  #mldaSigHero .mlce-sig__crumb,
830  #mldeSigHero .mlce-sig__crumb,
831  #mlentSigHero .mlce-sig__crumb,
832  #mlceSigHero .mlce-sig__line,
833  #mldaSigHero .mlce-sig__line,
834  #mldeSigHero .mlce-sig__line,
835  #mlentSigHero .mlce-sig__line,
836  #mlceSigHero .mlce-sig__hex,
837  #mldaSigHero .mlce-sig__hex,
838  #mldeSigHero .mlce-sig__hex,
839  #mlentSigHero .mlce-sig__hex,
840  #mlceSigHero .mlce-sig__accent-grow,
841  #mldaSigHero .mlce-sig__accent-grow,
842  #mldeSigHero .mlce-sig__accent-grow,
843  #mlentSigHero .mlce-sig__accent-grow,
844  #mlceSigHero .mlce-sig__lead-line,
845  #mldaSigHero .mlce-sig__lead-line,
846  #mldeSigHero .mlce-sig__lead-line,
847  #mlentSigHero .mlce-sig__lead-line {
848    opacity: 1 !important;
849    visibility: visible !important;
850  }
851}
852
853.mlce-sig.mlce-sig--js:not(.mlce-sig--entered) .mlce-sig__accent-grow {
854  opacity: 0;
855}
856
857.mlce-sig.mlce-sig--js:not(.mlce-sig--entered) .mlce-sig__lead-line {
858  opacity: 0;
859}
860
861.mlce-sig .elementor-section.mlce-sig__stage {
862  padding: 0 var(--ce-stage-pad) !important;
863}
864
865.mlce-sig .elementor-section.mlce-sig__stage > .elementor-container {
866  display: flex !important;
867  flex-direction: row !important;
868  flex-wrap: nowrap !important;
869  align-items: center !important;
870  width: 100% !important;
871  max-width: none !important;
872  min-height: clamp(360px, 50vh, 500px) !important;
873}
874
875.mlce-sig .elementor-section.mlce-sig__stage > .elementor-container > .elementor-column {
876  width: 50% !important;
877  flex: 0 0 50% !important;
878  max-width: 50% !important;
879}
880
881.mlce-sig .elementor-section.mlce-sig__stage .mlce-sig__art {
882  max-width: var(--ce-art-max-w);
883  margin-left: auto;
884}
885
886
887
888/* ==========================================================================
889   Career + Leadership sections (migrated from career-leadership-2026.css)
890   ========================================================================== */
891
892/* ---------- How you grow here (Career) ---------- */
893/* Section/card colors, typography, spacing, borders and responsive image sizes
894   are native Elementor controls. CSS remains for timeline geometry and exact
895   multi-column proportions unavailable in classic Elementor. */
896.hygh {
897  --orange: #e9590c;
898  --frost: #f4f9fb;
899  --navy: #0f0f37;
900  --row: 281px;
901  --gap: 16px;
902  --num: 85.625px;
903  --rail: 201px;
904  --dot: 22px;
905  --dot-x: 187px;
906  box-sizing: border-box;
907  color: #fff;
908}
909
910/* v2 — hex timeline + inline icons (Figma Careers 3645:7139) */
911.hygh--v2 {
912  --row: auto;
913  --rail: 88px;
914  --hex-w: 56px;
915  --hex-h: 64px;
916  --icon-col: 48px;
917  --hex-to-icon: 48px;
918  --icon-to-copy: 56px;
919  --item-gap: 64px;
920  --steps-max: 1160px;
921}
922.hygh--v2 > .elementor-container,
923.hygh--v2 > .e-con-inner {
924  display: flex !important;
925  flex-direction: column !important;
926  align-items: center !important;
927  width: 100% !important;
928  max-width: 100% !important;
929}
930.hygh--v2 > .elementor-container > .elementor-column,
931.hygh--v2 > .e-con-inner > .elementor-element {
932  width: fit-content !important;
933  max-width: min(100%, var(--steps-max)) !important;
934  margin-left: auto !important;
935  margin-right: auto !important;
936}
937.hygh--v2 > .elementor-container > .elementor-column > .elementor-widget-wrap,
938.hygh--v2 > .elementor-container > .elementor-widget-wrap,
939.hygh--v2 > .e-con-inner > .elementor-element {
940  width: fit-content !important;
941  max-width: min(100%, var(--steps-max)) !important;
942  margin-left: auto !important;
943  margin-right: auto !important;
944}
945.hygh--v2 .hygh__title {
946  width: fit-content;
947  max-width: 100%;
948  text-align: center;
949  margin-left: auto !important;
950  margin-right: auto !important;
951}
952.hygh--v2 .hygh__steps,
953.hygh--v2 .elementor-section.hygh__steps {
954  position: relative;
955  width: fit-content !important;
956  max-width: min(100%, var(--steps-max)) !important;
957  margin-left: auto !important;
958  margin-right: auto !important;
959}
960.hygh--v2 .hygh__steps > .elementor-container {
961  width: auto !important;
962  max-width: 100% !important;
963  margin: 0 auto !important;
964}
965.hygh--v2 .hygh__steps,
966.hygh--v2 .hygh__item {
967  overflow: visible !important;
968}
969.hygh--v2 .hygh__timeline-widget,
970.hygh--v2 .hygh__timeline {
971  display: none !important;
972}
973
974/* Legacy pages without hygh__steps wrapper — keep per-item spine visible */
975.hygh--v2:not(:has(.hygh__steps)) .hygh__spine {
976  display: block;
977  position: absolute;
978  left: 50%;
979  top: 0;
980  bottom: 0;
981  width: 1px;
982  background: #fff;
983  transform: translateX(-50%);
984  z-index: 0;
985}
986.hygh--v2:not(:has(.hygh__steps)) .hygh__item:first-child .hygh__spine {
987  top: 50%;
988}
989.hygh--v2:not(:has(.hygh__steps)) .hygh__item--last .hygh__spine,
990.hygh--v2:not(:has(.hygh__steps)) .hygh__item:last-child .hygh__spine {
991  bottom: 50%;
992}
993.hygh--v2:not(:has(.hygh__steps)) .hygh__item {
994  width: fit-content;
995  max-width: min(100%, var(--steps-max));
996  margin-left: auto !important;
997  margin-right: auto !important;
998}
999.hygh--v2:not(:has(.hygh__steps)) .hygh__item > .elementor-container {
1000  width: 100% !important;
1001  max-width: 100% !important;
1002}
1003.hygh--v2 .hygh__item {
1004  position: relative;
1005  z-index: 1;
1006  width: fit-content !important;
1007  max-width: min(100%, var(--steps-max)) !important;
1008  margin-left: auto !important;
1009  margin-right: auto !important;
1010  margin-bottom: var(--item-gap) !important;
1011}
1012.hygh--v2 .hygh__item > .elementor-container,
1013.hygh--v2 .hygh__item > .e-con {
1014  width: auto !important;
1015  max-width: 100% !important;
1016}
1017.hygh--v2 .hygh__item:not(:last-child):not(.hygh__item--last):not(.hygh__item--build)::after {
1018  content: "";
1019  position: absolute;
1020  left: calc(var(--rail) / 2);
1021  top: calc(var(--hex-h) / 2);
1022  width: 1px;
1023  height: calc(100% + var(--item-gap));
1024  background: #fff;
1025  margin-left: -0.5px;
1026  z-index: 0;
1027  pointer-events: none;
1028}
1029/* Hide static fallback only once GSAP line elements exist */
1030.hygh--v2.hygh--js .hygh__item:has(> .hygh__line)::after {
1031  display: none !important;
1032}
1033.hygh--v2 .hygh__line {
1034  position: absolute;
1035  left: calc(var(--rail) / 2);
1036  top: calc(var(--hex-h) / 2);
1037  bottom: calc(-1 * var(--item-gap) - var(--hex-h) / 2);
1038  width: 1px;
1039  margin-left: -0.5px;
1040  background: #fff;
1041  transform-origin: top center;
1042  z-index: 0;
1043  pointer-events: none;
1044  will-change: transform;
1045}
1046.hygh--v2 .hygh__item:last-child,
1047.hygh--v2 .hygh__item--last,
1048.hygh--v2 .hygh__item--build {
1049  margin-bottom: 0 !important;
1050}
1051.hygh--v2 .hygh__h,
1052.hygh--v2 .hygh__dot,
1053.hygh--v2 .hygh__v {
1054  display: none !important;
1055}
1056.hygh--v2 .hygh__item > .elementor-container > .elementor-row,
1057.hygh--v2 .hygh__item > .elementor-container,
1058.hygh--v2 .hygh__item > .e-con-inner {
1059  display: flex !important;
1060  flex-wrap: nowrap !important;
1061  align-items: flex-start !important;
1062  min-height: 0;
1063  margin: 0 !important;
1064}
1065.hygh--v2 .hygh__rail-col {
1066  flex: 0 0 var(--rail) !important;
1067  width: var(--rail) !important;
1068  max-width: var(--rail) !important;
1069  align-self: flex-start !important;
1070}
1071.hygh--v2 .hygh__icon-col {
1072  flex: 0 0 var(--icon-col) !important;
1073  width: var(--icon-col) !important;
1074  max-width: var(--icon-col) !important;
1075  min-width: var(--icon-col) !important;
1076  margin-left: var(--hex-to-icon) !important;
1077  padding-left: 0 !important;
1078  overflow: visible !important;
1079}
1080.hygh--v2 .hygh__icon-col > .elementor-column-wrap,
1081.hygh--v2 .hygh__icon-col > .elementor-widget-wrap,
1082.hygh--v2 .hygh__icon-col .elementor-widget-container {
1083  overflow: visible !important;
1084}
1085.hygh--v2 .hygh__copy {
1086  flex: 0 1 auto !important;
1087  width: auto !important;
1088  min-width: 0;
1089  padding-left: var(--icon-to-copy) !important;
1090}
1091.hygh--v2 .hygh__rail {
1092  position: relative;
1093  display: flex;
1094  align-items: flex-start;
1095  justify-content: center;
1096  width: var(--rail);
1097  min-height: var(--hex-h);
1098  height: auto;
1099  margin-top: -10px;
1100}
1101.hygh--v2 .hygh__rail::after {
1102  display: none;
1103}
1104.hygh--v2 .hygh__rail::before {
1105  display: none;
1106}
1107.hygh--v2 .hygh__hex {
1108  position: relative;
1109  z-index: 1;
1110  display: flex;
1111  align-items: center;
1112  justify-content: center;
1113  width: var(--hex-w);
1114  height: var(--hex-h);
1115  background: var(--orange);
1116  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
1117}
1118.hygh--v2 .hygh__hex::before {
1119  content: "";
1120  position: absolute;
1121  inset: 0;
1122  background: #fff;
1123  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
1124  z-index: 0;
1125}
1126.hygh--v2 .hygh__hex::after {
1127  content: "";
1128  position: absolute;
1129  inset: 1.5px;
1130  background: var(--orange);
1131  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
1132  z-index: 1;
1133}
1134.hygh--v2 .hygh__num {
1135  position: relative;
1136  z-index: 2;
1137  width: auto;
1138  height: auto;
1139  border: 0;
1140  border-radius: 0;
1141  background: transparent;
1142  color: #fff;
1143  font-family: "Nunito Sans", sans-serif;
1144  font-weight: 400;
1145  font-size: 28px;
1146  line-height: 1;
1147  letter-spacing: -1px;
1148}
1149.hygh--v2 .hygh__icon-img,
1150.hygh--v2 .hygh__icon-widget .hygh__icon-img {
1151  display: block;
1152  margin-top: 8px;
1153  width: var(--icon-col);
1154  height: var(--icon-col);
1155  flex-shrink: 0;
1156}
1157.hygh--v2 .hygh__icon-img svg,
1158.hygh--v2 .hygh__icon-img img {
1159  display: block;
1160  width: var(--icon-col);
1161  height: var(--icon-col);
1162  object-fit: contain;
1163}
1164.hygh--v2 .hygh__heading {
1165  margin-top: 0 !important;
1166}
1167.hygh--v2 .hygh__body {
1168  max-width: 100%;
1169  margin: 0 !important;
1170}
1171.hygh--v2 .hygh__body p {
1172  max-width: 100%;
1173  margin: 0 !important;
1174}
1175
1176@media (max-width: 1199px) {
1177  .hygh--v2 {
1178    --rail: 72px;
1179    --hex-w: 48px;
1180    --hex-h: 56px;
1181    --icon-col: 44px;
1182    --hex-to-icon: 36px;
1183    --icon-to-copy: 40px;
1184    --item-gap: 56px;
1185    --steps-max: 960px;
1186  }
1187  .hygh--v2 .hygh__icon-img {
1188    margin-top: 6px;
1189  }
1190  .hygh--v2 .hygh__num {
1191    font-size: 24px;
1192  }
1193}
1194
1195@media (max-width: 767px) {
1196  .hygh--v2 {
1197    --rail: auto;
1198    --hex-to-icon: 0;
1199    --icon-to-copy: 0;
1200    --item-gap: 40px;
1201    --steps-max: 100%;
1202  }
1203  .hygh--v2 > .elementor-container > .elementor-column > .elementor-widget-wrap,
1204  .hygh--v2 > .elementor-container > .elementor-widget-wrap {
1205    width: 100%;
1206    max-width: 100%;
1207  }
1208  .hygh--v2 .hygh__item > .elementor-container > .elementor-row,
1209  .hygh--v2 .hygh__item > .elementor-container,
1210  .hygh--v2 .hygh__item > .e-con-inner {
1211    flex-wrap: wrap !important;
1212    align-items: flex-start !important;
1213  }
1214  .hygh--v2 .hygh__rail-col,
1215  .hygh--v2 .hygh__icon-col,
1216  .hygh--v2 .hygh__copy {
1217    flex: 0 0 100% !important;
1218    width: 100% !important;
1219    max-width: 100% !important;
1220    padding-left: 0 !important;
1221  }
1222  .hygh--v2 .hygh__rail-col {
1223    display: none !important;
1224  }
1225  .hygh--v2 .hygh__rail,
1226  .hygh--v2 .hygh__hex,
1227  .hygh--v2 .hygh__num {
1228    display: none !important;
1229  }
1230  .hygh--v2 .hygh__item:not(:last-child):not(.hygh__item--last):not(.hygh__item--build)::after,
1231  .hygh--v2 .hygh__line {
1232    display: none;
1233  }
1234  .hygh--v2 .hygh__icon-col {
1235    margin-bottom: 4px;
1236    display: flex !important;
1237    justify-content: flex-start !important;
1238    align-items: flex-start !important;
1239  }
1240  .hygh--v2 .hygh__icon-col > .elementor-column-wrap,
1241  .hygh--v2 .hygh__icon-col > .elementor-widget-wrap,
1242  .hygh--v2 .hygh__icon-col .elementor-widget-container {
1243    width: auto !important;
1244    margin-left: 0 !important;
1245    margin-right: auto !important;
1246    text-align: left !important;
1247  }
1248  .hygh--v2 .hygh__icon-img {
1249    margin-top: 0;
1250    margin-left: 0;
1251    margin-right: auto;
1252  }
1253  .hygh--v2 .hygh__body,
1254  .hygh--v2 .hygh__body p {
1255    max-width: none;
1256  }
1257}
1258
1259.hygh *,
1260.hygh *::before,
1261.hygh *::after {
1262  box-sizing: border-box;
1263}
1264
1265/* Theme globally forces Merriweather on headings. */
1266.hygh .elementor-heading-title,
1267.hygh h2.elementor-heading-title,
1268.hygh h3.elementor-heading-title,
1269.hygh p.elementor-heading-title {
1270  font-family: "Nunito Sans", sans-serif !important;
1271}
1272
1273/* Exact rail/icon/copy widths and equal row heights (v1 only). */
1274.hygh:not(.hygh--v2) .hygh__item > .elementor-container > .elementor-row {
1275  display: flex !important;
1276  flex-wrap: nowrap !important;
1277  align-items: stretch !important;
1278  min-height: var(--row);
1279  margin: 0 !important;
1280}
1281.hygh:not(.hygh--v2) .hygh__rail-col {
1282  flex: 0 0 var(--rail) !important;
1283  width: var(--rail) !important;
1284}
1285.hygh:not(.hygh--v2) .hygh__icon {
1286  flex: 0 0 342px !important;
1287  width: 342px !important;
1288}
1289.hygh:not(.hygh--v2) .hygh__copy {
1290  flex: 1 1 auto !important;
1291  width: auto !important;
1292}
1293.hygh:not(.hygh--v2) .hygh__rail-col > .elementor-column-wrap,
1294.hygh:not(.hygh--v2) .hygh__rail-col > .elementor-widget-wrap,
1295.hygh:not(.hygh--v2) .hygh__rail-col .elementor-element-populated,
1296.hygh:not(.hygh--v2) .hygh__icon > .elementor-column-wrap,
1297.hygh:not(.hygh--v2) .hygh__icon > .elementor-widget-wrap,
1298.hygh:not(.hygh--v2) .hygh__copy > .elementor-column-wrap,
1299.hygh:not(.hygh--v2) .hygh__copy > .elementor-widget-wrap {
1300  min-height: var(--row);
1301  height: 100%;
1302}
1303.hygh:not(.hygh--v2) .hygh__rail-widget,
1304.hygh:not(.hygh--v2) .hygh__rail-widget > .elementor-widget-container {
1305  height: 100%;
1306  margin: 0 !important;
1307}
1308
1309/* v2 overrides after base .hygh rules */
1310.hygh.hygh--v2 .hygh__item > .elementor-container > .elementor-row,
1311.hygh.hygh--v2 .hygh__item > .elementor-container,
1312.hygh.hygh--v2 .hygh__item > .e-con-inner {
1313  align-items: flex-start !important;
1314  min-height: 0 !important;
1315}
1316.hygh.hygh--v2 .hygh__rail-col > .elementor-column-wrap,
1317.hygh.hygh--v2 .hygh__rail-col > .elementor-widget-wrap,
1318.hygh.hygh--v2 .hygh__icon-col > .elementor-column-wrap,
1319.hygh.hygh--v2 .hygh__icon-col > .elementor-widget-wrap,
1320.hygh.hygh--v2 .hygh__copy > .elementor-column-wrap,
1321.hygh.hygh--v2 .hygh__copy > .elementor-widget-wrap {
1322  min-height: 0 !important;
1323  height: auto !important;
1324}
1325.hygh.hygh--v2 .hygh__rail-widget,
1326.hygh.hygh--v2 .hygh__rail-widget > .elementor-widget-container {
1327  height: auto !important;
1328  min-height: var(--hex-h);
1329  margin: 0 !important;
1330}
1331.hygh.hygh--v2 .hygh__item > .elementor-container {
1332  width: 100% !important;
1333  max-width: 100% !important;
1334}
1335
1336/* Timeline rail: custom geometry not represented by Elementor controls. */
1337.hygh__rail {
1338  position: relative;
1339  display: flex;
1340  align-items: center;
1341  width: var(--rail);
1342  min-height: var(--row);
1343  height: 100%;
1344}
1345.hygh__num {
1346  position: relative;
1347  z-index: 3;
1348  display: flex;
1349  align-items: center;
1350  justify-content: center;
1351  width: var(--num);
1352  height: var(--num);
1353  border: 1px solid var(--frost);
1354  border-radius: 10.4px;
1355  background: var(--orange);
1356  color: var(--frost) !important;
1357  font-family: "Geist", "Nunito Sans", sans-serif;
1358  font-weight: 400;
1359  font-size: 34px;
1360  line-height: 34px;
1361  letter-spacing: -2.04px;
1362}
1363.hygh__h {
1364  position: absolute;
1365  left: var(--num);
1366  top: 50%;
1367  width: calc(var(--rail) - var(--num));
1368  height: 1px;
1369  background: #fff;
1370  transform: translateY(-50%);
1371  z-index: 1;
1372}
1373.hygh__dot {
1374  position: absolute;
1375  left: var(--dot-x);
1376  top: 50%;
1377  width: var(--dot);
1378  height: var(--dot);
1379  margin-top: calc(var(--dot) / -2);
1380  border-radius: 50%;
1381  background: var(--navy);
1382  z-index: 2;
1383  pointer-events: none;
1384}
1385.hygh__dot::after {
1386  content: "";
1387  position: absolute;
1388  left: 50%;
1389  top: 50%;
1390  width: 9px;
1391  height: 9px;
1392  margin: -4.5px 0 0 -4.5px;
1393  border-radius: 50%;
1394  background: #fff;
1395}
1396.hygh__v {
1397  position: absolute;
1398  left: calc(var(--num) / 2);
1399  top: calc(50% + var(--num) / 2);
1400  width: 1px;
1401  height: calc(50% - var(--num) / 2 + var(--gap) + 50% - var(--num) / 2);
1402  background: var(--frost);
1403  transform: translateX(-50%);
1404  z-index: 0;
1405}
1406
1407.hygh .hygh__image img {
1408  display: block;
1409  object-fit: contain;
1410}
1411.hygh .hygh__body {
1412  max-width: 100%;
1413  margin: 0 !important;
1414}
1415.hygh .hygh__body p {
1416  max-width: 100%;
1417  margin: 0 !important;
1418}
1419
1420@media (max-width: 1199px) {
1421  .hygh {
1422    --num: 72px;
1423    --rail: 160px;
1424    --dot: 18px;
1425    --dot-x: 148px;
1426    --row: 240px;
1427  }
1428  .hygh .hygh__icon {
1429    flex-basis: 220px !important;
1430    width: 220px !important;
1431  }
1432  .hygh__num {
1433    font-size: 28px;
1434    line-height: 28px;
1435  }
1436  .hygh__dot::after {
1437    width: 7px;
1438    height: 7px;
1439    margin: -3.5px 0 0 -3.5px;
1440  }
1441}
1442
1443@media (max-width: 767px) {
1444  .hygh {
1445    --rail: auto;
1446    --row: auto;
1447  }
1448  .hygh .hygh__item > .elementor-container > .elementor-row {
1449    flex-wrap: wrap !important;
1450    min-height: 0;
1451  }
1452  .hygh .hygh__rail-col,
1453  .hygh .hygh__icon,
1454  .hygh .hygh__copy {
1455    flex: 0 0 100% !important;
1456    width: 100% !important;
1457  }
1458  .hygh .hygh__rail-col {
1459    margin-bottom: 12px;
1460  }
1461  .hygh .hygh__rail-col > .elementor-column-wrap,
1462  .hygh .hygh__rail-col > .elementor-widget-wrap,
1463  .hygh .hygh__rail-col .elementor-element-populated,
1464  .hygh .hygh__icon > .elementor-column-wrap,
1465  .hygh .hygh__icon > .elementor-widget-wrap,
1466  .hygh .hygh__copy > .elementor-column-wrap,
1467  .hygh .hygh__copy > .elementor-widget-wrap {
1468    min-height: 0;
1469    height: auto;
1470  }
1471  .hygh__rail {
1472    width: auto;
1473    min-height: 0;
1474    height: auto;
1475  }
1476  .hygh__h,
1477  .hygh__dot,
1478  .hygh__v {
1479    display: none;
1480  }
1481  .hygh__num {
1482    width: 64px;
1483    height: 64px;
1484    font-size: 24px;
1485    line-height: 24px;
1486  }
1487  .hygh .hygh__body,
1488  .hygh .hygh__body p {
1489    max-width: none;
1490  }
1491}
1492
1493/* ---------- People (Career) ---------- */
1494/* Typography, colors, spacing, image sizing and meta padding are native
1495   Elementor controls. CSS remains for hover states, hex accent and the
1496   fixed LinkedIn square meta bar. */
1497.career-people-section {
1498  --ppl-cream-soft: #f9eee3;
1499  --ppl-navy: #0f0f37;
1500  --ppl-orange: #e9590c;
1501}
1502
1503/* Theme globally forces Merriweather on headings. */
1504.career-people-section .elementor-heading-title,
1505.career-people-section h2.elementor-heading-title,
1506.career-people-section h3.elementor-heading-title,
1507.career-people-section p.elementor-heading-title {
1508  font-family: "Nunito Sans", sans-serif !important;
1509}
1510.career-people-section .career-person-name .elementor-heading-title,
1511.career-people-section .career-person-info h3.elementor-heading-title {
1512  font-family: "Outfit", "Nunito Sans", sans-serif !important;
1513}
1514
1515/* Orange hex accent (no native heading control). */
1516.career-people-section .career-people-label .elementor-heading-title {
1517  display: inline-flex !important;
1518  align-items: center;
1519  gap: 8px;
1520}
1521.career-people-section .career-people-label .elementor-heading-title::before {
1522  content: "";
1523  display: inline-block;
1524  width: 16px;
1525  height: 16px;
1526  flex-shrink: 0;
1527  background: var(--ppl-orange);
1528  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
1529}
1530
1531/* 24px gutters for classic Elementor 3.2 rows. */
1532.career-people-section .career-people-grid > .elementor-container > .elementor-row {
1533  margin-left: -12px;
1534  margin-right: -12px;
1535}
1536.career-people-section .career-people-grid > .elementor-container > .elementor-row > .career-person-card {
1537  padding-left: 12px;
1538  padding-right: 12px;
1539}
1540
1541.career-people-section .career-person-card > .elementor-column-wrap,
1542.career-people-section .career-person-card > .elementor-widget-wrap {
1543  background: transparent !important;
1544  padding: 0 !important;
1545}
1546.career-people-section .career-person-photo,
1547.career-people-section .career-person-card .elementor-widget-image {
1548  margin: 0 !important;
1549}
1550.career-people-section .career-person-photo img,
1551.career-people-section .career-person-card .elementor-widget-image img {
1552  display: block;
1553  object-position: center top;
1554  border-radius: 0 !important;
1555}
1556
1557/* Meta bar: name block + fixed LinkedIn square. */
1558.career-people-section .career-person-meta {
1559  margin: 0 !important;
1560}
1561.career-people-section .career-person-meta > .elementor-container,
1562.career-people-section .career-person-meta > .elementor-container > .elementor-row {
1563  margin: 0 !important;
1564}
1565.career-people-section .career-person-meta > .elementor-container > .elementor-row {
1566  display: flex !important;
1567  flex-wrap: nowrap !important;
1568  align-items: stretch !important;
1569  width: 100% !important;
1570}
1571.career-people-section .career-person-meta > .elementor-container > .elementor-row > .elementor-column {
1572  padding: 0 !important;
1573}
1574.career-people-section .career-person-meta .career-person-info {
1575  width: calc(100% - 112px) !important;
1576  max-width: none !important;
1577  flex: 1 1 auto !important;
1578}
1579.career-people-section .career-person-meta .career-person-link {
1580  width: 112px !important;
1581  min-width: 112px !important;
1582  max-width: 112px !important;
1583  flex: 0 0 112px !important;
1584}
1585.career-people-section .career-person-info > .elementor-column-wrap,
1586.career-people-section .career-person-link > .elementor-column-wrap,
1587.career-people-section .career-person-info > .elementor-widget-wrap,
1588.career-people-section .career-person-link > .elementor-widget-wrap {
1589  height: 112px !important;
1590  min-height: 112px !important;
1591  max-height: 112px !important;
1592  box-sizing: border-box !important;
1593  transition: background-color 0.25s ease;
1594}
1595.career-people-section .career-person-info > .elementor-column-wrap,
1596.career-people-section .career-person-info > .elementor-widget-wrap {
1597  display: flex;
1598  flex-direction: column;
1599  justify-content: center;
1600}
1601.career-people-section .career-person-link > .elementor-column-wrap,
1602.career-people-section .career-person-link > .elementor-widget-wrap {
1603  width: 112px !important;
1604  display: flex;
1605  align-items: center;
1606  justify-content: center;
1607}
1608.career-people-section .career-person-link .elementor-widget-icon,
1609.career-people-section .career-person-link .elementor-icon-wrapper,
1610.career-people-section .career-person-link .elementor-widget-container {
1611  margin: 0 !important;
1612  width: 100%;
1613  height: 100%;
1614  display: flex !important;
1615  align-items: center;
1616  justify-content: center;
1617}
1618.career-people-section .career-person-link .elementor-icon {
1619  transition: color 0.25s ease;
1620}
1621.career-people-section .career-person-link .elementor-icon svg {
1622  fill: var(--ppl-navy) !important;
1623  width: 40px !important;
1624  height: 40px !important;
1625}
1626
1627/* Hover swap (Figma card 1). */
1628.career-people-section .career-person-card:hover .career-person-info > .elementor-column-wrap,
1629.career-people-section .career-person-card:hover .career-person-info > .elementor-widget-wrap,
1630.career-people-section .career-person-card:focus-within .career-person-info > .elementor-column-wrap,
1631.career-people-section .career-person-card:focus-within .career-person-info > .elementor-widget-wrap {
1632  background-color: var(--ppl-orange) !important;
1633}
1634.career-people-section .career-person-card:hover .career-person-link > .elementor-column-wrap,
1635.career-people-section .career-person-card:hover .career-person-link > .elementor-widget-wrap,
1636.career-people-section .career-person-card:focus-within .career-person-link > .elementor-column-wrap,
1637.career-people-section .career-person-card:focus-within .career-person-link > .elementor-widget-wrap {
1638  background-color: var(--ppl-navy) !important;
1639}
1640.career-people-section .career-person-card:hover .career-person-info .elementor-heading-title,
1641.career-people-section .career-person-card:focus-within .career-person-info .elementor-heading-title {
1642  color: #ffffff !important;
1643}
1644.career-people-section .career-person-card:hover .career-person-info .elementor-widget-text-editor,
1645.career-people-section .career-person-card:hover .career-person-info .elementor-widget-text-editor p,
1646.career-people-section .career-person-card:focus-within .career-person-info .elementor-widget-text-editor,
1647.career-people-section .career-person-card:focus-within .career-person-info .elementor-widget-text-editor p {
1648  color: rgba(255, 255, 255, 0.64) !important;
1649}
1650.career-people-section .career-person-card:hover .career-person-link .elementor-icon,
1651.career-people-section .career-person-card:focus-within .career-person-link .elementor-icon {
1652  color: #ffffff !important;
1653}
1654.career-people-section .career-person-card:hover .career-person-link .elementor-icon svg,
1655.career-people-section .career-person-card:focus-within .career-person-link .elementor-icon svg {
1656  fill: #ffffff !important;
1657}
1658
1659@media (max-width: 1024px) {
1660  .career-people-section .career-person-meta .career-person-link {
1661    width: 96px !important;
1662    min-width: 96px !important;
1663    max-width: 96px !important;
1664    flex-basis: 96px !important;
1665  }
1666  .career-people-section .career-person-meta .career-person-info {
1667    width: calc(100% - 96px) !important;
1668  }
1669  .career-people-section .career-person-info > .elementor-column-wrap,
1670  .career-people-section .career-person-link > .elementor-column-wrap,
1671  .career-people-section .career-person-info > .elementor-widget-wrap,
1672  .career-people-section .career-person-link > .elementor-widget-wrap {
1673    height: 96px !important;
1674    min-height: 96px !important;
1675    max-height: 96px !important;
1676  }
1677  .career-people-section .career-person-link > .elementor-column-wrap,
1678  .career-people-section .career-person-link > .elementor-widget-wrap {
1679    width: 96px !important;
1680  }
1681}
1682
1683@media (max-width: 767px) {
1684  .career-people-section .career-people-grid > .elementor-container > .elementor-row {
1685    margin-left: 0;
1686    margin-right: 0;
1687  }
1688  .career-people-section .career-people-grid > .elementor-container > .elementor-row > .career-person-card {
1689    padding-left: 0;
1690    padding-right: 0;
1691    margin-bottom: 20px;
1692  }
1693}
1694
1695@media (prefers-reduced-motion: reduce) {
1696  .career-people-section .career-person-info > .elementor-column-wrap,
1697  .career-people-section .career-person-link > .elementor-column-wrap,
1698  .career-people-section .career-person-info > .elementor-widget-wrap,
1699  .career-people-section .career-person-link > .elementor-widget-wrap,
1700  .career-people-section .career-person-link .elementor-icon {
1701    transition: none;
1702  }
1703}
1704
1705/* ---------- Open Positions (Career) — Figma 3645:7305 ---------- */
1706/* Grid gap, card equal heights, ghost link chevron. Typography/borders via Elementor. */
1707.career-jobs {
1708  --cj-navy: #0f0f37;
1709  --cj-orange: #e9590c;
1710  --cj-brand: #be4a0b;
1711  --cj-gap: 20px;
1712}
1713
1714.career-jobs-styles-note {
1715  display: none !important;
1716}
1717
1718.career-jobs .elementor-heading-title,
1719.career-jobs h2.elementor-heading-title,
1720.career-jobs h3.elementor-heading-title,
1721.career-jobs p.elementor-heading-title {
1722  font-family: "Nunito Sans", sans-serif !important;
1723}
1724
1725.career-jobs__grid > .elementor-container > .elementor-row {
1726  display: flex !important;
1727  flex-wrap: wrap !important;
1728  align-items: stretch !important;
1729  margin-left: calc(var(--cj-gap) / -2) !important;
1730  margin-right: calc(var(--cj-gap) / -2) !important;
1731}
1732
1733.career-jobs__grid .career-jobs__card {
1734  flex: 0 0 25% !important;
1735  max-width: 25% !important;
1736  width: 25% !important;
1737  padding-left: calc(var(--cj-gap) / 2) !important;
1738  padding-right: calc(var(--cj-gap) / 2) !important;
1739  margin-bottom: var(--cj-gap);
1740}
1741
1742.career-jobs__card-inner > .elementor-container,
1743.career-jobs__card-inner > .elementor-container > .elementor-row,
1744.career-jobs__card-inner .elementor-column-wrap,
1745.career-jobs__card-inner .elementor-widget-wrap {
1746  min-height: 235px;
1747  height: 100%;
1748}
1749
1750.career-jobs__card-inner .elementor-element-populated {
1751  display: flex;
1752  flex-direction: column;
1753  justify-content: center;
1754  height: 100%;
1755}
1756
1757.career-jobs__link .elementor-button {
1758  display: inline-flex !important;
1759  align-items: center;
1760  gap: 8px;
1761  background: transparent !important;
1762  border: 0 !important;
1763  box-shadow: none !important;
1764  padding: 0 !important;
1765  min-height: 32px;
1766}
1767
1768.career-jobs__link .elementor-button:hover,
1769.career-jobs__link .elementor-button:focus {
1770  background: transparent !important;
1771  color: var(--cj-orange) !important;
1772}
1773
1774.career-jobs__link .elementor-button::after {
1775  content: "";
1776  flex: 0 0 16px;
1777  width: 16px;
1778  height: 16px;
1779  background: url("/wp-content/themes/mobilelive/assets/career/career-jobs-chevron.svg") no-repeat center / contain;
1780}
1781
1782.career-jobs__link .elementor-button:hover::after,
1783.career-jobs__link .elementor-button:focus::after {
1784  filter: brightness(0) saturate(100%) invert(42%) sepia(93%) saturate(1352%) hue-rotate(346deg) brightness(95%) contrast(95%);
1785}
1786
1787.career-jobs__cta .elementor-button {
1788  min-height: 40px;
1789  min-width: 196px;
1790}
1791
1792@media (max-width: 1024px) {
1793  .career-jobs__grid .career-jobs__card {
1794    flex: 0 0 50% !important;
1795    max-width: 50% !important;
1796    width: 50% !important;
1797  }
1798}
1799
1800@media (max-width: 767px) {
1801  .career-jobs__grid .career-jobs__card {
1802    flex: 0 0 100% !important;
1803    max-width: 100% !important;
1804    width: 100% !important;
1805    margin-bottom: 16px;
1806  }
1807
1808  .career-jobs__card-inner > .elementor-container,
1809  .career-jobs__card-inner > .elementor-container > .elementor-row,
1810  .career-jobs__card-inner .elementor-column-wrap,
1811  .career-jobs__card-inner .elementor-widget-wrap {
1812    min-height: 0;
1813  }
1814}
1815
1816/* ---------- Leadership at Work ---------- */
1817/* Typography, colors, spacing, shadows and card padding are native Elementor
1818   controls. CSS remains for the zigzag spine, dots and connector geometry. */
1819.law-section {
1820  --law-cream: #fffbf9;
1821  --law-orange: #e9590c;
1822  --law-dot: 18px;
1823  --law-bar: 6px;
1824  --law-card-w: 345px;
1825  --law-card-h: 194px;
1826  --law-gap: 24px;
1827  --law-connect-y: 50%;
1828}
1829
1830/* Theme globally forces Merriweather on headings. */
1831.law-section .elementor-heading-title,
1832.law-section h2.elementor-heading-title,
1833.law-section h3.elementor-heading-title,
1834.law-section p.elementor-heading-title {
1835  font-family: "Nunito Sans", sans-serif !important;
1836}
1837
1838.law-section .law-sub,
1839.law-section .law-sub p {
1840  max-width: 850px;
1841  margin-left: auto !important;
1842  margin-right: auto !important;
1843}
1844
1845/* Timeline rail + connectors */
1846.law-section .law-timeline {
1847  position: relative;
1848  max-width: 1200px;
1849  margin: 0 auto;
1850}
1851.law-section .law-timeline::before {
1852  content: "";
1853  position: absolute;
1854  left: 50%;
1855  top: 0;
1856  bottom: 0;
1857  width: 1px;
1858  transform: translateX(-50%);
1859  background: #8a8a9a;
1860  z-index: 0;
1861  pointer-events: none;
1862}
1863
1864.law-section .law-step {
1865  position: relative;
1866  z-index: 1;
1867}
1868.law-section .law-step:last-child {
1869  margin-bottom: 0 !important;
1870}
1871
1872/* Hide the vertical timeline past the last orange dot */
1873.law-section .law-step:last-child > .elementor-container {
1874  position: relative;
1875}
1876.law-section .law-step:last-child > .elementor-container::after {
1877  content: "";
1878  position: absolute;
1879  left: 50%;
1880  top: calc(var(--law-connect-y, 50%) + (var(--law-dot) / 2));
1881  bottom: 0;
1882  width: 3px;
1883  margin-left: -1.5px;
1884  background: var(--law-cream);
1885  z-index: 1;
1886  pointer-events: none;
1887}
1888
1889.law-section .law-step::after {
1890  content: "";
1891  position: absolute;
1892  left: 50%;
1893  top: var(--law-connect-y, 50%);
1894  width: var(--law-dot);
1895  height: var(--law-dot);
1896  border-radius: 50%;
1897  background: var(--law-orange);
1898  z-index: 3;
1899  pointer-events: none;
1900  box-shadow: 0 0 0 3px var(--law-cream);
1901  transform: translate(-50%, -50%);
1902}
1903
1904.law-section .law-step::before {
1905  content: "";
1906  position: absolute;
1907  top: var(--law-connect-y, 50%);
1908  height: 1px;
1909  background: var(--law-orange);
1910  z-index: 2;
1911  pointer-events: none;
1912  transform: translateY(-50%);
1913}
1914.law-section .law-step--left::before {
1915  left: calc(50% - 84px);
1916  width: 84px;
1917}
1918.law-section .law-step--right::before {
1919  left: 50%;
1920  width: 97px;
1921}
1922
1923.law-section .law-step > .elementor-container > .elementor-row,
1924.law-section .law-step > .elementor-container,
1925.law-section .law-step > .e-con {
1926  display: flex !important;
1927  align-items: flex-start !important;
1928  margin: 0 !important;
1929}
1930.law-section .law-step > .elementor-container > .elementor-row {
1931  flex-wrap: nowrap !important;
1932}
1933.law-section .law-step > .elementor-container > .elementor-row > .elementor-column {
1934  width: 50% !important;
1935  padding: 0 !important;
1936}
1937
1938.law-section .law-step--left .law-empty-col,
1939.law-section .law-step--right .law-empty-col {
1940  pointer-events: none;
1941}
1942.law-section .law-step--left .law-card > .elementor-column-wrap,
1943.law-section .law-step--left .law-card > .elementor-widget-wrap,
1944.law-section .law-step--left .law-card .elementor-element-populated {
1945  margin-left: auto !important;
1946  margin-right: 84px !important;
1947  max-width: var(--law-card-w) !important;
1948}
1949.law-section .law-step--right .law-card > .elementor-column-wrap,
1950.law-section .law-step--right .law-card > .elementor-widget-wrap,
1951.law-section .law-step--right .law-card .elementor-element-populated {
1952  margin-right: auto !important;
1953  margin-left: 97px !important;
1954  max-width: var(--law-card-w) !important;
1955}
1956
1957/* Equal card height + orange accent bar */
1958.law-section .law-card > .elementor-column-wrap,
1959.law-section .law-card > .elementor-widget-wrap,
1960.law-section .law-card .elementor-element-populated {
1961  min-height: var(--law-card-h) !important;
1962  width: 100%;
1963  max-width: var(--law-card-w);
1964  position: relative;
1965  box-sizing: border-box !important;
1966}
1967.law-section .law-card > .elementor-column-wrap::before,
1968.law-section .law-card > .elementor-widget-wrap::before,
1969.law-section .law-card .elementor-element-populated::before {
1970  content: "";
1971  position: absolute;
1972  left: 0;
1973  top: 0;
1974  bottom: 0;
1975  width: var(--law-bar);
1976  background: var(--law-orange);
1977  border-radius: 4px 0 0 4px;
1978  z-index: 1;
1979}
1980
1981.law-section .law-card-body,
1982.law-section .law-card-body p {
1983  margin: 0 !important;
1984}
1985
1986@media (max-width: 1024px) {
1987  .law-section .law-step--left .law-card > .elementor-column-wrap,
1988  .law-section .law-step--left .law-card > .elementor-widget-wrap,
1989  .law-section .law-step--left .law-card .elementor-element-populated {
1990    margin-right: 48px !important;
1991  }
1992  .law-section .law-step--right .law-card > .elementor-column-wrap,
1993  .law-section .law-step--right .law-card > .elementor-widget-wrap,
1994  .law-section .law-step--right .law-card .elementor-element-populated {
1995    margin-left: 48px !important;
1996  }
1997  .law-section .law-step--left::before {
1998    left: calc(50% - 48px);
1999    width: 48px;
2000  }
2001  .law-section .law-step--right::before {
2002    width: 48px;
2003  }
2004  .law-section .law-card > .elementor-column-wrap,
2005  .law-section .law-card > .elementor-widget-wrap,
2006  .law-section .law-card .elementor-element-populated {
2007    max-width: 100%;
2008  }
2009}
2010
2011@media (max-width: 767px) {
2012  .law-section .law-sub,
2013  .law-section .law-sub p {
2014    max-width: none;
2015  }
2016  .law-section .law-timeline::before {
2017    left: 12px;
2018    transform: none;
2019  }
2020  .law-section .law-step::after {
2021    left: 12px;
2022    transform: translate(-50%, -50%);
2023  }
2024  .law-section .law-step::before {
2025    left: 12px;
2026    width: 28px !important;
2027  }
2028  .law-section .law-step > .elementor-container > .elementor-row {
2029    flex-direction: column !important;
2030    align-items: flex-start !important;
2031  }
2032  .law-section .law-step > .elementor-container > .elementor-row > .elementor-column {
2033    width: 100% !important;
2034  }
2035  .law-section .law-step--left .law-empty-col,
2036  .law-section .law-step--right .law-empty-col {
2037    display: none !important;
2038  }
2039  .law-section .law-step--left .law-card > .elementor-column-wrap,
2040  .law-section .law-step--left .law-card > .elementor-widget-wrap,
2041  .law-section .law-step--left .law-card .elementor-element-populated,
2042  .law-section .law-step--right .law-card > .elementor-column-wrap,
2043  .law-section .law-step--right .law-card > .elementor-widget-wrap,
2044  .law-section .law-step--right .law-card .elementor-element-populated {
2045    margin-left: 40px !important;
2046    margin-right: 0 !important;
2047    max-width: 100% !important;
2048  }
2049  .law-section .law-card > .elementor-column-wrap,
2050  .law-section .law-card > .elementor-widget-wrap,
2051  .law-section .law-card .elementor-element-populated {
2052    max-width: 100%;
2053    min-height: 0 !important;
2054  }
2055}
2056
2057/* Leadership at Work — GSAP animation layer */
2058.law-section:not(.law-section--js) > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading,
2059.law-section:not(.law-section--js) > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor,
2060.law-section:not(.law-section--js) .law-timeline {
2061  visibility: hidden !important;
2062  opacity: 0 !important;
2063}
2064
2065.law-section--js .law-timeline::before,
2066.law-section--js .law-step::after,
2067.law-section--js .law-step::before {
2068  opacity: 0 !important;
2069  visibility: hidden !important;
2070}
2071
2072.law-section .law-spine,
2073.law-section .law-dot,
2074.law-section .law-connector {
2075  display: block;
2076  pointer-events: none;
2077}
2078
2079.law-section .law-spine {
2080  position: absolute;
2081  left: 50%;
2082  top: 0;
2083  bottom: 0;
2084  width: 1px;
2085  transform: translateX(-50%);
2086  transform-origin: top center;
2087  background: #8a8a9a;
2088  z-index: 0;
2089}
2090
2091.law-section .law-dot {
2092  position: absolute;
2093  left: 50%;
2094  top: var(--law-connect-y, 50%);
2095  width: var(--law-dot);
2096  height: var(--law-dot);
2097  border-radius: 50%;
2098  background: var(--law-orange);
2099  z-index: 3;
2100  box-shadow: 0 0 0 3px var(--law-cream);
2101  transform: translate(-50%, -50%);
2102  transform-origin: center center;
2103}
2104
2105.law-section .law-connector {
2106  position: absolute;
2107  top: var(--law-connect-y, 50%);
2108  height: 1px;
2109  background: var(--law-orange);
2110  z-index: 2;
2111  transform: translateY(-50%);
2112  transform-origin: 100% 50%;
2113}
2114
2115.law-section .law-step--left .law-connector {
2116  left: calc(50% - 84px);
2117  width: 84px;
2118  transform-origin: 100% 50%;
2119}
2120
2121.law-section .law-step--right .law-connector {
2122  left: 50%;
2123  width: 97px;
2124  transform-origin: 0% 50%;
2125}
2126
2127.law-section--js .law-card .elementor-element-populated::before,
2128.law-section--js .law-card > .elementor-widget-wrap::before,
2129.law-section--js .law-card > .elementor-column-wrap::before {
2130  transform: scaleY(var(--law-bar-scale, 1));
2131  transform-origin: top center;
2132}
2133
2134.law-section--js .law-step--active .law-dot {
2135  box-shadow:
2136    0 0 0 3px var(--law-cream),
2137    0 0 16px 6px rgba(233, 89, 12, 0.48);
2138}
2139
2140@media (max-width: 1024px) {
2141  .law-section .law-step--left .law-connector {
2142    left: calc(50% - 48px);
2143    width: 48px;
2144  }
2145  .law-section .law-step--right .law-connector {
2146    width: 48px;
2147  }
2148}
2149
2150@media (max-width: 767px) {
2151  .law-section {
2152    --law-mobile-rail: 12px;
2153    --law-mobile-card-inset: 40px;
2154  }
2155
2156  .law-section .law-spine {
2157    left: var(--law-mobile-rail);
2158    transform: none;
2159  }
2160
2161  .law-section .law-dot {
2162    left: var(--law-mobile-rail);
2163    transform: translate(-50%, -50%);
2164    transform-origin: center center;
2165  }
2166
2167  .law-section .law-step--left .law-connector,
2168  .law-section .law-step--right .law-connector {
2169    left: var(--law-mobile-rail);
2170    width: calc(var(--law-mobile-card-inset) - var(--law-mobile-rail)) !important;
2171    transform-origin: 0% 50%;
2172  }
2173
2174  .law-section .law-step:last-child > .elementor-container::after {
2175    left: var(--law-mobile-rail);
2176  }
2177}
2178
2179@media (prefers-reduced-motion: reduce) {
2180  .law-section:not(.law-section--js) > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading,
2181  .law-section:not(.law-section--js) > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor,
2182  .law-section:not(.law-section--js) .law-timeline {
2183    visibility: visible !important;
2184    opacity: 1 !important;
2185  }
2186}
2187
2188@media (scripting: none) {
2189  .law-section:not(.law-section--js) > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading,
2190  .law-section:not(.law-section--js) > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor,
2191  .law-section:not(.law-section--js) .law-timeline {
2192    visibility: visible !important;
2193    opacity: 1 !important;
2194  }
2195}
2196
2197/* ---------- Executive Team ---------- */
2198/* Typography, colors, spacing, borders, image sizing and responsive values are
2199   native Elementor controls. CSS remains only for unsupported layout details. */
2200.exec-section {
2201  --exec-navy: #0f0f37;
2202  --exec-orange: #e9590c;
2203}
2204
2205/* Theme globally forces Merriweather on headings. */
2206.exec-section .elementor-heading-title,
2207.exec-section h2.elementor-heading-title,
2208.exec-section h3.elementor-heading-title,
2209.exec-section p.elementor-heading-title {
2210  font-family: "Nunito Sans", sans-serif !important;
2211}
2212
2213/* Decorative hex has no matching native heading control. */
2214.exec-section .exec-label .elementor-heading-title {
2215  display: inline-flex !important;
2216  align-items: center;
2217  gap: 8px;
2218}
2219.exec-section .exec-label .elementor-heading-title::before {
2220  content: "";
2221  display: inline-block;
2222  width: 16px;
2223  height: 16px;
2224  flex-shrink: 0;
2225  background: var(--exec-orange);
2226  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
2227}
2228.exec-section .exec-lede,
2229.exec-section .exec-lede p {
2230  max-width: 391px;
2231}
2232
2233/* Exact 28px card gap is not available in classic Elementor presets. */
2234.exec-section .exec-grid > .elementor-container > .elementor-row {
2235  display: flex !important;
2236  gap: 28px;
2237  margin: 0 !important;
2238  align-items: stretch !important;
2239}
2240.exec-section .exec-grid > .elementor-container > .elementor-row > .elementor-column {
2241  width: calc(50% - 14px) !important;
2242}
2243
2244/* Equal-height card and clipping for the image/panel composition. */
2245.exec-section .exec-card {
2246  height: 100%;
2247}
2248.exec-section .exec-card > .elementor-column-wrap,
2249.exec-section .exec-card > .elementor-widget-wrap,
2250.exec-section .exec-grid > .elementor-container > .elementor-row > .exec-card > .elementor-element-populated {
2251  height: 100% !important;
2252  overflow: hidden !important;
2253  display: flex !important;
2254  flex-direction: column !important;
2255}
2256.exec-section .exec-card .elementor-widget-image {
2257  margin: 0 !important;
2258}
2259.exec-section .exec-card .elementor-widget-image img {
2260  display: block;
2261  border-radius: 0 !important;
2262}
2263
2264/* Let the blue panel fill the remaining equal-card height. */
2265.exec-section .exec-panel {
2266  flex: 1 1 auto;
2267}
2268.exec-section .exec-panel > .elementor-container,
2269.exec-section .exec-panel > .elementor-container > .elementor-row {
2270  height: 100%;
2271  margin: 0 !important;
2272}
2273.exec-section .exec-panel > .elementor-container > .elementor-row > .elementor-column {
2274  width: 100% !important;
2275}
2276.exec-section .exec-panel .exec-panel-inner > .elementor-column-wrap,
2277.exec-section .exec-panel .exec-panel-inner > .elementor-widget-wrap,
2278.exec-section .exec-panel .exec-panel-inner .elementor-element-populated {
2279  height: 100% !important;
2280  min-height: 315px !important;
2281  display: flex !important;
2282  flex-direction: column !important;
2283  box-sizing: border-box !important;
2284}
2285.exec-section .exec-panel .exec-panel-inner > .elementor-column-wrap > .elementor-widget-wrap,
2286.exec-section .exec-panel .exec-panel-inner .elementor-element-populated > .elementor-widget-wrap {
2287  display: flex !important;
2288  flex-direction: column !important;
2289  flex: 1 1 auto !important;
2290  height: 100% !important;
2291  min-height: 0 !important;
2292  position: relative !important;
2293}
2294.exec-section .exec-name,
2295.exec-section .exec-role,
2296.exec-section .exec-bio {
2297  flex: 0 0 auto !important;
2298  width: 100% !important;
2299}
2300
2301/* Absolute LinkedIn placement and inverse hover are not native widget controls. */
2302.exec-section .exec-li {
2303  position: absolute !important;
2304  top: 0 !important;
2305  right: 0 !important;
2306  width: 38px !important;
2307  height: 38px !important;
2308  margin: 0 !important;
2309  z-index: 2;
2310}
2311.exec-section .exec-li > .elementor-widget-container,
2312.exec-section .exec-li .elementor-icon-wrapper,
2313.exec-section .exec-li .elementor-icon {
2314  width: 38px !important;
2315  height: 38px !important;
2316}
2317.exec-section .exec-li .elementor-icon {
2318  display: flex !important;
2319  align-items: center;
2320  justify-content: center;
2321  border: 1px solid var(--exec-navy) !important;
2322  border-radius: 6px !important;
2323  box-sizing: border-box !important;
2324  transition: background-color .2s ease, color .2s ease;
2325}
2326.exec-section .exec-li .elementor-icon svg {
2327  fill: var(--exec-navy) !important;
2328  width: 14px;
2329  height: 14px;
2330}
2331.exec-section .exec-li .elementor-icon:hover {
2332  background: var(--exec-navy) !important;
2333  color: #fff !important;
2334}
2335.exec-section .exec-li .elementor-icon:hover svg {
2336  fill: #fff !important;
2337}
2338
2339/* Tags are custom HTML, so their visual treatment remains CSS. */
2340.exec-section .exec-tags {
2341  flex: 0 0 auto !important;
2342  margin-top: auto !important;
2343  width: 100% !important;
2344}
2345.exec-section .exec-tags-list {
2346  display: flex;
2347  flex-wrap: wrap;
2348  gap: 8px;
2349  margin: 0;
2350  padding: 0;
2351  list-style: none;
2352}
2353.exec-section .exec-tag {
2354  display: inline-flex;
2355  align-items: center;
2356  background: var(--exec-navy);
2357  color: #fff !important;
2358  font-family: "Nunito Sans", sans-serif !important;
2359  font-weight: 600 !important;
2360  font-size: 12px !important;
2361  line-height: 19px !important;
2362  padding: 5px 12px;
2363  border-radius: 999px;
2364  white-space: nowrap;
2365}
2366
2367@media (max-width: 1024px) {
2368  .exec-section .exec-grid > .elementor-container > .elementor-row {
2369    gap: 20px;
2370  }
2371  .exec-section .exec-panel .exec-panel-inner > .elementor-column-wrap,
2372  .exec-section .exec-panel .exec-panel-inner > .elementor-widget-wrap,
2373  .exec-section .exec-panel .exec-panel-inner .elementor-element-populated {
2374    min-height: 280px !important;
2375  }
2376}
2377
2378@media (max-width: 767px) {
2379  .exec-section .exec-lede,
2380  .exec-section .exec-lede p {
2381    max-width: none;
2382  }
2383  .exec-section .exec-grid > .elementor-container > .elementor-row {
2384    flex-direction: column !important;
2385    gap: 24px;
2386    align-items: flex-start !important;
2387  }
2388  .exec-section .exec-grid > .elementor-container > .elementor-row > .elementor-column {
2389    width: 100% !important;
2390  }
2391  .exec-section .exec-card {
2392    height: auto !important;
2393    align-self: flex-start !important;
2394  }
2395  .exec-section .exec-card > .elementor-column-wrap,
2396  .exec-section .exec-card > .elementor-widget-wrap,
2397  .exec-section .exec-grid > .elementor-container > .elementor-row > .exec-card > .elementor-element-populated {
2398    height: auto !important;
2399  }
2400}
2401
2402/* ---------- The Functional Heads (Leadership) ---------- */
2403/* Typography, colors, padding, radius, image size → Elementor panel settings.
2404   This file keeps only what Elementor classic sections/columns can't do well. */
2405
2406.fh-section {
2407  --fh-orange: #e9590c;
2408  --fh-muted: #77808b;
2409  --fh-gap-x: 16px;
2410}
2411
2412/* Theme forces Merriweather on h1–h6; keep Nunito for this section */
2413.fh-section .elementor-heading-title,
2414.fh-section h2.elementor-heading-title,
2415.fh-section h3.elementor-heading-title,
2416.fh-section p.elementor-heading-title {
2417  font-family: "Nunito Sans", sans-serif !important;
2418}
2419
2420/* Orange hex marker (no native Elementor control for this accent) */
2421.fh-section .fh-label .elementor-heading-title {
2422  display: inline-flex !important;
2423  align-items: center;
2424  gap: 8px;
2425}
2426.fh-section .fh-label .elementor-heading-title::before {
2427  content: "";
2428  display: inline-block;
2429  width: 16px;
2430  height: 16px;
2431  flex-shrink: 0;
2432  background: var(--fh-orange);
2433  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
2434}
2435
2436.fh-section .fh-lede,
2437.fh-section .fh-lede p {
2438  max-width: 549px;
2439}
2440
2441/* 4-col grid + 16px gap (classic Elementor gap presets don't match Figma) */
2442.fh-section .fh-grid-row:last-child {
2443  margin-bottom: 0 !important;
2444}
2445.fh-section .fh-grid-row > .elementor-container > .elementor-row {
2446  display: flex !important;
2447  flex-wrap: nowrap !important;
2448  gap: var(--fh-gap-x);
2449  margin: 0 !important;
2450  align-items: stretch !important;
2451}
2452.fh-section .fh-grid-row > .elementor-container > .elementor-row > .elementor-column {
2453  width: calc(25% - 12px) !important;
2454}
2455
2456/* Card shell: equal desktop height + clip for hover overlay */
2457.fh-section .fh-card {
2458  position: relative;
2459  height: 100%;
2460}
2461.fh-section .fh-card > .elementor-column-wrap,
2462.fh-section .fh-grid-row > .elementor-container > .elementor-row > .fh-card > .elementor-element-populated {
2463  position: relative !important;
2464  height: 432px !important;
2465  min-height: 432px !important;
2466  overflow: hidden !important;
2467}
2468.fh-section .fh-card > .elementor-column-wrap > .elementor-widget-wrap,
2469.fh-section .fh-card .elementor-element-populated > .elementor-widget-wrap {
2470  position: relative !important;
2471  height: 100% !important;
2472  display: flex !important;
2473  flex-direction: column !important;
2474}
2475.fh-section .fh-photo {
2476  flex: 0 0 auto !important;
2477}
2478.fh-section .fh-photo img {
2479  display: block;
2480  background: var(--fh-muted);
2481}
2482.fh-section .fh-meta {
2483  flex: 1 1 auto !important;
2484  width: 100% !important;
2485  position: relative;
2486  z-index: 1;
2487}
2488.fh-section .fh-meta > .elementor-container,
2489.fh-section .fh-meta > .elementor-container > .elementor-row {
2490  height: 100% !important;
2491}
2492
2493/* Hover overlay — HTML widget; must stay absolute out of document flow */
2494.fh-section .fh-hover-widget {
2495  position: absolute !important;
2496  inset: 0 !important;
2497  width: 100% !important;
2498  height: 100% !important;
2499  margin: 0 !important;
2500  padding: 0 !important;
2501  z-index: 5;
2502  pointer-events: none;
2503  overflow: hidden !important;
2504  flex: 0 0 0 !important;
2505}
2506.fh-section .fh-hover-widget > .elementor-widget-container {
2507  margin: 0 !important;
2508  padding: 0 !important;
2509  height: 100% !important;
2510  overflow: hidden !important;
2511}
2512.fh-section .fh-hover {
2513  position: absolute !important;
2514  inset: 0 !important;
2515  background: var(--fh-orange);
2516  border-radius: 8px;
2517  opacity: 0;
2518  visibility: hidden;
2519  transition: opacity 0.25s ease, visibility 0.25s ease;
2520  display: flex;
2521  flex-direction: column;
2522  box-sizing: border-box;
2523  overflow: hidden;
2524}
2525.fh-section .fh-hover-inner {
2526  display: flex;
2527  flex-direction: column;
2528  align-items: flex-start;
2529  justify-content: flex-start;
2530  height: 100%;
2531  padding: 120px 16px 24px;
2532  box-sizing: border-box;
2533}
2534.fh-section .fh-card:hover .fh-hover,
2535.fh-section .fh-card:focus-within .fh-hover {
2536  opacity: 1;
2537  visibility: visible;
2538  pointer-events: auto;
2539}
2540.fh-section .fh-hover-name {
2541  margin: 0 0 8px 0 !important;
2542  color: #fff !important;
2543  font-family: "Nunito Sans", sans-serif !important;
2544  font-weight: 700 !important;
2545  font-size: 24px !important;
2546  line-height: 32px !important;
2547}
2548.fh-section .fh-hover-role {
2549  margin: 0 0 32px 0 !important;
2550  color: #feffff !important;
2551  font-family: "Nunito Sans", sans-serif !important;
2552  font-weight: 400 !important;
2553  font-size: 16px !important;
2554  line-height: 22px !important;
2555}
2556.fh-section .fh-hover-bio {
2557  margin: 0 0 24px 0 !important;
2558  color: #feffff !important;
2559  font-family: "Nunito Sans", sans-serif !important;
2560  font-weight: 400 !important;
2561  font-size: 14px !important;
2562  line-height: 1.5 !important;
2563}
2564.fh-section .fh-socials {
2565  display: flex;
2566  gap: 8px;
2567  align-items: center;
2568  margin-top: auto;
2569}
2570.fh-section .fh-social {
2571  display: inline-flex;
2572  align-items: center;
2573  justify-content: center;
2574  width: 32px;
2575  height: 32px;
2576  border: 1px solid #feffff;
2577  border-radius: 50%;
2578  color: #feffff !important;
2579  font-family: "Nunito Sans", sans-serif !important;
2580  font-weight: 600 !important;
2581  font-size: 12px !important;
2582  line-height: 1 !important;
2583  text-decoration: none !important;
2584  box-sizing: border-box;
2585  transition: background-color 0.2s ease, color 0.2s ease;
2586}
2587.fh-section .fh-social:hover {
2588  background: #feffff;
2589  color: var(--fh-orange) !important;
2590}
2591
2592@media (max-width: 1024px) {
2593  .fh-section .fh-lede,
2594  .fh-section .fh-lede p {
2595    max-width: none;
2596  }
2597  .fh-section .fh-grid-row > .elementor-container > .elementor-row {
2598    flex-wrap: wrap !important;
2599    gap: 16px;
2600    align-items: flex-start !important;
2601  }
2602  .fh-section .fh-grid-row > .elementor-container > .elementor-row > .elementor-column {
2603    width: calc(50% - 8px) !important;
2604  }
2605  .fh-section .fh-card {
2606    height: auto !important;
2607    align-self: flex-start !important;
2608  }
2609  .fh-section .fh-card > .elementor-column-wrap,
2610  .fh-section .fh-grid-row > .elementor-container > .elementor-row > .fh-card > .elementor-element-populated {
2611    height: auto !important;
2612    min-height: 0 !important;
2613  }
2614  .fh-section .fh-card > .elementor-column-wrap > .elementor-widget-wrap,
2615  .fh-section .fh-card .elementor-element-populated > .elementor-widget-wrap {
2616    height: auto !important;
2617    display: block !important;
2618  }
2619  .fh-section .fh-meta {
2620    flex: none !important;
2621    height: auto !important;
2622  }
2623  .fh-section .fh-meta > .elementor-container,
2624  .fh-section .fh-meta > .elementor-container > .elementor-row {
2625    height: auto !important;
2626  }
2627  .fh-section .fh-hover-inner {
2628    padding-top: 72px;
2629  }
2630}
2631
2632@media (max-width: 767px) {
2633  .fh-section .fh-grid-row > .elementor-container > .elementor-row > .elementor-column {
2634    width: 100% !important;
2635  }
2636  .fh-section .fh-hover-inner {
2637    padding: 64px 16px 20px;
2638  }
2639  .fh-section .fh-hover-name {
2640    font-size: 20px !important;
2641    line-height: 28px !important;
2642  }
2643  .fh-section .fh-hover-role {
2644    margin-bottom: 20px !important;
2645    font-size: 14px !important;
2646    line-height: 20px !important;
2647  }
2648}
2649
2650/* Masonry variant — vanilla Masonry (desandro). Do not force equal card height. */
2651.fh-masonry-section .fh-masonry > .elementor-container,
2652.fh-masonry-section .fh-masonry > .elementor-container > .elementor-row,
2653.fh-masonry-section .fh-masonry > .elementor-container > .elementor-column,
2654.fh-masonry-section .fh-masonry > .elementor-container > .elementor-column > .elementor-element-populated {
2655  width: 100% !important;
2656  max-width: 100% !important;
2657  margin: 0 !important;
2658  padding: 0 !important;
2659}
2660.fh-masonry-section .fh-masonry .elementor-widget-wrap,
2661.fh-masonry-section .fh-masonry .elementor-column-wrap > .elementor-widget-wrap {
2662  display: block !important;
2663  position: relative;
2664  width: 100%;
2665}
2666.fh-masonry-section .fh-masonry-sizer,
2667.fh-masonry-section .fh-masonry-item {
2668  width: calc(25% - 12px) !important;
2669}
2670.fh-masonry-section .fh-masonry-sizer {
2671  height: 0 !important;
2672  min-height: 0 !important;
2673  overflow: hidden !important;
2674  margin: 0 !important;
2675  padding: 0 !important;
2676  border: 0 !important;
2677  pointer-events: none;
2678}
2679.fh-masonry-section .fh-masonry-item {
2680  margin: 0 0 16px 0 !important;
2681  padding: 0 !important;
2682}
2683.fh-masonry-section .fh-masonry-item > .elementor-container,
2684.fh-masonry-section .fh-masonry-item > .elementor-container > .elementor-row,
2685.fh-masonry-section .fh-masonry-item .fh-card {
2686  width: 100% !important;
2687  max-width: 100% !important;
2688  margin: 0 !important;
2689}
2690.fh-masonry-section .fh-masonry-item .fh-card > .elementor-column-wrap,
2691.fh-masonry-section .fh-masonry-item .fh-card > .elementor-element-populated,
2692.fh-masonry-section .fh-masonry-item .fh-card .elementor-widget-wrap {
2693  height: auto !important;
2694  min-height: 0 !important;
2695  overflow: hidden !important;
2696  display: block !important;
2697}
2698.fh-masonry-section .fh-photo img {
2699  width: 100% !important;
2700  height: auto !important;
2701  display: block;
2702  object-fit: cover;
2703}
2704.fh-masonry-section .fh-name .elementor-heading-title,
2705.fh-masonry-section .fh-role .elementor-heading-title {
2706  text-align: left !important;
2707}
2708.fh-masonry-section .fh-card {
2709  position: relative;
2710}
2711.fh-masonry-section .fh-li {
2712  position: absolute !important;
2713  right: 12px !important;
2714  bottom: 16px !important;
2715  width: 32px !important;
2716  height: 32px !important;
2717  margin: 0 !important;
2718  z-index: 2;
2719}
2720.fh-masonry-section .fh-li > .elementor-widget-container,
2721.fh-masonry-section .fh-li .elementor-icon-wrapper,
2722.fh-masonry-section .fh-li .elementor-icon {
2723  width: 32px !important;
2724  height: 32px !important;
2725}
2726.fh-masonry-section .fh-li .elementor-icon {
2727  display: flex !important;
2728  align-items: center;
2729  justify-content: center;
2730  border: 1px solid #0f0f37 !important;
2731  border-radius: 6px !important;
2732  box-sizing: border-box !important;
2733  color: #0f0f37 !important;
2734  transition: background-color 0.2s ease, color 0.2s ease;
2735}
2736.fh-masonry-section .fh-li .elementor-icon svg {
2737  fill: #0f0f37 !important;
2738  width: 14px;
2739  height: 14px;
2740}
2741.fh-masonry-section .fh-li .elementor-icon:hover {
2742  background: #0f0f37 !important;
2743  color: #fff !important;
2744}
2745.fh-masonry-section .fh-li .elementor-icon:hover svg {
2746  fill: #fff !important;
2747}
2748
2749@media (max-width: 1024px) {
2750  .fh-masonry-section .fh-masonry-sizer,
2751  .fh-masonry-section .fh-masonry-item {
2752    width: calc(50% - 8px) !important;
2753  }
2754}
2755
2756@media (max-width: 767px) {
2757  .fh-masonry-section .fh-masonry-sizer,
2758  .fh-masonry-section .fh-masonry-item {
2759    width: 100% !important;
2760  }
2761}
2762/* FH cachebust 1784384200 */
2763
2764
2765/* ---------- Culture (Career) ---------- */
2766/* Hex label + photo crop + value row layout leftovers.
2767   Colors, type, section padding live in Elementor panel settings. */
2768.culture-section {
2769  --culture-navy: #0f0f37;
2770  --culture-orange: #e9590c;
2771  --culture-peach: #fef5ee;
2772}
2773
2774.culture-section .elementor-heading-title,
2775.culture-section h2.elementor-heading-title,
2776.culture-section h3.elementor-heading-title,
2777.culture-section p.elementor-heading-title {
2778  font-family: "Nunito Sans", sans-serif !important;
2779}
2780
2781.culture-section .culture-label .elementor-heading-title {
2782  display: inline-flex !important;
2783  align-items: center;
2784  gap: 8px;
2785}
2786.culture-section .culture-label .elementor-heading-title::before {
2787  content: "";
2788  display: inline-block;
2789  width: 16px;
2790  height: 16px;
2791  flex-shrink: 0;
2792  background: var(--culture-orange);
2793  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
2794}
2795
2796.culture-section .culture-body p {
2797  margin: 0 0 1em;
2798  color: #0f0f37;
2799}
2800.culture-section .culture-body p:last-child {
2801  margin-bottom: 0;
2802}
2803.culture-section .culture-body strong {
2804  font-weight: 700;
2805}
2806
2807.culture-section .culture-photo .elementor-widget-container {
2808  width: 100%;
2809  max-width: 100%;
2810  overflow: hidden;
2811}
2812.culture-section .culture-photo img {
2813  display: block;
2814  width: 100%;
2815  max-width: 100%;
2816  height: 390px;
2817  object-fit: cover;
2818  object-position: center 28%;
2819  border-radius: 0;
2820  will-change: transform;
2821  transform-origin: center center;
2822}
2823
2824.culture-section .culture-value > .elementor-container > .elementor-row {
2825  align-items: flex-start !important;
2826}
2827.culture-section .culture-value-icon-col,
2828.culture-section .culture-value-copy-col {
2829  display: flex;
2830}
2831.culture-section .culture-value-icon img {
2832  width: 40px !important;
2833  height: 40px !important;
2834  max-width: 40px !important;
2835}
2836
2837.culture-section .culture-gsap {
2838  display: none !important;
2839  height: 0 !important;
2840  margin: 0 !important;
2841  padding: 0 !important;
2842  overflow: hidden !important;
2843}
2844
2845@media (max-width: 1024px) {
2846  .culture-section .culture-photo img {
2847    height: 320px;
2848  }
2849}
2850
2851@media (max-width: 767px) {
2852  .culture-section .culture-grid > .elementor-container > .elementor-row > .elementor-column {
2853    width: 100% !important;
2854  }
2855  .culture-section .culture-photo img {
2856    height: 220px;
2857    object-position: center 30%;
2858  }
2859  .culture-section .culture-value-icon img {
2860    width: 36px !important;
2861    height: 36px !important;
2862    max-width: 36px !important;
2863  }
2864  .culture-section .culture-value > .elementor-container > .elementor-row > .culture-value-icon-col {
2865    width: 18% !important;
2866  }
2867  .culture-section .culture-value > .elementor-container > .elementor-row > .culture-value-copy-col {
2868    width: 82% !important;
2869  }
2870}
2871
2872@media (prefers-reduced-motion: reduce) {
2873  .culture-section .culture-label,
2874  .culture-section .culture-title,
2875  .culture-section .culture-body,
2876  .culture-section .culture-photo,
2877  .culture-section .culture-value {
2878    opacity: 1 !important;
2879    transform: none !important;
2880  }
2881}
2882/* Culture cachebust 1784551200 */
2883
2884/* ---------- Customer Feelings (Career) ---------- */
2885/* Card stretch + hover polish. Colors/type/padding live in Elementor. */
2886.feel-section {
2887  --feel-navy: #0f0f37;
2888  --feel-orange: #e9590c;
2889  --feel-lilac: #eaeaff;
2890}
2891
2892.feel-section .elementor-heading-title,
2893.feel-section h2.elementor-heading-title,
2894.feel-section h3.elementor-heading-title,
2895.feel-section p.elementor-heading-title {
2896  font-family: "Nunito Sans", sans-serif !important;
2897}
2898
2899.feel-section .feel-intro p {
2900  margin: 0;
2901  color: #eaeaff;
2902}
2903
2904.feel-section .feel-grid > .elementor-container > .elementor-row {
2905  display: flex !important;
2906  flex-wrap: wrap;
2907  align-items: stretch !important;
2908  /* Figma: 17px horizontal (516-68-431), 16px vertical (788-514-258) */
2909  gap: 16px 17px;
2910  margin-left: 0 !important;
2911  margin-right: 0 !important;
2912}
2913.feel-section .feel-grid > .elementor-container > .elementor-row > .feel-card {
2914  width: calc((100% - 34px) / 3) !important;
2915  float: none !important;
2916  padding: 0 !important;
2917  display: flex;
2918}
2919.feel-section .feel-grid--row1 {
2920  margin-bottom: 16px !important;
2921}
2922.feel-section .feel-card > .elementor-column-wrap,
2923.feel-section .feel-card > .elementor-widget-wrap,
2924.feel-section .feel-card .elementor-element-populated {
2925  width: 100%;
2926  height: 100%;
2927  min-height: 258px;
2928  box-sizing: border-box;
2929  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
2930}
2931
2932.feel-section .feel-card-icon img {
2933  width: 40px !important;
2934  height: 40px !important;
2935  max-width: 40px !important;
2936  display: block;
2937}
2938.feel-section .feel-card-desc p {
2939  margin: 0;
2940  color: #ffffff;
2941}
2942
2943.feel-section .feel-quote > .elementor-column-wrap,
2944.feel-section .feel-quote > .elementor-widget-wrap,
2945.feel-section .feel-quote .elementor-element-populated {
2946  min-height: 165px;
2947  display: flex;
2948  align-items: center;
2949  justify-content: center;
2950}
2951
2952.feel-section .feel-gsap {
2953  display: none !important;
2954  height: 0 !important;
2955  margin: 0 !important;
2956  padding: 0 !important;
2957  overflow: hidden !important;
2958}
2959
2960@media (max-width: 1024px) {
2961  .feel-section .feel-grid > .elementor-container > .elementor-row {
2962    gap: 16px;
2963  }
2964  .feel-section .feel-grid > .elementor-container > .elementor-row > .feel-card {
2965    width: calc((100% - 16px) / 2) !important;
2966  }
2967  .feel-section .feel-card > .elementor-column-wrap,
2968  .feel-section .feel-card > .elementor-widget-wrap,
2969  .feel-section .feel-card .elementor-element-populated {
2970    min-height: 220px;
2971  }
2972}
2973
2974@media (max-width: 767px) {
2975  .feel-section .feel-grid > .elementor-container > .elementor-row {
2976    gap: 16px;
2977  }
2978  .feel-section .feel-grid > .elementor-container > .elementor-row > .feel-card {
2979    width: 100% !important;
2980  }
2981  .feel-section .feel-card > .elementor-column-wrap,
2982  .feel-section .feel-card > .elementor-widget-wrap,
2983  .feel-section .feel-card .elementor-element-populated {
2984    min-height: 0;
2985  }
2986}
2987
2988@media (prefers-reduced-motion: reduce) {
2989  .feel-section .feel-title,
2990  .feel-section .feel-intro,
2991  .feel-section .feel-card,
2992  .feel-section .feel-quote {
2993    opacity: 1 !important;
2994    transform: none !important;
2995  }
2996  .feel-section .feel-card:hover > .elementor-column-wrap,
2997  .feel-section .feel-card:hover > .elementor-widget-wrap,
2998  .feel-section .feel-card:hover .elementor-element-populated {
2999    transform: none;
3000  }
3001}
3002/* Feelings cachebust 1784554000 */
3003
3004/* How you grow here — GSAP animation layer */
3005.hygh:not(.hygh--js) .hygh__title,
3006.hygh:not(.hygh--js) .hygh__item {
3007  visibility: hidden !important;
3008  opacity: 0 !important;
3009}
3010
3011.hygh--js .hygh__item--active .hygh__dot {
3012  box-shadow:
3013    0 0 0 4px rgba(244, 249, 251, 0.35),
3014    0 0 16px 6px rgba(244, 249, 251, 0.42);
3015}
3016
3017.hygh--js:not(.hygh--v2) .hygh__item--active .hygh__num {
3018  box-shadow: 0 0 0 2px rgba(244, 249, 251, 0.55), 0 0 18px 4px rgba(244, 249, 251, 0.28);
3019}
3020
3021.hygh--v2.hygh--js .hygh__item--active .hygh__hex {
3022  filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.5));
3023}
3024
3025.hygh--v2.hygh--js .hygh__item--active .hygh__num {
3026  box-shadow: none;
3027  text-shadow: 0 0 14px rgba(255, 255, 255, 0.45);
3028}
3029
3030@media (prefers-reduced-motion: reduce) {
3031  .hygh:not(.hygh--js) .hygh__title,
3032  .hygh:not(.hygh--js) .hygh__item {
3033    visibility: visible !important;
3034    opacity: 1 !important;
3035  }
3036}
3037
3038@media (scripting: none) {
3039  .hygh:not(.hygh--js) .hygh__title,
3040  .hygh:not(.hygh--js) .hygh__item {
3041    visibility: visible !important;
3042    opacity: 1 !important;
3043  }
3044}
3045
3046/* ---------- About Us — Leadership CTA (.about-cta) ---------- */
3047.about-cta {
3048  --about-cta-blue: #1491c2;
3049  --about-cta-orange: #e9590c;
3050  --about-cta-white: #ffffff;
3051}
3052
3053.about-cta .elementor-heading-title,
3054.about-cta h2.elementor-heading-title {
3055  font-family: "Nunito Sans", sans-serif !important;
3056}
3057
3058.about-cta .about-cta__title .elementor-heading-title {
3059  max-width: 980px;
3060  margin-left: auto !important;
3061  margin-right: auto !important;
3062}
3063
3064.about-cta .about-cta__body,
3065.about-cta .about-cta__body p {
3066  max-width: 920px;
3067  margin-left: auto !important;
3068  margin-right: auto !important;
3069}
3070
3071.about-cta .about-cta__btn .elementor-button,
3072.about-cta .about-cta__btn-wrap .elementor-button {
3073  transition: transform 0.25s ease, box-shadow 0.25s ease;
3074}
3075
3076.about-cta .about-cta__btn .elementor-button:hover,
3077.about-cta .about-cta__btn-wrap .elementor-button:hover {
3078  transform: translateY(-2px);
3079  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
3080}
3081
3082/* About CTA — GSAP animation layer */
3083.about-cta:not(.about-cta--js) .about-cta__title,
3084.about-cta:not(.about-cta--js) .about-cta__body,
3085.about-cta:not(.about-cta--js) .about-cta__btn {
3086  visibility: hidden !important;
3087  opacity: 0 !important;
3088}
3089
3090@media (prefers-reduced-motion: reduce) {
3091  .about-cta:not(.about-cta--js) .about-cta__title,
3092  .about-cta:not(.about-cta--js) .about-cta__body,
3093  .about-cta:not(.about-cta--js) .about-cta__btn {
3094    visibility: visible !important;
3095    opacity: 1 !important;
3096  }
3097}
3098
3099@media (scripting: none) {
3100  .about-cta:not(.about-cta--js) .about-cta__title,
3101  .about-cta:not(.about-cta--js) .about-cta__body,
3102  .about-cta:not(.about-cta--js) .about-cta__btn {
3103    visibility: visible !important;
3104    opacity: 1 !important;
3105  }
3106}
3107
3108@media (max-width: 767px) {
3109  .about-cta .about-cta__title .elementor-heading-title,
3110  .about-cta .about-cta__body,
3111  .about-cta .about-cta__body p {
3112    max-width: none;
3113  }
3114}
3115
3116/* ---------- Intelligent Experience services (.mlix-section) ---------- */
3117.mlix-section {
3118  --mlix-navy: #0f0f37;
3119  --mlix-orange: #e9590c;
3120  --mlix-blue: #1491c2;
3121  --mlix-cream: #fffbf9;
3122}
3123
3124.mlix-section .elementor-heading-title,
3125.mlix-section h2.elementor-heading-title,
3126.mlix-section h3.elementor-heading-title,
3127.mlix-section p.elementor-heading-title {
3128  font-family: "Nunito Sans", sans-serif !important;
3129}
3130
3131.mlix-section .mlix-section__title {
3132  max-width: 920px;
3133}
3134
3135.mlix-section .mlix-section__title .elementor-heading-title {
3136  overflow: hidden;
3137}
3138
3139.mlix-section .mlix-section__word {
3140  display: inline-block;
3141  overflow: hidden;
3142  vertical-align: top;
3143  margin-right: 0.28em;
3144  perspective: 800px;
3145}
3146
3147.mlix-section .mlix-section__word > span {
3148  display: inline-block;
3149  transform-origin: 50% 100%;
3150}
3151
3152.mlix-section .mlix-section__intro {
3153  max-width: 920px;
3154}
3155
3156.mlix-section .mlix-section__intro p {
3157  margin: 0;
3158  color: var(--mlix-navy);
3159}
3160
3161.mlix-section .mlix-grid > .elementor-container > .elementor-row {
3162  display: flex !important;
3163  flex-wrap: wrap;
3164  align-items: stretch !important;
3165  gap: 16px 17px;
3166  margin-left: 0 !important;
3167  margin-right: 0 !important;
3168}
3169
3170.mlix-section .mlix-grid > .elementor-container > .elementor-row > .mlix-section__card {
3171  width: calc((100% - 34px) / 3) !important;
3172  float: none !important;
3173  padding: 0 !important;
3174  display: flex;
3175}
3176
3177.mlix-section .mlix-grid--row1 {
3178  margin-bottom: 16px !important;
3179}
3180
3181.mlix-section .mlix-grid--row2 > .elementor-container > .elementor-row {
3182  justify-content: center;
3183}
3184
3185.mlix-section .mlix-section__card > .elementor-column-wrap,
3186.mlix-section .mlix-section__card > .elementor-widget-wrap,
3187.mlix-section .mlix-section__card .elementor-element-populated {
3188  width: 100%;
3189  height: 100%;
3190  min-height: 258px;
3191  box-sizing: border-box;
3192  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
3193}
3194
3195.mlix-section .mlix-section__icon img,
3196.mlix-section .mlix-section__icon .elementor-image img {
3197  width: 40px !important;
3198  height: 40px !important;
3199  max-width: 40px !important;
3200  display: block;
3201  transition: transform 0.35s ease;
3202}
3203
3204.mlix-section .mlix-section__card:hover .mlix-section__icon img,
3205.mlix-section .mlix-section__card:hover .mlix-section__icon .elementor-image img {
3206  transform: scale(1.08) rotate(-4deg);
3207}
3208
3209.mlix-section .mlix-section__card-body p {
3210  margin: 0;
3211  color: var(--mlix-navy);
3212}
3213
3214.mlix-section .mlix-section__cta .elementor-button,
3215.mlix-section .mlix-section__cta-wrap .elementor-button {
3216  transition: transform 0.25s ease, box-shadow 0.25s ease;
3217}
3218
3219.mlix-section .mlix-section__cta .elementor-button:hover,
3220.mlix-section .mlix-section__cta-wrap .elementor-button:hover {
3221  transform: translateY(-2px);
3222  box-shadow: 0 10px 24px rgba(233, 89, 12, 0.28);
3223}
3224
3225.mlix-section .mlix-gsap {
3226  display: none !important;
3227  height: 0 !important;
3228  margin: 0 !important;
3229  padding: 0 !important;
3230  overflow: hidden !important;
3231}
3232
3233/* MLIX — GSAP animation layer */
3234.mlix-section:not(.mlix-section--js) .mlix-section__eyebrow,
3235.mlix-section:not(.mlix-section--js) .mlix-section__title,
3236.mlix-section:not(.mlix-section--js) .mlix-section__intro,
3237.mlix-section:not(.mlix-section--js) .mlix-section__card,
3238.mlix-section:not(.mlix-section--js) .mlix-section__cta {
3239  visibility: hidden !important;
3240  opacity: 0 !important;
3241}
3242
3243@media (prefers-reduced-motion: reduce) {
3244  .mlix-section:not(.mlix-section--js) .mlix-section__eyebrow,
3245  .mlix-section:not(.mlix-section--js) .mlix-section__title,
3246  .mlix-section:not(.mlix-section--js) .mlix-section__intro,
3247  .mlix-section:not(.mlix-section--js) .mlix-section__card,
3248  .mlix-section:not(.mlix-section--js) .mlix-section__cta {
3249    visibility: visible !important;
3250    opacity: 1 !important;
3251  }
3252
3253  .mlix-section .mlix-section__card:hover > .elementor-column-wrap,
3254  .mlix-section .mlix-section__card:hover > .elementor-widget-wrap,
3255  .mlix-section .mlix-section__card:hover .elementor-element-populated {
3256    transform: none;
3257  }
3258}
3259
3260@media (scripting: none) {
3261  .mlix-section:not(.mlix-section--js) .mlix-section__eyebrow,
3262  .mlix-section:not(.mlix-section--js) .mlix-section__title,
3263  .mlix-section:not(.mlix-section--js) .mlix-section__intro,
3264  .mlix-section:not(.mlix-section--js) .mlix-section__card,
3265  .mlix-section:not(.mlix-section--js) .mlix-section__cta {
3266    visibility: visible !important;
3267    opacity: 1 !important;
3268  }
3269}
3270
3271@media (max-width: 1024px) {
3272  .mlix-section .mlix-grid > .elementor-container > .elementor-row {
3273    gap: 16px;
3274  }
3275
3276  .mlix-section .mlix-grid > .elementor-container > .elementor-row > .mlix-section__card {
3277    width: calc((100% - 16px) / 2) !important;
3278  }
3279
3280  .mlix-section .mlix-section__card > .elementor-column-wrap,
3281  .mlix-section .mlix-section__card > .elementor-widget-wrap,
3282  .mlix-section .mlix-section__card .elementor-element-populated {
3283    min-height: 220px;
3284  }
3285}
3286
3287@media (max-width: 767px) {
3288  .mlix-section .mlix-grid > .elementor-container > .elementor-row > .mlix-section__card {
3289    width: 100% !important;
3290  }
3291
3292  .mlix-section .mlix-section__card > .elementor-column-wrap,
3293  .mlix-section .mlix-section__card > .elementor-widget-wrap,
3294  .mlix-section .mlix-section__card .elementor-element-populated {
3295    min-height: 0;
3296  }
3297
3298  .mlix-section .mlix-section__title,
3299  .mlix-section .mlix-section__intro {
3300    max-width: none;
3301  }
3302}
3303
3304/* ── Powered-by partners (Cloud / Data pages) — Figma 1173:1511 / 2024:1179 ── */
3305.ml-partners,
3306.ml-partners * {
3307  box-sizing: border-box !important;
3308}
3309
3310.ml-partners {
3311  background: #ffffff !important;
3312  color: #0f0f37 !important;
3313}
3314
3315.ml-partners .elementor-element.ml-partners__styles-note {
3316  display: none !important;
3317}
3318
3319.ml-partners .ml-partners__title .elementor-heading-title {
3320  margin: 0 !important;
3321  color: #0f0f37 !important;
3322  font-family: "Nunito Sans", Nunito, sans-serif !important;
3323  font-weight: 700 !important;
3324  letter-spacing: -1.28px !important;
3325}
3326
3327.ml-partners .elementor-section.ml-partners__grid > .elementor-container {
3328  display: grid !important;
3329  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
3330  align-items: center !important;
3331  justify-items: center !important;
3332  column-gap: 32px !important;
3333  row-gap: 56px !important;
3334  width: 100% !important;
3335  max-width: none !important;
3336}
3337
3338.ml-partners .elementor-section.ml-partners__grid > .elementor-container > .elementor-column {
3339  width: 100% !important;
3340  max-width: none !important;
3341  min-width: 0 !important;
3342  flex: none !important;
3343}
3344
3345.ml-partners .ml-partners__logo .elementor-widget-container,
3346.ml-partners .ml-partners__logo figure,
3347.ml-partners .ml-partners__logo img {
3348  margin: 0 auto !important;
3349  display: block !important;
3350  width: auto !important;
3351  max-width: 100% !important;
3352  height: auto !important;
3353  object-fit: contain !important;
3354}
3355
3356.ml-partners .ml-partners__logo img {
3357  max-height: 34px;
3358}
3359
3360.ml-partners .ml-partners__logo--microsoft img {
3361  max-height: 41px;
3362}
3363
3364.ml-partners .ml-partners__logo--google img {
3365  max-height: 31px;
3366}
3367
3368.ml-partners .ml-partners__logo--aws img {
3369  max-height: 34px;
3370}
3371
3372.ml-partners .ml-partners__logo--databricks img {
3373  max-height: 61px;
3374}
3375
3376.ml-partners .ml-partners__logo--adobe img {
3377  max-height: 28px;
3378}
3379
3380.ml-partners .ml-partners__logo--anthropic img {
3381  max-height: 39px;
3382}
3383
3384.ml-partners .ml-partners__logo--openai img {
3385  max-height: 28px;
3386}
3387
3388.ml-partners .ml-partners__logo--github img {
3389  max-height: 28px;
3390}
3391
3392@media (max-width: 1100px) {
3393  .ml-partners .elementor-section.ml-partners__grid > .elementor-container {
3394    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
3395    column-gap: 24px !important;
3396    row-gap: 48px !important;
3397  }
3398}
3399
3400@media (max-width: 767px) {
3401  .ml-partners .elementor-section.ml-partners__grid > .elementor-container {
3402    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
3403    column-gap: 20px !important;
3404    row-gap: 36px !important;
3405  }
3406
3407  .ml-partners .ml-partners__title .elementor-heading-title {
3408    letter-spacing: -0.8px !important;
3409  }
3410}
3411
3412/* ---------- Industries — Banking & Financial Services (Figma Website 2026) ---------- */
3413.ind-banking {
3414  --ind-navy: #0f0f37;
3415  --ind-orange: #e9590c;
3416  background: #ffffff !important;
3417  color: var(--ind-navy) !important;
3418}
3419
3420.ind-banking .ind-banking__styles-note {
3421  display: none !important;
3422}
3423
3424.ind-banking .elementor-heading-title,
3425.ind-banking h2.elementor-heading-title,
3426.ind-banking h3.elementor-heading-title,
3427.ind-banking p.elementor-heading-title {
3428  font-family: "Nunito Sans", sans-serif !important;
3429}
3430
3431.ind-banking .ind-banking__title {
3432  max-width: 560px;
3433}
3434
3435.ind-banking .ind-banking__intro p {
3436  margin: 0;
3437  max-width: 520px;
3438  color: var(--ind-navy);
3439}
3440
3441.ind-banking .ind-banking__hero-img img,
3442.ind-banking .ind-banking__hero-img .elementor-image img {
3443  width: 100% !important;
3444  height: 100% !important;
3445  object-fit: cover;
3446  border-radius: 8px;
3447}
3448
3449.ind-banking .ind-banking__grid > .elementor-container > .elementor-row {
3450  display: flex !important;
3451  flex-wrap: wrap;
3452  align-items: stretch !important;
3453  gap: 16px;
3454}
3455
3456.ind-banking .ind-banking__grid > .elementor-container > .elementor-row >
3456 .ind-banking__card {
3457  width: calc((100% - 32px) / 3) !important;
3458  float: none !important;
3459  padding: 0 !important;
3460}
3461
3462.ind-banking .ind-banking__card > .elementor-column-wrap,
3463.ind-banking .ind-banking__card > .elementor-widget-wrap,
3464.ind-banking .ind-banking__card .elementor-element-populated {
3465  width: 100%;
3466  height: 100%;
3467  min-height: 220px;
3468}
3469
3470.ind-banking .ind-banking__icon img,
3471.ind-banking .ind-banking__icon .elementor-image img {
3472  width: 40px !important;
3473  height: 40px !important;
3474  max-width: 40px !important;
3475  display: block;
3476}
3477
3478.ind-banking .ind-banking__card-body p {
3479  margin: 0;
3480  color: var(--ind-navy);
3481}
3482
3483.ind-banking .ind-banking__cta .elementor-button {
3484  transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
3485}
3486
3487.ind-banking .ind-banking__cta .elementor-button:hover {
3488  transform: translateY(-2px);
3489  box-shadow: 0 10px 24px rgba(233, 89, 12, 0.28);
3490}
3491
3492@media (max-width: 1024px) {
3493  .ind-banking .ind-banking__grid > .elementor-container > .elementor-row > .ind-banking__c
3493ard {
3494    width: calc((100% - 16px) / 2) !important;
3495  }
3496
3497  .ind-banking .ind-banking__grid > .elementor-container > .elementor-row > .ind-banking__card--risk {
3498    width: 100% !important;
3499  }
3500}
3501
3502@media (max-width: 767px) {
3503  .ind-banking .ind-banking__title,
3504  .ind-banking .ind-banking__intro p {
3505    max-width: none;
3506  }
3507
3508  .ind-banking .ind-banking__hero > .elementor-container > .elementor-row {
3509    flex-direction: column;
3510  }
3511
3512  .ind-banking .ind-banking__grid > .elementor-container > .elementor-row > .ind-banking__card {
3513    width: 100% !important;
3514  }
3515
3516  .ind-banking .ind-banking__card > .elementor-column-wrap,
3517  .ind-banking .ind-banking__card > .elementor-widget-wrap,
3518  .ind-banking .ind-banking__card .elementor-element-populated {
3519    min-height: 0;
3520  }
3521
3522  .ind-banking .ind-banking__cta .elementor-button {
3523    width: 100%;
3524    max-width: 100%;
3525  }
3526}
3527
3528@media (prefers-reduced-motion: reduce) {
3529  .ind-banking .ind-banking__cta .elementor-button:hover {
3530    transform: none;
3531  }
3532}
3533
3534/* ---------- Industries page hero banner (Figma Website 2026) ---------- */
3535.ml-ind-hero,
3536.ml-ind-hero * {
3537  box-sizing: border-box !important;
3538}
3539
3540.ml-ind-hero {
3541  --ind-hero-navy: #0f0f37;
3542  --ind-hero-orange: #e9590c;
3543  --ind-hero-teal: #1491c2;
3544  --ind-hero-muted: #a8a8c0;
3545  --ind-hero-body: #eaeaff;
3546  background: var(--ind-hero-navy) !important;
3547  color: #ffffff !important;
3548  font-family: "Nunito Sans", Nunito, system-ui, sans-serif !important;
3549  overflow: visible !important;
3550}
3551
3552.ml-ind-hero .ml-ind-hero__styles-note {
3553  display: none !important;
3554}
3555
3556.ml-ind-hero .elementor-heading-title,
3557.ml-ind-hero h1.elementor-heading-title,
3558.ml-ind-hero h2.elementor-heading-title {
3559  font-family: "Nunito Sans", sans-serif !important;
3560}
3561
3562.ml-ind-hero .ml-ind-hero__crumb-wrap .elementor-widget-container,
3563.ml-ind-hero .ml-ind-hero__crumb-wrap p {
3564  margin: 0 !important;
3565}
3566
3567.ml-ind-hero .ml-ind-hero__crumb {
3568  margin: 0 !important;
3569  font-family: "Nunito Sans", sans-serif !important;
3570  font-size: 14px !important;
3571  font-weight: 400 !important;
3572  line-height: 20px !important;
3573  color: var(--ind-hero-muted) !important;
3574}
3575
3576.ml-ind-hero .ml-ind-hero__crumb-sep {
3577  margin: 0 6px;
3578  color: var(--ind-hero-muted);
3579}
3580
3581.ml-ind-hero .ml-ind-hero__crumb-current {
3582  color: #ffffff;
3583}
3584
3585.ml-ind-hero .ml-ind-hero__title {
3586  max-width: 620px;
3587}
3588
3589.ml-ind-hero .ml-ind-hero__title-text {
3590  margin: 0 !important;
3591  font-family: "Nunito Sans", sans-serif !important;
3592  font-size: 56px !important;
3593  font-weight: 700 !important;
3594  line-height: 64px !important;
3595  letter-spacing: -1.29px !important;
3596  color: #ffffff !important;
3597}
3598
3599.ml-ind-hero .ml-ind-hero__accent {
3600  color: var(--ind-hero-orange) !important;
3601}
3602
3603.ml-ind-hero .ml-ind-hero__body p {
3604  margin: 0;
3605  max-width: 560px;
3606  color: var(--ind-hero-body);
3607}
3608
3609.ml-ind-hero .ml-ind-hero__art-wrap .elementor-widget-container {
3610  width: 100%;
3611  display: flex;
3612  justify-content: flex-end;
3613}
3614
3615.ml-ind-hero .ml-ind-hero__art {
3616  position: relative;
3617  width: min(100%, 460px);
3618  margin-left: auto;
3619}
3620
3621.ml-ind-hero .ml-ind-hero__hex {
3622  position: relative;
3623  width: 100%;
3624  max-width: 420px;
3625  margin: 0 auto 0 auto;
3626  aspect-ratio: 420 / 485;
3627  filter: drop-shadow(0 24px 48px rgba(0, 0, 0, 0.35));
3628}
3629
3630.ml-ind-hero .ml-ind-hero__hex-border {
3631  position: absolute;
3632  inset: 0;
3633  background: #ffffff;
3634  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
3635}
3636
3637.ml-ind-hero .ml-ind-hero__hex-photo {
3638  position: absolute;
3639  inset: 4px;
3640  display: block;
3641  width: calc(100% - 8px);
3642  height: calc(100% - 8px);
3643  object-fit: cover;
3644  object-position: center 35%;
3645  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
3646}
3647
3648.ml-ind-hero .ml-ind-hero__accents {
3649  position: absolute;
3650  right: -8px;
3651  bottom: -12px;
3652  width: 132px;
3653  height: auto;
3654  max-width: 38%;
3655  pointer-events: none;
3656}
3657
3658.ml-ind-hero .ml-ind-hero__art-single img {
3659  display: block;
3660  width: 100%;
3661  max-width: 420px;
3662  height: auto;
3663  margin-left: auto;
3664  filter: drop-shadow(0 24px 48px rgba(0, 0, 0, 0.35));
3665}
3666
3667@media (max-width: 1024px) {
3668  .ml-ind-hero .ml-ind-hero__split > .elementor-container > .elementor-row {
3669    align-items: center !important;
3670  }
3671
3672  .ml-ind-hero .ml-ind-hero__title,
3673  .ml-ind-hero .ml-ind-hero__body p {
3674    max-width: none;
3675  }
3676}
3677
3678@media (max-width: 767px) {
3679  .ml-ind-hero .ml-ind-hero__split > .elementor-container > .elementor-row {
3680    flex-direction: column;
3681  }
3682
3683  .ml-ind-hero .ml-ind-hero__copy {
3684    order: 1;
3685  }
3686
3687  .ml-ind-hero .ml-ind-hero__media {
3688    order: 2;
3689  }
3690
3691  .ml-ind-hero .ml-ind-hero__art-wrap .elementor-widget-container {
3692    justify-content: center;
3693  }
3694
3695  .ml-ind-hero .ml-ind-hero__art {
3696    margin: 0 auto;
3697    width: min(100%, 340px);
3698  }
3699
3700  .ml-ind-hero .ml-ind-hero__hex {
3701    max-width: 320px;
3702  }
3703
3704  .ml-ind-hero .ml-ind-hero__accents {
3705    right: 0;
3706    bottom: -8px;
3707    width: 108px;
3708  }
3709
3710  .ml-ind-hero .ml-ind-hero__title-text {
3711    font-size: 36px !important;
3712    line-height: 42px !important;
3713    letter-spacing: -0.8px !important;
3714  }
3715}
3716
3717@media (max-width: 1024px) and (min-width: 768px) {
3718  .ml-ind-hero .ml-ind-hero__title-text {
3719    font-size: 44px !important;
3720    line-height: 52px !important;
3721  }
3722}
3723
3724/* ── Page breadcrumb (Elementor section template) ── */
3725.ml-page-breadcrumb-wrap,
3726.ml-page-breadcrumb-wrap * {
3727  box-sizing: border-box;
3728}
3729
3730.ml-page-breadcrumb-wrap .elementor-widget-container,
3731.ml-page-breadcrumb-wrap p {
3732  margin: 0 !important;
3733}
3734
3735.ml-page-breadcrumb {
3736  display: flex;
3737  flex-wrap: wrap;
3738  align-items: center;
3739  gap: 5px;
3740  margin: 0;
3741  padding: 0;
3742  font-family: "Nunito Sans", Nunito, system-ui, sans-serif;
3743}
3744
3745.ml-page-breadcrumb br {
3746  display: none;
3747}
3748
3749.ml-page-breadcrumb a {
3750  display: inline-flex;
3751  align-items: center;
3752  padding: 5px;
3753  border-radius: 4px;
3754  color: #10769e;
3755  font-size: 18px;
3756  font-weight: 400;
3757  line-height: normal;
3758  text-decoration: none;
3759  transition: background-color 0.15s ease;
3760}
3761
3762.ml-page-breadcrumb a:hover {
3763  background-color: rgba(16, 118, 158, 0.08);
3764  color: #0f7096;
3765  text-decoration: none;
3766}
3767
3768.ml-page-breadcrumb a:focus {
3769  outline: none;
3770}
3771
3772.ml-page-breadcrumb a:focus-visible {
3773  background-color: rgba(16, 118, 158, 0.08);
3774  box-shadow: 0 0 0 2px #1491c2;
3775}
3776
3777.ml-page-breadcrumb__sep {
3778  display: inline-flex;
3779  flex-shrink: 0;
3780  width: 14px;
3781  height: 14px;
3782  margin: 0;
3783  background: url("/wp-content/uploads/2026/08/breadcrumb-chevron.svg") no-repeat center / contain;
3784}
3785
3786.ml-page-breadcrumb__current {
3787  display: inline-flex;
3788  align-items: center;
3789  padding: 5px 8px;
3790  border-radius: 4px;
3791  color: #0f0f37;
3792  font-size: 18px;
3793  font-weight: 600;
3794  line-height: normal;
3795}
3796
3797@media (max-width: 767px) {
3798  .ml-page-breadcrumb-wrap,
3799  .ml-page-breadcrumb-wrap .elementor-widget-container {
3800    max-width: 100%;
3801    overflow: hidden;
3802  }
3803
3804  .ml-page-breadcrumb {
3805    flex-wrap: nowrap;
3806    gap: 8px;
3807    margin-left: 0;
3808    padding: 15px 0;
3809    min-height: 35px;
3810    width: 100%;
3811    max-width: 100%;
3812    box-sizing: border-box;
3813    overflow: hidden;
3814  }
3815
3816  .ml-page-breadcrumb__sep,
3817  .ml-page-breadcrumb a:not(:last-of-type) {
3818    display: none !important;
3819  }
3820
3821  .ml-page-breadcrumb a:last-of-type {
3822    display: inline-flex !important;
3823    align-items: center;
3824    justify-content: center;
3825    flex: 0 0 35px;
3826    width: 35px;
3827    height: 35px;
3828    min-width: 35px;
3829    min-height: 35px;
3830    max-width: 35px;
3831    padding: 0;
3832    margin: 0;
3833    border-radius: 4px;
3834    font-size: 0;
3835    line-height: 0;
3836    color: transparent;
3837    background-color: transparent;
3838    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='35' height='35' viewBox='0 0 35 35' fill='none'%3E%3Cpath d='M21.39 7.78L11.67 17.5L21.39 27.22' stroke='%230F0F37' stroke-width='2.92' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
3839    background-repeat: no-repeat;
3840    background-position: center;
3841    background-size: 35px 35px;
3842  }
3843
3844  .ml-page-breadcrumb a:last-of-type:hover,
3845  .ml-page-breadcrumb a:last-of-type:focus-visible {
3846    background-color: rgba(16, 118, 158, 0.08);
3847    box-shadow: none;
3848  }
3849
3850  .ml-page-breadcrumb__current {
3851    display: block;
3852    flex: 1 1 0;
3853    min-width: 0;
3854    max-width: 100%;
3855    padding: 0;
3856    font-size: 21px;
3857    font-weight: 400;
3858    line-height: 25px;
3859    color: #10769e;
3860    white-space: nowrap;
3861    overflow: hidden;
3862    text-overflow: ellipsis;
3863  }
3864}
3865
3866/* Dark background variant (#0F0F37) — add ml-page-breadcrumb-wrap--dark on the widget */
3867.ml-page-breadcrumb-wrap--dark .ml-page-breadcrumb a,
3868.ml-page-breadcrumb--dark a {
3869  color: #b8d4e0;
3870}
3871
3872.ml-page-breadcrumb-wrap--dark .ml-page-breadcrumb a:hover,
3873.ml-page-breadcrumb--dark a:hover {
3874  background-color: rgba(254, 251, 248, 0.08);
3875  color: #fefbf8;
3876}
3877
3878.ml-page-breadcrumb-wrap--dark .ml-page-breadcrumb a:focus-visible,
3879.ml-page-breadcrumb--dark a:focus-visible {
3880  background-color: rgba(254, 251, 248, 0.08);
3881  box-shadow: 0 0 0 2px #1491c2;
3882}
3883
3884.ml-page-breadcrumb-wrap--dark .ml-page-breadcrumb__current,
3885.ml-page-breadcrumb--dark .ml-page-breadcrumb__current {
3886  color: #fefbf8;
3887}
3888
3889.ml-page-breadcrumb-wrap--dark .ml-page-breadcrumb__sep,
3890.ml-page-breadcrumb--dark .ml-page-breadcrumb__sep {
3891  filter: brightness(0) invert(1);
3892  opacity: 0.65;
3893}
3894
3895@media (max-width: 767px) {
3896  .ml-page-breadcrumb-wrap--dark .ml-page-breadcrumb a:last-of-type:hover,
3897  .ml-page-breadcrumb-wrap--dark .ml-page-breadcrumb a:last-of-type:focus-visible,
3898  .ml-page-breadcrumb--dark a:last-of-type:hover,
3899  .ml-page-breadcrumb--dark a:last-of-type:focus-visible {
3900    background-color: rgba(254, 251, 248, 0.08);
3901  }
3902
3903  .ml-page-breadcrumb-wrap--dark .ml-page-breadcrumb a:last-of-type,
3904  .ml-page-breadcrumb--dark a:last-of-type {
3905    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='35' height='35' viewB
3905ox='0 0 35 35' fill='none'%3E%3Cpath d='M21.39 7.78L11.67 17.5L21.39 27.22' stroke='%23FEFBF8' stroke-width='2.92' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
3906  }
3907
3908  .ml-page-breadcrumb-wrap--dark .ml-page-breadcrumb__current,
3909  .ml-page-breadcrumb--dark .ml-page-breadcrumb__current {
3910    color: #b8d4e0;
3911  }
3912}
3913
3914/* ── Case Study single post (Elementor Theme Builder) ── */
3915.single-case-study-breadcrumbs,
3916.single-case-study-breadcrumbs * {
3917  box-sizing: border-box;
3918}
3919
3920.single-case-study-breadcrumbs {
3921  font-family: "Nunito Sans", Nunito, system-ui, sans-serif;
3922}
3923
3924.single-case-study-breadcrumbs a {
3925  color: #10769e;
3926  font-size: 18px;
3927  font-weight: 400;
3928  line-height: 1.4;
3929  text-decoration: none;
3930}
3931
3932.single-case-study-breadcrumbs a:hover {
3933  text-decoration: underline;
3934}
3935
3936.single-case-study-breadcrumbs .cs-crumb-sep {
3937  color: #0f0f37;
3938  font-size: 18px;
3939  margin: 0 2px;
3940  opacity: 0.6;
3941}
3942
3943.single-case-study-breadcrumbs .cs-crumb-current {
3944  color: #0f0f37;
3945  font-size: 18px;
3946  font-weight: 600;
3947  line-height: 1.4;
3948}
3949
3950.single-case-study-hero,
3951.single-case-study-hero * {
3952  box-sizing: border-box;
3953}
3954
3955.single-case-study-hero {
3956  font-family: "Nunito Sans", Nunito, system-ui, sans-serif;
3957}
3958
3959.single-case-study-hero .elementor-heading-title {
3960  color: #ffffff !important;
3961  font-family: "Nunito Sans", Nunito, system-ui, sans-serif !important;
3962  letter-spacing: -0.5px;
3963}
3964
3965.single-case-study-read-date {
3966  color: #ffffff;
3967  font-family: "Nunito Sans", Nunito, system-ui, sans-serif;
3968  font-size: 16px;
3969  font-weight: 400;
3970  line-height: 1.5;
3971  opacity: 0.92;
3972}
3973
3974.single-case-study-tags .elementor-heading-title {
3975  color: #ffffff !important;
3976  font-family: "Nunito Sans", Nunito, system-ui, sans-serif !important;
3977  font-size: 16px !important;
3978  font-weight: 400 !important;
3979  line-height: 1.5 !important;
3980  opacity: 0.92;
3981}
3982
3983.single-case-study-content,
3984.single-case-study-content * {
3985  box-sizing: border-box;
3986}
3987
3988.single-case-study-content {
3989  color: #0f0f37;
3990  font-family: "Nunito Sans", Nunito, system-ui, sans-serif;
3991  font-size: 18px;
3992  line-height: 1.65;
3993}
3994
3995.single-case-study-content .elementor-widget-theme-post-content .elementor-widget-container {
3996  max-width: 900px;
3997}
3998
3999.single-case-study-related,
4000.single-case-study-related * {
4001  box-sizing: border-box;
4002}
4003
4004.single-case-study-related .elementor-heading-title {
4005  color: #0f0f37 !important;
4006  font-family: "Nunito Sans", Nunito, system-ui, sans-serif !important;
4007}
4008
4009@media (max-width: 767px) {
4010  .single-case-study-breadcrumbs .elementor-column {
4011    padding: 12px 16px !important;
4012  }
4013
4014  .single-case-study-breadcrumbs .elementor-widget-container {
4015    display: flex;
4016    align-items: center;
4017    gap: 8px;
4018    flex-wrap: nowrap;
4019    min-height: 35px;
4020    max-width: 100%;
4021    overflow: hidden;
4022  }
4023
4024  .single-case-study-breadcrumbs .cs-crumb-sep,
4025  .single-case-study-breadcrumbs a:not(:last-of-type) {
4026    display: none !important;
4027  }
4028
4029  .single-case-study-breadcrumbs a:last-of-type {
4030    display: inline-flex !important;
4031    align-items: center;
4032    justify-content: center;
4033    flex: 0 0 35px;
4034    width: 35px;
4035    height: 35px;
4036    min-width: 35px;
4037    min-height: 35px;
4038    max-width: 35px;
4039    padding: 0;
4040    margin: 0;
4041    border-radius: 4px;
4042    font-size: 0;
4043    line-height: 0;
4044    color: transparent;
4045    text-decoration: none;
4046    background-color: transparent;
4047    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='35' height='35' viewBox='0 0 35 35' fill='none'%3E%3Cpath d='M21.39 7.78L11.67 17.5L21.39 27.22' stroke='%230F0F37' stroke-width='2.92' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
4048    background-repeat: no-repeat;
4049    background-position: center;
4050    background-size: 35px 35px;
4051  }
4052
4053  .single-case-study-breadcrumbs a:last-of-type:hover {
4054    text-decoration: none;
4055    background-color: rgba(16, 118, 158, 0.08);
4056  }
4057
4058  .single-case-study-breadcrumbs .cs-crumb-current {
4059    display: block;
4060    flex: 1 1 0;
4061    min-width: 0;
4062    max-width: 100%;
4063    font-size: 21px;
4064    font-weight: 400;
4065    line-height: 25px;
4066    color: #10769e;
4067    white-space: nowrap;
4068    overflow: hidden;
4069    text-overflow: ellipsis;
4070  }
4071
4072  .single-case-study-hero .elementor-column {
4073    width: 100% !important;
4074  }
4075
4076  .single-case-study-tags .elementor-heading-title {
4077    text-align: left !important;
4078  }
4079}
4080
4081/* ── Executive Brief content gate ── */
4082.ml-eb-gate-activator {
4083  display: none !important;
4084  margin: 0 !important;
4085  padding: 0 !important;
4086  height: 0;
4087  overflow: hidden;
4088}
4089
4090body.ml-eb-gate-open {
4091  overflow: hidden;
4092}
4093
4094body.ml-eb-locked .ml-eb-gate-blur {
4095  filter: blur(8px);
4096  pointer-events: none;
4097  user-select: none;
4098  position: relative;
4099}
4100
4101body.ml-eb-locked .single-case-study-related,
4102body.ml-eb-locked .single-article-related {
4103  filter: blur(8px);
4104  pointer-events: none;
4105  user-select: none;
4106}
4107
4108body.ml-eb-locked .ml-eb-gate-blur::after {
4109  content: "";
4110  position: absolute;
4111  inset: 0;
4112  background: linear-gradient(180deg, rgba(254, 251, 248, 0) 0%, rgba(254, 251, 248, 0.85) 24%, rgba(254, 251, 248, 0.95) 100%);
4113  pointer-events: none;
4114}
4115
4116body.ml-eb-unlocked .ml-eb-gate-blur,
4117body.ml-eb-unlocked .ml-eb-gate-blur.ml-eb-gate-blur--revealed {
4118  filter: none;
4119  pointer-events: auto;
4120  user-select: auto;
4121}
4122
4123body.ml-eb-unlocked .ml-eb-gate-blur::after {
4124  display: none;
4125}
4126
4127.ml-eb-gate[hidden] {
4128  display: none !important;
4129}
4130
4131.ml-eb-gate {
4132  position: fixed;
4133  inset: 0;
4134  z-index: 99999;
4135  display: flex;
4136  align-items: flex-start;
4137  justify-content: center;
4138  padding: 24px 16px;
4139  overflow-y: auto;
4140  font-family: "Nunito Sans", Nunito, system-ui, sans-serif;
4141}
4142
4143.ml-eb-gate__backdrop {
4144  position: fixed;
4145  inset: 0;
4146  background: rgba(15, 15, 55, 0.55);
4147  backdrop-filter: blur(4px);
4148}
4149
4150.ml-eb-gate__panel {
4151  position: relative;
4152  z-index: 1;
4153  width: min(100%, 640px);
4154  margin: 40px auto;
4155  padding: 32px 32px 28px;
4156  border-radius: 8px;
4157  background: #ffffff;
4158  box-shadow: 0 24px 64px rgba(15, 15, 55, 0.18);
4159  color: #0f0f37;
4160}
4161
4162.ml-eb-gate__close {
4163  position: absolute;
4164  top: 12px;
4165  right: 14px;
4166  border: 0;
4167  background: none;
4168  color: #0f0f37;
4169  font-size: 28px;
4170  line-height: 1;
4171  cursor: pointer;
4172  opacity: 0.65;
4173}
4174
4175.ml-eb-gate__close:hover {
4176  opacity: 1;
4177}
4178
4179.ml-eb-gate__title {
4180  margin: 0 0 20px;
4181  font-size: 28px;
4182  line-height: 1.2;
4183  font-weight: 700;
4184  letter-spacing: -0.3px;
4185}
4186
4187.ml-eb-gate__brief-card {
4188  display: flex;
4189  align-items: center;
4190  gap: 14px;
4191  margin-bottom: 16px;
4192}
4193
4194.ml-eb-gate__brief-icon {
4195  flex: 0 0 56px;
4196  width: 56px;
4197  height: 72px;
4198  border-radius: 4px;
4199  background: linear-gradient(160deg, #0f0f37 0%, #1c3d7a 100%);
4200  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
4201}
4202
4203.ml-eb-gate__brief-meta {
4204  display: flex;
4205  flex-direction: column;
4206  gap: 4px;
4207}
4208
4209.ml-eb-gate__brief-name {
4210  font-size: 18px;
4211  font-weight: 700;
4212}
4213
4214.ml-eb-gate__brief-detail {
4215  font-size: 14px;
4216  color: rgba(15, 15, 55, 0.72);
4217}
4218
4219.ml-eb-gate__intro {
4220  margin: 0 0 24px;
4221  font-size: 16px;
4222  line-height: 1.6;
4223  color: rgba(15, 15, 55, 0.88);
4224}
4225
4226.ml-eb-gate__form {
4227  display: flex;
4228  flex-direction: column;
4229  gap: 14px;
4230}
4231
4232.ml-eb-gate__row {
4233  display: grid;
4234  gap: 14px;
4235}
4236
4237.ml-eb-gate__row--2 {
4238  grid-template-columns: 1fr 1fr;
4239}
4240
4241.ml-eb-gate__field {
4242  display: flex;
4243  flex-direction: column;
4244  gap: 6px;
4245}
4246
4247.ml-eb-gate__label {
4248  font-size: 14px;
4249  font-weight: 600;
4250}
4251
4252.ml-eb-gate__field input,
4253.ml-eb-gate__field select {
4254  width: 100%;
4255  padding: 11px 12px;
4256  border: 1px solid rgba(15, 15, 55, 0.18);
4257  border-radius: 4px;
4258  font: inherit;
4259  color: #0f0f37;
4260  background: #fff;
4261}
4262
4263.ml-eb-gate__field input:focus,
4264.ml-eb-gate__field select:focus {
4265  outline: 2px solid rgba(16, 118, 158, 0.35);
4266  border-color: #10769e;
4267}
4268
4269.ml-eb-gate__check {
4270  display: flex;
4271  align-items: flex-start;
4272  gap: 10px;
4273  font-size: 14px;
4274  line-height: 1.5;
4275  color: rgba(15, 15, 55, 0.88);
4276}
4277
4278.ml-eb-gate__check input {
4279  margin-top: 3px;
4280}
4281
4282.ml-eb-gate__error {
4283  margin: 0;
4284  font-size: 14px;
4285  color: #c0392b;
4286}
4287
4288.ml-eb-gate__submit {
4289  margin-top: 4px;
4290  width: 100%;
4291  padding: 14px 20px;
4292  border: 0;
4293  border-radius: 4px;
4294  background: #e9590c;
4295  color: #ffffff;
4296  font: inherit;
4297  font-size: 16px;
4298  font-weight: 700;
4299  cursor: pointer;
4300}
4301
4302.ml-eb-gate__submit:hover {
4303  background: #d14f0a;
4304}
4305
4306.ml-eb-gate__fine {
4307  margin: 0;
4308  font-size: 12px;
4309  line-height: 1.5;
4310  text-align: center;
4311  color: rgba(15, 15, 55, 0.62);
4312}
4313
4314@media (max-width: 640px) {
4315  .ml-eb-gate__panel {
4316    margin: 16px auto;
4317    padding: 24px 20px 20px;
4318  }
4319
4320  .ml-eb-gate__title {
4321    font-size: 24px;
4322  }
4323
4324  .ml-eb-gate__row--2 {
4325    grid-template-columns: 1fr;
4326  }
4327}
4328
4329.ml-quote-hang,
4330.ml-quote-hang .elementor-heading-title,
4331.ml-quote-hang .elementor-widget-container,
4332.ml-quote-hang p {
4333  hanging-punctuation: first last;
4334  text-indent: -0.4em;
4335}
4336
4337.ml-quote-hang .ml-quote-end {
4338  margin-right: -0.35em;
4339}
4340
4341
4342</style>
4343<link rel='stylesheet' id='wpo_min-footer-0-css' href='https://mlarteka.ai/wp-content/cache/wpo-minify/1791206269/assets/wpo-minify-footer-654f1191.min.css' media='all' />
4344
4345</head>
4346<body id="root" class="blog hs-content-id-33937209321 hs-blog-post hs-blog-id-3946085058" style="" tabindex="-1" >
4347	<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 4347-4348
4347
4348<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
4348GTM-MHR8JXW
vendor: 83 bytes, lines 4348-4349
4348"
4349height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
4350<!-- End Google Tag Manager (noscript) -->
4351<div>
4352  <a href="#mainContent" class="skipNavBTN" id="skipNavBTN">Skip Navigation</a>
4353  <header id="header" class="new-header">
4354    <div id="header-holder" class="header-wrap">
4355	  <div class="header-logo">
4356        <a href="/" class="logo" id="headerLogo">
4357          <img src="/wp-content/uploads/2026/06/Original-Logo.png" alt="ML Arteka Logo" width="134" height="30">
4358        </a>
4359      </div>
4360      <button id="nav-opener-btn" class="nav-opener" aria-label="Open Navigation Menu" aria-expanded="false" onclick="openNav()"><img class="open-img" alt="" src="/wp-content/uploads/2022/02/hamburger.png" width="23" height="15"><img class="close-img" alt="" src="/wp-content/uploads/2022/03/Multiply-orange.png" width="23" height="16"></button>
4361      <nav class="nav" aria-label="Main Navigation">
4362      
4363        <ul id="mega-menu" role="menubar" class="main-nav">
4364          <li id="capabilities" class="has-drop main-nav-item" role="none">
4365            <a href="javascript:void(0)" role="menuitem" aria-haspopup="true" aria-expanded="false">Capabilities <i class="icon icon-chevron-down-solid"></i></a>
4366<!-- 			<button class="down-arrow" aria-label="Click here to open capabilities sub menu" aria-expanded="false">
4367			  <i class="icon icon-chevron-down-solid"></i>
4368			</button> -->
4369			<div class="droplet" role="menu">
4370			    <div class="droplet-container">
4371			        <h3 class="droplet-title">Our Services</h3>
4372			        <div class="left-col">
4373			            <ul role="list" class="links-list">
4374                          <li role="listitem">
4375                              <a href="/capabilities/cloud-engineering" role="menuitem">Cloud & Engineering</a>
4376                              <div class="links-blurb">
4377            			            Cloud-native modernization, built for performance, cost control, and the governance required in regulated environments.
4378            			        </div>
4379                          </li>
4380                          <li role="listitem"><a href="/capabilities/data-ai" role="menuitem">Data & AI</a>
4381                          <div class="links-blurb">
4382            			            Platforms built on governed, Al-ready data, and the discipline required to get from demo to production with measurable results.
4383            			        </div>
4384            			        </li>
4385                          <li role="listitem"><a href="/capabilities/enterprise-platforms" role="menuitem">Enterprise Platforms</a>
4386                          <div class="links-blurb">
4387            			            Core platforms your business relies on integrated into one connected system that is governed, AI-ready, and accountable for the outcome.
4388            			        </div></li>
4389                          <li role="listitem"><a href="/capabilities/experience-design" role="menuitem">Experience & Design</a>
4390                                <div class="links-blurb">
4391            			            Al-powered, intelligent, and personalized customer journeys engineered to design digital experiences people can adopt easily in complex environments.
4392            			        </div>
4393                          </li>
4394						  <li role="listitem"><a href="/capabilities" role="menuitem">See all</a>
4395                          </li>
4396        				</ul>
4397			        </div>
4398			        <div class="right-col">
4399			            <div class="img-holder">
4400			                <img src="/wp-content/uploads/2026/07/capabilities_mega_menu.png" alt="capabilities image"/>
4401			            </div>
4402			            <div class="desc-holder">
4403			                <p>Capabilities that turn your ambition into measurable results</p>
4404			            </div>
4405			        </div>
4406			        <button class="close-droplet-btn"><img src="/wp-content/uploads/2026/07/close-droplet-icon.png" alt="close icon"/></button>
4407			    </div>
4408            </div> 
4409          </li>
4410          <li id="industries" class="has-drop main-nav-item" role="none">
4411            <a href="javascript:void(0)" role="menuitem" aria-haspopup="true" aria-expanded="false">Industries <i class="icon icon-chevron-down-solid"></i></a>
4412<!-- 			<button class="down-arrow" aria-label="Click here to open industries sub menu" aria-expanded="false">
4413			  <i class="icon icon-chevron-down-solid"></i>
4414			</button> -->
4415			<div class="droplet" role="menu">
4416			    <div class="droplet-container">
4417			        <h3 class="droplet-title">Sectors &amp; Ecosystem</h3>
4418			        <div class="left-col">
4419			            <ul role="list" class="links-list">
4420                          <li role="listitem">
4421                              <a href="/industries/banking-financial-services" role="menuitem">Banking &amp; Financial Services</a>
4422                              <div class="links-blurb">
4423            			            Core modernization, compliance automation, and secure AI pipelines.
4424            			        </div>
4425                          </li>
4426                          <li role="listitem"><a href="/industries/insurance-mortgages" role="menuitem">Insurance &amp; Mortgages</a>
4427                          <div class="links-blurb">
4428            			            Claims automation, risk modeling, and legacy system decoupling.
4429            			        </div>
4430            			        </li>
4431                          <li role="listitem"><a href="/industries/credit-unions-regional-banks" role="menuitem">Credit Unions &amp; Regional Banks</a>
4432                          <div class="links-blurb">
4433            			            Member experience transformation and scalable digital infrastru
4433cture.
4434            			        </div></li>
4435                          <li role="listitem"><a href="/industries/telecommunications" role="menuitem">Telecommunications</a>
4436                                <div class="links-blurb">
4437            			            Enterprise platform integration, high-load architecture, and 99.999% uptime engineering.
4438            			        </div>
4439                          </li>
4440						  <li role="listitem"><a href="/industries" role="menuitem">See all</a>
4441                          </li>
4442        				</ul>
4443			        </div>
4444			        <div class="right-col">
4445			            <div class="img-holder">
4446			                <img src="/wp-content/uploads/2026/07/industries_mega_menu.png" alt="industries image"/>
4447			            </div>
4448			            <div class="desc-holder">
4449			                <h3>Proven Across the Enterprise</h3>
4450			            <p>While we specialize in the rigorous demands of highly regulated environments, our solutions help solve complex challenges across multiple industries.</p>
4451			            <ul>
4452			                <li><a href="/case-studies/faster-more-accurate-releases-for-digital-healthcare-apps" data-no-match>Explore Healthcare Outcomes</a></li>
4453                            <li><a href="/case-studies/a-self-serve-retail-app-that-made-in-store-price-checks-75-faster" data-no-match>Explore Retail & Supply Chain</a></li>
4454                            <li><a href="/case-studies/testing-thousands-of-set-top-boxes-at-once-for-a-global-manufacturer" data-no-match>Explore Manufacturing</a></li></ul>
4455			            </div> 
4456			            
4457			        </div>
4458			        <button class="close-droplet-btn"><img src="/wp-content/uploads/2026/07/close-droplet-icon.png" alt="close icon"/></button>
4459			    </div>
4460            </div>
4461          </li>
4462          <li id="client-results" class="main-nav-item" role="none">
4463            <a href="/case-studies" role="menuitem" aria-haspopup="false" data-match="/case-studies">Client Results</a>
4464          </li>
4465          <li class="main-nav-item has-drop" id="insights" role="none">
4466            <a href="javascript:void(0)" role="menuitem" aria-haspopup="true" aria-expanded="false">Insights <i class="icon icon-chevron-down-solid"></i></a>
4467<!-- 			<button class="down-arrow" aria-label="Click here to open insights sub menu" aria-expanded="false">
4468			  <i class="icon icon-chevron-down-solid"></i>
4469			</button> -->
4470			<div class="droplet" role="menu">
4471			    <div class="droplet-container">
4472			        <h3 class="droplet-title">Our thinking and perspectives</h3>
4473			        <div class="left-col">
4474			            <ul role="list" class="links-list">
4475                          <li role="listitem">
4476                              <a href="/insights/articles" role="menuitem" data-match="/insights/articles">Executive Articles</a>
4477                              <div class="links-blurb">
4478            			            Expert takes on AI, data, and delivery.
4479            			        </div>
4480                          </li>
4481                          <li role="listitem"><a href="/insights/webinars" role="menuitem" data-match="/insights/webinars">Webinars</a>
4482                          <div class="links-blurb">
4483            			            Live sessions with our practitioners and industry experts.
4484            			        </div>
4485            			        </li>
4486                          <li role="listitem"><a href="/insights/podcast" role="menuitem" data-match="/insights/podcast">Podcast</a>
4487                          <div class="links-blurb">
4488            			            Conversations that go beyond the code.
4489            			        </div></li>
4490							 <li role="listitem"><a href="/insights/news" role="menuitem" data-match="/insights/news">News</a>
4491                          <div class="links-blurb">
4492            			            Industry recognitions, countless certifications, and company milestones.
4493            			        </div></li>
4494<!--                           <li role="listitem"><a href="/coming-soon" role="menuitem" data-match="/executive-guides,/executive-guide">Executive Guides</a>
4495                                <div class="links-blurb">
4496            			            Practical playbooks you can act on now.
4497            			        </div>
4498                          </li>
4499                          <li role="listitem"><a href="/coming-soon" role="menuitem" data-match="/research">Research</a>
4500                                <div class="links-blurb">
4501            			            Original data, backed by real-time use cases.
4502            			        </div>
4503                          </li>
4504                          <li role="listitem"><a href="/coming-soon" role="menuitem" data-match="/assessments,/assessment">Assessments</a>
4505                                <div class="links-blurb">
4506            			            Benchmark your readiness in minutes.
4507            			        </div>
4508                          </li> -->
4509							<li role="listitem"><a href="/insights" role="menuitem">See all</a>
4510                          </li>
4511        				</ul>
4512			        </div>
4513			        <div class="right-col">
4514			            <div class="img-holder">
4515			                <img src="/wp-content/uploads/2026/07/insights_mega_menu.png" alt="insights image"/>
4516			            </div>
4517			            <div class="desc-holder">
4518			                <p>Perspective, playbooks, and research for technology leaders.</p>
4519			            </div>
4520			            
4521			        </div>
4522			        <button class="close-droplet-btn"><img src="/wp-content/uploads/2026/07/close-droplet-icon.png" alt="close icon"/></button>
4523			    </div>
4524            </div> 
4525          </li>
4526		  <li class="main-nav-item has-drop" id="company" role="none">
4527            <a href="javascript:void(0)" role="menuitem" aria-haspopup="true" aria-expanded="false">Company <i class="icon icon-chevron-down-solid"></i></a>
4528<!-- 			<button class="down-arrow" aria-label="Click here to open Company sub menu" aria-expanded="false">
4529			  <i class="icon icon-chevron-down-solid"></i>
4530			</button> -->
4531			<div class="droplet" role="menu">
4532			    <div class="droplet-container">
4533			        <h3 class="droplet-title">About us</h3>
4534			        <div class="left-col">
4535			            <ul role="list" class="links-list">
4536                          <li role="listitem">
4537                              <a href="/company/our-story" role="menuitem">Our Story & Philosophy</a>
4538                              <div class="links-blurb">
4539            			           The ML arteka journey, our core values, and our transition from mobileLIVE.
4540            			        </div>
4541                          </li>
4542                          <li role="listitem"><a href="/company/leadership" role="menuitem">Leadership</a>
4543                          <div class="links-blurb">
4544            			            Meet the experts making enterprise transformation provable.
4545            			        </div>
4546            			        </li>
4547                          <li role="listitem"><a href="/company/partners" role="menuitem" data-match="/company/partners">Technology Partners</a>
4548                          <div class="links-blurb">
4549            			            Deep partnerships with the technology leaders you already trust.
4550            			        </div></li>
4551                          <li role="listitem"><a href="/company/corporate-excellence" role="menuitem">Corporate Excellence & Industry Recognition</a>
4552                                <div class="links-blurb">
4553            			            Award-winning stability and governance driving predictable enterprise outcomes.
4554            			        </div>
4555                          </li>
4556                          <li role="listitem"><a href="/company/culture" role="menuitem">Culture</a>
4557                                <div class="links-blurb">
4558            			            How we work, and who we work with.
4559            			        </div>
4560                          </li>
4561                          <li role="listitem"><a href="/company/locations" role="menuitem">Locations</a>
4562                                <div class="links-blurb">
4563            			            Direct access to our global offices and experts.
4564            			        </div>
4565                          </li>
4566							<li role="listitem"><a href="/company" role="menuitem">See all</a>
4567                          </li>
4568        				</ul>
4569			        </div>
4570			        <div class="right-col">
4571			            <div class="img-holder">
4572			                <img src="/wp-content/uploads/2026/07/company_mega_menu.png" alt="company image"/>
4573			            </div>
4574			            <div class="desc-holder">
4575			                <p>
4575Who we are, and why teams trust us with the hard work.</p>
4576			            </div>
4577			            
4578			        </div>
4579			        <button class="close-droplet-btn"><img src="/wp-content/uploads/2026/07/close-droplet-icon.png" alt="close icon"/></button>
4580			    </div>
4581            </div> 
4582          </li>
4583          <li class="main-nav-item" id="careers" role="none">
4584            <a href="/careers" role="menuitem" aria-haspopup="false">Careers</a>
4585          </li>
4586          <li class="main-nav-item" id="connect" role="none">
4587            <a href="/contact-us" role="menuitem" aria-haspopup="false">Contact</a>
4588          </li>
4589		  <li class="main-nav-item" id="search-navigation" role="none">
4590            <a class="msi-search-trigger" href="javascript:void(0)" role="menuitem" aria-haspopup="false" ><img src="/wp-content/uploads/2026/07/search-icon-img.png" alt="search icon" width="20px"/></a>
4591          </li>
4592		  <li class="main-nav-item mobile-hide" role="none">
4593            <a href="/discuss-your-challenge" role="menuitem" aria-haspopup="false" class="header-cta">Discuss your challenge</a>
4594          </li>
4595          
4596        </ul>
4597		<div class="desktop-hide nav-mob-cta">
4598			<a href="/discuss-your-challenge" class="mob-cta nav-first-footer-link">Discuss your challenge</a>
4599		</div>
4600      </nav>
4601    </div>
4602  </header>
4603</div>
4604
4605
4606		<div data-elementor-type="single-post" data-elementor-id="37540" class="elementor elementor-37540 elementor-location-single post-40262 case-studies type-case-studies status-publish format-standard has-post-thumbnail hentry topic-tags-mobile-app topic-tags-retail-experience topic-tags-self-serve capabilities-tags-experience-design industries-tags-retail" data-elementor-settings="[]">
4607		<div class="elementor-section-wrap">
4608					<section class="elementor-section elementor-top-section elementor-element elementor-element-ce0f217 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="ce0f217" data-element_type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
4609						<div class="elementor-container elementor-column-gap-default">
4610							<div class="elementor-row">
4611					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e6d0fba" data-id="e6d0fba" data-element_type="column">
4612			<div class="elementor-column-wrap elementor-element-populated">
4613							<div class="elementor-widget-wrap">
4614						<div class="elementor-element elementor-element-cf28d91 ml-page-breadcrumb-wrap elementor-widget elementor-widget-shortcode" data-id="cf28d91" data-element_type="widget" data-widget_type="shortcode.default">
4615				<div class="elementor-widget-container">
4616					<div class="elementor-shortcode"><nav class="ml-page-breadcrumb" aria-label="Breadcrumb"><a href="/">Home</a>
4617<span class="ml-page-breadcrumb__sep" aria-hidden="true"></span>
4618<a href="/case-studies">Client Results</a>
4619<span class="ml-page-breadcrumb__sep" aria-hidden="true"></span>
4620<span class="ml-page-breadcrumb__current" aria-current="page">A Self-Serve Retail App That Made In-Store Price Checks 75% Faster</span></nav></div>
4621				</div>
4622				</div>
4623						</div>
4624					</div>
4625		</div>
4626								</div>
4627					</div>
4628		</section>
4629				<section class="elementor-section elementor-top-section elementor-element elementor-element-04e9c81 case-study-banner elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="04e9c81" data-element_type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;,&quot;_ha_eqh_enable&quot;:false}">
4630							<div class="elementor-background-overlay"></div>
4631							<div class="elementor-container elementor-column-gap-default">
4632							<div class="elementor-row">
4633					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-e2d6b99" data-id="e2d6b99" data-element_type="column">
4634			<div class="elementor-column-wrap elementor-element-populated">
4635							<div class="elementor-widget-wrap">
4636						<div class="elementor-element elementor-element-e7d337d elementor-position-left hexa-icon-title-wrapper elementor-view-default elementor-vertical-align-top elementor-widget elementor-widget-icon-box" data-id="e7d337d" data-element_type="widget" data-widget_type="icon-box.default">
4637				<div class="elementor-widget-container">
4638					<div class="elementor-icon-box-wrapper">
4639						<div class="elementor-icon-box-icon">
4640				<span class="elementor-icon elementor-animation-" >
4641				<svg xmlns="http://www.w3.org/2000/svg" width="14" height="16" viewB
4641ox="0 0 14 16" fill="none"><path d="M6.92822 0L13.8564 4V12L6.92822 16L1.95503e-05 12V4L6.92822 0Z" fill="white"></path></svg>				</span>
4642			</div>
4643						<div class="elementor-icon-box-content">
4644				<div class="elementor-icon-box-title">
4645					<span >case Study</span>
4646				</div>
4647							</div>
4648		</div>
4649				</div>
4650				</div>
4651				<div class="elementor-element elementor-element-c9a0d3e elementor-widget elementor-widget-heading" data-id="c9a0d3e" data-element_type="widget" data-widget_type="heading.default">
4652				<div class="elementor-widget-container">
4653			<h1 class="elementor-heading-title elementor-size-default">A Self-Serve Retail App That Made In-Store Price Checks 75% Faster</h1>		</div>
4654				</div>
4655						</div>
4656					</div>
4657		</div>
4658				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-0572e76" data-id="0572e76" data-element_type="column">
4659			<div class="elementor-column-wrap elementor-element-populated">
4660							<div class="elementor-widget-wrap">
4661						<section class="elementor-section elementor-inner-section elementor-element elementor-element-51abc2d elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="51abc2d" data-element_type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
4662						<div class="elementor-container elementor-column-gap-default">
4663							<div class="elementor-row">
4664					<div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-fa99432" data-id="fa99432" data-element_type="column">
4665			<div class="elementor-column-wrap elementor-element-populated">
4666							<div class="elementor-widget-wrap">
4667						<div class="elementor-element elementor-element-380d2bf single-article-read-date elementor-widget elementor-widget-shortcode" data-id="380d2bf" data-element_type="widget" data-widget_type="shortcode.default">
4668				<div class="elementor-widget-container">
4669					<div class="elementor-shortcode">6 min read • August 2026</div>
4670				</div>
4671				</div>
4672						</div>
4673					</div>
4674		</div>
4675								</div>
4676					</div>
4677		</section>
4678				<section class="elementor-section elementor-inner-section elementor-element elementor-element-9b25832 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="9b25832" data-element_type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
4679						<div class="elementor-container elementor-column-gap-default">
4680							<div class="elementor-row">
4681					<div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-5ef06bc" data-id="5ef06bc" data-element_type="column">
4682			<div class="elementor-column-wrap elementor-element-populated">
4683							<div class="elementor-widget-wrap">
4684						<div class="elementor-element elementor-element-eb05c1c single-article-tags elementor-widget elementor-widget-heading" data-id="eb05c1c" data-element_type="widget" data-widget_type="heading.default">
4685				<div class="elementor-widget-container">
4686			<div class="elementor-heading-title elementor-size-default"><span>Mobile App</span> <span>Retail Experience</span> <span>Self-Serve</span></div>		</div>
4687				</div>
4688				<div class="elementor-element elementor-element-6c18a8a elementor-align-right csg-open-gate elementor-tablet-align-left elementor-widget elementor-widget-button" data-id="6c18a8a" data-element_type="widget" data-widget_type="button.default">
4689				<div class="elementor-widget-container">
4690					<div class="elementor-button-wrapper">
4691			<a class="elementor-button elementor-size-md" role="button">
4692						<span class="elementor-button-content-wrapper">
4693						<span class="elementor-button-text">Read Full Case Study </span>
4694		</span>
4695					</a>
4696		</div>
4697				</div>
4698				</div>
4699						</div>
4700					</div>
4701		</div>
4702								</div>
4703					</div>
4704		</section>
4705						</div>
4706					</div>
4707		</div>
4708								</div>
4709					</div>
4710		</section>
4711				<section class="elementor-section elementor-top-section elementor-element elementor-element-6eec2dd layout article-content-layout elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="6eec2dd" data-element_type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
4712						<div class="elementor-container elementor-column-gap-default">
4713							<div class="elementor-row">
4714					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-ea1bfc3 toc-sidebar" data-id="ea1bfc3" data-element_type="column">
4715			<div class="elementor-column-wrap elementor-element-populated">
4716							<div class="elementor-widget-wrap">
4717						<div class="elementor-element elementor-element-643d3df elementor-widget elementor-widget-text-editor" data-id="643d3df" data-element_type="widget" data-widget_type="text-editor.default">
4718				<div class="elementor-widget-container">
4719								<div class="elementor-text-editor elementor-clearfix">
4720					<aside class="toc-sidebar">
4721<details class="toc-block" open="">
4722<summary>IN THIS CASE STUDY</summary>
4723<nav aria-label="Table of contents">
4724<ul>
4725<li><a href="#exec-summary" class="toc-link active" data-target="exec-summary">Executive Summary</a></li>
4726<li><a href="#outcomes" class="toc-link" data-target="outcomes">Business Outcomes</a></li>
4727<li><a href="#transformation" class="toc-link" data-target="transformation">The Transformation</a></li>
4728<li><a href="#challenge" class="toc-link" data-target="challenge">The Business Challenge</a></li>
4729<li><a href="#detail" class="toc-link" data-target="detail">Business Outcomes in Detail</a></li>
4730<li><a href="#tech" class="toc-link" data-target="tech">Technology Snapshot</a></li>
4731<li><a href="#insight" class="toc-link" data-target="insight">ML arteka Executive Insight</a></li>
4732<li><a href="#qa" class="toc-link" data-target="qa">Executive Q&amp;A</a></li>
4733</ul>
4734</nav>
4735</details>
4736</aside>
4737					</div>
4738						</div>
4739				</div>
4740						</div>
4741					</div>
4742		</div>
4743				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-58095ee content-col" data-id="58095ee" data-element_type="column">
4744			<div class="elementor-column-wrap elementor-element-populated">
4745							<div class="elementor-widget-wrap">
4746						<div class="elementor-element elementor-element-eadb7f8 elementor-widget elementor-widget-theme-post-content" data-id="eadb7f8" data-element_type="widget" data-widget_type="theme-post-content.default">
4747				<div class="elementor-widget-container">
4748			<section class="section-block" id="exec-summary">
4749<p class="lead">In-store shoppers were waiting on busy associates just to check a price, and every delay chipped away at satisfaction while overloading staff.</p>
4750<div class="orange-summary-card">
4751		<span class="eyebrow-label">Executive Summary</span></p>
4752<p class="summary-quote">&#8220;Give shoppers the answer in their hand and everyone wins, the customer and the associate.&#8221;</p>
4753</p></div>
4754<div class="narrative">
4755<p>A retail client wanted to enhance the in-store experience by giving customers instant access to product and pricing information without needing staff. Long wait times, inconsistent product data, and limited digital engagement were reducing satisfaction and overburdening associates, and the app had to scan barcodes, show promotions, and offer loyalty features with real-time accuracy and smooth integration with in-store systems.</p>
4756<p>Research through surveys, interviews, and in-store observation found that 70% of shoppers preferred self-help. Grounded in three pillars, instant access, personal connection, and smooth transition, The engagement mapped the journey and designed a hybrid app around four modules: Scan and Go, Store Info, a Promotions Hub, and Profile and Loyalty, with a floating scan button, card-based product display, offline mode, and a promotions carousel, prototyped and tested in Figma.</p>
4757<p class="resline"><strong>The result:</strong> price checks 75% faster, a 60% increase in customer satisfaction, 30% fewer staff-assisted queries, and a 20% rise in app adoption within the first quarter.</p>
4758</p></div>
4759</section>
4760<div class="gated-content">
4761<section class="section-block" id="outcomes">
4762<h2>Business Outcomes</h2>
4763<p>The results below are the client’s measured outcomes, set against what industry research says about conversion and checkout in digital retail.</p>
4764<div class="numbers-grid">
4765<div class="num-card">
4766<div class="num-stat">75%</div>
4767<div class="num-label">Faster price checks</div>
4768<p class="num-desc">Instant, self-serve product lookups.</p>
4769</p></div>
4770<div class="num-card">
4771<div class="num-stat">60%</div>
4772<div class="num-label">Higher customer satisfaction</div>
4773<p class="num-desc">A better in-store experience.</p>
4774</p></div>
4775<div class="num-card">
4776<div class="num-stat">30%</div>
4777<div class="num-label">Fewer staff-assisted queries</div>
4778<p class="num-desc">Associates freed for higher-value work.</p>
4779</p></div>
4780</p></div>
4781</section>
4782<section class="section-block" id="transformation">
4783<h2>The Transformation</h2>
4784<p>From waiting on associates to instant, self-serve answers.</p>
4785<ul class="takeaways-list">
4786<li><span class="num">1</span><br />
4787				<span><span class="step-label">Research</span><span class="step-title">Understand the Shopper</span>Surveys, interviews, and in-store observation found 70% of shoppers preferred self-help.</span>
4788			</li>
4789<li><span class="num">2</span><br />
4790				<span><span class="step-label">Define</span><span class="step-title">Four Core Modules</span>Structured the app around Scan and Go, Store Info, a Promotions Hub, and Profile and Loyalty.</span>
4791			</li>
4792<li><span class="num">3</span><br />
4793				<span><span class="step-label">Design</span><span class="step-title">Simple, Fast, Reliable</span>Built a card-based Figma design with large tap targets, validated with real shoppers.</span>
4794			</li>
4795<li><span class="num">4</span><br />
4796				<span><span class="step-label">Build</span><span class="step-title">Key Features</span>Added a floating scan button, card-based product display, offline mode, and a promotions carousel.</span>
4797			</li>
4798</ul>
4799</section>
4800<section class="section-block cs-challenge-list" id="challenge">
4801<h2>The Business Challenge</h2>
4802<h3>Waiting in the Aisle for a Price</h3>
4803<p>Long waits and inconsistent data were hurting satisfaction and overloading associates.</p>
4804<div class="challenge-row">
4805<div class="challenge-icon">⏳</div>
4806<div>
4807<h4>Long wait times</h4>
4808<p>Shoppers waited on staff for product and pricing information.</p>
4809</p></div>
4810</p></div>
4811<div class="challenge-row">
4812<div class="challenge-icon">📊</div>
4813<div>
4814<h4>Inconsistent product data</h4>
4815<p>Real-time accuracy was needed across in-store systems.</p>
4816</p></div>
4817</p></div>
4818<div class="challenge-row">
4819<div class="challenge-icon">📱</div>
4820<div>
4821<h4>
4821Limited digital engagement</h4>
4822<p>There was little self-serve interaction in store.</p>
4823</p></div>
4824</p></div>
4825<div class="challenge-row">
4826<div class="challenge-icon">👷</div>
4827<div>
4828<h4>Overburdened associates</h4>
4829<p>Repetitive queries consumed staff time.</p>
4830</p></div>
4831</p></div>
4832</section>
4833<section class="section-block cs-outcome-list" id="detail">
4834<h2>Business Outcomes in Detail</h2>
4835<h3>What the Numbers Mean</h3>
4836</section>
4837<section class="section-block" id="tech">
4838<h2>Technology Snapshot</h2>
4839<h3>The Hybrid App</h3>
4840<div class="tech-list">
4841<div class="tech-row">
4842<div class="tech-badge"><svg viewBox="0 0 24 24" fill="none" stroke="#1a9bd6" stroke-width="2"><rect x="3" y="4" width="18" height="14" rx="2"/><path d="M8 20h8M3 9h18"/></svg></div>
4843<div>
4844<div class="tech-comp">Hybrid Mobile App</div>
4845<div class="tech-desc">Self-serve access across diverse retail environments.</div>
4846</p></div>
4847</p></div>
4848<div class="tech-row">
4849<div class="tech-badge"><svg viewBox="0 0 24 24" fill="none" stroke="#1a9bd6" stroke-width="2"><rect x="3" y="4" width="18" height="14" rx="2"/><path d="M8 20h8M3 9h18"/></svg></div>
4850<div>
4851<div class="tech-comp">Barcode and QR Scanning</div>
4852<div class="tech-desc">Instant product pricing and details via Scan and Go.</div>
4853</p></div>
4854</p></div>
4855<div class="tech-row">
4856<div class="tech-badge"><svg viewBox="0 0 24 24" fill="none" stroke="#1a9bd6" stroke-width="2"><rect x="3" y="4" width="18" height="14" rx="2"/><path d="M8 20h8M3 9h18"/></svg></div>
4857<div>
4858<div class="tech-comp">Offline Mode</div>
4859<div class="tech-desc">Supports low-connectivity in-store environments.</div>
4860</p></div>
4861</p></div>
4862<div class="tech-row">
4863<div class="tech-badge"><svg viewBox="0 0 24 24" fill="none" stroke="#1a9bd6" stroke-width="2"><rect x="3" y="4" width="18" height="14" rx="2"/><path d="M8 20h8M3 9h18"/></svg></div>
4864<div>
4865<div class="tech-comp">Loyalty and Promotions</div>
4866<div class="tech-desc">Personalized offers and unified rewards.</div>
4867</p></div>
4868</p></div>
4869</p></div>
4870</section>
4871<section class="section-block blue-quote-card" id="insight">
4872		<span class="eyebrow-label">ML arteka Executive Insight</span></p>
4873<p>Self-serve design in retail succeeds when simplicity meets reliability. Putting the answer in the shopper&#8217;s hand shifted them from reactive support to proactive discovery, and freed associates for higher-value work.</p>
4874</section>
4875<section class="section-block" id="qa">
4876<h2>Executive Questions and Answers</h2>
4877<p>The questions leadership tends to ask when evaluating an approach like this.</p>
4878<details class="qa-card" open="">
4879<summary><span class="qa-cat"><span>Speed</span></span><br />
4880				<span class="qa-q">How did price checks get 75% faster?</span><br />
4881			</summary>
4882<p class="qa-a">A floating scan button and Scan and Go put instant product pricing and details in the shopper&#8217;s hand, from any screen, without finding an associate.</p>
4883</details>
4884<details class="qa-card">
4885<summary><span class="qa-cat"><span>Reliability</span></span><br />
4886				<span class="qa-q">What about poor in-store connectivity?</span><br />
4887			</summary>
4888<p class="qa-a">An offline mode keeps the app usable in low-connectivity environments, syncing when a connection is available.</p>
4889</details>
4890<details class="qa-card">
4891<summary><span class="qa-cat"><span>Impact</span></span><br />
4892				<span class="qa-q">What did it change for staff?</span><br />
4893			</summary>
4894<p class="qa-a">Staff-assisted queries fell 30%, freeing associates from repetitive questions while customer satisfaction rose 60%.</p>
4895</details>
4896</section>
4897		<div data-elementor-type="custom_grid" data-elementor-id="40132" class="elementor elementor-40132 elementor-location-single" data-elementor-settings="[]">
4898		<div class="elementor-section-wrap">
4899					<section class="elementor-section elementor-top-section elementor-element elementor-element-d89355d elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="d89355d" data-element_type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
4900						<div class="elementor-container elementor-column-gap-default">
4901							<div class="elementor-row">
4902					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a0fdf3d" data-id="a0fdf3d" data-element_type="column">
4903			<div class="elementor-column-wrap elementor-element-populated">
4904							<div class="elementor-widget-wrap">
4905						<div class="elementor-element elementor-element-dc8a290 elementor-widget elementor-widget-shortcode" data-id="dc8a290" data-element_type="widget" data-widget_type="shortcode.default">
4906				<div class="elementor-widget-container">
4907					<div class="elementor-shortcode"><section class="section-block related-articles-simple" id="related-articles-section">
4908<h2>Related Content</h2>
4909	<div class="ml_articles-related-posts">
4910					<h3 class="ml_articles-related-heading">Case Studies</h3>
4911				<div class="ml_articles-related-list">
4912							<div class="ml_articles-related-item ml_articles-related-item-case-studies">
4913
4914															<div class="related-item-card-body">
4915										
4916																<span class="ml_articles-related-item-label">Case Study</span>
4917					
4918										<h3><a href="https://mlarteka.ai/case-studies/a-shake-to-activate-app-that-delighted-users-and-lifted-nps">A Shake-to-Activate App That Delighted Users and Lifted NPS</a></h3>
4919
4920										
4921										
4922															</div>
4923				</div>
4924							<div class="ml_articles-related-item ml_articles-related-item-case-studies">
4925
4926															<div class="related-item-card-body">
4927										
4928																<span class="ml_articles-related-item-label">Case Study</span>
4929					
4930										<h3><a href="https://mlarteka.ai/case-studies/a-real-time-survey-and-issue-reporting-platform-embeddable-in-any-app">A Real-Time Survey and Issue-Reporting Platform, Embeddable in Any App</a></h3>
4931
4932										
4933										
4934															</div>
4935				</div>
4936							<div class="ml_articles-related-item ml_articles-related-item-case-studies">
4937
4938															<div class="related-item-card-body">
4939										
4940																<span class="ml_articles-related-item-label">Case Study</span>
4941					
4942										<h3><a href="https://mlarteka.ai/case-studies/real-time-customer-sentiment-a-telecom-can-see-and-act-on">Real-Time Customer Sentiment a Telecom Can See and Act On</a></h3>
4943
4944										
4945										
4946															</div>
4947				</div>
4948							<div class="ml_articles-related-item ml_articles-related-item-case-studies">
4949
4950															<div class="related-item-card-body">
4951										
4952																<span class="ml_articles-related-item-label">Case Study</span>
4953					
4954										<h3><a href="https://mlarteka.ai/case-studies/hybrid-to-native-a-better-app-experience-and-a-higher-nps-for-bell">Hybrid to Native: A Better App Experience and a Higher NPS for Bell</a></h3>
4955
4956										
4957										
4958															</div>
4959				</div>
4960					</div>
4961	</div>
4962	
4963</section></div>
4964				</div>
4965				</div>
4966						</div>
4967					</div>
4968		</div>
4969								</div>
4970					</div>
4971		</section>
4972				</div>
4973		</div>
4974		</div>
4975		</div>
4976				</div>
4977						</div>
4978					</div>
4979		</div>
4980								</div>
4981					</div>
4982		</section>
4983				</div>
4984		</div>
4985			<!--end body wrapper -->
4986	<footer class="footer">
4987		<div class="footer-container">
4988			<div class="footer-row">
4989				<div class="footer-col footer-left-col">
4990					<h2 class="footer-cta-title">Find the <span>right next move</span> for your team</h2>
4991				</div>
4992				<div class="footer-col footer-right-col">
4993					<div class="footer-logo">
4994						<img src="/wp-content/uploads/2026/07/ML-arteka-white-logo.png" alt="ML arteka logo" />
4995					</div>
4996					<div class="footer-tagline">
4997						<p>Big AI ambition. Bigger ROI.<br>
4998						We close the gap.</p>
4999					</div>
5000					<div class="footer-links-wrapper">
5001						<div class="footer-links-col">
5002							<h3 class="h4">Capabilities</h3>
5003							<ul>
5004								<li><a href="/capabilities/cloud-engineering">Cloud &amp; Engineering</a></li>
5005								<li><a href="/capabilities/data-ai">Data &amp; AI</a></li>
5006								<li><a href="/capabilities/enterprise-platforms">Enterprise Platforms</a></li>
5007								<li><a href="/capabilities/experience-design">Experience &amp; Design</a></li>
5008
5009							</ul>
5010						</div>
5011						<div class="footer-links-col">
5012							<h4>Company</h4>
5013							<ul>
5014								<li><a href="/company/our-story">About</a></li>
5015								<li><a href="/case-studies">Case Studies</a></li>
5016								<li><a href="/insights">Insights</a></li>
5017								<li><a href="/company/corporate-excellence">Awards</a></li>
5018								<li><a href="/careers">Careers</a></li>
5019							</ul>
5020						</div>
5021						<div class="footer-links-col">
5022							<h4>Connect</h4>
5023							<ul>
5024								<li><a href="/contact-us">Contact us</a></li>
5025								<li><a href="/company/locations">Locations</a></li>
5026								<li><a href="/insights/news">Press</a></li>
5027								<li><a href="/careers">Apply for jobs</a></li>
5028							</ul>
5029						</div>
5030						<div class="footer-links-col">
5031							<h4>Follow us</h4>
5032							<div class="footer-social-links"><a href="https://www.linkedin.com/company/ml-arteka/"><img src="/wp-content/uploads/2026/07/linkedin-icon-img.png" alt="linkedin" /></a><a href="https://www.youtube.com/@mlarteka"><img src="/wp-content/uploads/2026/07/youtube-icon-img.png" alt="youtube" /></a></div>
5033						</div>
5034					</div>
5035				</div>
5036			</div>
5037			<div class="footer-bottom">
5038				<div class="footer-bottom-col">
5039					<img src="/wp-content/uploads/2026/07/accessibility-icon-img.png" alt="accessibility icon" />
5040				</div>
5041				<div class="footer-bottom-col">
5042					<p>© 2026 ML arteka | mobileLIVE Inc. All Rights Reserved.</p>
5043				</div>
5044				<div class="line">
5045
5046				</div>
5047				<div class="footer-bottom-col">
5048					<ul class="footer-bottom-links">
5049<!-- 						<li>
5050						  <a href="/coming-soon">Sitemap</a>
5051						</li> -->
5052						<li>
5053						  <a href="/trust-centre" aria-label="Accessibility Page">Trust Center</a>
5054						</li>
5055						<li>
5056						  <a href="/privacy-policy">Privacy</a>
5057						</li>
5058						<li>
5059						  <a href="/soc-2-certified">SOC 2</a>
5060						</li>
5061					  </ul>
5062				</div>
5063			</div>
5064		</div>
5065	</footer>
5066<script type="speculationrules">
5067{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/mobilelive/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
5068</script>
5068
5069            
5069<script type="text/javascript">
5070                var CF7AppsLoadhCaptcha = function() {
5071                    var hcaptcha = document.querySelectorAll( '.h-captcha' );
5072                    for (var i = 0; i < hcaptcha.length; i++) {
5073                        hcaptcha[i].setAttribute( 'data-sitekey', 'a4d08856-95d8-4f54-b960-b6d414f4167e' );
5074                        hcaptcha[i].setAttribute( 'data-callback', 'cf7apps_hcaptcha_callback' );
5075                    }
5076                };
5077            </script>
5077
5078            
5078<script 
5079                src="https://js.hcaptcha.com/1/api.js?onload=CF7AppsLoadhCaptcha" 
5080                async 
5081                defer
5082            ></script>
5082
5083            
5083<script id="wpo_min-footer-0-js" src="https://mlarteka.ai/wp-content/cache/wpo-minify/1791206269/assets/wpo-minify-footer-71d60d1f.min.js"></script>
vendor: 1 bytes, line 5083
5083
5084<script id="wpo_min-footer-1-js-extra">
5085var cf7appsHoneypotRefill = {"forceRefillOnInit":""};
5086var HappyLocalize = {"ajax_url":"https://mlarteka.ai/wp-admin/admin-ajax.php","nonce":"1073f101e0"};
5087var csgConfig = {"ajaxUrl":"https://mlarteka.ai/wp-admin/admin-ajax.php","nonce":"e17cbce81e","cf7Nonce":"e0d1063f27","postId":"40262","blurStrength":"8","gateDisplayMode":"hide","animationSpeed":"200","enableAnalytics":"1","enableCloseButton":"1","repromptDelay":"10","scrollTriggerModal":"","readMoreEnabled":"1","readMoreText":"Read More","barrierOverlayEnabled":"","barrierText":"Unlock the full case study to continue reading.","hidePanelText":"Unlock the full case study to continue reading.","sidebarNavSelector":"aside.toc-sidebar a[href*=\"#\"], .toc-sidebar a[href*=\"#\"], aside a[href*=\"#\"], .elementor-toc a[href*=\"#\"], .elementor-nav-menu a[href*=\"#\"], .csg-toc a[href*=\"#\"]","modalTitle":"Read the full case study","ctaText":"Unlock the full story","newsletterLabel":"Keep me posted with more helpful insights from ML arteka that are relevant to me. Unsubscribe at any time.","lockIconUrl":"https://mlarteka.ai/wp-content/plugins/case-study-gate-v7/assets/images/toc-lock.svg","brandColor":"#e9590c","successMessage":"Your content is now unlocked and your case study PDF is on its way.","successTitle":"You're all set!","successSubtext":"Check your inbox for the case study PDF.","successDisplayMs":"2800","storageKey":"csg_unlock_40262","i18n":{"close":"Close modal","modalLabel":"Executive Brief download form","contentUnlocked":"Case study content unlocked","openGate":"Open download form","sectionLocked":"Unlock the full case study to view this section"}};
5088var hcbVars = {"showCopyBtn":"1","copyBtnLabel":"Copy code to clipboard"};
5089//# sourceURL=wpo_min-footer-1-js-extra
5090</script>
vendor: 1 bytes, line 5090
5090
5091<script id="wpo_min-footer-1-js" src="https://mlarteka.ai/wp-content/cache/wpo-minify/1791206269/assets/wpo-minify-footer-e3c07baf.min.js"></script>
vendor: 1 bytes, line 5091
5091
5092<script id="wpo_min-footer-2-js" src="https://mlarteka.ai/wp-content/cache/wpo-minify/1791206269/assets/wpo-minify-footer-d51414d2.min.js"></script>
vendor: 1 bytes, line 5092
5092
5093<script id="wpo_min-footer-3-js" src="https://mlarteka.ai/wp-content/cache/wpo-minify/1791206269/assets/wpo-minify-footer-3cb71aa1.min.js"></script>
vendor: 1 bytes, line 5093
5093
5094<script id="wpo_min-footer-4-js" src="https://mlarteka.ai/wp-content/cache/wpo-minify/1791206269/assets/wpo-minify-footer-46b11245.min.js"></script>
5094
5095<div id="csg-overlay" class="csg-overlay" hidden aria-hidden="true"></div>
5096
5097<div
5098	id="csg-modal"
5099	class="csg-modal"
5100	role="dialog"
5101	aria-modal="true"
5102	aria-labelledby="csg-modal-title"
5103	aria-describedby="csg-modal-description"
5104	hidden
5105	tabindex="-1"
5106>
5107	<div class="csg-modal__container">
5108		
5109		<header class="csg-modal__header">
5110			<h2 id="csg-modal-title" class="csg-modal__title">
5111				Read the full case study			</h2>
5112							<button
5113					type="button"
5114					class="csg-modal__close"
5115					id="csg-modal-close"
5116					aria-label="Close modal"
5117				>
5118					<span class="csg-modal__close-icon" aria-hidden="true"></span>
5119				</button>
5120					</header>
5121
5122		<div class="csg-modal__body">
5123		<div class="csg-modal__resource-card">
5124			<div class="csg-modal__resource-icon" aria-hidden="true">
5125				<img src="https://mlarteka.ai/wp-content/plugins/case-study-gate-v7/assets/images/pdf-icon.svg" alt="" width="56" height="56" />
5126			</div>
5127			<div class="csg-modal__resource-details">
5128									<p class="csg-modal__resource-title">A Self-Serve Retail App That Made In-Store Price Checks 75% Faster</p>
5129													<p class="csg-modal__resource-meta">PDF</p>
5130							</div>
5131		</div>
5132
5133					<p id="csg-modal-description" class="csg-modal__description">
5134				See the exact approach and solution that was used to achieve these results. Enter your details to unlock the full case study now and receive the PDF straight to your inbox.			</p>
5135		
5136		<div class="csg-modal__form-wrapper" id="csg-modal-form">
5137			
5138<div class="wpcf7 no-js" id="wpcf7-f38445-p40262-o1" lang="en-US" dir="ltr" data-wpcf7-id="38445">
5139<div class="screen-reader-response"><p role="status" aria-live="polite" aria-atomic="true"></p> <ul></ul></div>
5140<form action="/case-studies/a-self-serve-retail-app-that-made-in-store-price-checks-75-faster#wpcf7-f38445-p40262-o1" method="post" class="wpcf7-form init" aria-label="Contact form" novalidate="novalidate" data-status="init">
5141<fieldset class="hidden-fields-container"><input type="hidden" name="_wpcf7" value="38445" /><input type="hidden" name="_wpcf7_version" value="6.1.7" /><input type="hidden" name="_wpcf7_locale" value="en_US" /><input type="hidden" name="_wpcf7_unit_tag" value="wpcf7-f38445-p40262-o1" /><input type="hidden" name="_wpcf7_container_post" value="40262" /><input type="hidden" name="_wpcf7_posted_data_hash" value="" /><input type="hidden" name="csg_post_id" value="40262" /><input type="hidden" name="csg_nonce" value="e0d1063f27" />
5142</fieldset>
5143<div class="csg-form-row csg-form-row--split">
5144  <label> First name*
5145    <span class="wpcf7-form-control-wrap" data-name="first-name"><input size="40" maxlength="400" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" autocomplete="given-name" aria-required="true" aria-invalid="false" placeholder="First name" value="" type="text" name="first-name" /></span> </label>
5146  <label> Last name*
5147    <span class="wpcf7-form-control-wrap" data-name="last-name"><input size="40" maxlength="400" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" autocomplete="family-name" aria-required="true" aria-invalid="false" placeholder="Last name" value="" type="text" name="last-name" /></span> </label>
5148</div>
5149
5150<div class="csg-form-row">
5151  <label> Business email*
5152    <span class="wpcf7-form-control-wrap" data-name="business-email"><input size="40" maxlength="400" class="wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email" autocomplete="email" aria-required="true" aria-invalid="false" placeholder="[email protected]" value="" type="email" name="business-email" /></span> </label>
5153</div>
5154
5155<div class="csg-form-row">
5156  <label> Company*
5157    <span class="wpcf7-form-control-wrap" data-name="company"><input size="40" maxlength="400" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" autocomplete="organization" aria-required="true" aria-invalid="false" placeholder="Your organization" value="" type="text" name="company" /></span> </label>
5158</div>
5159
5160<div class="csg-form-row csg-form-row--split">
5161  <label> Your role
5162    <span class="wpcf7-form-control-wrap" data-name="role"><select class="wpcf7-form-control wpcf7-select" aria-invalid="false" name="role"><option value="">Select role</option><option value="Executive">Executive</option><option value="Director">Director</option><option value="Manager">Manager</option><option value="Individual Contributor">Individual Contributor</option><option value="Other">Other</option></select></span> </label>
5163  <label> Country
5164    <span class="wpcf7-form-control-wrap" data-name="country"><select class="wpcf7-form-control wpcf7-select wpcf7-validates-as-required" aria-required="true" aria-invalid="false" name="country"><option value="">Select country</option><option value="United States">United States</option><option value="Canada">Canada</option><option value="United Kingdom">United Kingdom</option><option value="Australia">Australia</option><option value="Other">Other</option></select></span> </label>
5165</div>
5166
5167<div class="csg-form-row csg-form-row--checkbox">
5168  <label class="csg-checkbox-label"><span class="wpcf7-form-control-wrap" data-name="newsletter"><span class="wpcf7-form-control wpcf7-acceptance optional"><span class="wpcf7-list-item"><input type="checkbox" name="newsletter" value="1" aria-invalid="false" /></span></span></span> <span class="csg-checkbox-text">Send me future updates to this Executive Brief and related MLArteka content. Unsubscribe at any time.</span></label>
5169</div>
5170<span id="wpcf7-6ac3a83dc3997-wrapper" class="wpcf7-form-control-wrap cf7apps-honeypot-wrap honeypot-200-wrap" data-cf7apps-honeypot="honeypot-200" style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;"><input type="hidden" name="honeypot-200-random-hash" value="20261005"><input type="hidden" name="honeypot-200-time-token" value="MTc5MTIwNzQ4NQ==.0e104b1816c72cbf935b85debf26885c1f3375e1af82a5371808e51981622834"><label
5171		    for="wpcf7-6ac3a83dc3997-field"
5172		    class="hp-message"
5173        >Please leave this field empty.</label><input
5174	    id="wpcf7-6ac3a83dc3997-field"
5175	    
5176	    class="wpcf7-form-control wpcf7-text"
5177	    type="text"
5178	    name="n6uasxl4utnl"
5179	    value=""
5180	    autocomplete="off"
5181	    tabindex="1000"
5182	    data-cf7apps-tabindex="1000"
5183    /></span>
5184<div class="h-captcha" data-sitekey="a4d08856-95d8-4f54-b960-b6d414f4167e" data-size="compact" data-theme="light" data-lang="en"></div><span class="wpcf7-form-control-wrap cf7apps-hcaptcha" data-name="cf7apps-hcaptcha"><input type="hidden" name="cf7apps-hcaptcha" value="" class="wpcf7-form-control"></span>
5185<input class="wpcf7-form-control wpcf7-submit has-spinner" type="submit" value="Send My Executive Brief" /><div class="csg-hp-field" aria-hidden="true" style="position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;" tabindex="-1">
5185<label for="csg-hp-website">Website</label><input type="text" name="csg-hp-website" id="csg-hp-website" value="" autocomplete="off" tabindex="-1" /></div><div class="wpcf7-response-output" aria-hidden="true"></div>
5186</form>
5187</div>
5188		</div>
5189
5190					<div class="csg-modal__privacy">
5191				<p>The full case study opens instantly, and we'll email you a PDF copy to keep or share.<br />
5192We'll only use your details to send relevant ML arteka insights. Unsubscribe anytime. Read our <a href="/privacy-policy">Privacy Policy</a>.</p>
5193			</div>
5194		
5195		<div class="csg-modal__success" id="csg-modal-success" hidden role="status" aria-live="polite">
5196			<div class="csg-modal__success-icon" aria-hidden="true">
5197				<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
5198					<circle cx="24" cy="24" r="24" fill="currentColor" opacity="0.12"/>
5199					<path d="M15 24.5L21 30.5L33 18.5" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
5200				</svg>
5201			</div>
5202							<h3 class="csg-modal__success-title">You&#039;re all set!</h3>
5203										<p class="csg-modal__success-message">Your content is now unlocked and your case study PDF is on its way.</p>
5204										<p class="csg-modal__success-subtext">Check your inbox for the case study PDF.</p>
5205					</div>
5206		</div>
5207	</div>
5208</div>
5209
5210<div class="csg-gate-barrier" id="csg-gate-barrier" hidden aria-hidden="true">
5211	<div class="csg-gate-barrier__panel">
5212		<p class="csg-gate-barrier__text" id="csg-gate-barrier-text">
5213			Unlock the full case study to continue reading.		</p>
5214		<button type="button" class="csg-gate-barrier__cta" id="csg-open-modal-trigger">
5215			Unlock the full story		</button>
5216	</div>
5217</div>
5218	<style>
5219	.ml-back-top {
5220		position: fixed;
5221		right: 24px;
5222		bottom: 24px;
5223		z-index: 9999;
5224		display: flex;
5225		align-items: center;
5226		justify-content: center;
5227		width: 44px;
5228		height: 44px;
5229		padding: 0;
5230		border: 0;
5231		border-radius: 4px;
5232		background: #E9590C;
5233		color: #0f0f37;
5234		cursor: pointer;
5235		opacity: 0;
5236		pointer-events: none;
5237		transition: opacity 0.2s, background-color 0.2s, color 0.2s;
5238	}
5239	.ml-back-top.show {
5240		opacity: 1;
5241		pointer-events: auto;
5242	}
5243	.ml-back-top:hover {
5244		background: #BE4A0B;
5245		color: #FEFBF8;
5246	}
5247	.ml-back-top svg {
5248		display: block;
5249		width: 18px;
5250		height: 18px;
5251	}
5252	@media (prefers-reduced-motion: reduce) {
5253		.ml-back-top {
5254			transition: none;
5255		}
5256	}
5257	</style>
5258	
5258<script>
5259	(function () {
5260		if (document.getElementById('mlBackTop')) return;
5261
5262		var btn = document.createElement('button');
5263		btn.type = 'button';
5264		btn.id = 'mlBackTop';
5265		btn.className = 'ml-back-top';
5266		btn.setAttribute('aria-label', 'Back to top');
5267		btn.innerHTML =
5268			'<svg viewBox="0 0 24 24" fill="none" aria-hidden="true">' +
5269			'<path d="M6 14L12 8L18 14" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>' +
5270			'</svg>';
5271		document.body.appendChild(btn);
5272
5273		function toggle() {
5274			btn.classList.toggle('show', window.scrollY > 400);
5275		}
5276
5277		window.addEventListener('scroll', toggle, { passive: true });
5278
5279		btn.addEventListener('click', function () {
5280			window.scrollTo({
5281				top: 0,
5282				behavior: window.matchMedia('(prefers-reduced-motion: reduce)').matches ? 'auto' : 'smooth'
5283			});
5284		});
5285
5286		toggle();
5287	})();
5288	</script>
5288
5289	    
5289<script>
5290    document.addEventListener('DOMContentLoaded', function () {
5291        var SHOW = 'Show Transcript';
5292        var HIDE = 'Hide Transcript';
5293
5294        document.querySelectorAll('.elementor-tab-title').forEach(function (title) {
5295            var link = title.querySelector('.elementor-accordion-title');
5296            if (!link) return;
5297
5298            function updateText() {
5299                link.textContent = title.classList.contains('elementor-active') ? HIDE : SHOW;
5300            }
5301
5302            // Safety sync in case Elementor changes the initial state on load
5303            updateText();
5304
5305            new MutationObserver(updateText).observe(title, {
5306                attributes: true,
5307                attributeFilter: ['class']
5308            });
5309        });
5310    });
5311    </script>
5311
5312    
5312<script>window.MSI_SEARCH_INDEX_URL = "https:\/\/mlarteka.ai\/wp-content\/uploads\/search-index.json";</script>
5312<script type="module" src="https://mlarteka.ai/wp-content/uploads/msi-search-assets/search-overlay.js?v=1789484334"></script>
5312<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.0/jquery.validate.min.js"></script>
vendor: 1 bytes, line 5312
5312
5313<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.3/additional-methods.min.js"></script>
5313
5314<!-- Start of HubSpot Embed Code -->
5315<script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/39754233.js"></script>
5315
5316<!-- End of HubSpot Embed Code -->
5317</body>
5318</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.