PageSourceSearch

https://www.moloco.com/blog

html moloco.com collected 2026-10-01 12:18:14 UTC 122,616 bytes, 1,819 lines download raw bytes

1<!DOCTYPE html><!-- Last Published: Wed Sep 30 2026 18:23:34 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="www.moloco.com" data-wf-page="6a859c40faceefecb1c689ee" data-wf-site="6a59dd0133b776de7ec526cd" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Moloco Blog | Insights on App and Commerce Advertising</title><link rel="alternate" hrefLang="x-default" href="https://www.moloco.com/blog"/><link rel="alternate" hrefLang="en" href="https://www.moloco.com/blog"/><link rel="alternate" hrefLang="fr" href="https://www.moloco.com/blog"/><link rel="alternate" hrefLang="ko" href="https://www.moloco.com/blog"/><link rel="alternate" hrefLang="ja" href="https://www.moloco.com/blog"/><link rel="alternate" hrefLang="zh" href="https://www.moloco.com/blog"/><link rel="alternate" hrefLang="vi" href="https://www.moloco.com/blog"/><link rel="alternate" hrefLang="de" href="https://www.moloco.com/blog"/><meta content="Ideas, data, and playbooks from Moloco on app growth, retail media, and AI advertising — written for marketers who have to prove performance." name="description"/><meta content="Moloco Blog | Insights on App and Commerce Advertising" property="og:title"/><meta content="Ideas, data, and playbooks from Moloco on app growth, retail media, and AI advertising — written for marketers who have to prove performance." property="og:description"/><meta content="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6aa8233c5c9cde066e376571_Moloco.png" property="og:image"/><meta content="Moloco Blog | Insights on App and Commerce Advertising" name="twitter:title"/><meta content="Ideas, data, and playbooks from Moloco on app growth, retail media, and AI advertising — written for marketers who have to prove performance." name="twitter:description"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><link href="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/css/ob-moloco.shared.c70aef6b0.min.css" rel="stylesheet" type="text/css" integrity="sha384-xwrvawLJ4JuLpGFXLeknOTrMoSl82KeGQ2KaJgX1F6hsM0bpVpyYqlX7Ob+ooKwt" crossorigin="anonymous"/><style>html.w-mod-js:not(.w-mod-ix3) :is([data-animate-component] :is([data-animate-component] >:not(.ps-spacer))) {visibility: hidden !important;}</style><link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/>
1<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script>
1<script type="text/javascript">WebFont.load({  google: {    families: ["Montserrat:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic","Noto Sans JP:200,300,400,500,600,700,900:cyrillic,japanese,latin,vietnamese","Noto Sans SC:200,300,400,500,600,700,900:chinese-simplified,cyrillic,latin,latin-ext,vietnamese"]  }});</script>
1<script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script>
1<link href="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6aa80c2c8d05459201528559_favicon.png" rel="icon" type="image/png" sizes="32x32" media="(prefers-color-scheme: light)"/><link href="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a8fdd91e18b75aa9baaf946_moloco-favicon-l.png" rel="icon" type="image/png" sizes="32x32" media="(prefers-color-scheme: dark)"/><link href="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6aa80c2c64ef302e9812a8f9_favicon.png" rel="icon" type="image/png" sizes="48x48"/><link href="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a8fdd99f0b6e0102ab8f943_moloco-webclip-l.png" rel="apple-touch-icon" sizes="180x180"/><link href="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a8fdd99f0b6e0102ab8f927_moloco-webclip-l.png" rel="icon" type="image/png" sizes="192x192"/><link href="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a8fdd99e7792ced14c0cd63_moloco-webclip-l.png" rel="icon" type="image/png" sizes="512x512"/><link href="https://www.moloco.com/blog" rel="canonical"/><!-- <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=5"> -->
2<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
3<script>
4  // Define dataLayer and the gtag function.
5  window.dataLayer = window.dataLayer || [];
6  function gtag() {
7    dataLayer.push(arguments);
8  }
9
10  // Default ad_storage to 'denied'.
11  gtag('consent', 'default', {
12    ad_storage: 'denied',
13    analytics_storage: 'denied',
14    functionality_storage: 'granted',
15    personalization_storage: 'granted',
16    security_storage: 'granted',
17    ad_user_data: 'denied',
18    ad_personalization: 'denied',
19    wait_for_update: 500,
20  });
21</script>
21
22
23<script type="text/javascript">
24  /*var currentUrl = window.location.href;
25  (function () {
26    var currentDomain = window.location.hostname;
27
28    // Check if the current domain ends with 'moloco.com'
29    if (currentDomain.endsWith('moloco.com')) {
30      // && !currentUrl.includes('/zh')) {
31      // Create a new script element
32      var script = document.createElement('script');
33      script.src = 'https://cdn.cookielaw.org/scripttemplates/otSDKStub.js';
34      script.setAttribute('data-document-language', 'true');
35      script.setAttribute('type', 'text/javascript');
36      script.setAttribute('charset', 'UTF-8');
37      script.setAttribute('data-domain-script', 'de9e2daf-79c2-44e0-b1f5-a075a5319e7c');
38
39      // Append the script to the document head
40      document.head.appendChild(script);
41
42      // Create and append the OptanonWrapper function
43      var optanonWrapper = document.createElement('script');
44      optanonWrapper.text = 'function OptanonWrapper() { }';
45      document.head.appendChild(optanonWrapper);
46    }
47  })();*/
48</script>
48
49
50<!-- Google Tag Manager -->
51<script>
52  //if(!currentUrl.includes('/zh')){
53  (function (w, d, s, l, i) {
54    w[l] = w[l] || [];
55    w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' });
56    var f = d.getElementsByTagName(s)[0],
57      j = d.createElement(s),
58      dl = l != 'dataLayer' ? '&l=' + l : '';
59    j.setAttributeNode(d.createAttribute('data-ot-ignore'));
60    j.async = true;
61    j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
62    f.parentNode.insertBefore(j, f);
63  })(window, document, 'script', 'dataLayer', 'GTM-WM7MN68'); //}
64</script>
64
65<!-- End Google Tag Manager -->
66
67<script>
68  // Delay Datadog RUM until after page load (post-LCP)
69  window.addEventListener('load', function () {
70    //if(!currentUrl.includes('/zh')){
71    (function (h, o, u, n, d) {
72      h = h[d] = h[d] || {
73        q: [],
74        onReady: function (c) {
75          h.q.push(c);
76        },
77      };
78      d = o.createElement(u);
79      d.async = 1;
80      d.src = n;
81      n = o.getElementsByTagName(u)[0];
82      n.parentNode.insertBefore(d, n);
83    })(window, document, 'script', 'https://www.datadoghq-browser-agent.com/datadog-rum-v4.js', 'DD_RUM');
84
85    DD_RUM.onReady(function () {
86      DD_RUM.init({
87        clientToken: 'puba393752f73102e8df80fe72d1310b87f',
88        applicationId: 'd8ddfec8-15e7-4ebd-9100-1c0d665ef6e1',
89        site: 'datadoghq.com',
90        service: 'moloco.com',
91        env: 'prod',
92        // Specify a version number to identify the deployed version of your application in Datadog
93        // version: '1.0.0',
94        sampleRate: 100,
95        sessionReplaySampleRate: 10,
96        trackInteractions: true,
97        trackResources: true,
98        trackLongTasks: true,
99        defaultPrivacyLevel: 'mask-user-input',
100      });
101
102      DD_RUM.startSessionReplayRecording();
103    });
104    //}
105  });
106</script>
106
107
108<style>
109  /*hide webflow badge*/
110  .w-webflow-badge {
111    display: none !important;
112  }
113  :lang(ko),
114  :lang(ko) * {
115    word-break: keep-all;
116    overflow-wrap: break-word;
117  }
118
119  html { color-scheme: only light; }
120</style>
121
122<script>
123  (function (d, h, host) {
124    var isWF = host.endsWith('.webflow.io');
125    var DEP = 'https://moloco-sigma.vercel.app';
126    var LOC = 'https://localhost:6545';
127
128    function loadScript(src, cors) {
129      var s = d.createElement('script');
130      s.src = src;
131      s.defer = 1;
132      if (cors) s.crossOrigin = 'anonymous';
133      h.appendChild(s);
134      return s;
135    }
136
137    function loadCSS(href) {
138      var l = d.createElement('link');
139      l.rel = 'stylesheet';
140      l.href = href;
141      h.appendChild(l);
142      return l;
143    }
144
145    var css = ['app.css'];
146
147    var pages = { about: 'pages/about.js', home: 'pages/home.js' };
148    var slug = location.pathname.replace(/^\/|\/$/g, '').split('/')[0];
149    var js = pages[slug] || 'app.js';
150
151    if (!isWF) {
152      css.forEach(function (f) {
153        loadCSS(DEP + '/' + f);
154      });
155      if (js) loadScript(DEP + '/' + js, true);
156      return;
157    }
158
159    if (js) {
160      var p = d.createElement('link');
161      p.rel = 'preload';
162      p.as = 'script';
163      p.href = DEP + '/' + js;
164      p.crossOrigin = 'anonymous';
165      h.appendChild(p);
166    }
167    css.forEach(function (f) {
168      var p = d.createElement('link');
169      p.rel = 'preload';
170      p.as = 'style';
171      p.href = DEP + '/' + f;
172      h.appendChild(p);
173    });
174
175    css.forEach(function (f) {
176      var l = loadCSS(LOC + '/' + f);
177      l.onerror = function () {
178        loadCSS(DEP + '/' + f);
179      };
180    });
181    if (js) {
182      var s = loadScript(LOC + '/' + js);
183      s.onerror = function () {
184        loadScript(DEP + '/' + js, true);
185      };
186    }
187  })(document, document.head, location.hostname);
188</script>
188
189
190<meta name="facebook-domain-verification" content="h25n65dupt0lhq6jvbpz3si6d3ys2n" />
191<!-- Finsweet Attributes -->
192<script async type="module"
193src="https://cdn.jsdelivr.net/npm/@finsweet/attributes@2/attributes.js"
194fs-list
195></script>
195</head><body><div overflow-clip="x" class="page-w"><div class="global"><div class="embed-css w-embed"><style>
196  /* --------------------------------------- RESET --------------------------------------- */
197
198  :root {
199    font-size: 100%;
200    interpolate-size: allow-keywords;
201    --cubic-default: cubic-bezier(0.65, 0.05, 0, 1);
202    --duration-default: 0.735s;
203    --animation-default: var(--duration-default) var(--cubic-default);
204    --fade-edge: 5%;
205  }
206
207  ::selection {
208    background-color: var(--color--text);
209    color: var(--color--bg);
210    text-shadow: none;
211  }
212
213  ::-moz-selection {
214    background-color: var(--color--text);
215    color: var(--color--bg);
216    text-shadow: none;
217  }
218
219  * {
220    scrollbar-width: none;
221    -ms-overflow-style: none;
222  }
223
224  *::-webkit-scrollbar {
225    display: none;
226  }
227
228  img::selection,
229  svg::selection {
230    background: transparent;
231  }
232
233  html,
234  body {
235    -webkit-font-smoothing: antialiased;
236  }
237
238  svg {
239    max-width: none;
240    height: auto;
241    box-sizing: border-box;
242    vertical-align: middle;
243  }
244
245  a {
246    color: inherit;
247    text-decoration: none;
248  }
249
250  .display-none,
251  [display-none] {
252    display: none !important;
253  }
254
255  .visibility-hidden,
256  [visibility-hidden] {
257    visibility: hidden;
258  }
259
260  :where(:focus-visible) {
261    outline: 0.1em solid var(--color--focus);
262    outline-offset: 0.1em;
263  }
264
265  :where([screen-reader]:not(:focus, :active, :focus-within), .screen-reader:not(:focus, :active, :focus-within)) {
266    clip-path: inset(50%) !important;
267    height: 1px !important;
268    width: 1px !important;
269    overflow: hidden !important;
270    position: absolute !important;
271    white-space: nowrap !important;
272    border: 0 !important;
273  }
274
275  :where(button) {
276    background-color: unset;
277  }
278
279  /* --------------------------------------- pointer events */
280  [pointer-none] {
281    pointer-events: none;
282    user-select: none;
283  }
284  [pointer-auto] {
285    pointer-events: auto;
286  }
287
288  /* --------------------------------------- utils */
289  [overflow-clip='x'] {
290    overflow-x: clip;
291  }
292  [overflow-clip='y'] {
293    overflow-y: clip;
294  }
295
296  /* --------------------------------------- forms */
297
298  textarea {
299    resize: vertical;
300  }
301
302  *[tabindex]:focus-visible,
303  input[type='file']:focus-visible {
304    outline: 0.1em solid var(--color--light);
305    outline-offset: 0.1em;
306  }
307
308  /* --------------------------------------- scroll */
309
310  [data-lenis-prevent] {
311    overscroll-behavior: contain;
312  }
313</style></div><div class="embed-css w-embed"><style>
314  
315  html {
316    -webkit-text-size-adjust: 100%;
317    -webkit-font-smoothing: antialiased;
318    -moz-osx-font-smoothing: grayscale;
319  }
320
321  *, *::before, *::after {
322    box-sizing: border-box;
323    touch-action: manipulation;
324    margin: 0;
325    padding: 0;
326  }
327
328</style>
329</div><div class="embed-css w-embed"><style>
330  /* Explicit theme overrides */
331  [data-theme='light'] {
332  }
333
334  [data-theme='dark'] {
335    --color--bg: var(--color--dark);
336    --color--text: var(--color--light);
337  }
338
339  /* Themed surfaces self-paint */
340  [data-theme],
341  [data-nav-theme] {
342    background-color: var(--color--bg);
343    color: var(--color--text);
344    transition:
345      background-color 200ms ease,
346      color 200ms ease;
347  }
348
349
350</style></div><div class="embed-css w-embed"><style>
351/* --------------------------------------- text */
352
353  h1,
354  h2,
355  h3,
356  h4,
357  h5, 
358  h6 {
359    font-weight: 400;
360    line-height: 1.05;
361    margin: 0;
362  }
363
364  h1 {
365    font-size: var(--typography--title-xxl);
366  }
367  h2 {
368    font-size: var(--typography--title-xl);
369  }
370  h3 {
371    font-size: var(--typography--title-lg);
372  }
373  h4 {
374    font-size: var(--typography--title-md);
375  }
376  h5 {
377    font-size: var(--typography--title-sm);
378  }
379  h6 {
380    font-size: var(--typography--body);
381  }
382
383  p,
384  .wrap-pretty {
385    text-wrap: pretty; /* ensures nice wrapping */
386  }
387
388  .nav-item-link-head, [text-trim], [text-trim] h5, .index-card-details .text-title-h5, .footer-link, .button, .filter-list .text-title-h5, .anchor-button{
389	text-box-trim: trim-both;
390    text-box-edge: cap alphabetic;
391  }
392
393  .tab-button .text-title-h5{
394    white-space: nowrap;
395  }
396
397  .rich-text h3 strong{
398    font-weight: 500;
399  }
400
401  .rich-text p a strong {
402      font-weight: 400;
403  }
404
405</style>
406</div><div class="embed-css w-embed"><!-- VERCEL / CF Stylesheets --></div><div class="embed-css w-embed"><style>
407  html:lang(ja),
408  html:lang(ko),
409  html:lang(zh),
410  html:lang(vi){
411    --typography--font-family--sans: var(--typography--font-family--noto);
412    --typography--font-family--serif: var(--typography--font-family--noto);
413    --typography--font-family--analog: var(--typography--font-family--noto);
414  }
415
416  /* html:lang(vi) {
417    --typography--font-family--sans: var(--typography--font-family--noto);
418    --typography--font-family--serif: PPMori, Arial, sans-serif;
419    --typography--font-family--analog: var(--typography--font-family--noto);
420  } */
421
422  /* ---------- BASE (all breakpoints) ---------- */
423  * {
424    -webkit-tap-highlight-color: transparent;
425  }
426
427  video {
428    width: 100%;
429    height: 100%;
430  }
431
432  /* Blog Iframe Videos */
433  .blog-content-w .w-embed iframe {
434    width: 100%;
435    height: auto;
436    aspect-ratio: 16 / 9;
437  }
438
439  .hero1-img-wrap video {
440    width: 100%;
441    object-fit: cover;
442    height: 100%;
443  }
444  /* Reset first/last child margins in Rich Text */
445  .rich-text > *:first-child,
446  .legal-rich-text > :first-child {
447    margin-top: 0 !important;
448  }
449
450  .rich-text > *:last-child,
451  .legal-rich-text > :last-child {
452    margin-bottom: 0 !important;
453  }
454
455  /* Nav item on mobile when active — rotating icon */
456  .nav-item-dropdown-toggle.is-active .icon {
457    transform: rotate(180deg);
458  }
459
460  /* Last FAQ item border */
461  .faq-item:last-child {
462    border-bottom-style: dotted;
463  }
464
465  /* FAQ tooltip quick fix. Remove once code is fixed */
466  .faq-content:has(.tooltip-content.is-active) {
467    overflow: visible !important;
468  }
469
470  .faq-trigger.is-active .is-vert {
471    height: 0%;
472  }
473
474  [mute] {
475    pointer-events: none;
476  }
477
478  .bento-item .divider-line {
479    max-width: 100%;
480  }
481
482  /* Parent triggers dark-on-light button — for article card to be fully clickable.
483 NOTE: the hover rule below is commented out AND .button has pointer-events:none,
484 so the button cannot receive hover at all. Card-level hover only. */
485  /*
486[button-dark-on-light-hover-trigger]:hover .button {
487background-color: var(--color--blue);
488border-color: var(--color--charcoal);
489color: var(--color--charcoal);
490}
491*/
492  [button-dark-on-light-hover-trigger] .button {
493    pointer-events: none;
494  }
495
496  /* Scale image on article card hover */
497  .article-card:hover .article-card-img {
498    transform: scale(1.1);
499  }
500
501  .article-card:hover .article-card-link {
502    pointer-events: auto;
503  }
504
505  .article-card-head .text-title-h3 {
506    margin-bottom: auto;
507  }
508
509  /* Hide scrollbars on nav list / tab menu */
510  .nav-list,
511  .tab-menu {
512    scrollbar-width: none; /* Firefox */
513    -ms-overflow-style: none; /* IE / old Edge */
514  }
515
516  .nav-list::-webkit-scrollbar,
517  .tab-menu::-webkit-scrollbar {
518    display: none; /* Chrome, Safari, Edge */
519    width: 0;
520    height: 0;
521  }
522
523  /* Filter label turns parchment when its radio is checked */
524  .filter-button input[type='radio']:checked ~ .text-title-h5 {
525    color: var(--color--parchment);
526  }
527
528  /* Hide the Turnstile wrapper div in the filters form */
529  .filters-form > div:has(input[name='cf-turnstile-response']) {
530    display: none;
531  }
532
533  .dark .context-text-list {
534    border-color: var(--color--parchment);
535  }
536
537  .content-split-list-item:last-child {
538    margin-bottom: 0;
539  }
540
541  .slide:last-child {
542    border-right: none;
543  }
544
545  /* Rich text inside tabs — kill leading list spacing */
546  .rich-text-tab > ul:first-child,
547  .rich-text-tab > ol:first-child {
548    margin-top: 0 !important;
549    padding-top: 0 !important;
550    border-top: none !important;
551  }
552  /* .logo-marquee {
553    -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) var(--spacing--gap-72), rgb(0, 0, 0) calc(100% - var(--spacing--gap-72)), rgba(0, 0, 0, 0) 100%);
554    mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) var(--spacing--gap-72), rgb(0, 0, 0) calc(100% - var(--spacing--gap-72)), rgba(0, 0, 0, 0) 100%);
555  } */
556  /* ---------- ≥ 768px ---------- */
557
558  /* ---------- ≤ 991px (tablet and below) ---------- */
559  [is-desktop] {
560    display: block;
561  }
562  [is-mobile] {
563    display: none;
564  }
565
566  @media (max-width: 991px) {
567    [is-mobile] {
568      display: block;
569    }
570    [is-desktop] {
571      display: none;
572    }
573    .stat-card-text:last-child {
574      border-bottom: none;
575    }
576
577    .dark .pictogram {
578      border-top: dotted calc(var(--spacing--gap) * 0.09375) var(--color--parchment);
579      padding-top: var(--spacing--gap-32);
580    }
581
582    /* CONFLICT — read before editing.
583   This has the same specificity (0,2,0) as `.dark .pictogram` above and comes
584   later, so it wins: in dark mode every pictogram except the first loses its
585   dotted top border and its padding. That matches the original file's
586   behaviour, but it looks unintended — a separator on the FIRST item only.
587   If dark mode should keep its separators, move this rule ABOVE
588   `.dark .pictogram`. */
589    .pictogram:not(:first-child) {
590      border-top: none;
591      padding-top: 0;
592    }
593
594    .dark .pictogram-wrapper .pictogram {
595      border-color: var(--color--parchment);
596    }
597  }
598
599  /* ---------- ≥ 992px (desktop and up, no upper bound) ---------- */
600  /* Attribute-name selectors: set `data-hide-border-left` / `data-hide-border-right`
601 as a custom attribute in the Designer. The value is ignored — leaving it blank
602 is fine. */
603
604  @media (min-width: 992px) {
605    [data-hide-border-left] {
606      border-left: none !important;
607      border-left-color: transparent !important;
608    }
609
610    [data-hide-border-right] {
611      border-right: none !important;
612      border-right-color: transparent !important;
613    }
614
615    [data-hide-border-bottom] {
616      border-bottom: none !important;
617      border-bottom-color: transparent !important;
618    }
619
620    .stat-card-subtext {
621      max-width: 24rem;
622      text-wrap: balance;
623    }
624
625    .pictogram-wrapper {
626      display: grid;
627      grid-template-columns: repeat(12, 1fr);
628    }
629
630    .pictogram {
631      display: grid;
632      grid-template-columns: 1fr;
633      grid-template-rows: subgrid;
634      grid-row: span 5;
635      grid-column: span 6;
636      max-width: none;
637      align-content: start;
638    }
639
640    /* third variant */
641    .pictogram:where(.w-variant-77180b15-668e-2e7c-5a82-bd240397ef8a),
642    .pictogram:where(.w-variant-3e4358e2-cf2c-8f83-beab-cf2f423a96eb) {
643      grid-column: span 4;
644      max-width: none;
645    }
646
647    .pictogram:where(.w-variant-40ac246f-d035-b8e1-95e0-c7577c277f99) {
648      grid-column: span 3;
649      max-width: none;
650    }
651
652    .pictogram > .pictogram-img-wrapper {
653      grid-row: 1;
654    }
655    .pictogram > .pictogram-btn-w {
656      grid-row: 5;
657    }
658
659    .pictogram > .pictogram-content {
660      grid-row: 2 / span 3;
661      display: grid;
662      grid-template-columns: 1fr;
663      grid-template-rows: subgrid;
664    }
665
666    .pictogram-content > .pictrogram-tag-wrapper {
667      grid-row: 1;
668    }
669    .pictogram-content > .pictogram-title-wrapper {
670      grid-row: 2;
671    }
672    .pictogram-content > .pictogram-text-wrapper {
673      grid-row: 3;
674    }
675
676    .pictogram {
677      row-gap: 0;
678    }
679
680    .pictogram > .pictogram-content {
681      row-gap: 0;
682    }
683
684    /* Spacing via margins — absent elements contribute nothing */
685    .pictogram > .pictogram-content > *:first-child {
686      margin-top: var(--spacing--gap-48);
687    }
688    .pictogram > .pictogram-content > * + * {
689      margin-top: var(--spacing--gap-24);
690    }
691    .pictogram > .pictogram-btn-w {
692      margin-top: var(--spacing--gap-48);
693    }
694
695    /* Take the Finsweet filter helper out of grid flow */
696    .index-list:not(.small-view) .index-filterable {
697      display: none;
698    }
699
700    /* Chain: every pass-through level */
701    .index-list:not(.small-view) > .index-items,
702    .index-list:not(.small-view) .index-card-combo,
703    .index-list:not(.small-view) .index-large-wrap,
704    .index-list:not(.small-view) .index-card-lrg {
705      display: grid;
706      grid-template-columns: 1fr;
707      grid-template-rows: subgrid;
708    }
709
710    /* Items auto-place into the next 4 rows of the list */
711    .index-list:not(.small-view) > .index-items {
712      grid-row: span 4;
713    }
714
715    /* Inner levels: pin to row 1 explicitly — no auto-placement surprises */
716    .index-list:not(.small-view) .index-card-combo,
717    .index-list:not(.small-view) .index-large-wrap,
718    .index-list:not(.small-view) .index-card-lrg {
719      grid-row: 1 / span 4;
720    }
721
722    .index-list:not(.small-view) .index-card-lrg {
723      row-gap: var(--spacing--gap-32);
724      align-content: start;
725    }
726
727    /* Card children: img 1, content 2–3, details 4 */
728    .index-list:not(.small-view) .index-card-lrg > .index-card-img-w {
729      grid-row: 1;
730    }
731
732    .index-list:not(.small-view) .index-card-lrg > .index-card-lrg-content {
733      grid-row: 2 / span 2;
734      display: grid;
735      grid-template-columns: 1fr;
736      grid-template-rows: subgrid;
737      row-gap: var(--spacing--gap-16);
738    }
739
740    .index-list:not(.small-view) .index-card-lrg > .index-card-details {
741      grid-row: 4;
742      position: static;
743    }
744
745    /* Content children: title, then body */
746    .index-list:not(.small-view) .index-card-lrg-content > .text-title-h3 {
747      grid-row: 1;
748    }
749
750    .index-list:not(.small-view) .index-card-lrg-content > .text-body {
751      grid-row: 2;
752    }
753
754    .index-list:not(.small-view) .index-card-lrg,
755    .index-list:not(.small-view) .index-card-lrg > .index-card-lrg-content {
756      row-gap: 0;
757    }
758    .index-list:not(.small-view) .index-card-lrg > .index-card-lrg-content {
759      margin-top: var(--spacing--gap-32);
760    }
761    .index-list:not(.small-view) .index-card-lrg-content > .text-body {
762      margin-top: var(--spacing--gap-24);
763    }
764    .index-list:not(.small-view) .index-card-lrg > .index-card-details {
765      margin-top: var(--spacing--gap-32);
766    }
767  }
768
769  /* ---------- 992px – 1440px (desktop range) ---------- */
770  /* Was a mix of min-width:991px and min-width:992px. Normalised to 992px:
771 at exactly 991px the old 991 blocks fired at the same time as the
772 ≤991px blocks above, so tablet got desktop border rules. */
773
774  @media (min-width: 991px) and (max-width: 1440px) {
775    .hero1-img-wrap {
776      border-left: none;
777    }
778
779    [nav-search] {
780      display: none;
781    }
782  }
783
784  /* ---------- ≥ 1440px ---------- */
785
786  @media (min-width: 1441px) {
787    .nav-item-group-head.is-active .nav-item-group-icon {
788      transform: rotate(180deg);
789    }
790
791    .customer-hero_content-w,
792    .report-hero {
793      padding-left: 0 !important;
794    }
795
796    /* NOTE: "secton" — verify this matches the Webflow component name exactly.
797   If the component is spelled "section", this selector matches nothing. */
798    .content-split-content-wrap:not([data-wf--comp-content-split-secton--variant='reverse'], [data-wf--comp-content-split-secton--variant='reverse'] *) {
799      padding-left: 0 !important;
800    }
801
802    .leadership-popup-wrapper {
803      max-height: 70svh;
804      padding: 0;
805      margin: auto;
806    }
807  }
808
809  /* ---------- ≥ 1441px ---------- */
810  /* NOTE: this is the only 1441px breakpoint in the file and it overlaps the
811 1440px block above (both apply from 1441px up). It differs only at exactly
812 1440px. If that 1px gap wasn't deliberate, change it to 1440px and merge
813 it into the block above. */
814
815  @media (min-width: 1441px) {
816    [reset-lr-margin] {
817      margin-left: 0 !important;
818      margin-right: 0 !important;
819    }
820
821    [reset-lr-margin].tab-collection .tab-content-w {
822      padding-left: 0;
823    }
824
825    /* [reset-lr-margin].tab-collection .tab-content-w .tab-text {
826      padding-right: 0;
827    } */
828  }
829
830  @media (min-width: 1441px) {
831    .divider-line,
832    .divider-line-inside {
833      width: calc(1440px - (var(--spacing--container-padding) * 2) - 1px);
834    }
835  }
836
837  @media (min-width: 1441px) {
838    .office,
839    .faq {
840      padding-inline: 0;
841    }
842  }
843
844  @media (min-width: 992px) and (max-width: 1060px) {
845    .nav-item-dropdown-toggle {
846      padding-inline: 1rem;
847    }
848  }
849
850  /* Button only hover effect when hovering on card */
851  [button-dark-on-light-hover-trigger][highlight-button-on-hover].tile:hover {
852    background-color: var(--color--gray-1);
853  }
854
855  [button-dark-on-light-hover-trigger][highlight-button-on-hover].tile:hover .button {
856    border-style: solid;
857    border-color: var(--color--charcoal);
858    background-color: var(--color--blue);
859    color: var(--color--charcoal);
860  }
861
862  .leadership-cms-item:has(.leadership-popup-trigger):hover .button {
863    border-style: solid;
864    border-color: var(--color--charcoal);
865    background-color: var(--color--blue);
866    color: var(--color--charcoal);
867  }
868
869  .leadership-cms-item:has(.leadership-popup-trigger) .leadership-cms-visual img {
870    transition: transform 0.425s ease;
871  }
872
873  .leadership-cms-item:has(.leadership-popup-trigger):hover .leadership-cms-visual {
874    filter: brightness(0.7);
875  }
876
877  .leadership-cms-item:has(.leadership-popup-trigger):hover .leadership-cms-visual img {
878    transform: scale(1.025);
879  }
880
881  .leadership-filter-radio-w .text-title-h5 {
882    white-space: nowrap;
883  }
884
885  @media only screen and (min-width: 992px) {
886    /* Right border on every item except the last in each row */
887    .leadership-cms-item:nth-child(4n + 1),
888    .leadership-cms-item:nth-child(4n + 2),
889    .leadership-cms-item:nth-child(4n + 3) {
890      border-right-width: calc(var(--spacing--gap) * 0.09375);
891      border-right-style: dotted;
892      border-right-color: var(--color--charcoal);
893    }
894
895    /* Last row contains 4 items */
896    .leadership-cms-list:has(.leadership-cms-item:last-child:nth-child(4n)) .leadership-cms-item:nth-last-child(-n + 4) {
897      border-bottom: none;
898    }
899
900    /* Last row contains 1 item */
901    .leadership-cms-list:has(.leadership-cms-item:last-child:nth-child(4n + 1)) .leadership-cms-item:last-child {
902      border-bottom: none;
903    }
904
905    /* Last row contains 2 items */
906    .leadership-cms-list:has(.leadership-cms-item:last-child:nth-child(4n + 2)) .leadership-cms-item:nth-last-child(-n + 2) {
907      border-bottom: none;
908    }
909
910    /* Last row contains 3 items */
911    .leadership-cms-list:has(.leadership-cms-item:last-child:nth-child(4n + 3)) .leadership-cms-item:nth-last-child(-n + 3) {
912      border-bottom: none;
913    }
914  }
915
916  /* Anchor Nav */
917  .anchor-button.w--current {
918    pointer-events: none;
919  }
920
921  .nav-item-link.-wfp-hover,
922  .nav-item-link:hover,
923  .nav-item-hov:hover .nav-item-link,
924  .nav-item-hov.-wfp-hover .nav-item-link {
925    text-decoration-line: underline;
926    text-decoration-thickness: initial;
927    text-underline-offset: 2px;
928    text-decoration-style: dotted;
929    text-decoration-skip-ink: none;
930    text-decoration-color: inherit;
931  }
932
933  @media (min-width: 991px) and (max-width: 1280px) {
934    .ctv-box {
935      height: 15rem;
936    }
937  }
938
939  @media screen and (max-width: 991px) {
940    .stat-card-text:nth-child(2) {
941      border-top-style: dotted;
942    }
943  }
944
945  @media screen and (max-width: 991px) {
946    .stat-card-simple:first-child {
947      border-top-style: none;
948      padding-top: 0;
949    }
950
951    .leadership-popup-content .rich-text {
952      display: -webkit-box;
953      -webkit-box-orient: vertical;
954      -webkit-line-clamp: 5;
955      overflow: hidden;
956    }
957
958    .leadership-popup-content .rich-text p {
959      display: inline;
960    }
961
962    /* Expanded state */
963    .leadership-popup-content .rich-text.is-expanded {
964      display: block;
965      -webkit-line-clamp: unset;
966      overflow: visible;
967    }
968
969    .leadership-popup-content .rich-text.is-expanded p {
970      display: block;
971    }
972  }
973
974  .tab-menu-tog.w--open .tab-menu-icon {
975    transform: rotate(180deg);
976  }
977
978  .filters-tog.w--open .filter-w-icon {
979    transform: rotate(180deg);
980  }
981</style></div><div class="css-breakpoints w-embed"><style>
982  /* ----------------------------------- desktop only */
983  @media only screen and (min-width: 992px) {
984
985    [data-hide="d"] {
986      display: none;
987    }
988
989  }
990
991  /* ----------------------------------- tablet */
992  @media only screen and (max-width: 991px) {
993
994    /* hide objects on tablet and below */
995    [data-hide="t"] {
996      display: none;
997    }
998
999  }
1000
1001  /* ----------------------------------- mobile landscape */
1002  @media screen and (max-width: 767px) {
1003
1004    /* hide objects on mobile landscape and below */
1005    [data-hide="ml"] {
1006      display: none;
1007    }
1008
1009  }
1010
1011  /* ----------------------------------- mobile */
1012  @media screen and (max-width: 497px) {
1013
1014    /* hide objects on mobile and below */
1015    [data-hide="m"] {
1016      display: none;
1017    }
1018
1019  }
1020
1021</style></div><div class="css-editmode w-embed"><style>
1022  /*  ----- edit mode ----- */
1023  /*  ----- edit mode ----- */
1024
1025  .wf-design-mode [data-page='style'] {
1026    .spacer {
1027      outline: 1px solid red;
1028    }
1029  }
1030  .wf-design-mode {
1031    .spacer {
1032      pointer-events: auto;
1033      z-index: 0;
1034    }
1035  }
1036</style></div><div class="css-tooltip w-embed"><style>
1037  /* keep tooltip trigger/content above card overlay links (e.g. .tile-card-link) */
1038  .tooltip {
1039    position: relative;
1040    z-index: 2;
1041  }
1042
1043  .s.dark .tooltip .tooltip-button,
1044  [data-wf--comp-content-wide-section--variant="dark"] .tooltip-button {
1045    border-color: var(--color--parchment);
1046  }
1047
1048  .s.dark .tooltip .tooltip-button:hover,
1049  .s.dark .tooltip .tooltip-button.is-active,
1050  [data-wf--comp-content-wide-section--variant="dark"] .tooltip-button:hover,
1051  [data-wf--comp-content-wide-section--variant="dark"] .tooltip-button.is-active {
1052    background-color: var(--color--parchment);
1053    color: var(--color--charcoal);
1054  }
1055
1056  .s.dark .tooltip .tooltip-content,
1057  [data-wf--comp-content-wide-section--variant="dark"] .tooltip-content {
1058    background-color: var(--color--light);
1059    color: var(--color--charcoal);
1060    border: dotted calc(1rem * 0.09375) var(--color--charcoal);
1061  }
1062
1063  .s.dark .tooltip .tooltip-close,
1064  [data-wf--comp-content-wide-section--variant="dark"] .tooltip-close {
1065    color: var(--color--charcoal);
1066  }
1067</style></div><div class="css-hubspot w-embed"><style>
1068  /* ============================================================================
1069   HUBSPOT FORM STYLES
1070   Client theme: parchment surface / charcoal ink, pill fields, uppercase labels
1071   ----------------------------------------------------------------------------
1072   HOW TO RE-SKIN FOR THE NEXT CLIENT:
1073   Only the "CLIENT THEME" block below should need touching. Everything under
1074   it is derived, so a new palette + font pair is a 10-line change.
1075   ============================================================================ */
1076
1077  :root {
1078    /* ==========================================================================
1079     1. CLIENT THEME  — the only block you should need to edit per client
1080     ========================================================================== */
1081
1082    /* Palette — every dark in this sheet resolves to --color--charcoal.
1083     The hex is only a fallback for pages where that token isn't in scope. */
1084    --brand-ink: var(--color--charcoal, #2f2f2f); /* text, strokes, filled controls */
1085    --brand-parchment: var(--Parchment, #faf9f5); /* every light/white in the sheet */
1086    --brand-blue: var(--color--blue, #1f49d4); /* button hover fill        */
1087    --brand-surface: var(--brand-parchment); /* page background behind the form */
1088    --brand-field-fill: var(--brand-parchment); /* inside of input fields   */
1089    --brand-on-ink: var(--brand-parchment); /* text sitting ON a charcoal control */
1090    --brand-muted: #7a7873; /* placeholder + helper text                */
1091    --brand-error: #cf2020;
1092    --brand-error-soft: #e58a8a; /* error stroke                             */
1093    --brand-error-bg: #fbf2f0; /* error fill                               */
1094
1095    /* Hover for charcoal-filled controls. First line is the no-op fallback,
1096     second derives a darker charcoal in browsers that support color-mix. */
1097    --brand-ink-hover: var(--color--charcoal, #2f2f2f);
1098    --brand-ink-hover: color-mix(in srgb, var(--brand-ink) 85%, #000);
1099
1100    /* Type — `inherit` picks up whatever the page already loads.
1101     Swap for the real brand faces once they're on the page, e.g.
1102     --brand-font-body: "Aeonik", "Inter", system-ui, sans-serif;             */
1103    --brand-font-body: inherit;
1104    --brand-font-display: inherit; /* the serif used for "Contact us"          */
1105
1106    /* Micro type scale — labels, field text, legal copy, button */
1107    --brand-micro-size: 12px;
1108    --brand-micro-weight: 600;
1109    --brand-micro-style: normal;
1110    --brand-micro-line-height: 130%; /* 15.6px */
1111    --brand-micro-tracking: 0.24px;
1112    --brand-uppercase: uppercase;
1113
1114    /* Shape */
1115    --brand-radius-pill: 999px; /* fields are fully rounded in this design  */
1116    --brand-radius-soft: 0.75rem; /* textareas / anything multi-line          */
1117    --brand-stroke: 1px;
1118
1119    /* Vertical rhythm — mockup runs on an exact 104px row pitch:
1120     label 15.6 + label-gap 14 + field 40.4 + field-gap 34 = 104 */
1121    --field-gap-y: 34px; /* space under a field, before the next label */
1122    --field-gap-x: 2rem; /* 32px gutter between 2-up columns         */
1123    --label-gap: 14px; /* label -> field                           */
1124
1125    /* Transition */
1126    --transition-duration: 250ms;
1127
1128    /* ==========================================================================
1129     2. DERIVED TOKENS — same names as the original template, new values
1130     ========================================================================== */
1131
1132    /* Label & text */
1133    --label-font-size: var(--brand-micro-size);
1134    --label-font-style: var(--brand-micro-style);
1135    --label-line-height: var(--brand-micro-line-height);
1136    --label-letter-spacing: var(--brand-micro-tracking);
1137    --label-color: var(--brand-ink);
1138    --label-font-weight: var(--brand-micro-weight);
1139    --label-text-transform: var(--brand-uppercase);
1140    --label-bottom-margin: var(--label-gap);
1141
1142    /* Input fields */
1143    --input-height: 40px; /* 12 + 14.4 + 12 + 2 borders          */
1144    --input-border-radius: var(--brand-radius-pill);
1145    --input-border-color: var(--brand-ink);
1146    --input-border: var(--brand-stroke) solid var(--input-border-color);
1147    --input-hover-border: var(--brand-ink); /* no change on hover in the design */
1148    --input-focus-border: var(--brand-ink); /* no change on focus in the design */
1149    --input-error-border: var(--brand-error-soft);
1150    --input-error-hover-border: var(--brand-error);
1151    --input-background-color: var(--brand-field-fill);
1152    --input-focus-background: var(--brand-field-fill);
1153    --input-error-background: var(--brand-error-bg);
1154    --input-autofill-background: var(--brand-field-fill); /* kills Chrome's yellow fill */
1155    --input-padding-y: 0.75rem; /* 12px */
1156    --input-padding-x: 1.5rem; /* 24px */
1157    --input-padding: var(--input-padding-y) var(--input-padding-x);
1158    --input-font-size: var(--brand-micro-size);
1159    --input-line-height: 1.2; /* single-line controls stay at 1.2 */
1160    --input-font-weight: var(--brand-micro-weight);
1161    --input-letter-spacing: var(--brand-micro-tracking);
1162    --input-text-transform: none; /* set to uppercase to force caps on typed text */
1163    --input-font-color: var(--brand-ink);
1164    --input-filled-font-color: var(--brand-ink);
1165    --input-placeholder-color: var(--brand-muted);
1166    --input-focus-placeholder-color: var(--brand-muted);
1167    --input-error-font-color: var(--brand-ink);
1168    --input-bottom-margin: var(--field-gap-y);
1169    /* a11y: the design gives focus no visual change, so we thicken the stroke
1170     from the inside instead — no layout shift, still clearly focused.
1171     Set to `none` if you'd rather match the mockup exactly. */
1172    --input-focus-ring: inset 0 0 0 var(--brand-stroke) var(--brand-ink);
1173
1174    /* Select — charcoal-filled by default, in every state */
1175    --select-background: var(--brand-ink);
1176    --select-color: var(--brand-on-ink);
1177    --select-placeholder-color: var(--brand-on-ink);
1178    --select-border-color: var(--brand-ink);
1179    --select-text-transform: var(--brand-uppercase);
1180    --select-arrow-inset: 23px;
1181    --select-arrow-width: 14px;
1182    --select-arrow-height: 8px;
1183    /* NOTE: `currentColor` does NOT work inside a data-URI background SVG — it
1184     resolves against the SVG's own document, not this element. Nor can it read
1185     a custom property. The stroke below is Parchment, baked in (%23 = #) —
1186     it's the one place a colour change has to be made by hand. */
1187    --select-arrow: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="8" viewBox="0 0 14 8" fill="none"><path d="M1 1.25L7 7L13 1.25" stroke="%23FAF9F5" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/></svg>');
1188
1189    /* Error messages */
1190    --error-message-color: var(--brand-error);
1191    --error-message-font-size: 11px;
1192    --error-message-font-weight: var(--brand-micro-weight);
1193    --error-message-line-height: 1.3;
1194    --error-message-letter-spacing: var(--brand-micro-tracking);
1195    --error-message-text-transform: none;
1196    --error-message-bottom-margin: 1.25rem;
1197
1198    /* Rich text (legal / consent copy) */
1199    --richtext-font-size: var(--brand-micro-size);
1200    --richtext-font-weight: var(--brand-micro-weight);
1201    --richtext-line-height: 150%;
1202    --richtext-letter-spacing: var(--brand-micro-tracking);
1203    --richtext-text-transform: var(--brand-uppercase);
1204    --richtext-color: var(--brand-ink);
1205    --richtext-bottom-margin: 1.5rem;
1206
1207    /* Checkboxes / radios */
1208    --checkbox-list-style: none;
1209    --checkbox-list-padding: 0;
1210    --checkbox-list-margin: 0;
1211    --checkbox-margin-top: 1rem;
1212    --checkbox-margin-bottom: 1rem;
1213    --checkbox-gap: 0.625rem;
1214    --checkbox-size: 1rem;
1215    --checkbox-cursor: pointer;
1216    --checkbox-radius: 0.1875rem;
1217    --checkbox-border: var(--brand-stroke) solid var(--brand-ink);
1218    --checkbox-background: var(--brand-field-fill);
1219    --checkbox-accent: var(--brand-ink);
1220
1221    /* Submit button */
1222    --button-wrapper-top-margin: var(--field-gap-y); /* same rhythm as the gap under a field */
1223    --actions-display: flex;
1224    --actions-align-items: center;
1225    --actions-justify-content: flex-start;
1226    /* Button text — 12px / 600 / 130% / 0.24px, uppercase, Parchment */
1227    --button-font-size: var(--brand-micro-size);
1228    --button-font-style: var(--brand-micro-style);
1229    --button-font-weight: var(--brand-micro-weight);
1230    --button-line-height: var(--brand-micro-line-height); /* 130% = 15.6px */
1231    --button-text-transform: var(--brand-uppercase);
1232    --button-letter-spacing: var(--brand-micro-tracking);
1233
1234    /* Straight off the spacing scale: 16px / 24px.
1235     Button height = 15.6 (text) + 2 × 16 (padding) + 2 × 1.5 (border) = 50.6px */
1236    --button-padding-y: var(--spacing--gap, 16px);
1237    --button-padding-x: var(--spacing--gap-24, 24px);
1238    --button-border-radius: var(--brand-radius-pill);
1239    --button-grid-gap: 0.75rem;
1240
1241    /* Rest:  charcoal fill, parchment text.
1242     Hover: blue fill, charcoal text, charcoal border.
1243
1244     The border is the SAME width in both states — at rest it simply matches
1245     the fill, so it reads as a solid charcoal pill. Animating the width
1246     instead would make the button wobble: border-width snaps to whole device
1247     pixels while the compensating padding interpolates in fractions, so the
1248     box breathes ~2px mid-transition. Holding the width constant means the
1249     geometry never changes at all and only colour moves. */
1250    --button-bg-color: var(--brand-ink);
1251    --button-text-color: var(--brand-parchment);
1252    --button-border-color: var(--brand-ink);
1253    /* 16 × 0.09375 = 1.5px */
1254    --button-border-width: calc(var(--spacing--gap, 16px) * 0.09375);
1255    --button-hover-bg-color: var(--brand-blue);
1256    --button-hover-text-color: var(--brand-ink);
1257    --button-hover-border-color: var(--brand-ink);
1258
1259    --button-transition-duration: 425ms;
1260    --button-transition-easing: ease;
1261    --button-transition: background-color var(--button-transition-duration) var(--button-transition-easing), border-color var(--button-transition-duration) var(--button-transition-easing), color var(--button-transition-duration) var(--button-transition-easing);
1262
1263    /* Optional form heading ("Contact us") */
1264    --heading-font-family: var(--brand-font-display);
1265    --heading-font-size: clamp(2.25rem, 4.5vw, 3.25rem); /* ~52px at 1440 */
1266    --heading-font-weight: 400;
1267    --heading-line-height: 1.1;
1268    --heading-color: var(--brand-ink);
1269    --heading-align: center;
1270    --heading-bottom-margin: 3.75rem;
1271  }
1272
1273  /* ============================================================================
1274   3. FORM SHELL
1275   ============================================================================ */
1276
1277  .hs-form {
1278    font-family: var(--brand-font-body);
1279    color: var(--brand-ink);
1280  }
1281
1282  /* HubSpot ships `fieldset { max-width: 500px }` — it will squash the grid.
1283   The rest is the UA's default fieldset border/padding/margin, which otherwise
1284   adds ~20px of phantom space to every row. */
1285  .hs-form fieldset,
1286  .hs-form fieldset.form-columns-1,
1287  .hs-form fieldset.form-columns-2,
1288  .hs-form fieldset.form-columns-3 {
1289    max-width: none !important;
1290    border: 0;
1291    padding: 0;
1292    margin: 0;
1293    min-width: 0;
1294  }
1295
1296  /* HubSpot injects a per-form rule scoped to the form's GUID, e.g.
1297     .hs-form-<guid>_<guid> fieldset.form-columns-1 .hs-input { width: 95% }
1298   That block is emitted after this sheet and out-specifies a plain class
1299   selector, so `!important` is the only reliable way to take the width back.
1300   Checkboxes and radios are excluded — they must keep their intrinsic size. */
1301  .hs-form .hs-input:not([type='checkbox']):not([type='radio']),
1302  .hs-form fieldset.form-columns-1 .hs-input:not([type='checkbox']):not([type='radio']),
1303  .hs-form fieldset.form-columns-2 .hs-input:not([type='checkbox']):not([type='radio']),
1304  .hs-form fieldset.form-columns-3 .hs-input:not([type='checkbox']):not([type='radio']) {
1305    width: 100% !important;
1306    box-sizing: border-box !important;
1307  }
1308
1309  /* 2-up / 3-up rows as a grid instead of HubSpot's floats + % widths */
1310  .hs-form fieldset.form-columns-2,
1311  .hs-form fieldset.form-columns-3 {
1312    display: grid;
1313    column-gap: var(--field-gap-x);
1314    row-gap: 0;
1315  }
1316  .hs-form fieldset.form-columns-2 {
1317    grid-template-columns: repeat(2, minmax(0, 1fr));
1318  }
1319  .hs-form fieldset.form-columns-3 {
1320    grid-template-columns: repeat(3, minmax(0, 1fr));
1321  }
1322
1323  .hs-form fieldset .hs-form-field {
1324    width: 100% !important; /* HubSpot sets 50%/33% inline */
1325    float: none !important;
1326    padding: 0 !important;
1327  }
1328  .hs-form fieldset .input {
1329    margin-right: 0 !important;
1330  }
1331
1332  @media (max-width: 640px) {
1333    .hs-form fieldset.form-columns-2,
1334    .hs-form fieldset.form-columns-3 {
1335      grid-template-columns: minmax(0, 1fr);
1336    }
1337  }
1338
1339  /* ============================================================================
1340   4. LABELS
1341   ============================================================================ */
1342
1343  .hs-form label {
1344    display: block;
1345    margin-bottom: var(--label-bottom-margin);
1346    font-size: var(--label-font-size);
1347    font-style: var(--label-font-style);
1348    font-weight: var(--label-font-weight);
1349    line-height: var(--label-line-height);
1350    letter-spacing: var(--label-letter-spacing);
1351    text-transform: var(--label-text-transform);
1352    color: var(--label-color);
1353  }
1354
1355  /* The required asterisk sits after a space in the design: "FIRST NAME *" */
1356  .hs-form .hs-form-required {
1357    margin-left: 0.35em;
1358    color: var(--label-color);
1359  }
1360
1361  /* Helper text under a label */
1362  .hs-form .hs-field-desc {
1363    margin: -0.25rem 0 var(--label-gap);
1364    font-size: var(--error-message-font-size);
1365    line-height: 1.4;
1366    letter-spacing: var(--brand-micro-tracking);
1367    color: var(--brand-muted);
1368  }
1369
1370  /* ============================================================================
1371   5. TEXT INPUTS + TEXTAREA
1372   ============================================================================ */
1373
1374  .hs-form input[type='text'],
1375  .hs-form input[type='email'],
1376  .hs-form input[type='tel'],
1377  .hs-form input[type='number'],
1378  .hs-form input[type='url'],
1379  .hs-form input[type='date'],
1380  .hs-form input[type='password'],
1381  .hs-form input[type='search'],
1382  .hs-form textarea {
1383    box-sizing: border-box;
1384    width: 100%;
1385    font-family: inherit;
1386    border-radius: var(--input-border-radius);
1387    border: var(--input-border);
1388    background-color: var(--input-background-color);
1389    padding: var(--input-padding);
1390    color: var(--input-font-color);
1391    font-size: var(--input-font-size);
1392    line-height: var(--input-line-height);
1393    font-weight: var(--input-font-weight);
1394    letter-spacing: var(--input-letter-spacing);
1395    text-transform: var(--input-text-transform);
1396    margin-bottom: var(--input-bottom-margin);
1397    appearance: none;
1398    transition:
1399      border-color var(--transition-duration) ease-in-out,
1400      background-color var(--transition-duration) ease-in-out,
1401      box-shadow var(--transition-duration) ease-in-out,
1402      color var(--transition-duration) ease-in-out;
1403  }
1404
1405  /* Multi-line fields keep a soft radius rather than a pill */
1406  .hs-form textarea {
1407    border-radius: var(--brand-radius-soft);
1408    min-height: 6.5rem;
1409    resize: vertical;
1410  }
1411
1412  /* Hover — unchanged stroke in this design, kept as a hook */
1413  .hs-form input[type='text']:hover,
1414  .hs-form input[type='email']:hover,
1415  .hs-form input[type='tel']:hover,
1416  .hs-form input[type='number']:hover,
1417  .hs-form input[type='url']:hover,
1418  .hs-form input[type='date']:hover,
1419  .hs-form input[type='password']:hover,
1420  .hs-form input[type='search']:hover,
1421  .hs-form textarea:hover {
1422    border-color: var(--input-hover-border);
1423  }
1424
1425  /* Focus */
1426  .hs-form input[type='text']:focus,
1427  .hs-form input[type='email']:focus,
1428  .hs-form input[type='tel']:focus,
1429  .hs-form input[type='number']:focus,
1430  .hs-form input[type='url']:focus,
1431  .hs-form input[type='date']:focus,
1432  .hs-form input[type='password']:focus,
1433  .hs-form input[type='search']:focus,
1434  .hs-form textarea:focus {
1435    outline: none;
1436    border-color: var(--input-focus-border);
1437    background-color: var(--input-focus-background);
1438    box-shadow: var(--input-focus-ring);
1439  }
1440
1441  /* Placeholder */
1442  .hs-form input::placeholder,
1443  .hs-form textarea::placeholder {
1444    color: var(--input-placeholder-color);
1445    text-transform: var(--input-text-transform);
1446    opacity: 1;
1447    transition: color var(--transition-duration) ease-in-out;
1448  }
1449  .hs-form input:focus::placeholder,
1450  .hs-form textarea:focus::placeholder {
1451    color: var(--input-focus-placeholder-color);
1452  }
1453
1454  /* Filled */
1455  .hs-form input:not(:placeholder-shown),
1456  .hs-form textarea:not(:placeholder-shown) {
1457    color: var(--input-filled-font-color);
1458  }
1459
1460  /* Chrome autofill would otherwise paint the field pale yellow */
1461  .hs-form input:-webkit-autofill,
1462  .hs-form input:-webkit-autofill:hover,
1463  .hs-form input:-webkit-autofill:focus {
1464    -webkit-text-fill-color: var(--input-filled-font-color);
1465    -webkit-box-shadow: inset 0 0 0 100px var(--input-autofill-background);
1466    caret-color: var(--brand-ink);
1467  }
1468
1469  /* Error */
1470  .hs-form input.error,
1471  .hs-form textarea.error,
1472  .hs-form select.error {
1473    border-color: var(--input-error-border);
1474    background-color: var(--input-error-background);
1475    color: var(--input-error-font-color);
1476    margin-bottom: 0.5rem;
1477  }
1478  .hs-form input.error:hover,
1479  .hs-form textarea.error:hover,
1480  .hs-form select.error:hover {
1481    border-color: var(--input-error-hover-border);
1482  }
1483
1484  /* ============================================================================
1485   6. SELECT — charcoal fill by default, cream type, custom chevron
1486   ============================================================================ */
1487
1488  .hs-form select {
1489    box-sizing: border-box;
1490    width: 100%;
1491    font-family: inherit;
1492    border-radius: var(--input-border-radius);
1493    border: var(--brand-stroke) solid var(--select-border-color);
1494    background-color: var(--select-background);
1495    padding: var(--input-padding-y) calc(var(--select-arrow-inset) + var(--select-arrow-width) + 0.75rem) var(--input-padding-y) var(--input-padding-x);
1496    color: var(--select-color);
1497    font-size: var(--input-font-size);
1498    line-height: var(--input-line-height);
1499    font-weight: var(--input-font-weight);
1500    letter-spacing: var(--input-letter-spacing);
1501    text-transform: var(--select-text-transform);
1502    margin-bottom: var(--input-bottom-margin);
1503    appearance: none;
1504    cursor: pointer;
1505    background-image: var(--select-arrow);
1506    background-repeat: no-repeat;
1507    background-position: right var(--select-arrow-inset) center;
1508    background-size: var(--select-arrow-width) var(--select-arrow-height);
1509    transition:
1510      border-color var(--transition-duration) ease-in-out,
1511      background-color var(--transition-duration) ease-in-out,
1512      box-shadow var(--transition-duration) ease-in-out,
1513      color var(--transition-duration) ease-in-out;
1514  }
1515
1516  .hs-form select:hover {
1517    border-color: var(--select-border-color);
1518  }
1519
1520  .hs-form select:focus {
1521    outline: none;
1522    border-color: var(--select-border-color);
1523    background-color: var(--select-background);
1524    box-shadow: inset 0 0 0 var(--brand-stroke) var(--brand-on-ink);
1525  }
1526
1527  /* Nothing chosen yet — stays charcoal, just a softer label colour */
1528  .hs-form select:has(option[value='']:checked) {
1529    color: var(--select-placeholder-color);
1530  }
1531
1532  /* The native option list can't inherit the dark fill — keep it legible */
1533  .hs-form select option {
1534    background-color: var(--brand-field-fill);
1535    color: var(--brand-ink);
1536    text-transform: none;
1537  }
1538
1539  /* ============================================================================
1540   7. ERROR MESSAGES
1541   ============================================================================ */
1542
1543  .hs-form .hs-error-msgs {
1544    list-style: none;
1545    padding: 0;
1546    margin: 0;
1547  }
1548  .hs-form .hs-error-msgs li {
1549    list-style: none;
1550    padding: 0;
1551    margin: 0;
1552  }
1553
1554  .hs-form .hs-error-msg,
1555  .hs-form .hs-error-msgs label {
1556    display: block;
1557    margin: 0 0 var(--error-message-bottom-margin);
1558    padding: 0;
1559    color: var(--error-message-color);
1560    font-size: var(--error-message-font-size);
1561    font-weight: var(--error-message-font-weight);
1562    line-height: var(--error-message-line-height);
1563    letter-spacing: var(--error-message-letter-spacing);
1564    text-transform: var(--error-message-text-transform);
1565  }
1566
1567  /* ============================================================================
1568   8. RICH TEXT / LEGAL COPY
1569   ============================================================================ */
1570
1571  .hs-form .hs-richtext,
1572  .hs-form .legal-consent-container .hs-richtext {
1573    font-size: var(--richtext-font-size);
1574    font-weight: var(--richtext-font-weight);
1575    line-height: var(--richtext-line-height);
1576    letter-spacing: var(--richtext-letter-spacing);
1577    text-transform: var(--richtext-text-transform);
1578    color: var(--richtext-color);
1579    margin-bottom: var(--richtext-bottom-margin);
1580  }
1581  .hs-form .hs-richtext p {
1582    margin: 0 0 0.5em;
1583  }
1584  .hs-form .hs-richtext p:last-child {
1585    margin-bottom: 0;
1586  }
1587
1588  .hs-form .hs-richtext a {
1589    color: inherit;
1590    text-decoration: underline;
1591    text-underline-offset: 0.2em;
1592    text-decoration-thickness: 1px;
1593  }
1594  .hs-form .hs-richtext a:hover {
1595    text-decoration-thickness: 2px;
1596  }
1597
1598  /* ============================================================================
1599   9. CHECKBOXES + RADIOS
1600   ============================================================================ */
1601
1602  .hs-form .inputs-list {
1603    list-style-type: var(--checkbox-list-style);
1604    padding: var(--checkbox-list-padding);
1605    margin: var(--checkbox-list-margin);
1606  }
1607
1608  .hs-form .hs-form-booleancheckbox-display,
1609  .hs-form .hs-form-checkbox-display,
1610  .hs-form .hs-form-radio-display {
1611    margin-top: var(--checkbox-margin-top);
1612    margin-bottom: var(--checkbox-margin-bottom);
1613  }
1614
1615  /* Label sits inline with the control, not above it */
1616  .hs-form .inputs-list label {
1617    display: flex;
1618    align-items: flex-start;
1619    gap: var(--checkbox-gap);
1620    margin-bottom: 0;
1621    cursor: var(--checkbox-cursor);
1622    text-transform: none;
1623    letter-spacing: var(--brand-micro-tracking);
1624  }
1625
1626  .hs-form input[type='checkbox'],
1627  .hs-form input[type='radio'] {
1628    flex: none;
1629    width: var(--checkbox-size);
1630    height: var(--checkbox-size);
1631    margin: 0.1rem 0 0;
1632    border: var(--checkbox-border);
1633    background: var(--checkbox-background);
1634    border-radius: var(--checkbox-radius);
1635    accent-color: var(--checkbox-accent);
1636    cursor: var(--checkbox-cursor);
1637  }
1638  .hs-form input[type='radio'] {
1639    border-radius: 50%;
1640  }
1641
1642  /* ============================================================================
1643   10. SUBMIT
1644   ============================================================================ */
1645
1646  .hs-form .hs_submit,
1647  .hs-form .hs-submit {
1648    margin-top: var(--button-wrapper-top-margin);
1649  }
1650
1651  .hs-form .hs_submit .actions,
1652  .hs-form .hs-submit .actions {
1653    width: 100%;
1654    display: var(--actions-display);
1655    align-items: var(--actions-align-items);
1656    justify-content: var(--actions-justify-content);
1657    gap: var(--button-grid-gap);
1658    padding: 0;
1659  }
1660
1661  .hs-form .hs-button,
1662  .hs-form input[type='submit'].hs-button {
1663    width: auto !important;
1664    font-family: inherit;
1665    padding: var(--button-padding-y) var(--button-padding-x);
1666    font-size: var(--button-font-size);
1667    font-style: var(--button-font-style);
1668    font-weight: var(--button-font-weight);
1669    line-height: var(--button-line-height);
1670    /* Figma exports `leading-trim: both; text-edge: cap` — neither is real CSS,
1671     browsers drop them silently. The shipped equivalent is the line below; it
1672     trims the leading to the cap height, shrinking the text box from 15.6px to
1673     ~8.6px and so taking ~7px off the pill. Off by default. */
1674    /* text-box: trim-both cap alt; */
1675    text-transform: var(--button-text-transform);
1676    letter-spacing: var(--button-letter-spacing);
1677    background-color: var(--button-bg-color);
1678    color: var(--button-text-color);
1679    border: var(--button-border-width) solid var(--button-border-color);
1680    border-radius: var(--button-border-radius);
1681    cursor: pointer;
1682    appearance: none;
1683    transition: var(--button-transition);
1684  }
1685
1686  /* The `input[type=submit].hs-button` selector above is (0,3,1); these state
1687   selectors have to match it or they silently lose the cascade. */
1688  .hs-form .hs-button:hover,
1689  .hs-form input[type='submit'].hs-button:hover,
1690  .hs-form .hs-button:focus-visible,
1691  .hs-form input[type='submit'].hs-button:focus-visible {
1692    background-color: var(--button-hover-bg-color);
1693    border-color: var(--button-hover-border-color);
1694    color: var(--button-hover-text-color);
1695  }
1696  .hs-form .hs-button:focus-visible,
1697  .hs-form input[type='submit'].hs-button:focus-visible {
1698    outline: var(--brand-stroke) solid var(--brand-ink);
1699    outline-offset: 2px;
1700  }
1701
1702  /* Post-submit confirmation */
1703  .submitted-message {
1704    font-size: var(--richtext-font-size);
1705    line-height: var(--richtext-line-height);
1706    letter-spacing: var(--brand-micro-tracking);
1707    color: var(--brand-ink);
1708  }
1709
1710  [data-attribute='button-text'] {
1711    pointer-events: none;
1712  }
1713
1714  @media only screen and (max-width: 991px) {
1715    .hs-form .inputs-list{
1716      margin-block: calc(var(--label-bottom-margin) / 2) calc(var(--label-bottom-margin) * 2)
1717    }
1718  }
1719
1720  .hs-form-booleancheckbox {
1721    list-style-type: none;
1722  }
1723  
1724</style></div></div><main data-taxi="" class="main-w"><nav data-module="navigation" class="nav"><div class="c"><div class="nav-wrap"><div class="nav-bg"></div><div class="nav-home"><a data-wf--comp-home--variant="base" href="/?r=0" class="home w-inline-block"><div class="home-logo w-embed">
1724<svg width="100%" height="100%" viewBox="0 0 159 40" fill="none" xmlns="http://www.w3.org/2000/svg">
1725<path d="M32.3841 25.5356C32.2118 26.914 23.1235 33.7634 19.0316 36.4913C6.22463 24.833 13.9825 13.4992 19.0316 9.81413C24.5593 12.0396 32.5995 23.8127 32.3841 25.5356Z" fill="url(#paint0_radial_624_16178)" stroke="currentColor" stroke-width="0.143575"/>
1726<path d="M42.3187 23.1433C42.3187 15.0635 35.7687 8.51333 27.6889 8.51331C19.609 8.51331 13.0588 15.0635 13.0588 23.1433C13.0589 31.2232 19.609 37.7732 27.6889 37.7732V39.7705L27.474 39.7689C18.4617 39.6548 11.1772 32.3705 11.0631 23.3582L11.0618 23.1433C11.0618 13.9605 18.506 6.51624 27.6889 6.51624L27.9037 6.51756C36.9876 6.6326 44.316 14.0322 44.316 23.1433L44.3145 23.3582C44.1994 32.442 36.8 39.7704 27.6889 39.7705V37.7732C35.7687 37.7732 42.3187 31.2232 42.3187 23.1433Z" fill="currentColor"/>
1727<path d="M5.26584 9.7664C3.5184 11.5138 3.06841 14.5229 4.12832 18.2491C5.17782 21.9386 7.66048 26.0984 11.3675 29.8054C15.0746 33.5125 19.2344 35.9953 22.924 37.0448C26.6502 38.1047 29.6592 37.6547 31.4067 35.9072C33.1541 34.1598 33.6039 31.1508 32.5441 27.4247C31.4946 23.7351 29.0118 19.5753 25.3047 15.8682C21.5977 12.1611 17.4379 9.6785 13.7484 8.62901C10.0222 7.56911 7.01329 8.01898 5.26584 9.7664ZM3.85357 8.35413C6.34475 5.86297 10.2571 5.55952 14.2947 6.708C18.369 7.86692 22.8155 10.5545 26.717 14.4559C30.6185 18.3574 33.306 22.804 34.4649 26.8782C35.6134 30.9159 35.31 34.8282 32.8188 37.3194C30.3276 39.8106 26.4152 40.1141 22.3775 38.9656C18.3033 37.8067 13.8568 35.119 9.95537 31.2176C6.0539 27.3161 3.36623 22.8697 2.20731 18.7954C1.05881 14.7578 1.36238 10.8453 3.85357 8.35413Z" fill="currentColor"/>
1728<path d="M35.8091 4.10056C33.6458 1.93724 29.949 1.41889 25.4439 2.70914C20.9764 3.98865 15.9508 6.99829 11.4746 11.4745C6.99835 15.9508 3.9888 20.9763 2.70929 25.4438C1.41904 29.9488 1.93739 33.6456 4.10072 35.809C6.26405 37.9723 9.96086 38.4906 14.4659 37.2004C18.9334 35.9209 23.9589 32.9113 28.4351 28.4351C32.9114 23.9589 35.921 18.9332 37.2005 14.4657C38.4908 9.96071 37.9724 6.2639 35.8091 4.10056ZM37.2212 2.68842C40.1314 5.59857 40.499 10.2021 39.1205 15.0155C37.7312 19.8665 34.517 25.1775 29.8473 29.8473C25.1776 34.5169 19.8666 37.731 15.0157 39.1203C10.2023 40.4989 5.59872 40.1312 2.68857 37.2211C-0.221565 34.3109 -0.589218 29.7074 0.789339 24.894C2.17865 20.0431 5.39273 14.7321 10.0624 10.0624C14.7321 5.39268 20.0432 2.17851 24.8942 0.789189C29.7075 -0.589358 34.3111 -0.22171 37.2212 2.68842Z" fill="currentColor"/>
1729<path d="M52.7019 31.7803V30.0527H54.6351C55.616 30.0527 56.1135 29.5005 56.1135 28.4526V12.2955C56.1135 11.2476 55.6302 10.6954 54.6351 10.6954H52.7019V8.96778H59.1128L65.5806 23.1991C65.7796 23.6239 65.9076 23.7796 66.1066 23.7796C66.3056 23.7796 66.4051 23.6239 66.6041 23.1991L73.2425 8.96778H79.426V10.6954H77.4643C76.4835 10.6954 76.0286 11.2476 76.0286 12.2955V28.4526C76.0286 29.5005 76.4835 30.0527 77.4643 30.0527H79.426V31.7803H69.973V30.0527H71.9347C72.8871 30.0527 73.3704 29.5005 73.3704 28.4526V13.2726C73.3704 13.0177 73.342 12.7911 73.1145 12.7911C72.8871 12.7911 72.816 13.0177 72.7592 13.1451L66.4193 26.6542L64.7846 27.5039L58.1746 13.2726C58.0467 13.0177 57.9188 12.9469 57.7766 12.9469C57.6345 12.9469 57.4781 13.0743 57.4781 13.4991V28.4526C57.4781 29.5005 57.9756 30.0527 58.9565 30.0527H60.9181V31.7803H52.7161H52.7019ZM87.9407 32.106C83.5341 32.106 79.8382 28.226 79.8382 23.6664C79.8382 19.1067 83.5341 15.1701 87.9407 15.1701C92.3473 15.1701 96.0432 19.0784 96.0432 23.6664C96.0432 28.2544 92.3473 32.106 87.9407 32.106ZM87.9407 30.874C90.9543 30.874 92.8448 28.042 92.8448 23.6805C92.8448 19.3191 90.9543 16.4162 87.9407 16.4162C84.9271 16.4162 83.0081 19.2766 83.0081 23.6805C83.0081 28.0844 84.9413 30.874 87.9407 30.874ZM96.8535 31.7803V30.0527H98.6872C99.5685 30.0527 100.023 29.5005 100.023 28.4526V11.3184C100.023 10.2705 99.5685 9.71829 98.6872 9.71829H96.8535V7.99071H102.511V28.4384C102.511 29.4863 102.937 30.0386 103.819 30.0386H105.652V31.7662H96.8535V31.7803ZM113.926 32.106C109.519 32.106 105.823 28.226 105.823 23.6664C105.823 19.1067 109.519 15.1701 113.926 15.1701C118.332 15.1701 122.028 19.0784 122.028 23.6664C122.028 28.2544 118.332 32.106 113.926 32.106ZM113.926 3
17290.874C116.939 30.874 118.83 28.042 118.83 23.6805C118.83 19.3191 116.939 16.4162 113.926 16.4162C110.912 16.4162 108.993 19.2766 108.993 23.6805C108.993 28.0844 110.926 30.874 113.926 30.874ZM131.78 15.1701C135.205 15.1701 137.508 17.0534 137.508 19.4749C137.508 21.8963 136.726 21.8538 135.347 21.8538C133.969 21.8538 133.414 21.1741 133.414 20.2254C133.414 19.2766 133.997 19.0217 133.997 18.073C133.997 17.1242 133.272 16.3737 131.68 16.3737C128.411 16.3737 126.605 19.6589 126.605 23.3407C126.605 27.0224 128.539 29.7554 131.765 29.7554C134.992 29.7554 136.143 28.1269 136.741 25.5497L137.92 25.8754C137.139 29.8828 134.679 32.0918 131.154 32.0918C127.629 32.0918 123.791 28.8066 123.791 24.0204C123.791 19.2341 127.16 15.1559 131.765 15.1559L131.78 15.1701ZM147.302 32.106C142.896 32.106 139.2 28.226 139.2 23.6664C139.2 19.1067 142.896 15.1701 147.302 15.1701C151.709 15.1701 155.405 19.0784 155.405 23.6664C155.405 28.2544 151.709 32.106 147.302 32.106ZM147.302 30.874C150.316 30.874 152.206 28.042 152.206 23.6805C152.206 19.3191 150.316 16.4162 147.302 16.4162C144.289 16.4162 142.37 19.2766 142.37 23.6805C142.37 28.0844 144.303 30.874 147.302 30.874Z" fill="currentColor"/>
1730<defs>
1731<radialGradient id="paint0_radial_624_16178" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(30.6179 25.9734) rotate(-144.028) scale(18.4906 16.2041)">
1732<stop offset="0.206731" stop-color="#8EEEE8"/>
1733<stop offset="0.754808" stop-color="#CFF88C"/>
1734<stop offset="1" stop-color="#FBFF8A"/>
1735</radialGradient>
1736</defs>
1737</svg></div></a></div><div data-attribute="list-wrapper" class="nav-list-w"><div class="nav-list"><div data-attribute="nav-item" class="nav-item"><div class="nav-item-dropdown"><div data-attribute="nav-toggle" class="nav-item-dropdown-toggle"><div class="nav-item-dropdown-desktop"><div class="text-title-h5">Products</div></div><div class="nav-item-dropdown-mobile"><div class="text-title-h2">Products</div><div class="icon carrot"><div class="icon-svg w-embed"><svg width="100%" height="100%" viewBox="0 0 18 10" fill="none" xmlns="http://www.w3.org/2000/svg">
1738<path d="M0.353516 0.353546L8.85351 8.85355L17.3535 0.353546" stroke="currentColor"/>
1739</svg></div></div></div></div><div data-attribute="nav-content" class="nav-item-dropdown-navigation"><div data-attribute="mobile-nav-item" class="nav-item-dropdown-col"><div class="nav-item-group-head"><a href="/moloco-ads" class="nav-item-hov w-inline-block"><div class="nav-item-link"><div class="text-title-h5">moloco ads</div></div><div class="nav-item-link-head"><div class="text-title-h5">For performance marketers</div></div></a><div data-attribute="mobile-drop-trigger" class="nav-item-group-icon"><div class="icon carrot"><div class="icon-svg w-embed"><svg width="100%" height="100%" viewBox="0 0 18 10" fill="none" xmlns="http://www.w3.org/2000/svg">
1740<path d="M0.353516 0.353546L8.85351 8.85355L17.3535 0.353546" stroke="currentColor"/>
1741</svg></div></div></div></div><div data-attribute="mobile-drop-content" class="nav-item-group"><div class="nav-item-list"><div class="nav-item-link-head"><div class="text-title-h5">capabilities</div></div><a href="/capabilities/moloco-ads/user-acquisition" class="nav-item-link w-inline-block"><div class="text-title-h5">User acquisition</div></a><a href="/capabilities/moloco-ads/re-engagement" class="nav-item-link w-inline-block"><div class="text-title-h5">Re-engagement</div></a><a href="/capabilities/moloco-ads/performance-ctv" class="nav-item-link w-inline-block"><div class="text-title-h5">Performance CTV</div></a><a href="/capabilities/moloco-ads/sdk" class="nav-item-link w-inline-block"><div class="text-title-h5">moloco sdk</div></a></div><div class="nav-item-list"><div class="nav-item-link-head"><div class="text-title-h5">technology</div></div><a href="/technology/moloco-ads/cara" class="nav-item-link w-inline-block"><div class="text-title-h5">cara for moloco ads</div></a></div><div class="nav-item-list"><div class="nav-item-link-head"><div class="text-title-h5">Industries</div></div><a href="/industries/moloco-ads/mobile-gaming" class="nav-item-link w-inline-block"><div class="text-title-h5">mobile gaming</div></a><a href="/industries/moloco-ads/finance" class="nav-item-link hide-zh w-inline-block"><div class="text-title-h5">finance</div></a><a href="/industries/moloco-ads/igaming" class="nav-item-link hide-ko-ja-zh w-inline-block"><div class="text-title-h5">iGaming, sports &amp; prediction</div></a><a href="/industries/moloco-ads/on-demand-services" class="nav-item-link w-inline-block"><div class="text-title-h5">On-demand services</div></a><a href="/industries/moloco-ads/agencies" class="nav-item-link hide-ko w-inline-block"><div class="text-title-h5">agencies</div></a></div><div class="nav-item-list"><div class="nav-item-link-head"><div class="text-title-h5">Support</div></div><a href="/help-center" class="nav-item-link w-inline-block"><div class="text-title-h5">help center</div></a><a href="https://developer.moloco.cloud/docs/getting-started" target="_blank" class="nav-item-link w-inline-block"><div class="text-title-h5">moloco ads developer hub</div></a></div></div></div><div data-attribute="mobile-nav-item" class="nav-item-dropdown-col"><div class="nav-item-group-head"><a href="/moloco-commerce-media" class="nav-item-hov w-inline-block"><div class="nav-item-link"><div class="text-title-h5">Moloco Commerce Media</div></div><div class="nav-item-link-head"><div class="text-title-h5">For retailers and marketplaces</div></div></a><div data-attribute="mobile-drop-trigger" class="nav-item-group-icon"><div class="icon carrot"><div class="icon-svg w-embed">
1741<svg width="100%" height="100%" viewBox="0 0 18 10" fill="none" xmlns="http://www.w3.org/2000/svg">
1742<path d="M0.353516 0.353546L8.85351 8.85355L17.3535 0.353546" stroke="currentColor"/>
1743</svg></div></div></div></div><div data-attribute="mobile-drop-content" class="nav-item-group"><div class="nav-item-list"><div class="nav-item-link-head"><div class="text-title-h5">capabilities</div></div><a href="/capabilities/moloco-commerce-media/simplified-ad-ops" class="nav-item-link w-inline-block"><div class="text-title-h5">simplified ad ops</div></a><a href="/capabilities/moloco-commerce-media/ad-formats-and-capabilities" class="nav-item-link w-inline-block"><div class="text-title-h5">ad formats and capabilities</div></a><a href="/capabilities/moloco-commerce-media/ai-engine" class="nav-item-link w-inline-block"><div class="text-title-h5">ai engine</div></a><a href="/capabilities/moloco-commerce-media/agentic-commerce" class="nav-item-link w-inline-block"><div class="text-title-h5">agentic commerce</div></a></div><div class="nav-item-list"><div class="nav-item-link-head"><div class="text-title-h5">technology</div></div><a href="/technology/moloco-commerce-media/cara-for-mcm" class="nav-item-link w-inline-block"><div class="text-title-h5">cara for moloco commerce media</div></a></div><div class="nav-item-list"><div class="nav-item-link-head"><div class="text-title-h5">support</div></div><a href="https://mcm-docs.moloco.com/docs/what-is-moloco-mcm" target="_blank" class="nav-item-link w-inline-block"><div class="text-title-h5">Moloco Commerce Media Docs</div></a></div></div></div><div class="nav-item-dropdown-col"><a href="/moloco-next" class="nav-item-hov w-inline-block"><div><div class="nav-item-link"><div class="text-title-h5">moloco next</div></div></div><div class="nav-item-link-head"><div class="text-title-h5">Next generation advertising solutions</div></div></a></div></div></div></div><div data-attribute="nav-item" class="nav-item"><a data-attribute="nav-toggle" href="/customers" class="nav-item-dropdown-toggle w-inline-block"><div class="nav-item-dropdown-desktop"><div class="text-title-h5">customers</div></div><div class="nav-item-dropdown-mobile"><div class="text-title-h2">Customers</div></div></a></div><div data-attribute="nav-item" class="nav-item"><div class="nav-item-dropdown"><div data-attribute="nav-toggle" class="nav-item-dropdown-toggle"><div class="nav-item-dropdown-desktop"><div class="text-title-h5">resources</div></div><div class="nav-item-dropdown-mobile"><div class="text-title-h2">Resources</div><div class="icon carrot"><div class="icon-svg w-embed"><svg width="100%" height="100%" viewBox="0 0 18 10" fill="none" xmlns="http://www.w3.org/2000/svg">
1744<path d="M0.353516 0.353546L8.85351 8.85355L17.3535 0.353546" stroke="currentColor"/>
1745</svg></div></div></div></div><div data-attribute="nav-content" class="nav-item-dropdown-navigation set-width"><div class="nav-item-dropdown-col no-top"><div class="nav-item-list"><a href="/blog" aria-current="page" class="nav-item-link w-inline-block w--current"><div class="text-title-h5">blog</div></a><a href="/research" class="nav-item-link w-inline-block"><div class="text-title-h5">research</div></a><a href="/events" class="nav-item-link w-inline-block"><div class="text-title-h5">events</div></a></div></div></div></div></div><div data-attribute="nav-item" class="nav-item"><div class="nav-item-dropdown"><div data-attribute="nav-toggle" class="nav-item-dropdown-toggle"><div class="nav-item-dropdown-desktop"><div class="text-title-h5">company</div></div><div class="nav-item-dropdown-mobile"><div class="text-title-h2">Company</div><div class="icon carrot"><div class="icon-svg w-embed"><svg width="100%" height="100%" viewBox="0 0 18 10" fill="none" xmlns="http://www.w3.org/2000/svg">
1746<path d="M0.353516 0.353546L8.85351 8.85355L17.3535 0.353546" stroke="currentColor"/>
1747</svg></div></div></div></div><div data-attribute="nav-content" class="nav-item-dropdown-navigation set-width"><div class="nav-item-dropdown-col no-top"><div class="nav-item-list"><a href="/company/about" class="nav-item-link w-inline-block"><div class="text-title-h5">about us</div></a><a href="/company/leadership" class="nav-item-link w-inline-block"><div class="text-title-h5">leadership</div></a><a href="/company/newsroom" class="nav-item-link w-inline-block"><div class="text-title-h5">newsroom</div></a><a href="/company/careers" class="nav-item-link w-inline-block"><div class="text-title-h5">careers</div></a></div></div></div></div></div></div><div class="nav-list-bottom"><form action="/search" class="site-search w-form"><input class="search w-input" maxlength="256" name="query" placeholder="Search" type="search" id="search" required=""/><input type="submit" class="search-btn w-button" value="Search"/></form><div class="nav-list-cta"><button data-wf--comp-button--button-setup-variant="color-dark-on-light" aria-label="" class="button w-variant-7728b233-5cc0-7f5e-e38f-0b9046fac2fc"><a href="/contact-us" class="button-link w-inline-block"></a><div data-attribute="button-text" class="text-title-h5">Contact Us</div></button><div class="nav-social-list"><a href="#" class="nav-social-item linkedin w-inline-block"><div class="social-svg w-embed">
1747<svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
1748<path d="M22.2234 0H1.77187C0.792187 0 0 0.773438 0 1.72969V22.2656C0 23.2219 0.792187 24 1.77187 24H22.2234C23.2031 24 24 23.2219 24 22.2703V1.72969C24 0.773438 23.2031 0 22.2234 0ZM7.12031 20.4516H3.55781V8.99531H7.12031V20.4516ZM5.33906 7.43438C4.19531 7.43438 3.27188 6.51094 3.27188 5.37187C3.27188 4.23281 4.19531 3.30937 5.33906 3.30937C6.47813 3.30937 7.40156 4.23281 7.40156 5.37187C7.40156 6.50625 6.47813 7.43438 5.33906 7.43438ZM20.4516 20.4516H16.8937V14.8828C16.8937 13.5562 16.8703 11.8453 15.0422 11.8453C13.1906 11.8453 12.9094 13.2937 12.9094 14.7891V20.4516H9.35625V8.99531H12.7687V10.5609H12.8156C13.2891 9.66094 14.4516 8.70938 16.1813 8.70938C19.7859 8.70938 20.4516 11.0813 20.4516 14.1656V20.4516Z" fill="currentColor"/>
1749</svg>
1750</div></a><a href="#" class="nav-social-item w-inline-block"><div class="social-svg w-embed"><svg width="100%" height="100%" viewBox="0 0 32 24" fill="none" xmlns="http://www.w3.org/2000/svg">
1751<path d="M31.6812 5.17856C31.6812 5.17856 31.3688 2.82588 30.4062 1.79284C29.1875 0.433213 27.825 0.426548 27.2 0.34657C22.725 -1.90682e-07 16.0063 0 16.0063 0H15.9937C15.9937 0 9.275 -1.90682e-07 4.8 0.34657C4.175 0.426548 2.8125 0.433213 1.59375 1.79284C0.63125 2.82588 0.325 5.17856 0.325 5.17856C0.325 5.17856 0 7.94446 0 10.7037V13.2896C0 16.0489 0.31875 18.8148 0.31875 18.8148C0.31875 18.8148 0.63125 21.1675 1.5875 22.2005C2.80625 23.5601 4.40625 23.5135 5.11875 23.6601C7.68125 23.92 16 24 16 24C16 24 22.725 23.9867 27.2 23.6468C27.825 23.5668 29.1875 23.5601 30.4062 22.2005C31.3688 21.1675 31.6812 18.8148 31.6812 18.8148C31.6812 18.8148 32 16.0555 32 13.2896V10.7037C32 7.94446 31.6812 5.17856 31.6812 5.17856ZM12.6938 16.4288V6.8381L21.3375 11.6501L12.6938 16.4288Z" fill="currentColor"/>
1752</svg>
1753</div></a><div data-module="locale-switch" class="nav-locale-mobile"><div data-attribute="trigger" class="nav-locale-trigger"><div class="social-svg w-embed"><svg width="100%" height="100%" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg">
1754<path d="M0.75 12.75H7.41667M0.75 12.75C0.75 19.3774 6.12258 24.75 12.75 24.75M0.75 12.75C0.75 6.12258 6.12258 0.75 12.75 0.75M7.41667 12.75H18.0833M7.41667 12.75C7.41667 19.3774 9.80448 24.75 12.75 24.75M7.41667 12.75C7.41667 6.12258 9.80448 0.75 12.75 0.75M18.0833 12.75H24.75M18.0833 12.75C18.0833 6.12258 15.6955 0.75 12.75 0.75M18.0833 12.75C18.0833 19.3774 15.6955 24.75 12.75 24.75M24.75 12.75C24.75 6.12258 19.3774 0.75 12.75 0.75M24.75 12.75C24.75 19.3774 19.3774 24.75 12.75 24.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
1755</svg>
1756</div></div><div data-attribute="content" class="nav-locale-dropdown"><div class="w-locales-list"><div role="list" class="locale-list w-locales-items"><div role="listitem" class="locale-item w-locales-item"><a hreflang="en" href="/blog" aria-current="page" class="text-title-h5 w--current">English</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="fr" href="/fr/blog" class="text-title-h5">Français</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="ko" href="/ko/blog" class="text-title-h5">한국어</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="ja" href="/ja/blog" class="text-title-h5">日本語</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="zh" href="/zh/blog" class="text-title-h5">简体中文</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="vi" href="/vi/blog" class="text-title-h5">Tiếng Việt</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="de" href="/de/blog" class="text-title-h5">Deutsch</a></div></div></div></div></div></div></div></div></div><div class="nav-cta"><div data-attribute="nav-item" class="nav-item"><a data-attribute="nav-toggle" href="/contact-us" class="nav-item-dropdown-toggle w-inline-block"><div class="nav-item-dropdown-desktop"><div class="text-title-h5">talk to our team</div></div></a></div><div data-attribute="nav-item" class="nav-item locale"><div class="nav-item-dropdown locale"><div data-attribute="nav-toggle" class="nav-item-dropdown-toggle locale"><div class="loclae-icon"><div class="locale-svg w-embed">
1756<svg width="100%" height="100%" viewBox="0 0 33 33" fill="none" xmlns="http://www.w3.org/2000/svg">
1757<ellipse cx="16.4999" cy="16.5" rx="15.9999" ry="16" stroke="#2F2F2F" stroke-linecap="round" stroke-linejoin="round"/>
1758<ellipse cx="16.4999" cy="16.5" rx="7.99994" ry="16" stroke="#2F2F2F" stroke-linecap="round" stroke-linejoin="round"/>
1759<path d="M16.5 0.5L16.5 32.5" stroke="#2F2F2F" stroke-linecap="round" stroke-linejoin="round"/>
1760<path d="M32.5 16.433L0.500216 16.433" stroke="#2F2F2F" stroke-linecap="round" stroke-linejoin="round"/>
1761</svg>
1762</div></div></div><div data-attribute="nav-content" class="nav-item-dropdown-navigation locale"><div class="locale-wrap w-locales-list"><div role="list" class="locale-list w-locales-items"><div role="listitem" class="locale-item w-locales-item"><a hreflang="en" href="/blog" aria-current="page" class="text-title-h5 w--current">English</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="fr" href="/fr/blog" class="text-title-h5">Français</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="ko" href="/ko/blog" class="text-title-h5">한국어</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="ja" href="/ja/blog" class="text-title-h5">日本語</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="zh" href="/zh/blog" class="text-title-h5">简体中文</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="vi" href="/vi/blog" class="text-title-h5">Tiếng Việt</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="de" href="/de/blog" class="text-title-h5">Deutsch</a></div></div></div></div></div></div><div nav-search="" data-attribute="nav-item" class="nav-item locale"><a data-attribute="nav-toggle" href="/search" class="nav-item-dropdown-toggle locale w-inline-block"><div class="loclae-icon"><div class="locale-svg w-embed"><svg width="100%" height="100%" viewBox="0 0 33 33" fill="none" xmlns="http://www.w3.org/2000/svg">
1763<path d="M12.9855 25.4712C19.881 25.4712 25.471 19.8812 25.471 12.9856C25.471 6.09 19.881 0.5 12.9855 0.5C6.08994 0.5 0.5 6.09 0.5 12.9856C0.5 19.8812 6.08994 25.4712 12.9855 25.4712Z" stroke="#2F2F2F" stroke-linecap="round" stroke-linejoin="round"/>
1764<path d="M21.8125 21.8126L32.4998 32.5001" stroke="#2F2F2F" stroke-linecap="round" stroke-linejoin="round"/>
1765</svg>
1766</div></div></a></div></div><div data-attribute="menu-button" class="nav-menu-button"><div data-attribute="nav-open" class="nav-menu-icon open"><div class="nav-menu-svg w-embed"><svg width="100%" height="100%" viewBox="0 0 32 17" fill="none" xmlns="http://www.w3.org/2000/svg">
1767<line x1="31.5" y1="0.5" x2="0.5" y2="0.499997" stroke="currentColor" stroke-linecap="round"/>
1768<line x1="31.5" y1="8.5" x2="0.5" y2="8.5" stroke="currentColor" stroke-linecap="round"/>
1769<line x1="31.5" y1="16.5" x2="0.5" y2="16.5" stroke="currentColor" stroke-linecap="round"/>
1770</svg></div></div><div data-attribute="nav-close" class="nav-menu-icon close"><div class="nav-menu-svg w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
1771<line x1="23.3135" y1="1.14711" x2="1.39317" y2="23.0674" stroke="currentColor" stroke-linecap="round"/>
1772<line x1="23.3202" y1="23.0674" x2="1.39993" y2="1.14713" stroke="currentColor" stroke-linecap="round"/>
1773<line x1="23.3135" y1="1.14857" x2="1.39317" y2="23.0689" stroke="currentColor" stroke-linecap="round"/>
1774</svg>
1775</div></div></div></div></div><div class="nav-line"></div></nav><div data-page="home" data-taxi-view="" class="taxi-w"><section data-wf--comp-hero-section-3--variant="base" class="s hero-3"><div class="spacer hero-3"></div><div class="c"><div class="o-grid hero3-content-wrap"><div class="hero3-title-wrap"><h1 class="text-title-h1">Moloco blog</h1></div></div></div><div class="spacer hero-2 bottom"></div></section><div data-wf--comp-divider-line--variant="base" class="divider-line"></div><section class="s no-padding"><div class="spacer hero-1 no-padding-2"></div><div class="c no-padding-3"><div class="featured w-dyn-list"><div role="list" class="featured-list w-dyn-items"><div reset-lr-margin="" role="listitem" class="o-grid hero1-main-wrapper w-dyn-item"><div class="blog-hero-img-wrap"><div class="blog-hero-media"><div data-wf--comp-visual--variant="base" class="visual"><div class="image-visual"><img alt="" src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa7f679f1c7321680687d6d_Bringing%20Moloco%20into%20focus-1x1.png" sizes="(max-width: 2752px) 100vw, 2752px" srcset="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa7f679f1c7321680687d6d_Bringing%20Moloco%20into%20focus-1x1-p-500.png 500w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa7f679f1c7321680687d6d_Bringing%20Moloco%20into%20focus-1x1-p-800.png 800w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa7f679f1c7321680687d6d_Bringing%20Moloco%20into%20focus-1x1.png 944w" class="image"/></div><div class="hide"></div><div class="hide"></div><div class="hide"></div></div></div></div><div class="blog-hero-content-wrap"><div class="index-title">
1775<div class="index-card-details"><div class="text-title-h5">September 14, 2026</div></div><h2 class="text-title-h2 no-padding-14">Bringing Moloco into focus</h2></div><p class="text-title-h4 no-padding-15">Today, we’re proud to unveil the next generation of the Moloco brand.</p><div class="btn-group no-padding-16"><button data-wf--comp-button--button-setup-variant="color-dark-on-light" aria-label="" class="button w-variant-7728b233-5cc0-7f5e-e38f-0b9046fac2fc"><a href="/blog/bringing-moloco-into-focus" class="button-link w-inline-block"></a><div data-attribute="button-text" class="text-title-h5">Read more</div></button></div></div></div></div></div></div></section><div data-wf--comp-divider-line--variant="base" class="divider-line"></div><section data-module="load-more" class="s"><div class="spacer index-section"></div><div class="c"><div data-module="size-switcher" class="index-main-wrapper"><div class="index-wrapper"><div data-module="filter-helper" class="filters-form-w w-form"><form id="email-form" name="email-form" data-name="Email Form" method="get" fs-list-element="filters" class="filters-form" data-wf-page-id="6a859c40faceefecb1c689ee" data-wf-element-id="ab65a0b9-175e-8625-6413-8f45e116bb3b" data-turnstile-sitekey="0x4AAAAAAAQTptj2So4dx43e"><div data-delay="0" data-hover="false" class="filters-w w-dropdown"><div class="filters-tog w-dropdown-toggle"><div data-attribute="current-text" class="text-title-h5">all solutions</div><div class="filter-w-icon"><div class="icon carrot"><div class="icon-svg w-embed"><svg width="100%" height="100%" viewBox="0 0 18 10" fill="none" xmlns="http://www.w3.org/2000/svg">
1776<path d="M0.353516 0.353546L8.85351 8.85355L17.3535 0.353546" stroke="currentColor"/>
1777</svg></div></div></div></div><nav class="filters w-dropdown-list"><div class="filter-list"><div class="filter-all"><label class="filter-button w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filter-radio w-radio-input w--redirected-checked"></div><input fs-list-value="" fs-list-field="cat" name="radio" data-name="radio" data-attribute="filter-trigger" type="radio" id="radio" style="opacity:0;position:absolute;z-index:-1" checked="" value="radio"/><span data-attribute="filter-text" class="text-title-h5 filter-text w-form-label" for="radio">all products</span></label></div><div class="filters-col w-dyn-list"><div role="list" class="filters-list w-dyn-items"><div role="listitem" class="filter-item w-dyn-item"><label class="filter-button w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filter-radio w-radio-input"></div><input fs-list-value="Moloco Ads" fs-list-field="cat" name="radio" data-name="radio" data-attribute="filter-trigger" type="radio" id="radio-3" style="opacity:0;position:absolute;z-index:-1" value="radio"/><span data-attribute="filter-text" class="text-title-h5 filter-text w-form-label" for="radio-3">Moloco Ads</span></label></div><div role="listitem" class="filter-item w-dyn-item"><label class="filter-button w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filter-radio w-radio-input"></div><input fs-list-value="Moloco SDK" fs-list-field="cat" name="radio" data-name="radio" data-attribute="filter-trigger" type="radio" id="radio-3" style="opacity:0;position:absolute;z-index:-1" value="radio"/><span data-attribute="filter-text" class="text-title-h5 filter-text w-form-label" for="radio-3">Moloco SDK</span></label></div><div role="listitem" class="filter-item w-dyn-item"><label class="filter-button w-radio"><div class="w-form-formradioinput w-form-formradioinput--inputType-custom filter-radio w-radio-input"></div><input fs-list-value="Moloco Commerce Media" fs-list-field="cat" name="radio" data-name="radio" data-attribute="filter-trigger" type="radio" id="radio-3" style="opacity:0;position:absolute;z-index:-1" value="radio"/><span data-attribute="filter-text" class="text-title-h5 filter-text w-form-label" for="radio-3">Moloco Commerce Media</span></label></div></div></div></div></nav></div><div class="filter-w-tier-2"><div class="input-filter-w">
1777<input class="input-filter w-input" maxlength="256" fs-list-field="itemTitle" name="field" data-name="Field" placeholder="search here" type="text" id="field" required=""/></div><div class="size-w"><div aria-label="Change view" data-attribute="size-selector" class="size-selector"><div aria-label="Select Large View" data-attribute="large-view" class="size-selector-item is-selected"><div class="small-view-icon w-embed"><svg width="100%" height="100%" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1778<rect width="12" height="4.5" fill="currentColor"/>
1779<rect y="7.5" width="12" height="4.5" fill="currentColor"/>
1780</svg></div></div><div aria-label="Select Small View" data-attribute="small-view" class="size-selector-item"><div class="small-view-icon w-embed"><svg width="100%" height="100%" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
1781<rect width="12" height="1" fill="currentColor"/>
1782<rect y="4" width="12" height="1" fill="currentColor"/>
1783<rect y="8" width="12" height="1" fill="currentColor"/>
1784<rect y="12" width="12" height="1" fill="currentColor"/>
1785</svg></div></div></div></div></div></form><div class="filter-success-hide w-form-done"><div>Thank you! Your submission has been received!</div></div><div class="filter-error-hide w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div><div class="index-col w-dyn-list"><div fs-list-load="more" data-attribute="size-switcher-list" fs-list-element="list" role="list" class="index-list w-dyn-items"><div role="listitem" class="index-items w-dyn-item"><div class="index-card-combo"><div class="index-filterable"><div fs-list-field="cat" class="hidden">Moloco Ads</div><div fs-list-field="itemTitle" class="hidden">Moloco launches Agency Partner Program with more than a dozen founding partners</div></div><div data-attribute="large-view-item" class="index-large-wrap"><a data-attribute="index-large" href="/blog/moloco-launches-agency-partner-program" class="index-card-lrg w-inline-block"><div class="index-card-img-w"><img src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa157febd6eba4cd9803860_dark-img-6-16x9.avif" alt="" class="index-card-img"/></div><div class="index-card-lrg-content"><h2 class="text-title-h3">Moloco launches Agency Partner Program with more than a dozen founding partners</h2><p class="text-body">
1785As advertisers push beyond search and social, it falls to agencies to find the next channel and turn it into measurable, incremental growth.</p></div><div class="index-card-details"><div class="tag"><div class="text-title-h5">Moloco Ads</div></div><div class="text-title-h5">August 13, 2026</div></div></a></div><div data-attribute="small-view-item" class="index-small-wrap"><a data-attribute="index-small" href="/blog/moloco-launches-agency-partner-program" class="index-card-sml w-inline-block"><div class="index-card-sml-title"><h3 class="text-title-h3">Moloco launches Agency Partner Program with more than a dozen founding partners</h3></div><div class="index-card-details"><div class="tag"><div class="text-title-h5">Moloco Ads</div></div><div class="text-title-h5">August 13, 2026</div></div></a></div></div></div><div role="listitem" class="index-items w-dyn-item"><div class="index-card-combo"><div class="index-filterable"><div fs-list-field="cat" class="hidden">Moloco Ads</div><div fs-list-field="itemTitle" class="hidden">Inside Moloco&#x27;s CARA: the AI that compounds</div></div><div data-attribute="large-view-item" class="index-large-wrap"><a data-attribute="index-large" href="/blog/inside-molocos-cara-the-ai-that-compounds" class="index-card-lrg w-inline-block"><div class="index-card-img-w"><img src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa157f48d634d283b443e5d_dark-img-5-16x9.avif" alt="" class="index-card-img"/></div><div class="index-card-lrg-content"><h2 class="text-title-h3">Inside Moloco&#x27;s CARA: the AI that compounds</h2><p class="text-body">Moloco has been building AI for performance advertising since 2013 and today we’re sharing more about our approach. We call our AI system CARA, short for Compound Ad Recommendation Architecture.</p></div><div class="index-card-details"><div class="tag"><div class="text-title-h5">Moloco Ads</div></div><div class="text-title-h5">August 7, 2026</div></div></a></div><div data-attribute="small-view-item" class="index-small-wrap"><a data-attribute="index-small" href="/blog/inside-molocos-cara-the-ai-that-compounds" class="index-card-sml w-inline-block"><div class="index-card-sml-title"><h3 class="text-title-h3">Inside Moloco&#x27;s CARA: the AI that compounds</h3></div><div class="index-card-details"><div class="tag"><div class="text-title-h5">Moloco Ads</div></div><div class="text-title-h5">August 7, 2026</div></div></a></div></div></div><div role="listitem" class="index-items w-dyn-item"><div class="index-card-combo"><div class="index-filterable"><div fs-list-field="cat" class="hidden">Moloco Ads</div><div fs-list-field="itemTitle" class="hidden">Discovery is shifting fast: New insights on AI, apps, and the fight for attention</div></div><div data-attribute="large-view-item" class="index-large-wrap"><a data-attribute="index-large" href="/blog/new-insights-on-ai-apps" class="index-card-lrg w-inline-block"><div class="index-card-img-w"><img src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa157d505137e71c5521f82_dark-img-4-16x9.avif" alt="" class="index-card-img"/></div><div class="index-card-lrg-content"><h2 class="text-title-h3">Discovery is shifting fast: New insights on AI, apps, and the fight for attention</h2><p class="text-body"></p></div><div class="index-card-details"><div class="tag"><div class="text-title-h5">Moloco Ads</div></div><div class="text-title-h5">August 6, 2026</div></div></a></div><div data-attribute="small-view-item" class="index-small-wrap"><a data-attribute="index-small" href="/blog/new-insights-on-ai-apps" class="index-card-sml w-inline-block"><div class="index-card-sml-title"><h3 class="text-title-h3">Discovery is shifting fast: New insights on AI, apps, and the fight for attention</h3></div><div class="index-card-details"><div class="tag"><div class="text-title-h5">Moloco Ads</div></div><div class="text-title-h5">August 6, 2026</div></div></a></div></div></div><div role="listitem" class="index-items w-dyn-item"><div class="index-card-combo"><div class="index-filterable"><div fs-list-field="cat" class="hidden">Moloco SDK</div><div fs-list-field="itemTitle" class="hidden">How sports apps are preparing for the next wave of fan engagement</div></div><div data-attribute="large-view-item" class="index-large-wrap"><a data-attribute="index-large" href="/blog/how-sports-apps-are-preparing-for-the-next-wave-of-fan-engagement" class="index-card-lrg w-inline-block"><div class="index-card-img-w"><img src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa157c5acf6ca866df73b19_dark-img-3-16x9.avif" alt="" class="index-card-img"/></div><div class="index-card-lrg-content"><h2 class="text-title-h3">How sports apps are preparing for the next wave of fan engagement</h2><p class="text-body">A growing number of football-focused publishers are turning to advanced monetization technology. Apps and platforms such as LiveScore, Sofascore, BeSoccer, 365Scores, and OneFootball are leveraging the Moloco SDK to help maximize ad revenue opportunities while maintaining positive experiences for millions of fans worldwide.</p></div>
1785<div class="index-card-details"><div class="tag"><div class="text-title-h5">Moloco SDK</div></div><div class="text-title-h5">July 2, 2026</div></div></a></div><div data-attribute="small-view-item" class="index-small-wrap"><a data-attribute="index-small" href="/blog/how-sports-apps-are-preparing-for-the-next-wave-of-fan-engagement" class="index-card-sml w-inline-block"><div class="index-card-sml-title"><h3 class="text-title-h3">How sports apps are preparing for the next wave of fan engagement</h3></div><div class="index-card-details"><div class="tag"><div class="text-title-h5">Moloco SDK</div></div><div class="text-title-h5">July 2, 2026</div></div></a></div></div></div><div role="listitem" class="index-items w-dyn-item"><div class="index-card-combo"><div class="index-filterable"><div fs-list-field="cat" class="hidden">Moloco Ads</div><div fs-list-field="itemTitle" class="hidden">Is your channel mix resilient in an AI-disrupted world?</div></div><div data-attribute="large-view-item" class="index-large-wrap"><a data-attribute="index-large" href="/blog/is-your-channel-mix-resilient-in-an-ai-disrupted-world" class="index-card-lrg w-inline-block"><div class="index-card-img-w"><img src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa14f0e48bdffed01fc9b87_dark-img-1-16x9.avif" alt="" class="index-card-img"/></div><div class="index-card-lrg-content"><h2 class="text-title-h3">Is your channel mix resilient in an AI-disrupted world?</h2><p class="text-body">AI isn’t just altering how we work. It’s fundamentally changing consumer behavior.</p></div><div class="index-card-details"><div class="tag"><div class="text-title-h5">Moloco Ads</div></div><div class="text-title-h5">May 28, 2026</div></div></a></div><div data-attribute="small-view-item" class="index-small-wrap"><a data-attribute="index-small" href="/blog/is-your-channel-mix-resilient-in-an-ai-disrupted-world" class="index-card-sml w-inline-block"><div class="index-card-sml-title"><h3 class="text-title-h3">Is your channel mix resilient in an AI-disrupted world?</h3></div><div class="index-card-details"><div class="tag"><div class="text-title-h5">Moloco Ads</div></div><div class="text-title-h5">May 28, 2026</div></div></a></div></div></div><div role="listitem" class="index-items w-dyn-item"><div class="index-card-combo"><div class="index-filterable"><div fs-list-field="cat" class="hidden">Moloco SDK</div><div fs-list-field="itemTitle" class="hidden">Gaming Solved App Monetization From Day One. Why Is the Rest of the App Economy Still Playing Catch-Up?</div></div><div data-attribute="large-view-item" class="index-large-wrap"><a data-attribute="index-large" href="/blog/gaming-solved-app-monetization" class="index-card-lrg w-inline-block"><div class="index-card-img-w"><img src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa14f1d67d03dedbb08442b_dark-img-2-16x9.avif" alt="" class="index-card-img"/></div><div class="index-card-lrg-content"><h2 class="text-title-h3">Gaming Solved App Monetization From Day One. Why Is the Rest of the App Economy Still Playing Catch-Up?</h2><p class="text-body">The next phase of app monetization will not be defined by how many SDKs a publisher adds. It will be defined by how effectively those partners are made to compete for each impression, and how much control the publisher retains over performance.Gaming solved this years ago. The rest of the app economy is just starting to catch up.</p></div><div class="index-card-details"><div class="tag"><div class="text-title-h5">Moloco SDK</div></div><div class="text-title-h5">May 5, 2026</div></div></a></div><div data-attribute="small-view-item" class="index-small-wrap"><a data-attribute="index-small" href="/blog/gaming-solved-app-monetization" class="index-card-sml w-inline-block"><div class="index-card-sml-title"><h3 class="text-title-h3">Gaming Solved App Monetization From Day One. Why Is the Rest of the App Economy Still Playing Catch-Up?</h3></div><div class="index-card-details"><div class="tag"><div class="text-title-h5">Moloco SDK</div></div><div class="text-title-h5">May 5, 2026</div></div></a></div></div></div><div role="listitem" class="index-items w-dyn-item"><div class="index-card-combo"><div class="index-filterable"><div fs-list-field="cat" class="hidden">Moloco Ads</div><div fs-list-field="itemTitle" class="hidden">Why Most Sportsbooks Miss Peak Demand, and How to Fix It</div></div><div data-attribute="large-view-item" class="index-large-wrap"><a data-attribute="index-large" href="/blog/why-most-sportsbooks-miss-peak-demand" class="index-card-lrg w-inline-block"><div class="index-card-img-w"><img src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa159f312c1006255747e18_dark-img-48-16x9.avif" alt="" class="index-card-img"/></div><div class="index-card-lrg-content"><h2 class="text-title-h3">Why Most Sportsbooks Miss Peak Demand, and How to Fix It</h2><p class="text-body">Peak demand during major sporting events is predictable, but often mistimed. Learn how aligning spend with high-intent moments can drive stronger acquisition and efficie
1785ncy, based on Cheltenham performance insights.</p></div><div class="index-card-details"><div class="tag"><div class="text-title-h5">Moloco Ads</div></div><div class="text-title-h5">April 22, 2026</div></div></a></div><div data-attribute="small-view-item" class="index-small-wrap"><a data-attribute="index-small" href="/blog/why-most-sportsbooks-miss-peak-demand" class="index-card-sml w-inline-block"><div class="index-card-sml-title"><h3 class="text-title-h3">Why Most Sportsbooks Miss Peak Demand, and How to Fix It</h3></div><div class="index-card-details"><div class="tag"><div class="text-title-h5">Moloco Ads</div></div><div class="text-title-h5">April 22, 2026</div></div></a></div></div></div><div role="listitem" class="index-items w-dyn-item"><div class="index-card-combo"><div class="index-filterable"><div fs-list-field="cat" class="hidden">Moloco Ads</div><div fs-list-field="itemTitle" class="hidden">The Singular 2026 ROI Index showcases Moloco as a top partner outside walled gardens</div></div><div data-attribute="large-view-item" class="index-large-wrap"><a data-attribute="index-large" href="/blog/singular-2026-roi-index" class="index-card-lrg w-inline-block"><div class="index-card-img-w"><img src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa159e939e9d57bd04d09b5_dark-img-47-16x9.avif" alt="" class="index-card-img"/></div><div class="index-card-lrg-content"><h2 class="text-title-h3">The Singular 2026 ROI Index showcases Moloco as a top partner outside walled gardens</h2><p class="text-body">Moloco appears on 27 leaderboards, placing us fifth overall for leaderboard appearances.</p></div><div class="index-card-details"><div class="tag"><div class="text-title-h5">Moloco Ads</div></div><div class="text-title-h5">April 2, 2026</div></div></a></div><div data-attribute="small-view-item" class="index-small-wrap"><a data-attribute="index-small" href="/blog/singular-2026-roi-index" class="index-card-sml w-inline-block"><div class="index-card-sml-title"><h3 class="text-title-h3">The Singular 2026 ROI Index showcases Moloco as a top partner outside walled gardens</h3></div><div class="index-card-details"><div class="tag"><div class="text-title-h5">Moloco Ads</div></div><div class="text-title-h5">April 2, 2026</div></div></a></div></div></div><div role="listitem" class="index-items w-dyn-item"><div class="index-card-combo"><div class="index-filterable"><div fs-list-field="cat" class="hidden">Moloco Commerce Media</div><div fs-list-field="itemTitle" class="hidden">Costco Chooses Moloco to Power AI-Driven Retail Media</div></div><div data-attribute="large-view-item" class="index-large-wrap"><a data-attribute="index-large" href="/blog/costco-chooses-moloco" class="index-card-lrg w-inline-block"><div class="index-card-img-w"><img src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa159dfb72dd8ebdc7a7d6b_dark-img-46-16x9.avif" alt="" class="index-card-img"/></div><div class="index-card-lrg-content"><h2 class="text-title-h3">Costco Chooses Moloco to Power AI-Driven Retail Media</h2><p class="text-body">We’re excited to announce that Costco has selected Moloco Commerce Media to power onsite advertising across Costco.com, bringing the magic of in-warehouse discovery to the digital shelf.</p></div><div class="index-card-details"><div class="tag"><div class="text-title-h5">Moloco Commerce Media</div></div><div class="text-title-h5">March 19, 2026</div></div></a></div><div data-attribute="small-view-item" class="index-small-wrap"><a data-attribute="index-small" href="/blog/costco-chooses-moloco" class="index-card-sml w-inline-block"><div class="index-card-sml-title"><h3 class="text-title-h3">Costco Chooses Moloco to Power AI-Driven Retail Media</h3></div><div class="index-card-details"><div class="tag"><div class="text-title-h5">Moloco Commerce Media</div></div><div class="text-title-h5">March 19, 2026</div></div></a></div></div></div></div><div role="navigation" aria-label="List" class="w-pagination-wrapper load-more-wrapper"><a href="?d1db73ca_page=2" aria-label="Next Page" class="w-pagination-next button is-loadmore"><div class="text-title-h5 w-inline-block">Load More</div></a><link rel="prerender" href="?d1db73ca_page=2"/></div></div></div></div></div><div class="spacer index-section"></div></section><div data-wf--comp-divider-line--variant="base" class="divider-line"></div><section data-wf--comp-cards-section--variant="3-grid" class="s b-top"><div class="spacer research-section"></div><div class="c"><div class="research-main-wrapper"><div class="research-card-title"><div data-wf--comp-header-centred--variant="base" class="o-grid heading-centre"><div class="section-header-title"><h2 class="text-title-h1">More Resources</h2></div></div></div><div class="research-card-wrapper"><div button-dark-on-light-hover-trigger="" data-wf--comp-tile--variant="base" class="tile"><div class="tile-content"><div class="tile-title-text"><div class="title-title-wrap"><h3 class="text-title-h3">Customers</h3></div><div class="tile-content-wrap"><p class="text-title-h4">Read direct operational case studies, validation metrics, and success playbooks from global growth leaders.</p></div></div><div class="tile-btn-w"><button data-wf--comp-button--button-setup-variant="color-dark-on-light" aria-label="" class="button w-variant-7728b233-5cc0-7f5e-e38f-0b9046fac2fc"><div data-attribute="button-text" class="text-title-h5">Read More</div></button></div></div><a href="/customers" class="tile-card-link w-inline-block"></a></div><div button-dark-on-light-hover-trigger="" data-wf--comp-tile--variant="base" class="tile"><div class="tile-content"><div class="tile-title-text"><div class="title-title-wrap"><h3 class="text-title-h3">Events</h3></div><div class="tile-content-wrap"><p class="text-title-h4">Secure registration passes for upcoming executive roundtables, keynote panels, and global ad-tech summits.</p></div></div><div class="tile-btn-w"><button data-wf--comp-button--button-setup-variant="color-dark-on-light" aria-label="" class="button w-variant-7728b233-5cc0-7f5e-e38f-0b9046fac2fc"><div data-attribute="button-text" class="text-title-h5">Read More</div></button></div></div><a href="/events" class="tile-card-link w-inline-block"></a></div><div button-dark-on-light-hover-trigger="" data-wf--comp-tile--variant="base" class="tile"><div class="tile-content"><div class="tile-title-text"><div class="title-title-wrap"><h3 class="text-title-h3">Newsroom</h3></div><div class="tile-content-wrap"><p class="text-title-h4">Read our latest corporate announcements, product innovations, industry research reports, and media coverage.</p></div></div><div class="tile-btn-w"><button data-wf--comp-button--button-setup-variant="color-dark-on-light" aria-label="" class="button w-variant-7728b233-5cc0-7f5e-e38f-0b9046fac2fc"><div data-attribute="button-text" class="text-title-h5">Read More</div></button></div></div><a href="/company/newsroom" class="tile-card-link w-inline-block"></a></div></div></div></div><div class="spacer research-section bottom"></div></section><div data-wf--comp-divider-line--variant="base" class="divider-line"></div><section class="s b-top"><div class="spacer cta-section"></div><div class="c"><div class="cta"><div class="cta-head"><h2 class="text-title-h1">Stay up to date</h2></div><div class="btn-group centre-only"><button data-wf--comp-button--button-setup-variant="color-dark-on-light" aria-label="" class="button w-variant-7728b233-5cc0-7f5e-e38f-0b9046fac2fc"><a href="/contact-us" class="button-link w-inline-block"></a><div data-attribute="button-text" class="text-title-h5">connect with our team</div></button></div></div></div><div class="spacer cta-section"></div></section><section class="footer"><div class="c"><div class="o-grid footer"><div class="footer-col _1"><a data-wf--comp-home--variant="base" href="/?r=0" class="home w-inline-block"><div class="home-logo w-embed">
1785<svg width="100%" height="100%" viewBox="0 0 159 40" fill="none" xmlns="http://www.w3.org/2000/svg">
1786<path d="M32.3841 25.5356C32.2118 26.914 23.1235 33.7634 19.0316 36.4913C6.22463 24.833 13.9825 13.4992 19.0316 9.81413C24.5593 12.0396 32.5995 23.8127 32.3841 25.5356Z" fill="url(#paint0_radial_624_16178)" stroke="currentColor" stroke-width="0.143575"/>
1787<path d="M42.3187 23.1433C42.3187 15.0635 35.7687 8.51333 27.6889 8.51331C19.609 8.51331 13.0588 15.0635 13.0588 23.1433C13.0589 31.2232 19.609 37.7732 27.6889 37.7732V39.7705L27.474 39.7689C18.4617 39.6548 11.1772 32.3705 11.0631 23.3582L11.0618 23.1433C11.0618 13.9605 18.506 6.51624 27.6889 6.51624L27.9037 6.51756C36.9876 6.6326 44.316 14.0322 44.316 23.1433L44.3145 23.3582C44.1994 32.442 36.8 39.7704 27.6889 39.7705V37.7732C35.7687 37.7732 42.3187 31.2232 42.3187 23.1433Z" fill="currentColor"/>
1788<path d="M5.26584 9.7664C3.5184 11.5138 3.06841 14.5229 4.12832 18.2491C5.17782 21.9386 7.66048 26.0984 11.3675 29.8054C15.0746 33.5125 19.2344 35.9953 22.924 37.0448C26.6502 38.1047 29.6592 37.6547 31.4067 35.9072C33.1541 34.1598 33.6039 31.1508 32.5441 27.4247C31.4946 23.7351 29.0118 19.5753 25.3047 15.8682C21.5977 12.1611 17.4379 9.6785 13.7484 8.62901C10.0222 7.56911 7.01329 8.01898 5.26584 9.7664ZM3.85357 8.35413C6.34475 5.86297 10.2571 5.55952 14.2947 6.708C18.369 7.86692 22.8155 10.5545 26.717 14.4559C30.6185 18.3574 33.306 22.804 34.4649 26.8782C35.6134 30.9159 35.31 34.8282 32.8188 37.3194C30.3276 39.8106 26.4152 40.1141 22.3775 38.9656C18.3033 37.8067 13.8568 35.119 9.95537 31.2176C6.0539 27.3161 3.36623 22.8697 2.20731 18.7954C1.05881 14.7578 1.36238 10.8453 3.85357 8.35413Z" fill="currentColor"/>
1789<path d="M35.8091 4.10056C33.6458 1.93724 29.949 1.41889 25.4439 2.70914C20.9764 3.98865 15.9508 6.99829 11.4746 11.4745C6.99835 15.9508 3.9888 20.9763 2.70929 25.4438C1.41904 29.9488 1.93739 33.6456 4.10072 35.809C6.26405 37.9723 9.96086 38.4906 14.4659 37.2004C18.9334 35.9209 23.9589 32.9113 28.4351 28.4351C32.9114 23.9589 35.921 18.9332 37.2005 14.4657C38.4908 9.96071 37.9724 6.2639 35.8091 4.10056ZM37.2212 2.68842C40.1314 5.59857 40.499 10.2021 39.1205 15.0155C37.7312 19.8665 34.517 25.1775 29.8473 29.8473C25.1776 34.5169 19.8666 37.731 15.0157 39.1203C10.2023 40.4989 5.59872 40.1312 2.68857 37.2211C-0.221565 34.3109 -0.589218 29.7074 0.789339 24.894C2.17865 20.0431 5.39273 14.7321 10.0624 10.0624C14.7321 5.39268 20.0432 2.17851 24.8942 0.789189C29.7075 -0.589358 34.3111 -0.22171 37.2212 2.68842Z" fill="currentColor"/>
1790<path d="M52.7019 31.7803V30.0527H54.6351C55.616 30.0527 56.1135 29.5005 56.1135 28.4526V12.2955C56.1135 11.2476 55.6302 10.6954 54.6351 10.6954H52.7019V8.96778H59.1128L65.5806 23.1991C65.7796 23.6239 65.9076 23.7796 66.1066 23.7796C66.3056 23.7796 66.4051 23.6239 66.6041 23.1991L73.2425 8.96778H79.426V10.6954H77.4643C76.4835 10.6954 76.0286 11.2476 76.0286 12.2955V28.4526C76.0286 29.5005 76.4835 30.0527 77.4643 30.0527H79.426V31.7803H69.973V30.0527H71.9347C72.8871 30.0527 73.3704 29.5005 73.3704 28.4526V13.2726C73.3704 13.0177 73.342 12.7911 73.1145 12.7911C72.8871 12.7911 72.816 13.0177 72.7592 13.1451L66.4193 26.6542L64.7846 27.5039L58.1746 13.2726C58.0467 13.0177 57.9188 12.9469 57.7766 12.9469C57.6345 12.9469 57.4781 13.0743 57.4781 13.4991V28.4526C57.4781 29.5005 57.9756 30.0527 58.9565 30.0527H60.9181V31.7803H52.7161H52.7019ZM87.9407 32.106C83.5341 32.106 79.8382 28.226 79.8382 23.6664C79.8382 19.1067 83.5341 15.1701 87.9407 15.1701C92.3473 15.1701 96.0432 19.0784 96.0432 23.6664C96.0432 28.2544 92.3473 32.106 87.9407 32.106ZM87.9407 30.874C90.9543 30.874 92.8448 28.042 92.8448 23.6805C92.8448 19.3191 90.9543 16.4162 87.9407 16.4162C84.9271 16.4162 83.0081 19.2766 83.0081 23.6805C83.0081 28.0844 84.9413 30.874 87.9407 30.874ZM96.8535 31.7803V30.0527H98.6872C99.5685 30.0527 100.023 29.5005 100.023 28.4526V11.3184C100.023 10.2705 99.5685 9.71829 98.6872 9.71829H96.8535V7.99071H102.511V28.4384C102.511 29.4863 102.937 30.0386 103.819 30.0386H105.652V31.7662H96.8535V31.7803ZM113.926 32.106C109.519 32.106 105.823 28.226 105.823 23.6664C105.823 19.1067 109.519 15.1701 113.926 15.1701C118.332 15.1701 122.028 19.0784 122.028 23.6664C122.028 28.2544 118.332 32.106 113.926 32.106ZM113.926 3
17900.874C116.939 30.874 118.83 28.042 118.83 23.6805C118.83 19.3191 116.939 16.4162 113.926 16.4162C110.912 16.4162 108.993 19.2766 108.993 23.6805C108.993 28.0844 110.926 30.874 113.926 30.874ZM131.78 15.1701C135.205 15.1701 137.508 17.0534 137.508 19.4749C137.508 21.8963 136.726 21.8538 135.347 21.8538C133.969 21.8538 133.414 21.1741 133.414 20.2254C133.414 19.2766 133.997 19.0217 133.997 18.073C133.997 17.1242 133.272 16.3737 131.68 16.3737C128.411 16.3737 126.605 19.6589 126.605 23.3407C126.605 27.0224 128.539 29.7554 131.765 29.7554C134.992 29.7554 136.143 28.1269 136.741 25.5497L137.92 25.8754C137.139 29.8828 134.679 32.0918 131.154 32.0918C127.629 32.0918 123.791 28.8066 123.791 24.0204C123.791 19.2341 127.16 15.1559 131.765 15.1559L131.78 15.1701ZM147.302 32.106C142.896 32.106 139.2 28.226 139.2 23.6664C139.2 19.1067 142.896 15.1701 147.302 15.1701C151.709 15.1701 155.405 19.0784 155.405 23.6664C155.405 28.2544 151.709 32.106 147.302 32.106ZM147.302 30.874C150.316 30.874 152.206 28.042 152.206 23.6805C152.206 19.3191 150.316 16.4162 147.302 16.4162C144.289 16.4162 142.37 19.2766 142.37 23.6805C142.37 28.0844 144.303 30.874 147.302 30.874Z" fill="currentColor"/>
1791<defs>
1792<radialGradient id="paint0_radial_624_16178" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(30.6179 25.9734) rotate(-144.028) scale(18.4906 16.2041)">
1793<stop offset="0.206731" stop-color="#8EEEE8"/>
1794<stop offset="0.754808" stop-color="#CFF88C"/>
1795<stop offset="1" stop-color="#FBFF8A"/>
1796</radialGradient>
1797</defs>
1798</svg></div></a></div><div class="footer-col _2"><div class="text-title-h3">Products</div><div class="footer-col-group"><div class="footer-col-list"><div class="footer-list-head no-u no-m"><a href="/moloco-ads" class="footer-link w-inline-block"><div class="text-title-h5">Moloco ads</div></a></div><div class="footer-link-group"><div class="footer-list-head"><div class="text-title-h5">capabilities</div></div><a href="/capabilities/moloco-ads/user-acquisition" class="footer-link w-inline-block"><div class="text-title-h5">user acquisition</div></a><a href="/capabilities/moloco-ads/re-engagement" class="footer-link w-inline-block"><div class="text-title-h5">re-engagement</div></a><a href="/capabilities/moloco-ads/performance-ctv" class="footer-link w-inline-block"><div class="text-title-h5">performance ctv</div></a><a href="/capabilities/moloco-ads/sdk" class="footer-link w-inline-block"><div class="text-title-h5">moloco sdk</div></a></div><div class="footer-link-group"><div class="footer-list-head"><div class="text-title-h5">technology</div></div><a href="/technology/moloco-ads/cara" class="footer-link w-inline-block"><div class="text-title-h5">cara for moloco ads</div></a></div><div class="footer-link-group"><div class="footer-list-head"><div class="text-title-h5">Industries</div></div><a href="/industries/moloco-ads/mobile-gaming" class="footer-link w-inline-block"><div class="text-title-h5">mobile gaming</div></a><a href="/industries/moloco-ads/finance" class="footer-link hide-zh w-inline-block"><div class="text-title-h5">finance</div></a><a href="/industries/moloco-ads/igaming" class="footer-link hide-ko-ja-zh w-inline-block"><div class="text-title-h5">igaming &amp; prediction markets</div></a><a href="/industries/moloco-ads/on-demand-services" class="footer-link w-inline-block"><div class="text-title-h5">on-demand services</div></a><a href="/industries/moloco-ads/agencies" class="footer-link hide-ko w-inline-block"><div class="text-title-h5">agencies</div></a></div><div class="footer-link-group"><div class="footer-list-head"><div class="text-title-h5">support</div></div><a href="/help-center" class="footer-link w-inline-block"><div class="text-title-h5">help center</div></a><a href="https://developer.moloco.cloud/docs/getting-started" target="_blank" class="footer-link w-inline-block"><div class="text-title-h5">moloco ads developer hub</div></a></div></div><div class="footer-col-list"><div class="footer-list-head no-u no-m"><a href="/moloco-commerce-media" class="footer-link w-inline-block"><div class="text-title-h5">Moloco commerce media</div></a></div><div class="footer-link-group"><div class="footer-list-head"><div class="text-title-h5">capabilities</div></div><a href="/capabilities/moloco-commerce-media/simplified-ad-ops" class="footer-link w-inline-block"><div class="text-title-h5">simplified ad ops</div></a><a href="/capabilities/moloco-commerce-media/ad-formats-and-capabilities" class="footer-link w-inline-block"><div class="text-title-h5">ad formats and capabilities</div></a><a href="/capabilities/moloco-commerce-media/ai-engine" class="footer-link w-inline-block"><div class="text-title-h5">ai engine</div></a><a href="/capabilities/moloco-commerce-media/agentic-commerce" class="footer-link w-inline-block"><div class="text-title-h5">agentic commerce</div></a></div><div class="footer-link-group"><div class="footer-list-head"><div class="text-title-h5">technology</div></div><a href="/technology/moloco-commerce-media/cara-for-mcm" class="footer-link w-inline-block"><div class="text-title-h5">cara for moloco commerce media</div></a></div><div class="footer-link-group"><div class="footer-list-head"><div class="text-title-h5">support</div></div><a href="https://mcm-docs.moloco.com/docs/what-is-moloco-mcm" target="_blank" class="footer-link w-inline-block"><div class="text-title-h5">Moloco Commerce Media Docs</div></a></div><a href="/moloco-next" class="footer-link w-inline-block"><div class="text-title-h5">moloco next</div></a></div></div></div><div class="footer-col _3"><div class="footer-col-group"><div class="footer-col-list larger"><div class="footer-link-group bigger"><div class="footer-list-head no-u"><div class="text-title-h3">Resources</div></div><a href="/blog" aria-current="page" class="footer-link w-inline-block w--current"><div class="text-title-h5">blogs</div></a><a href="/research" class="footer-link w-inline-block"><div class="text-title-h5">reports</div></a><a href="/customers" class="footer-link w-inline-block"><div class="text-title-h5">customers</div></a><a href="/events" class="footer-link w-inline-block"><div class="text-title-h5">events</div></a></div><div class="footer-link-group"><div class="footer-list-head no-u"><div class="text-title-h3">Company</div></div><a href="/company/about" class="footer-link w-inline-block"><div class="text-title-h5">about moloco</div></a><a href="/company/leadership" class="footer-link w-inline-block"><div class="text-title-h5">leadership</div></a><a href="/company/careers" class="footer-link w-inline-block"><div class="text-title-h5">careers</div></a><a href="/company/newsroom" class="footer-link w-inline-block"><div class="text-title-h5">newsroom</div></a><a href="/contact-us" class="footer-link w-inline-block"><div class="text-title-h5">Contact Us</div></a></div></div></div></div><div class="footer-col _4"><div class="footer-col-group"><div class="footer-col-list"><div class="footer-link-group"><div class="footer-list-head no-u"><div class="text-title-h3">Terms and policies</div></div><a href="/terms-and-policies/advertising-privacy-notice" class="footer-link w-inline-block"><div class="text-title-h5">advertising services privacy notice</div></a><a href="/terms-and-policies/brand-safety-policy" class="footer-link w-inline-block"><div class="text-title-h5">brand safety policy</div></a><a href="/terms-and-policies/website-privacy-notice" class="footer-link w-inline-block"><div class="text-title-h5">website privacy notice</div></a><a href="/terms-and-policies/privacy-portal" class="footer-link w-inline-block"><div class="text-title-h5">privacy portal</div></a><a href="/terms-and-policies/security" class="footer-link w-inline-block"><div class="text-title-h5">security</div></a><a href="/terms-and-policies/supplier-portal" class="footer-link w-inline-block"><div class="text-title-h5">supplier portal</div></a><a href="/terms-and-policies/terms-of-use" class="footer-link w-inline-block"><div class="text-title-h5">terms of use</div></a><a href="/compliance" class="footer-link w-inline-block"><div class="text-title-h5">ethics &amp; compliance</div></a><a href="/terms-and-policies/equal-employment-opportunity" class="footer-link w-inline-block"><div class="text-title-h5">eeo statement &amp; notices</div></a><div class="footer-link is-privacy"><div class="privacy-icon"><img src="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a9eb6704889ba49768192f1_privacyoptions.svg" loading="lazy" alt=""/></div><div id="ot-sdk-link" class="footer-link is-privacy ot-sdk-show-settings text-title-h5"><div class="text-title-h5">your privacy choices</div></div></div></div><div class="footer-link-group"><div class="footer-list-head no-u"><div class="text-title-h3">Social</div></div><a href="https://www.linkedin.com/company/moloco" target="_blank" class="footer-link w-inline-block"><div class="text-title-h5">linkedin</div></a><a href="https://www.youtube.com/@moloco_inc" target="_blank" class="footer-link w-inline-block"><div class="text-title-h5">youtube</div></a></div><div class="footer-link-group"><div class="text-title-h5">© 2026 Moloco, Inc.</div></div></div></div></div></div></div></section></div></main></div>
1798<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=6a59dd0133b776de7ec526cd" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
1798<script src="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/js/ob-moloco.schunk.ba760fa92eaa03b1.js" type="text/javascript" integrity="sha384-T9TNhF0359dpaj+K5vWBMqHYMWkteTCzyfQNbZBmTr6K+kQQSP5JwU7rs68H4P77" crossorigin="anonymous"></script>
1798<script src="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/js/ob-moloco.f1bf4a91.65bad87f12498448.js" type="text/javascript" integrity="sha384-mnUbIEFg3aggPtoBMeAYiDeAFAvAX6CufuMdRw+ZNZ/RNVifpKF+FdkGXv1LIizM" crossorigin="anonymous"></script>
1798<script src="https://cdn.prod.website-files.com/gsap/3.15.0/gsap.min.js" type="text/javascript"></script>
1798<script src="https://cdn.prod.website-files.com/gsap/3.15.0/ScrollTrigger.min.js" type="text/javascript"></script>
1798<!-- Google Tag Manager (noscript) -->
vendor: 67 bytes, line 1798
1798<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
1798GTM-WM7MN68
vendor: 86 bytes, lines 1798-1799
1798" height="0" width="0" style="display: none; visibility: hidden"></iframe></noscript
1799>
1799<!-- End Google Tag Manager (noscript) -->
1800
1801<!-- Welcome -->
1802<script>
1803  
1804  function excludeOneTrustFromLenis() {
1805    const oneTrustElements = document.querySelectorAll('.dg-consent-banner, #onetrust-banner-sdk, #onetrust-pc-sdk, #onetrust-consent-sdk');
1806
1807    oneTrustElements.forEach((el) => {
1808      el.setAttribute('data-lenis-prevent', '');
1809    });
1810  }
1811  excludeOneTrustFromLenis();
1812  const observer = new MutationObserver(() => {
1813    excludeOneTrustFromLenis();
1814  });
1815  observer.observe(document.body, {
1816    childList: true,
1817    subtree: true,
1818  });
1819</script>
1819</body></html>

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