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 & 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'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'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'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 & 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 & compliance</div></a><a href="/terms-and-policies/equal-employment-opportunity" class="footer-link w-inline-block"><div class="text-title-h5">eeo statement & 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.