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 & 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 » Feed" href="https://mlarteka.ai/feed" /> 62<link rel="alternate" type="application/rss+xml" title="ML arteka » Comments Feed" href="https://mlarteka.ai/comments/feed" /> 63<link rel="alternate" type="application/rss+xml" title="ML arteka » 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&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 & 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 & 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 & 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 & 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="{"_ha_eqh_enable":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="{"background_background":"classic","_ha_eqh_enable":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="{"_ha_eqh_enable":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="{"_ha_eqh_enable":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="{"_ha_eqh_enable":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&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">“Give shoppers the answer in their hand and everyone wins, the customer and the associate.”</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’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’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="{"_ha_eqh_enable":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 & Engineering</a></li> 5005 <li><a href="/capabilities/data-ai">Data & AI</a></li> 5006 <li><a href="/capabilities/enterprise-platforms">Enterprise Platforms</a></li> 5007 <li><a href="/capabilities/experience-design">Experience & 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'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.