<!DOCTYPE html><!-- Last Published: Mon Aug 31 2026 05:23:51 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="www.napster.com" data-wf-page="6a2ad426365d3290a62eaded" data-wf-site="69ae6251111a514c4038172a" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Napster | Visible AI Agents with Voice, Video and Memory</title><meta content="Create, deploy and talk to lifelike AI agents with voice, video presence, memory and real-time utility across apps, websites and workplaces." name="description"/><meta content="Napster is an AI agent platform that enables organizations and individuals to deploy specialized AI companions with persistent memory, video presence, and real-time voice capabilities." property="og:title"/><meta content="Create, deploy and talk to lifelike AI agents with voice, video presence, memory and real-time utility across apps, websites and workplaces." property="og:description"/><meta content="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69ae7637393b1f52d86dd343_opengraph.png" property="og:image"/><meta content="Napster is an AI agent platform that enables organizations and individuals to deploy specialized AI companions with persistent memory, video presence, and real-time voice capabilities." name="twitter:title"/><meta content="Create, deploy and talk to lifelike AI agents with voice, video presence, memory and real-time utility across apps, websites and workplaces." name="twitter:description"/><meta content="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69ae7637393b1f52d86dd343_opengraph.png" name="twitter:image"/><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/69ae6251111a514c4038172a/css/napsternew.shared.b4e751a67.min.css" rel="stylesheet" type="text/css" integrity="sha384-tOdRpnXrk0zA3VG9p2SGuUpYvFuSsV0Ks3+y+BK9ol9BP1PKA8GIt6AOhiQwOFr9" crossorigin="anonymous"/><link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/><script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script><script type="text/javascript">WebFont.load({  google: {    families: ["Inter:300,400,500,600,700"]  }});</script><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><link href="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b162fe58ef2659030d9f17_favicon.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b162f5db8482341a9f75f0_webclip-napster.png" rel="apple-touch-icon"/><link href="https://www.napster.com" rel="canonical"/><script type="application/ld+json">
{
  "@context": "https://schema.org",
  "video": {
    "@type": "VideoObject",
    "name": "Napster AI agents", 
    "description": "AI agents you can see, talk to, and create with.",
    "thumbnailUrl": [
      "https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69afcd061331a30366d33fc7_bg-hero1.avif"
    ],
    "uploadDate": "2026-04-01",
    "duration": "PT0M46S",
    "embedUrl": "https://www.napster.com/station",
    "contentUrl": "https://demoassets.touchcast.com/webflow-assets/videos/napster-intro-new_1.webm"
  }
}
</script><!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-DCKSBF6366"></script>
<script defer src="https://cdn.jsdelivr.net/npm/swiper@12/swiper-bundle.min.js"></script>
<script defer>
  window.dataLayer = window.dataLayer || [];
  function gtag() {
    dataLayer.push(arguments);
  }
  gtag('js', new Date());

  gtag('config', 'G-DCKSBF6366');
</script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-18191336479"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag() {
    dataLayer.push(arguments);
  }
  gtag('js', new Date());

  gtag('config', 'AW-18191336479');
</script>
<!-- ============================================================
     SCHEMA 1: ORGANIZATION (Global)
     ============================================================ -->
<script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "Organization",
    "name": "Napster",
    "legalName": "Napster Corporation",
    "url": "https://www.napster.com",
    "logo": "https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b2676cfaca4a559c6d5fcc_napster-logo.svg",
    "description": "Napster is an AI agent platform that enables organizations and individuals to deploy specialized AI companions with persistent memory, video presence, and real-time voice capabilities.",
    "foundingDate": "1999",
    "sameAs": [
      "https://www.linkedin.com/company/napstercorp/",
      "https://www.youtube.com/@napstercorp",
      "https://www.instagram.com/napstercorp/",
      "https://x.com/napster_corp",
      "https://www.facebook.com/napstercorp/"
    ],
    "contactPoint": [
      {
        "@type": "ContactPoint",
        "contactType": "sales",
        "url": "https://www.napster.com/contact"
      },
      {
        "@type": "ContactPoint",
        "contactType": "customer support",
        "url": "https://help.napster.com/hc/en-us"
      }
    ],
    "address": {
      "@type": "PostalAddress",
      "addressCountry": "US"
    }
  }
</script>
<script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "WebSite",
    "name": "Napster",
    "url": "https://www.napster.com",
    "description": "AI companions with video presence, persistent memory, and real-time voice. For consumers, enterprises, and developers.",
    "publisher": {
      "@type": "Organization",
      "name": "Napster",
      "url": "https://www.napster.com"
    }
  }
</script>

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css" />
<script type="text/javascript">
  +(function (a, p, P, b, y) {
    a.braze = {};
    a.brazeQueue = [];
    for (var s = 'BrazeSdkMetadata DeviceProperties Card Card.prototype.dismissCard Card.prototype.removeAllSubscriptions Card.prototype.removeSubscription Card.prototype.subscribeToClickedEvent Card.prototype.subscribeToDismissedEvent Card.fromContentCardsJson ImageOnly CaptionedImage ClassicCard ControlCard ContentCards ContentCards.prototype.getUnviewedCardCount ControlMessage InAppMessage InAppMessage.SlideFrom InAppMessage.ClickAction InAppMessage.DismissType InAppMessage.OpenTarget InAppMessage.ImageStyle InAppMessage.Orientation InAppMessage.TextAlignment InAppMessage.CropType InAppMessage.prototype.closeMessage InAppMessage.prototype.removeAllSubscriptions InAppMessage.prototype.removeSubscription InAppMessage.prototype.subscribeToClickedEvent InAppMessage.prototype.subscribeToDismissedEvent InAppMessage.fromJson FullScreenMessage ModalMessage HtmlMessage SlideUpMessage User User.Genders User.NotificationSubscriptionTypes User.prototype.addAlias User.prototype.addToCustomAttributeArray User.prototype.addToSubscriptionGroup User.prototype.getUserId User.prototype.getUserId User.prototype.incrementCustomUserAttribute User.prototype.removeFromCustomAttributeArray User.prototype.removeFromSubscriptionGroup User.prototype.setCountry User.prototype.setCustomLocationAttribute User.prototype.setCustomUserAttribute User.prototype.setDateOfBirth User.prototype.setEmail User.prototype.setEmailNotificationSubscriptionType User.prototype.setFirstName User.prototype.setGender User.prototype.setHomeCity User.prototype.setLanguage User.prototype.setLastKnownLocation User.prototype.setLastName User.prototype.setPhoneNumber User.prototype.setPushNotificationSubscriptionType User.prototype.setLineId InAppMessageButton InAppMessageButton.prototype.removeAllSubscriptions InAppMessageButton.prototype.removeSubscription InAppMessageButton.prototype.subscribeToClickedEvent FeatureFlag FeatureFlag.prototype.getStringProperty FeatureFlag.prototype.getNumberProperty FeatureFlag.prototype.getBooleanProperty FeatureFlag.prototype.getImageProperty FeatureFlag.prototype.getJsonProperty FeatureFlag.prototype.getTimestampProperty Banner Banner.prototype.getStringProperty Banner.prototype.getNumberProperty Banner.prototype.getBooleanProperty Banner.prototype.getImageProperty Banner.prototype.getJsonProperty Banner.prototype.getTimestampProperty automaticallyShowInAppMessages hideContentCards showContentCards showInAppMessage deferInAppMessage toggleContentCards changeUser destroy getDeviceId getDeviceId initialize isPushBlocked isPushPermissionGranted isPushSupported logCardDismissal logContentCardImpressions logContentCardClick logBannerImpressions logBannerClick logCustomEvent logInAppMessageButtonClick logInAppMessageClick logInAppMessageHtmlClick logInAppMessageImpression logPurchase openSession requestPushPermission removeAllSubscriptions removeSubscription requestContentCardsRefresh refreshFeatureFlags requestImmediateDataFlush enableSDK isDisabled setLogger setSdkAuthenticationSignature addSdkMetadata disableSDK subscribeToContentCardsUpdates subscribeToInAppMessage subscribeToSdkAuthenticationFailures toggleLogging unregisterPush wipeData handleBrazeAction subscribeToFeatureFlagsUpdates getAllFeatureFlags logFeatureFlagImpression requestBannersRefresh insertBanner getAllBanners subscribeToBannersUpdates isInitialized'.split(' '), i = 0; i < s.length; i++) {
      for (var m = s[i], k = a.braze, l = m.split('.'), j = 0; j < l.length - 1; j++) k = k[l[j]];
      k[l[j]] = new Function('return function ' + m.replace(/\./g, '_') + '(){window.brazeQueue.push(arguments); return true}')();
    }
    window.braze.getDeferredInAppMessage = function () {
      return new window.braze.InAppMessage();
    };
    window.braze.getCachedContentCards = function () {
      return new window.braze.ContentCards();
    };
    window.braze.getUser = function () {
      return new window.braze.User();
    };
    window.braze.getFeatureFlag = function () {
      return new window.braze.FeatureFlag();
    };
    window.braze.getBanner = function () {
      return new window.braze.Banner();
    };
    window.braze.newBannerFromJson = function () {
      return new window.braze.Banner();
    };
    (y = p.createElement(P)).type = 'text/javascript';
    y.src = 'https://js.appboycdn.com/web-sdk/6.6/braze.min.js';
    y.async = 1;
    (b = p.getElementsByTagName(P)[0]).parentNode.insertBefore(y, b);
  })(window, document, 'script');
</script>
<script>
  // initialize the SDK
  braze.initialize('c961373b-492e-44e6-80b8-01a6ff13e9d5', {
    baseUrl: 'https://sdk.iad-01.braze.com/',
    enableLogging: false,
    allowUserSuppliedJavascript: false,
  });
</script>
<style>
  strong {
    font-weight: 600;
  }
  body {
    overflow-x: hidden;
    color: #ffffff;
  }
  .hide-overflow {
    height: 100% !important;
    overflow-y: hidden !important;
    touch-action: none;
    -ms-touch-action: none;
  }
  .napster-header.sticky {
    background: #000 !important;
  }
  .napster-sm-header.sticky {
    background: #000 !important;
  }
  .napster-nav-menu::before {
    content: '';
    top: 0;
    left: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(75px);
    border-radius: 8px;
  }

  .napster-trusted-scroll-1 .slick-track {
    display: flex;
    align-items: center;
  }

  .napster-trusted-logos::before,
  .napster-trusted-logos::after {
    position: absolute;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    content: '';
    height: 100%;
    width: 15%;
    z-index: 2;
    pointer-events: none;
  }
  .napster-trusted-logos::before {
    left: 0;
    top: 0;
  }
  .napster-trusted-logos::after {
    right: -1px;
    top: 0;
    transform: rotateZ(180deg);
  }

  .npr-learn-btn::before,
  .nprlrn-twin-btn::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    background: url(https://cdn.prod.website-files.com/686e1da81a9a9b6c64c7a164/69b0e5776239e47c140a0520_btn-border.png) no-repeat right center;
    background-size: contain;
  }

  .npr-global-trans-btn:hover img {
    transform: translateX(4px);
    transition: all 0.5s ease;
  }
  @media (max-width: 991px) {
    .napster-sm-menu-open {
      display: block;
    }
    .napster-sm-dropdown-list.w--open {
      position: static;
    }
  }

  body {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  /* Hide br tags on screens smaller than 500px, text format */
  [data-brake] br {
    display: none;
  }

  @media (min-width: 501px) {
    [data-brake] br {
      display: inline;
    }
  }

  #CookiebotWidgetIcon,
  .coookie-icon-img {
    width: 48px;
    height: 48px;
    position: fixed;
    bottom: 10px;
    left: 10px;
    min-height: 48px;
    min-width: 48px;
    transition: all 0.2s ease-in;
    cursor: pointer;
    z-index: 999999;
    opacity: 1;
  }
</style>
<meta name="twitter:site" content="@napster_corp" />
<style>
  .transition-fade {
    opacity: 1;
    transition: 0.4s;
  }

  html.is-animating .transition-fade {
    opacity: 0;
  }

  .ask-to-agent {
    position: fixed;
    bottom: 28px;
    right: 28px;
    z-index: 999;
    display: flex;
    align-items: center;
    gap: 10px;
    background: #be369d;
    color: #fff;
    border: none;
    cursor: pointer;
    padding: 12px 20px 12px 14px;
    border-radius: 999px;
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    box-shadow:
      0 0 32px rgba(240, 4, 127, 0.55),
      0 4px 24px rgba(0, 0, 0, 0.5);
    transition:
      transform 0.2s,
      box-shadow 0.2s;
    white-space: nowrap;
  }
  .ask-to-agent:hover {
    transform: translateY(-3px);
    box-shadow:
      0 0 48px rgba(240, 4, 127, 0.75),
      0 8px 32px rgba(0, 0, 0, 0.5);
  }
  .ask-to-agent:active {
    transform: translateY(-1px);
  }
  .kai-avatar {
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .kai-avatar svg {
    width: 18px;
    height: 18px;
    opacity: 0.95;
  }

  .ask-to-agent::before {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 999px;
    border: 2px solid rgba(240, 4, 127, 0.5);
    animation: pulse-ring 2.4s ease-out infinite;
    pointer-events: none;
  }
  @keyframes pulse-ring {
    0% {
      transform: scale(1);
      opacity: 0.7;
    }
    70% {
      transform: scale(1.12);
      opacity: 0;
    }
    100% {
      transform: scale(1.12);
      opacity: 0;
    }
  }

.demo-popup {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 10000;
    transform: translate(-50%, -50%); 
    width: 300px;
    padding: 22px 20px 20px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    font-family: inherit;
    text-align: center;
    transition: opacity .4s cubic-bezier(.4, 0, .2, 1);
    background: linear-gradient(135deg, rgba(234,45,210,0.16) 0%, rgba(120,50,110,0.20) 45%, rgba(60,55,65,0.28) 100%);
  backdrop-filter: blur(22px) saturate(180%);
  -webkit-backdrop-filter: blur(22px) saturate(180%);
  border: 1px solid rgba(255,255,255,0.28);
  border-radius: 22px;
  box-shadow:
    0 8px 32px rgba(190,54,157,0.22),
    0 2px 6px rgba(0,0,0,0.20),
    inset 0 1px 0 rgba(255,255,255,0.35),
    inset 0 0 40px rgba(234,45,210,0.05);
  overflow: hidden;
  }
  .demo-popup.is-visible {
    display: block;
    animation: demoPopupIn 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  }
  @keyframes demoPopupIn {
    from {
      opacity: 0;
      transform: translate(-50%, -50%) scale(0.96);
    }
    to {
      opacity: 1;
      transform: translate(-50%, -50%) scale(1);
    }
  }
  body.demo-open::before {
    content: '';
    position: fixed;
    inset: 0;
    background: rgba(17, 24, 39, 0.5);
    z-index: 9999; /* just below the popup */
  }
  .demo-popup__close {
    position: absolute;
    top: 10px;
    right: 12px;
    background: none;
    border: none;
    font-size: 20px;
    line-height: 1;
    color: #fff;
    cursor: pointer;
    padding: 2px;
  }
  .demo-popup__close:hover {
    color: #fff;
  }
  .demo-popup__icon {
    width: 52px;
    height: 52px;
    margin: 0 auto 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    border-radius: 50%;
  }
  .demo-popup__title {
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 6px;
  }
  .demo-popup__text {
    font-size: 13.5px;
    color: #fff;
    line-height: 1.45;
    margin-bottom: 16px;
  }
  .demo-popup__btn {
    width: 100%;
    padding: 12px 18px;
    border: none;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    background-color: rgb(190, 54, 157);
    color: rgb(255, 255, 255);
    box-shadow: rgba(0, 0, 0, 0.25) 1px 2px 10px;
    transition:
      transform 0.15s ease,
      box-shadow 0.15s ease;
  }
  .demo-popup__btn:hover {
    transform: translateY(-1px);
  }
  .demo-popup__btn:active {
    transform: translateY(0);
  }
</style>
<script>
(function () {
  'use strict';

  if (window.__spaRouterBooted) return;
  window.__spaRouterBooted = true;

  const PERSISTENT_SELECTORS = [
    'nav', '.w-nav', '.w-nav-bar', 'header', '.drawer',
    '.napster-header',
    '.napster-mobile-nav',
  ];

  const TRANSITION_MS = 220;
  const cache = {};

  const globalScriptTexts = new Set();
  const globalExternalSrcs = new Set();

  let _fsEl = null;
  let _fsNavCount = 0;

  const _setInterval = window.setInterval;
  const _setTimeout  = window.setTimeout;
  let pageIntervals = [];
  let pageTimeouts  = [];

  window.setInterval = function (fn, delay, ...args) {
    const wrapped = typeof fn === 'function' ? function (...cbArgs) {
      try { fn.apply(this, cbArgs); }
      catch (e) {
        clearInterval(id);
        pageIntervals = pageIntervals.filter(i => i !== id);
        console.warn('[SPA] auto-cleared broken interval:', e.message);
      }
    } : fn;
    const id = _setInterval.call(this, wrapped, delay, ...args);
    pageIntervals.push(id);
    return id;
  };
  window.setTimeout = function (...args) {
    const id = _setTimeout.apply(this, args);
    pageTimeouts.push(id);
    return id;
  };

  function clearPageTimers() {
    pageIntervals.forEach(id => clearInterval(id));
    pageTimeouts.forEach(id => clearTimeout(id));
    pageIntervals = [];
    pageTimeouts  = [];
  }

  const style = document.createElement('style');
  style.textContent = `
    #spa-content {
      transition: opacity ${TRANSITION_MS}ms ease, transform ${TRANSITION_MS}ms ease;
    }
    #spa-content.spa-leave { opacity: 0; transform: translateY(6px); }
    #spa-content.spa-enter { opacity: 0; transform: translateY(-6px); }
  `;
  document.head.appendChild(style);

  function wrapContent() {
    if (document.getElementById('spa-content')) return;

    const wrapper = document.createElement('div');
    wrapper.id = 'spa-content';

    const persistentEls = new Set(
      PERSISTENT_SELECTORS.flatMap(sel => [...document.querySelectorAll(sel)])
    );

    [...document.body.children]
      .filter(el => !persistentEls.has(el))
      .forEach(el => wrapper.appendChild(el));

    document.body.appendChild(wrapper);
  }

  async function fetchPage(url) {
    if (cache[url]) return cache[url];
    const res = await fetch(url, { credentials: 'same-origin' });
    if (!res.ok) throw new Error(`HTTP ${res.status}`);
    const doc = new DOMParser().parseFromString(await res.text(), 'text/html');
    cache[url] = doc;
    return doc;
  }

  function extractContent(doc) {
    const remote = doc.getElementById('spa-content');
    if (remote) return remote.innerHTML;

    const persistentEls = new Set(
      PERSISTENT_SELECTORS.flatMap(sel => [...doc.querySelectorAll(sel)])
    );
    return [...doc.body.children]
      .filter(el => !persistentEls.has(el))
      .map(el => el.outerHTML)
      .join('');
  }

  function refineGlobalScripts(doc) {
    const fetchedTexts = new Set(
      [...doc.querySelectorAll('script:not([src])')].map(s => s.textContent.trim()).filter(Boolean)
    );
    globalScriptTexts.forEach(text => {
      if (!fetchedTexts.has(text)) globalScriptTexts.delete(text);
    });
  }

  const REINIT_PATTERNS = [
    /\.slick\s*\(\s*\{/,
    /new\s+Swiper\s*\(/,
    /new\s+Glide\s*\(/,
    /\.flickity\s*\(/,
    /\.owlCarousel\s*\(/,
    /\.carousel\s*\(/,
    /restartTimerBar/,
    /restartProgressBar/,
    /lightboxInit\s*\(/,
    /npLightbox/,
    /data-lightbox-button/,
    /detectUserCountry/,
    /contentSets\s*=/,
    /hbspt\.forms\.create/,
    /hbspt\.forms/,
    /napster-sm-hamberger/,
    /\[data-reveal\]/,
    /loadNapsterSDK\s*\(/,
    /openDemoFormTab\s*\(/,
  ];

  function needsReinit(text) {
    return REINIT_PATTERNS.some(p => p.test(text));
  }

  const SKIP_INLINE_PATTERNS = [
    /new\s+Swup\s*\(/,
  ];

  function shouldSkipInline(text) {
    return SKIP_INLINE_PATTERNS.some(p => p.test(text));
  }

  function destroySliders(container) {
    if (window.jQuery) {
      try { window.jQuery(container).find('.slick-initialized').slick('unslick'); } catch (_) {}
    }
    container.querySelectorAll('.swiper-initialized').forEach(el => {
      if (el.swiper) try { el.swiper.destroy(true, true); } catch (_) {}
    });
  }

  const GLOBAL_SCRIPT_PATTERNS = [
    /napster-companion-api/,
    /touchcastllc/,
    /touchcastmaas/,
    /\/swup[@/]/,
    /unpkg\.com\/swup/,
  ];

  const REINIT_EXTERNAL_PATTERNS = [
    /hsforms\.net/,
    /js\.hs-scripts/,
  ];

  function loadBodyExternalScripts(container) {
    const loads = [];

    container.querySelectorAll('script[src]').forEach(el => {
      const src = el.src;

      if (REINIT_EXTERNAL_PATTERNS.some(p => p.test(src))) {
        document.querySelectorAll(`script[src="${src}"]`).forEach(s => s.remove());
        const p = new Promise(resolve => {
          const s = document.createElement('script');
          [...el.attributes].forEach(a => s.setAttribute(a.name, a.value));
          s.onload  = resolve;
          s.onerror = resolve;
          document.head.appendChild(s);
        });
        loads.push(p);
        return;
      }

      if (globalExternalSrcs.has(src)) return;
      if (GLOBAL_SCRIPT_PATTERNS.some(p => p.test(src))) return;

      const p = new Promise(resolve => {
        const s = document.createElement('script');
        [...el.attributes].forEach(a => s.setAttribute(a.name, a.value));
        s.onload  = () => { globalExternalSrcs.add(src); resolve(); };
        s.onerror = () => { resolve(); };
        document.head.appendChild(s);
      });
      loads.push(p);
    });

    return Promise.all(loads);
  }

  function wrapIfNeeded(text) {
    const needsIife = /^\s*(const|let)\s/m.test(text);

    const jqShadowed = window.jQuery && $ !== window.jQuery;
    const scriptHasOwnDollar = jqShadowed && /\bconst\s+\$\s*=/.test(text);
    const injectJq = jqShadowed && !scriptHasOwnDollar;

    if (!needsIife && !injectJq) return text;
    if (injectJq) {
      return `(function($,jQuery){\n${text}\n})(window.jQuery,window.jQuery);`;
    }
    return `(function(){\n${text}\n})();`;
  }

  function runScripts(container) {
    container.querySelectorAll('script').forEach(oldScript => {
      if (oldScript.src) return;
      const text = oldScript.textContent.trim();
      if (!text) return;
      if (shouldSkipInline(text)) return;
      if (globalScriptTexts.has(text) && !needsReinit(text)) return;
      try {
        const s = document.createElement('script');
        [...oldScript.attributes].forEach(a => s.setAttribute(a.name, a.value));
        s.textContent = wrapIfNeeded(text);
        oldScript.parentNode.replaceChild(s, oldScript);
      } catch (e) {
        console.warn('[SPA] skipped script error:', e.message);
      }
    });
  }

  function syncHeadAssets(doc) {
    document.querySelectorAll('[data-spa-page]').forEach(el => el.remove());

    const globalLinks = new Set(
      [...document.head.querySelectorAll('link[rel="stylesheet"]')].map(l => l.href)
    );
    const globalScriptSrcs = new Set(
      [...document.head.querySelectorAll('script[src]')].map(s => s.src)
    );
    if (_fsEl) globalScriptSrcs.add(_fsEl.src);

    doc.head.querySelectorAll('link[rel="stylesheet"]').forEach(el => {
      if (globalLinks.has(el.href)) return;
      const clone = el.cloneNode(true);
      clone.dataset.spaPage = '1';
      document.head.appendChild(clone);
    });

    doc.head.querySelectorAll('style').forEach(el => {
      const clone = el.cloneNode(true);
      clone.dataset.spaPage = '1';
      document.head.appendChild(clone);
    });

    const scriptLoads = [];
    doc.head.querySelectorAll('script[src]').forEach(el => {
      if (REINIT_EXTERNAL_PATTERNS.some(p => p.test(el.src))) {
        document.querySelectorAll(`script[src="${el.src}"]`).forEach(s => s.remove());
        const p = new Promise(resolve => {
          const s = document.createElement('script');
          [...el.attributes].forEach(a => s.setAttribute(a.name, a.value));
          s.dataset.spaPage = '1';
          s.onload  = resolve;
          s.onerror = resolve;
          document.head.appendChild(s);
        });
        scriptLoads.push(p);
        return;
      }
      if (globalScriptSrcs.has(el.src)) return;
      const p = new Promise(resolve => {
        const s = document.createElement('script');
        [...el.attributes].forEach(a => s.setAttribute(a.name, a.value));
        s.dataset.spaPage = '1';
        s.onload = resolve;
        s.onerror = resolve;
        document.head.appendChild(s);
      });
      scriptLoads.push(p);
    });

    doc.head.querySelectorAll('script:not([src])').forEach(el => {
      const text = el.textContent.trim();
      if (!text || globalScriptTexts.has(text)) return;
      const s = document.createElement('script');
      [...el.attributes].forEach(a => s.setAttribute(a.name, a.value));
      s.textContent = text;
      s.dataset.spaPage = '1';
      document.head.appendChild(s);
    });

    return Promise.all(scriptLoads);
  }

  let _navigating = false;

  async function navigate(url, push = true) {
    if (_navigating) return;
    console.log('[SPA] navigate:', url);
    const content = document.getElementById('spa-content');
    if (!content) { console.warn('[SPA] no #spa-content'); return; }
    if (url === window.location.href) return;

    try {
      const target  = new URL(url, location.origin);
      const current = new URL(location.href);
      if (target.pathname === current.pathname && target.hash !== current.hash) {
        if (push) history.pushState({ spaUrl: url }, document.title, url);
        window.dispatchEvent(new HashChangeEvent('hashchange', {
          oldURL: location.href, newURL: url
        }));
        return;
      }
    } catch (_) {}

    _navigating = true;
    window.__spaHasNavigated = true;
    clearPageTimers();
    window.dispatchEvent(new Event('beforeunload'));

    let doc;
    try {
      [doc] = await Promise.all([
        fetchPage(url),
        (() => {
          content.classList.add('spa-leave');
          return new Promise(r => _setTimeout(r, TRANSITION_MS));
        })()
      ]);

      destroySliders(content);
      content.innerHTML = extractContent(doc);
      refineGlobalScripts(doc);

      document.title = doc.title || document.title;
      if (push) history.pushState({ spaUrl: url }, doc.title, url);

      const _docFsEl = doc.head.querySelector('script[src*="finsweet"]') || null;
      if (_docFsEl && !_fsEl) _fsEl = _docFsEl;

      const _origDocAdd = document.addEventListener.bind(document);
      const _origWinAdd = window.addEventListener.bind(window);
      const _dclShim = (origFn) => function (type, fn, ...rest) {
        if (type === 'DOMContentLoaded' && typeof fn === 'function') {
          try { fn(); } catch (e) { console.warn('[SPA] DOMContentLoaded handler error:', e.message); }
          return;
        }
        return origFn(type, fn, ...rest);
      };
      document.addEventListener = _dclShim(_origDocAdd);
      window.addEventListener   = _dclShim(_origWinAdd);

      try {
        await syncHeadAssets(doc);
        await loadBodyExternalScripts(content);

        if (window.jQuery) {
          try {
            window.jQuery('.napster-sm-hamberger, .napster-sm-close, .napster-sm-dropdown-block').off('click');
          } catch (_) {}
        }

        runScripts(content);

        const _activeFsEl = _docFsEl || _fsEl;

        if (_activeFsEl || window.FinsweetAttributes) {
          try {
            console.log('[FS-DBG] nav to:', url, '| destHasFs:', !!_docFsEl, '| activeFs:', typeof window.FinsweetAttributes);
            if (window.FinsweetAttributes) {
              try { await window.FinsweetAttributes.destroy(); console.log('[FS-DBG] destroy() done'); } catch (de) { console.log('[FS-DBG] destroy() error:', de.message); }
              delete window.FinsweetAttributes;
            }

            const _destPath = new URL(url, location.origin).pathname;
            const hasCustomCmsScript = _docFsEl && _destPath.startsWith('/reference');
            console.log('[FS-DBG] hasCustomCmsScript:', hasCustomCmsScript, '| shim active:', document.addEventListener !== _origDocAdd);

            if (_docFsEl && hasCustomCmsScript) {
              const fsSrc2 = _activeFsEl.src.split('?')[0];
              document.querySelectorAll('script[src][data-spa-page]').forEach(s => {
                if (s.src.split('?')[0] === fsSrc2) s.remove();
              });
            } else if (_docFsEl) {
              const fsSrc = _activeFsEl.src.split('?')[0];
              document.querySelectorAll('script[src]').forEach(s => {
                if (s.src.split('?')[0] === fsSrc) s.remove();
              });
              const injectedSrc = fsSrc + '?_spa=' + (++_fsNavCount);
              console.log('[FS-DBG] injecting:', injectedSrc);
              await new Promise(resolve => {
                const s = document.createElement('script');
                [..._activeFsEl.attributes].forEach(a => s.setAttribute(a.name, a.value));
                s.src = injectedSrc;
                s.dataset.spaPage = '1';
                s.onerror = () => { console.log('[FS-DBG] script onerror'); resolve(); };
                s.onload = () => {
                  console.log('[FS-DBG] onload fired. FinsweetAttributes:', typeof window.FinsweetAttributes);
                  console.log('[FS-DBG] modules:', JSON.stringify(window.FinsweetAttributes?.modules));
                  let attempts = 0;
                  const check = () => {
                    const ver = window.FinsweetAttributes?.modules?.list?.version;
                    if (ver || attempts++ > 30) {
                      console.log('[FS-DBG] poll done. version:', ver, 'attempts:', attempts);
                      resolve();
                    } else {
                      _setTimeout(check, 100);
                    }
                  };
                  check();
                };
                document.head.appendChild(s);
              });
              console.log('[FS-DBG] after await. version:', window.FinsweetAttributes?.modules?.list?.version);
            }
          } catch (e) {
            console.warn('[SPA] Finsweet reload error:', e.message);
          }
        }
      } finally {
        document.addEventListener = _origDocAdd;
        window.addEventListener   = _origWinAdd;
      }
    } catch (err) {
      console.error('[SPA] fetch/swap error, hard-redirecting:', err);
      _navigating = false;
      window.location.href = url;
      return;
    }

    try {
      if (window.Webflow) {
        if (window.jQuery) window.jQuery('.w-nav-button').off('.w-nav');
        window.Webflow.ready();
      }
    } catch (e) {
      console.warn('[SPA] Webflow.ready() error (ignored):', e.message);
    }
    try {
      const ix2 = window.Webflow && window.Webflow.require('ix2');
      if (ix2) ix2.init();
    } catch (e) {
      console.warn('[SPA] ix2.init() error (ignored):', e.message);
    }

    window.dispatchEvent(new Event('resize'));

    const _hash = new URL(url, location.origin).hash;

    const scrollToHash = (_h) => {
      const id = _h.slice(1);
      const el = document.getElementById(id) ||
                 document.querySelector(`[name="${id}"]`) ||
                 (() => { try { return document.querySelector(_h); } catch (_) { return null; } })();
      if (el) el.scrollIntoView({ behavior: 'smooth' });
    };

    content.classList.remove('spa-leave');
    content.classList.add('spa-enter');

    if (_hash) {
      requestAnimationFrame(() => requestAnimationFrame(() => {
        content.classList.remove('spa-enter');
        scrollToHash(_hash);
      }));
      _setTimeout(() => scrollToHash(_hash), 350);
    } else {
      requestAnimationFrame(() => requestAnimationFrame(() => {
        content.classList.remove('spa-enter');
        window.scrollTo({ top: 1, behavior: 'instant' });
        requestAnimationFrame(() => window.scrollTo({ top: 0, behavior: 'instant' }));
      }));
      window.scrollTo({ top: 0, behavior: 'instant' });
    }

    updateActiveLinks(url);

    _navigating = false;
  }

  function updateActiveLinks(url) {
    const sel = PERSISTENT_SELECTORS.map(s => `${s} a`).join(', ');
    document.querySelectorAll(sel).forEach(a => {
      try {
        const href = a.getAttribute('href');
        if (!href) return;
        const active = new URL(href, location.origin).pathname === new URL(url, location.origin).pathname;
        a.classList.toggle('w--current', active);
        a.setAttribute('aria-current', active ? 'page' : 'false');
      } catch (_) {}
    });
  }

  function closeMobileNav() {
    document.querySelectorAll('.w-dropdown, .w-dropdown-toggle, .w-dropdown-list').forEach(el => {
      el.classList.remove('w--open');
    });
    document.querySelectorAll('.w-dropdown-toggle[aria-expanded="true"]').forEach(el => {
      el.setAttribute('aria-expanded', 'false');
    });
    document.querySelectorAll('.w-nav-button, .w-nav-menu, .w-nav-overlay').forEach(el => {
      el.classList.remove('w--open');
    });
    document.querySelectorAll('.w-nav-button[aria-expanded="true"]').forEach(el => {
      el.setAttribute('aria-expanded', 'false');
    });
    const smMenu = document.querySelector('.napster-sm-menu');
    if (smMenu) smMenu.classList.remove('napster-sm-menu-open');
    document.body.classList.remove(
      'hide-overflow', 'overflow-hidden', 'noscroll', 'no-scroll',
      'w-nav-overlay-open', 'nav-open'
    );
    document.body.style.overflow = '';
  }

  function isInternalLink(a) {
    if (!a || a.tagName !== 'A') return false;
    if (a.target === '_blank' || a.target === '_parent') return false;
    if (a.hasAttribute('download')) return false;
    const href = a.getAttribute('href');
    if (!href || href.startsWith('#') || href.startsWith('mailto:') || href.startsWith('tel:')) return false;
    try { return new URL(a.href, location.origin).origin === location.origin; }
    catch (_) { return false; }
  }

  document.addEventListener('click', e => {
    const a = e.target.closest('a');
    if (!isInternalLink(a)) return;
    try {
      const t = new URL(a.href, location.origin);
      const c = new URL(location.href);
      if (t.pathname === c.pathname && t.search !== c.search && !t.hash) return;
    } catch (_) {}
    e.preventDefault();
    e.stopImmediatePropagation();
    closeMobileNav();
    navigate(a.href);
  }, true);

  let _tapX = 0, _tapY = 0;
  document.addEventListener('touchstart', e => {
    _tapX = e.touches[0].clientX;
    _tapY = e.touches[0].clientY;
  }, { passive: true, capture: true });

  document.addEventListener('touchend', e => {
    if (Math.abs(e.changedTouches[0].clientX - _tapX) > 10 ||
        Math.abs(e.changedTouches[0].clientY - _tapY) > 10) return;
    const a = e.target.closest('a');
    if (!isInternalLink(a)) return;
    try {
      const t = new URL(a.href, location.origin);
      const c = new URL(location.href);
      if (t.pathname === c.pathname && t.search !== c.search && !t.hash) return;
    } catch (_) {}
    e.preventDefault();
    closeMobileNav();
    navigate(a.href);
  }, true);

  window.addEventListener('popstate', e => {
    navigate(e.state?.spaUrl || location.href, false);
  });

  function boot() {
    document.querySelectorAll('script:not([src])').forEach(s => {
      const t = s.textContent.trim();
      if (t) globalScriptTexts.add(t);
    });
    document.querySelectorAll('script[src]').forEach(s => {
      if (s.src) globalExternalSrcs.add(s.src);
    });

    globalExternalSrcs.add('https://cdn.jsdelivr.net/npm/@touchcastllc/napster-companion-api@latest/lib/index.standalone.js');

    if (window.Swup) {
      window.Swup = function NoopSwup() {
        return { hooks: { on: function () {} }, destroy: function () {} };
      };
      console.log('[SPA] neutralized Swup — prevented dual-router conflict');
    }

    _fsEl = document.querySelector('script[src*="finsweet"]') || null;

    history.replaceState({ spaUrl: location.href }, document.title, location.href);
    wrapContent();
    updateActiveLinks(location.href);
    console.log('[SPA] booted — global scripts snapshotted:', globalScriptTexts.size);

    if (window.jQuery && $ !== window.jQuery) {
      console.warn('[SPA] global $ is shadowed — re-running jQuery-dependent scripts at boot');
      document.querySelectorAll('script:not([src])').forEach(el => {
        const text = el.textContent.trim();
        if (!text) return;
        if (/\bconst\s+\$\s*=/.test(text)) return;
        if (!/\$\s*[.(]/.test(text)) return;
        try {
          const s = document.createElement('script');
          s.textContent = `(function($,jQuery){\n${text}\n})(window.jQuery,window.jQuery);`;
          document.head.appendChild(s);
        } catch (e) {
          console.warn('[SPA] boot re-run error:', e.message);
        }
      });
    }
  }

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', boot);
  } else {
    boot();
  }

})();
</script><meta property="og:url" content="https://www.napster.com">
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick-theme.css" />
<style>
  .napster-banner-video::before {
    width: 100%;
    height: 100%;
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 0.4) 20%, rgba(0, 0, 0, 0) 50%);
    z-index: 1;
  }

  .nnw-get-crew-section::before {
    width: 100%;
    height: 100%;
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 0.4) 20%, rgba(0, 0, 0, 0) 50%);
    z-index: 1;
  }

  .nnw-get-crew-section::after {
    width: 100%;
    height: 70%;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: linear-gradient(180deg, #0d0215 0%, rgba(7, 1, 19, 0) 50%);
    z-index: 1;
  }

  /*.nnw-btm-cta-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    transform: translateZ(0);
    will-change: opacity;
    background: linear-gradient(to bottom, #0d0215 0%, rgba(7, 1, 19, 0) 50%), linear-gradient(to top, #000000 0%, rgba(7, 1, 19, 0) 50%);
}*/

  .getstart-btn {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 1%, rgba(0, 0, 0, 0.5) 101%), #be369d;
    background-blend-mode: overlay, normal;
  }

  .getstart-btn:hover {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 1%, rgba(0, 0, 0, 0.7) 101%), #be369d;
  }

  .pink-btn:hover {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 1%, rgba(0, 0, 0, 0.7) 101%), #be369d;
  }

  .transparent-button:hover img {
    transform: translateX(4px);
    transition: all 0.5s ease;
  }
  a.transparent-button.np-lightbox-close img{
    transform:none !important;
    transition: none !importsnt;
  }

  .special-heading-span {
    background: var(--1, linear-gradient(90deg, #fff 0%, #ea2dd2 71.63%, #ffa1f3 87.98%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  .npr-product-head-span {
    background: linear-gradient(90deg, #fff 0%, #ea2dd2 71.63%, #ffa1f3 87.98%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  .mayli-speech-dialog {
    background: linear-gradient(180deg, rgba(161, 44, 137, 0) 0%, rgba(161, 44, 137, 0.2) 100%), rgba(190, 54, 157, 0.4);
    box-shadow:
      0 12.01px 17.47px -8.735px rgba(123, 36, 105, 0.26),
      0 4.367px 21.837px 0 rgba(161, 44, 137, 0.4) inset;
  }

  .npr-learn-btn::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    background: url(https://cdn.prod.website-files.com/686e1da81a9a9b6c64c7a164/69b0e5776239e47c140a0520_btn-border.png) no-repeat right center;
    background-size: contain;
  }

  /* .napster-products-slide .slick-list {
    padding: 0 5% 0 0;
  }*/
  /*.npr-prducts-nav-list-item.active::before{
   content: '';
   width: 30px;
   height: 4px;
   background: #EA2DD2;
   position: absolute;
   left: 0;
   bottom: -4px;
   border-radius: 4px;
}*/

  .npr-prducts-nav-list-item::before {
    content: '';
    width: 0px;
    height: 2px;
    background: #ea2dd2;
    position: absolute;
    bottom: -4px;
    left: 0;
  }

  .npr-prducts-nav-list-item.active::before {
    animation: progressBar 12s linear forwards;
    animation-play-state: running;
  }

  .npr-prducts-nav-list-item.active.paused::before {
    animation-play-state: paused;
  }

  @keyframes progressBar {
    from {
      width: 0%;
    }
    to {
      width: 100%;
    }
  }

  .npr-products-nav-btn.disabled {
    background: rgba(255, 255, 255, 0.1);
    pointer-events: none;
  }

  .npr-products-nav-btn.disabled .npr-products-nav-img {
    filter: invert(0);
  }

  .napster-products-slide .slick-slide {
    transition: all 0.4s ease;
  }

  
  @media screen and (min-width: 479px) {
    .napster-products-slide .slick-slide {
      opacity: 0.25;
      transition: all 0.4s ease;
    }

    .napster-products-slide .slick-active {
      opacity: 0.6;
    }
  }

  .napster-products-slide .slick-center {
    opacity: 1;
  }

  .create-digital-twin-btn {
    background:
      linear-gradient(#4e1640, #4e1640) padding-box,
      linear-gradient(90deg, rgba(234, 45, 210, 0), rgba(234, 45, 210, 1)) border-box;
  }

  .digital-twin-head-span {
    background: linear-gradient(90deg, #fff 0%, #ea2dd2 71.63%, #ffa1f3 87.98%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  .trustby-span-text {
    background: linear-gradient(90deg, #fff 0%, #ea2dd2 71.63%, #ffa1f3 87.98%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  .nnw-footer-cta-tag-grd {
    background: linear-gradient(90deg, #fff 0%, #ea2dd2 71.63%, #ffa1f3 87.98%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  .nnw-download-app-btn {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 1%, rgba(0, 0, 0, 0.5) 101%), #be369d;
    background-blend-mode: overlay, normal;
    box-shadow: 1px 2px 10px 0 rgba(0, 0, 0, 0.25);
  }

  .nnw-subscribe-btn {
    box-shadow: 1px 2px 10px 0 rgba(0, 0, 0, 0.25);
  }

  .footer-right-img {
    fill: linear-gradient(180deg, #2e0833 5.29%, #000 100%);
    opacity: 0.8;
    box-shadow: 0 3.213px 3.213px 0 rgba(255, 255, 255, 0.02) inset;
  }

  .nnw-getstart-btn {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 1%, rgba(0, 0, 0, 0.5) 101%), #be369d;
    background-blend-mode: overlay, normal;
    box-shadow: 1px 2px 10px 0 rgba(0, 0, 0, 0.25);
  }

  .digital-twin-tagline {
    background: linear-gradient(91deg, #dd52cb 0.01%, #601656 99.79%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  @media (min-width: 1280px) {
    .napster-products-info {
      left: calc((100% - 90%) / 2);
    }
  }

  @media (min-width: 1920px) {
    .napster-products-info {
      left: calc((100% - 72%) / 2);
    }
  }

  @media (min-width: 2200px) {
    .napster-special-vdo-avatar {
      max-width: 818px;
    }
    .napster-products-info {
      left: calc((100% - 81%) / 2);
    }
  }

  @media screen and (device-width: 1024px) and (device-height: 1366px) and (orientation: portrait) {
  }

  @media (min-width: 480px) {
    .slick-slide img.napster-products-sm-img {
      display: none;
    }
  }

  @media (max-width: 1100px) {
    .napster-products-nav {
      max-width: 980px;
    }
    .npr-prducts-nav-list {
      grid-column-gap: 10px;
      grid-row-gap: 10px;
    }
  }

  @media (max-width: 480px) {
    .napster-banner-video::before {
      background: linear-gradient(to top, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0) 50%);
    }

    .slick-slide img.napster-products-img {
      display: none;
    }

    .napster-hero-video video {
      object-position: right;
    }

    .napster-banner-video::after {
      width: 100%;
      height: 100%;
      content: '';
      position: absolute;
      top: 0px;
      left: 0;
      background: linear-gradient(to bottom, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 1) 22%, rgba(0, 0, 0, 0) 50%);
      z-index: 1;
      display: none;
    }
  }

  @media (max-height: 480px) and (orientation: landscape) {
      .spaces-banner-section.is-home{
        height: 120vh;  
    }
    .napster-banner-section {
      height: 100%;
    }

    .napster-banner-bottom {
      margin-top: 32px;
    }
}

.overflow-hidden{
	overflow: hidden
}
</style></head><body class="home"><div class="napster-header"><div class="napster-header-container"><div data-animation="default" data-collapse="medium" data-duration="400" data-easing="ease" data-easing2="ease" role="banner" class="napster-navbar w-nav"><div class="napster-nav-container w-container"><div class="napster-nav-wrapper"><div class="napster-nav-lt"><a href="/" aria-current="page" class="napster-logo w-nav-brand w--current"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b2676cfaca4a559c6d5fcc_napster-logo.svg" alt="Napster logo"/></a><nav role="navigation" class="napster-nav-menu w-nav-menu"><div data-delay="0" data-hover="true" class="napster-nav-menu-links w-dropdown"><div class="dropdowntoggle w-dropdown-toggle"><div class="napster-dropdown-txt">Products</div><div class="napster-nav-arrow"></div></div><nav class="napster-dropdown-list w-dropdown-list"><a href="/consumer" class="napster-dropdown-block w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">Napster App</div></div></a><a href="/napster-for-mac" class="napster-dropdown-block w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">Napster for Mac</div></div></a><a href="/view" class="napster-dropdown-block w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">Napster View</div></div></a><a href="/station" class="napster-dropdown-block w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">Napster Station</div></div></a><a href="/learn-for-enterprise" class="napster-dropdown-block w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">Napster Learn: Enterprise</div></div></a><a href="/learn-for-higher-education" class="napster-dropdown-block w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">Napster Learn: Higher Ed</div></div></a><a href="/spaces" class="napster-dropdown-block w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">Napster Spaces</div></div></a><a href="/developer" class="napster-dropdown-block w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">Napster API</div></div></a></nav></div><div data-delay="0" data-hover="true" class="napster-nav-menu-links w-dropdown"><div class="dropdowntoggle w-dropdown-toggle"><div class="napster-dropdown-txt">Solutions</div><div class="napster-nav-arrow"></div></div><nav class="napster-dropdown-list w-dropdown-list"><a href="/enterprise" data-target="automotive" class="napster-dropdown-block w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">For Enterprise</div></div></a><a href="/developer" data-target="ecommerce" class="napster-dropdown-block w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">For Developers</div></div></a><a href="/partners" data-target="ecommerce" class="napster-dropdown-block w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">For Partners</div></div></a><a href="/case-studies" data-target="ecommerce" class="napster-dropdown-block w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">Case Studies</div></div></a></nav></div><div data-delay="0" data-hover="true" class="napster-nav-menu-links w-dropdown"><div class="dropdowntoggle w-dropdown-toggle"><div class="napster-dropdown-txt">For Developers</div><div class="napster-nav-arrow"></div></div><nav class="napster-dropdown-list w-dropdown-list"><a href="/developer" class="napster-dropdown-block w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">Napster  API</div></div></a><a href="https://developers.napster.com/docs" class="napster-dropdown-block w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">Documentation</div></div></a><a href="/hackathon-finalists" class="napster-dropdown-block w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">Hackathons</div></div></a><a href="#" class="napster-dropdown-block hidden w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">API status</div></div></a></nav></div></nav></div><div class="napster-nav-rt"><div data-delay="0" data-hover="true" class="napster-nav-menu-links w-dropdown"><div class="dropdowntoggle w-dropdown-toggle"><div class="napster-dropdown-txt">COMPANY</div><div class="napster-nav-arrow"></div></div><nav class="napster-dropdown-list w-dropdown-list"><a href="/about" data-target="fsi" class="napster-dropdown-block w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">About</div></div></a><a href="/news" data-target="automotive" class="napster-dropdown-block w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">Newsroom</div></div></a><a href="/security" data-target="ecommerce" class="napster-dropdown-block w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">Security</div></div></a><a href="/careers" data-target="ecommerce" class="napster-dropdown-block w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">Careers</div></div></a><a href="/blog" data-target="ecommerce" class="napster-dropdown-block w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">Blog</div></div></a><a href="#" data-target="ecommerce" class="napster-dropdown-block hidden w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">Investor Relations</div></div></a><a href="/contact" data-target="ecommerce" class="napster-dropdown-block w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">Contact Us</div></div></a><a href="/ethics" data-target="ecommerce" class="napster-dropdown-block hidden w-inline-block"><div class="napster-dropdown-nav-block"><div class="napster-dropdown-links">AI Principles</div></div></a></nav></div><a href="https://help.napster.com/hc/en-us" class="napster-nav-links w-inline-block"><div class="napster-nav-txt">Support</div></a></div></div><div class="w-nav-button"><div class="w-icon-nav-menu"></div></div></div></div></div></div><div class="napster-mobile-nav"><div id="tch-mob-header-id" class="napster-sm-header"><div class="napster-sm-header-logo"><a href="/" aria-current="page" class="napster-sm-logo w-inline-block w--current"><img fetchpriority="high" loading="lazy" alt="" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b2676cfaca4a559c6d5fcc_napster-logo.svg"/></a></div><div class="napster-sm-hamberger"><img src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69dc9bb7fffa6e774d60cc2f_hamburger.avif" loading="lazy" alt=""/></div></div><div class="napster-sm-menu"><div class="napster-sm-header2"><a href="/" aria-current="page" class="w-inline-block w--current"><div class="napster-sm-logo"><img fetchpriority="high" loading="lazy" alt="" src="https://cdn.prod.website-files.com/686e1da81a9a9b6c64c7a164/69ae79b43abc115ce1220222_napster-logo.svg"/></div></a><div class="napster-sm-close"><img src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69dc9bb72920c590a6eea3bf_9e0aa69d72a3598cd6d08bc33d48e736_close.avif" loading="lazy" alt=""/></div></div><div class="napster-sm-menu-wrapper"><div data-delay="0" data-hover="false" class="napster-sm-menu-links w-dropdown"><div class="dropdowntoggle-sm sm-drop-toggle w-dropdown-toggle"><div class="drop-sm-txt-block sm-drop-txt">Products</div><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b2676cfaca4a559c6d5fcd_chev-down-small.svg" alt="" class="drop-sm-arrrows"/></div><nav class="napster-sm-dropdown-list sm-dropdown-list w-dropdown-list"><a href="/consumer" class="napster-sm-dropdown-block w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">Napster App</div></div></a><a href="/napster-for-mac" class="napster-sm-dropdown-block w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">Napster for Mac</div></div></a><a href="/view" class="napster-sm-dropdown-block w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">Napster View</div></div></a><a href="/station" class="napster-sm-dropdown-block w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">Napster Station</div></div></a><a href="/learn-for-enterprise" class="napster-sm-dropdown-block w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">Napster Learn: Enterprise</div></div></a><a href="/learn-for-higher-education" class="napster-sm-dropdown-block w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">Napster Learn: Higher Ed</div></div></a><a href="/spaces" class="napster-sm-dropdown-block w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">Napster Spaces</div></div></a><a href="/developer" class="napster-sm-dropdown-block w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">Napster API</div></div></a></nav></div><div data-delay="0" data-hover="false" class="napster-sm-menu-links w-dropdown"><div class="dropdowntoggle-sm sm-drop-toggle w-dropdown-toggle"><div class="drop-sm-txt-block sm-drop-txt">Solutions</div><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b2676cfaca4a559c6d5fcd_chev-down-small.svg" alt="" class="drop-sm-arrrows"/></div><nav class="napster-sm-dropdown-list sm-dropdown-list w-dropdown-list"><a href="/developer" class="napster-sm-dropdown-block w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">For Developers</div></div></a><a href="/enterprise" class="napster-sm-dropdown-block w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">For Enterprise</div></div></a><a href="/partners" class="napster-sm-dropdown-block w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">For Partners</div></div></a><a href="/case-studies" class="napster-sm-dropdown-block w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">Case Studies</div></div></a></nav></div><div data-delay="0" data-hover="false" class="napster-sm-menu-links w-dropdown"><div class="dropdowntoggle-sm sm-drop-toggle w-dropdown-toggle"><div class="drop-sm-txt-block sm-drop-txt">For Developers</div><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b2676cfaca4a559c6d5fcd_chev-down-small.svg" alt="" class="drop-sm-arrrows"/></div><nav class="napster-sm-dropdown-list sm-dropdown-list w-dropdown-list"><a href="/developer" class="napster-sm-dropdown-block w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">Napster API</div></div></a><a href="https://developers.napster.com/docs" class="napster-sm-dropdown-block w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">Documentation</div></div></a><a href="/hackathon-finalists" class="napster-sm-dropdown-block w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">Hackathons</div></div></a><a href="#" class="napster-sm-dropdown-block hidden w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">API status</div></div></a></nav></div><div data-delay="0" data-hover="false" class="napster-sm-menu-links w-dropdown"><div class="dropdowntoggle-sm sm-drop-toggle w-dropdown-toggle"><div class="drop-sm-txt-block sm-drop-txt">Company</div><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b2676cfaca4a559c6d5fcd_chev-down-small.svg" alt="" class="drop-sm-arrrows"/></div><nav class="napster-sm-dropdown-list sm-dropdown-list w-dropdown-list"><a href="/about" class="napster-sm-dropdown-block w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">About</div></div></a><a href="/news" class="napster-sm-dropdown-block w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">Newsroom</div></div></a><a href="/security" class="napster-sm-dropdown-block w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">Security</div></div></a><a href="/careers" class="napster-sm-dropdown-block w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">Careers</div></div></a><a href="/blog" class="napster-sm-dropdown-block w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">Blog</div></div></a><a href="#" class="napster-sm-dropdown-block hidden w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">Investor Relations</div></div></a><a href="/contact" class="napster-sm-dropdown-block w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">Contact Us</div></div></a><a href="/ethics" class="napster-sm-dropdown-block hidden w-inline-block"><div class="napster-sm-drop-nav-block"><div class="napster-sm-dropdown-links">AI Principles</div></div></a></nav></div><a href="https://help.napster.com/hc/en-us" class="napster-sm-nav-links w-inline-block"><div class="napster-sm-nav-tx">Support</div></a></div></div></div><div id="main-content"><section class="spaces-banner-section is-hone"><div class="banner-overlay"><div class="banner-top-overlay"></div><div class="banner-bottom-overlay"></div><div class="banner-overlay-blur"></div></div><div class="napster-banner-video"><div class="napster-video-overlay-frame"><div class="napster-video-holder"><div class="w-embed"><style>
  .napster-hero-video-bg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
  }
  @media (max-width: 480px) {
    .napster-hero-video-bg {
      object-fit: contain;
    }
  }
</style>
<video class="napster-hero-video-bg" preload="metadata" autoplay loop muted playsinline webkit-playsinline poster="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69afcd061331a30366d33fc7_bg-hero1.avif">
  <source src="https://demoassets.touchcast.com/webflow-assets/videos/Hero-Header-new.webm" data-wf-ignore="true" type="video/webm" />
  <source src="https://demoassets.touchcast.com/webflow-assets/videos/Hero-Header-new_2.mp4" data-wf-ignore="true"  type="video/mp4"/>
</video></div></div></div></div><div class="napster-banner-top"><div class="napster-banner-crew"><h4 class="crew-heading">MEET YOUR CREW</h4></div><div class="napster-banner-main-content"><h1 class="hero-h1-heading">AI agents you can see, talk to, and create with.</h1></div><div class="napster-banner-button is-home"><a href="/consumer" class="pink-button">Get Started Now</a><a id="watch-film" data-video="https://demoassets.touchcast.com/webflow-assets/videos/napster-intro-new_1.mp4" data-lightbox-button="" href="#" class="transparent-button is-home w-inline-block"><div>Watch the Film</div></a></div></div><div class="trusted-logo-scroll_indent-wrap"><section data-reveal="" class="napster-trusted-section"><div class="trusted-overlay"></div><div class="w-layout-blockcontainer napster-trusted w-container"><div class="napster-trusted-content"><div class="trusted-heading">Trusted by</div><div id="clientContainer" class="napster-trusted-logos"><div id="clientScroll" class="napster-trusted-scroll-1"><div class="napster-trusted-img-1"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69ccd5e84b95bf2943b191d2_trust1.svg" alt="Accenture logo" class="npr-trusted-logo-1"/></div><div class="napster-trusted-img-1"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69ccd5e8ded73c5482821024_trust2.svg" alt="" class="npr-trusted-logo-1"/></div><div class="napster-trusted-img-1"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69ccd5ebf37f6b61ccf52fa8_trust13.svg" alt="Warner bros logo" class="npr-trusted-logo-1"/></div><div class="napster-trusted-img-1"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69ccd5ecb2718f98f98aec0f_trust14.svg" alt="UAE mof logo" class="npr-trusted-logo-1"/></div><div class="napster-trusted-img-1"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69ccd5e843f54f08871a87ca_trust5.svg" alt="Dick&#x27;s sporting goods logo" class="npr-trusted-logo-1"/></div><div class="napster-trusted-img-1"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69ccd5e8d3aa999284de5ffb_trust6.svg" alt="DMCC logo" class="npr-trusted-logo-1"/></div><div class="napster-trusted-img-1"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69ccd5e8ec78e37bebbe14d0_trust7.svg" alt="Imperial logo" class="npr-trusted-logo-1"/></div><div class="napster-trusted-img-1"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69ccd5e8f9b72c085fc43894_trust8.svg" alt="Fenerbache logo" class="npr-trusted-logo-1"/></div><div class="napster-trusted-img-1"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69ccd5eb5f856d67bd80c84c_trust9.svg" alt="Leading results logo" class="npr-trusted-logo-1"/></div><div class="napster-trusted-img-1"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69ccd5ea660eeb68bb93ae8d_trust10.svg" alt="Microsoft logo" class="npr-trusted-logo-1"/></div><div class="napster-trusted-img-1"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69ccd5eb4ed27f57fae4ffd0_trust11.svg" alt="PIF logo" class="npr-trusted-logo-1"/></div><div class="napster-trusted-img-1"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69ccd5eba36acb92eeb7e631_trust12.svg" alt="" class="npr-trusted-logo-1"/></div><div class="napster-trusted-img-1"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69e5e584a521d142dbe6e6f8_Lenovo-new.svg" alt="Lenovo logo" class="npr-trusted-logo-1"/></div></div></div></div></div></section></div></section><section class="napster-special-section"><div class="napster-special-container"><div class="napster-special-lt"><div class="napster-special-lt-inner"><div class="napster-special-content"><h3 class="expertise-heading">Expertise on demand.</h3><h2 class="special-heading">A specialist <br/><span class="special-heading-span">for every moment.</span></h2><p class="special-desc">Say goodbye to AI chatbots and hello to a collaborator with video presence and memory.</p></div><div class="napster-special-list"><div class="special-list-item"><div class="special-list-content"><p class="special-list-desc">Persistent memory that makes every conversation better over time.</p></div></div><div class="special-list-item"><div class="special-list-content"><p class="special-list-desc">The right expert right when you need them.</p></div></div><div class="special-list-item"><div class="special-list-content"><p class="special-list-desc">Turn conversations into drafts, plans, decisions, and outputs you can share, ship, or send.</p></div></div></div></div></div><div class="napster-special-rt"><div class="napster-special-video-wrap"><div class="w-embed"><style>
  .napster-special-video {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(-50%, -50%);
    aspect-ratio: 1 / 1;
    border-radius: 24px;
    object-fit: cover;
  }
  @media (max-width: 480px) {
    .napster-special-video {
      right: inherit;
      left: 50%;
      max-width: 380px;
      border-radius: 12px;
    }
  }
</style>
<video class="napster-special-video" preload="metadata" autoplay loop muted playsinline webkit-playsinline>
  <source src="https://demoassets.touchcast.com/webflow-assets/videos/2nd%20Section_1_new.webm" data-wf-ignore="true" type="video/webm" />
<source src="https://demoassets.touchcast.com/webflow-assets/videos/2nd%20Section_1_new_2.mp4" data-wf-ignore="true"  type="video/mp4"/>
</video></div></div><div class="napster-special-vdo-avatar"><img src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69e7265ee1a53a477366be85_mayli-creative-ring.avif" loading="lazy" alt="Mayli, an AI music producer in the Napster App"/></div></div></div></section><section class="napster-products-section"><div class="napster-products-container"><div class="napster-products-title"><h3 class="platform-heading">Products</h3><h2 class="npr-products-heading">One platform.<br/><span class="npr-product-head-span">Many doors.</span></h2><div class="npr-products-desc">For you, for teams, for developers. Same mission. Same system.</div></div><div class="napster-products-wrapper"><div class="napster-products-wrapper-in"><div class="napster-products-slide"><div class="napster-products-item"><div class="napster-products-bg"><img sizes="100vw" srcset="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69c3c937afa684be9500eb52_napster-app-slide-new-p-500.avif 500w, https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69c3c937afa684be9500eb52_napster-app-slide-new-p-800.avif 800w, https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69c3c937afa684be9500eb52_napster-app-slide-new-p-1080.avif 1080w, https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69c3c937afa684be9500eb52_napster-app-slide-new.avif 2183w" alt="napster-app-slide" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69c3c937afa684be9500eb52_napster-app-slide-new.avif" loading="lazy" class="napster-products-img"/><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69c3c9e339d6a111aba9f34c_30aed3e32c06c22b7cf3c11060743843_napster-app-slide-new-sm.avif" alt="Napster App" class="napster-products-sm-img"/></div><div class="napster-products-info"><h3 class="npr-products-caption">NAPSTER APP</h3><h2 class="npr-products-title">Meet <br/>the Napster App.</h2><p class="npr-products-descs">Your own music production crew. Thousands of specialists. All with video, memory, and real personality. Write a song in minutes.</p><a href="/consumer" class="npr-learn-btn">Learn More</a></div></div><div class="napster-products-item"><div class="napster-products-bg"><img sizes="100vw" srcset="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b80d77c562423d5511cc5f_napster-mac-slide-p-500.avif 500w, https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b80d77c562423d5511cc5f_napster-mac-slide-p-800.avif 800w, https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b80d77c562423d5511cc5f_napster-mac-slide-p-1080.avif 1080w, https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b80d77c562423d5511cc5f_napster-mac-slide.avif 2183w" alt="napster-mac-slide" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b80d77c562423d5511cc5f_napster-mac-slide.avif" loading="lazy" class="napster-products-img"/><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69dc91557f588cc446e0e359_napster-mac-slide-sm.avif" alt="Napster for mac" class="napster-products-sm-img"/></div><div class="napster-products-info"><h3 class="npr-products-caption">NAPSTER FOR MAC</h3><h2 class="npr-products-title">Meet <br/>Napster for Mac.</h2><p class="npr-products-descs">Thousands of specialists who stop procrastination, fix bugs, prep interviews, build prototypes, decode taxes, and make you unstoppable, straight from your Mac.</p><a href="/napster-for-mac" class="npr-learn-btn">Learn More</a></div></div><div class="napster-products-item"><div class="napster-products-bg"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69d6130f6399f432c2270a3f_bg-image%20(3).avif" alt="napster-spaces-slide" class="napster-products-img"/><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69dc918098835137ee1d7cbf_napster-space-slide-new-sm.avif" alt="Napster spaces" class="napster-products-sm-img"/></div><div class="napster-products-info"><h3 class="npr-products-caption">NAPSTER Spaces</h3><h2 class="npr-products-title">Meet <br/>Napster Spaces.</h2><p class="npr-products-descs">Napster Spaces adds an AI specialist to your website that knows your business, responds in real time, and moves visitors to take action.</p><a href="/spaces" class="npr-learn-btn">Learn More</a></div></div><div class="napster-products-item"><div class="napster-products-bg"><img sizes="100vw" srcset="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69c3d5e2cbbfeb5e81e54b4d_napster-learn-slide-new-p-500.avif 500w, https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69c3d5e2cbbfeb5e81e54b4d_napster-learn-slide-new-p-800.avif 800w, https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69c3d5e2cbbfeb5e81e54b4d_napster-learn-slide-new-p-1080.avif 1080w, https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69c3d5e2cbbfeb5e81e54b4d_napster-learn-slide-new.avif 2183w" alt="napster-learn-slide" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69c3d5e2cbbfeb5e81e54b4d_napster-learn-slide-new.avif" loading="lazy" class="napster-products-img"/><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69dc919ee70fd49638bddeae_napster-learn-slide-new-sm.avif" alt="Napster Learn" class="napster-products-sm-img"/></div><div class="napster-products-info"><h3 class="npr-products-caption">NAPSTER Learn</h3><h2 class="npr-products-title">Meet <br/>Napster Learn.</h2><p class="npr-products-descs">Napster Learn turns expertise into AI agents that train, coach, and assess your progress.</p><a href="/learn-for-enterprise" class="npr-learn-btn">Learn More</a></div></div><div class="napster-products-item"><div class="napster-products-bg"><img sizes="100vw" srcset="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69c3c938fedfd9a6203f4aa8_napster-view-slide-new-p-500.avif 500w, https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69c3c938fedfd9a6203f4aa8_napster-view-slide-new-p-800.avif 800w, https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69c3c938fedfd9a6203f4aa8_napster-view-slide-new-p-1080.avif 1080w, https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69c3c938fedfd9a6203f4aa8_napster-view-slide-new.avif 2183w" alt="napster-view-slide" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69c3c938fedfd9a6203f4aa8_napster-view-slide-new.avif" loading="lazy" class="napster-products-img"/><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69dc91b998835137ee1d82e5_napster-view-slide-new-sm.avif" alt="Napster View" class="napster-products-sm-img"/></div><div class="napster-products-info"><h3 class="npr-products-caption">NAPSTER View</h3><h2 class="npr-products-title">Meet <br/>Napster View.</h2><p class="npr-products-descs">A 3D holographic display for your AI.</p><a href="/view" class="npr-learn-btn">Learn More</a></div></div><div class="napster-products-item"><div class="napster-products-bg"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/6a1d239eb3db01579666e3a7_napster-station-slide.avif" alt="napster-station-slide" class="napster-products-img"/><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69dc91d54e9497d73a3ff2d4_napster-station-slide-sm.avif" alt="Napster Station" class="napster-products-sm-img"/></div><div class="napster-products-info"><h3 class="npr-products-caption">NAPSTER STATION</h3><h2 class="npr-products-title">Meet <br/>Napster Station.</h2><p class="npr-products-descs">The first AI concierge built for noisy, chaotic, real-world spaces. It sees you. It hears you. It handles everything.</p><a href="/station" class="npr-learn-btn">Learn More</a></div></div><div class="napster-products-item"><div class="napster-products-bg"><img sizes="100vw" srcset="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69c3c93897d124f0b2fedda6_napster-companion-slide-new-p-500.avif 500w, https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69c3c93897d124f0b2fedda6_napster-companion-slide-new-p-800.avif 800w, https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69c3c93897d124f0b2fedda6_napster-companion-slide-new-p-1080.avif 1080w, https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69c3c93897d124f0b2fedda6_napster-companion-slide-new.avif 2183w" alt="omniagent-api-slide" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69c3c93897d124f0b2fedda6_napster-companion-slide-new.avif" loading="lazy" class="napster-products-img"/><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69dc91f27f588cc446e0fc93_napster-companion-slide-sm.avif" alt="" class="napster-products-sm-img"/></div><div class="napster-products-info"><h3 class="npr-products-caption">Napster API</h3><h2 class="npr-products-title">Meet <br/>Napster API.</h2><p class="npr-products-descs">Deploy AI agents with lifelike video presence, real-time voice, and persistent memory - from only $0.01/minute.</p><a href="/developer" class="npr-learn-btn">Learn More</a></div></div></div><div class="napster-products-nav"><div class="napster-products-nav-content"><div class="npr-products-nav-btn disabled"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69aecb352f6cac3b2a827eab_arrow-right.svg" alt="" class="npr-products-nav-img"/></div><div class="napr-prodcuts-nav-links"><ul role="list" class="npr-prducts-nav-list"><li class="npr-prducts-nav-list-item active"><div>Napster App</div></li><li class="npr-prducts-nav-list-item"><div>Napster For Mac</div></li><li class="npr-prducts-nav-list-item"><div>Napster Spaces</div></li><li class="npr-prducts-nav-list-item"><div>Napster Learn</div></li><li class="npr-prducts-nav-list-item"><div>Napster View</div></li><li class="npr-prducts-nav-list-item"><div>Napster Station</div></li><li class="npr-prducts-nav-list-item"><div>Napster API</div></li></ul></div><div class="npr-products-nav-btn"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69aecb352f6cac3b2a827eab_arrow-right.svg" alt="" class="npr-products-nav-img right"/></div></div></div></div></div></div></section><div class="napster-digital"><div class="npr-wrapper"><div class="npren-container"><div class="big-gap"></div><div class="container-regular"><div class="napster-digital-content"><div class="napster-digital-content-lt"><div class="napster-digital-contents"><div class="label-gradient">Your Digital Twin</div><h2 class="h3 is-white line-h-100">Be in two<span class="text-gradient-white-pink-white is-block"> places at once.</span></h2></div><a id="downloadApp" href="/napster-for-mac" target="_blank" class="create-digital-twin-btn w-button">Get Napster for Mac</a></div><div class="napster-digital-content-rt"><div class="napster-digital-content-desc">Turn your expertise into something people can access anytime.</div><div class="napster-digital-content-desc1">Stay focused on what you do best. Your twin handles the rest.</div><ul role="list" class="digital-list"><li class="digital-list-item"><div>Your twin takes the meeting you couldn&#x27;t make.</div></li><li class="digital-list-item"><div>Answers the questions you&#x27;ve answered a hundred times.</div></li><li class="digital-list-item"><div>Knows your voice, your priorities, your limits.</div></li></ul></div></div></div><div class="small-gap"></div><div class="digital-video-holder"><div class="w-embed"><style>
  .digital-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 16px;
  }
  @media (max-width: 480px) {
    .digital-video{
      border-radius: 9px;
    }
  }
</style>
<video class="digital-video" preload="metadata" autoplay loop muted playsinline webkit-playsinline>
  <source src="https://demoassets.touchcast.com/webflow-assets/videos/Digital-Twin_1_new.webm" data-wf-ignore="true" type="video/webm" />
<source src="https://demoassets.touchcast.com/webflow-assets/videos/Digital-Twin_1_new_2.mp4" data-wf-ignore="true"  type="video/mp4"/>
</video></div></div></div></div></div><section class="nnw-trustby-section grd"><div class="big-gap"></div><div class="trustby-heading-wraper"><h2 class="trustby-heading">Trusted by teams <span class="trustby-span-text">building what&#x27;s next.</span></h2></div><div class="nnw-trustby-image-div"><img src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69ccff4e3d2f20bbbe9b77e7_home-trust-new.avif" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69ccff4e3d2f20bbbe9b77e7_home-trust-new-p-500.png 500w, https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69ccff4e3d2f20bbbe9b77e7_home-trust-new-p-800.png 800w, https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69ccff4e3d2f20bbbe9b77e7_home-trust-new-p-1080.png 1080w, https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69ccff4e3d2f20bbbe9b77e7_home-trust-new.avif 2560w" alt="trusted-brands-logo" class="trustby-img"/><img src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69cd0025672b1cc07b1381b6_home-trust-new-mobile.avif" loading="lazy" alt="" class="image-13"/></div></section><div class="nnw-latest-news-section"><div class="section_press-release"><div class="padding-global"><div class="container-regular"><div class="latest-new-head-wrap"><div class="latest-news-tag-line">Latest News</div><h2 class="latest-news-heading">Stories worth <span class="trustby-span-text">covering.</span></h2></div><div class="tiny-gap mobile-bottom"><div class="div-block-209"><a href="/news-type/press-release" class="pink-button v2 w-inline-block"><div class="flex-row gap-12"><div class="label-text">More Releases</div><div class="background-dark-pink"></div><svg width="12" height="13" viewbox="0 0 13 12" class="svg-next margin-0"><path d="M0.21967 4.99262C-0.0732231 5.28551 -0.0732232 5.76038 0.21967 6.05328L4.99264 10.8262C5.28553 11.1191 5.76041 11.1191 6.0533 10.8262C6.34619 10.5334 6.34619 10.0585 6.0533 9.76559L1.81066 5.52295L6.0533 1.28031C6.3462 0.987414 6.3462 0.512541 6.0533 0.219647C5.76041 -0.0732463 5.28554 -0.0732464 4.99264 0.219647L0.21967 4.99262ZM12.75 5.52295L12.75 4.77295L0.750001 4.77295L0.750001 5.52295L0.750001 6.27295L12.75 6.27295L12.75 5.52295Z" fill="currentColor"></path></svg></div></a><div class="w-embed"><style>
.pink-button.v2 {
  border: 1px solid transparent;
  border-radius: 8px;
  background:
    linear-gradient(#000, #000) padding-box,
    linear-gradient(90deg, rgba(234,45,210,0) 0%, #EA2DD2 100%) border-box;
}

</style></div></div></div><div class="press-release"><div class="posts-three-col w-dyn-list"><div role="list" class="posts-three-col_list w-dyn-items"><div role="listitem" class="posts-three-col_item w-dyn-item"><div class="post-item-link h-100"><div class="post-item-link_img-wrap aspect-ratio-10-8"><img src="https://cdn.prod.website-files.com/69afddf56ce54da131973b12/6a26c164c89e3bd7e055e915_NV2-Blog.png" loading="lazy" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/69afddf56ce54da131973b12/6a26c164c89e3bd7e055e915_NV2-Blog-p-500.png 500w, https://cdn.prod.website-files.com/69afddf56ce54da131973b12/6a26c164c89e3bd7e055e915_NV2-Blog-p-800.png 800w, https://cdn.prod.website-files.com/69afddf56ce54da131973b12/6a26c164c89e3bd7e055e915_NV2-Blog-p-1080.png 1080w, https://cdn.prod.website-files.com/69afddf56ce54da131973b12/6a26c164c89e3bd7e055e915_NV2-Blog-p-1600.png 1600w, https://cdn.prod.website-files.com/69afddf56ce54da131973b12/6a26c164c89e3bd7e055e915_NV2-Blog.png 2000w" class="post-item-link_img cover-full"/></div><div class="block-gap-16 indent-8"><div class="flex-row gap-8"><div class="label-gradient is-white-50">August 19, 2026</div><div class="dot-devider"></div><div class="label-gradient is-white-50 w-dyn-bind-empty"></div></div><h3 class="h6 medium">Napster Puts AI Agents on the Phone Line, Natively Inside Microsoft Azure</h3></div><a href="/news/napster-puts-ai-agents-on-the-phone-line-natively-inside-microsoft-azure" class="post-item-link_link w-inline-block"></a><div class="categories-div align-right"><div class="cagegories-div_wrap flex-left"><a href="/news-type/press-release" class="category-link w-inline-block"><div class="category-item-small">Press Release</div></a></div></div></div></div><div role="listitem" class="posts-three-col_item w-dyn-item"><div class="post-item-link h-100"><div class="post-item-link_img-wrap aspect-ratio-10-8"><img src="https://cdn.prod.website-files.com/69afddf56ce54da131973b12/6a6a5487e997c72e221b13ae_Image%20(8).png" loading="lazy" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/69afddf56ce54da131973b12/6a6a5487e997c72e221b13ae_Image%20(8)-p-500.png 500w, https://cdn.prod.website-files.com/69afddf56ce54da131973b12/6a6a5487e997c72e221b13ae_Image%20(8)-p-800.png 800w, https://cdn.prod.website-files.com/69afddf56ce54da131973b12/6a6a5487e997c72e221b13ae_Image%20(8).png 1024w" class="post-item-link_img cover-full"/></div><div class="block-gap-16 indent-8"><div class="flex-row gap-8"><div class="label-gradient is-white-50">July 30, 2026</div><div class="dot-devider"></div><div class="label-gradient is-white-50 w-dyn-bind-empty"></div></div><h3 class="h6 medium">Napster, DETASAD, and Lenovo Enable Sovereign AI Infrastructure to Support Local Deployment in Saudi Arabia</h3></div><a href="/news/napster-detasad-and-lenovo-enable-sovereign-ai-infrastructure-to-support-local-deployment-in-saudi-arabia" class="post-item-link_link w-inline-block"></a><div class="categories-div align-right"><div class="cagegories-div_wrap flex-left"><a href="/news-type/press-release" class="category-link w-inline-block"><div class="category-item-small">Press Release</div></a></div></div></div></div><div role="listitem" class="posts-three-col_item w-dyn-item"><div class="post-item-link h-100"><div class="post-item-link_img-wrap aspect-ratio-10-8"><img src="https://cdn.prod.website-files.com/69afddf56ce54da131973b12/6a60c214581d7beff673b8f3_Formule_1_Piste%2028.jpg" loading="lazy" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/69afddf56ce54da131973b12/6a60c214581d7beff673b8f3_Formule_1_Piste%2028-p-500.jpg 500w, https://cdn.prod.website-files.com/69afddf56ce54da131973b12/6a60c214581d7beff673b8f3_Formule_1_Piste%2028-p-800.jpg 800w, https://cdn.prod.website-files.com/69afddf56ce54da131973b12/6a60c214581d7beff673b8f3_Formule_1_Piste%2028-p-1080.jpg 1080w, https://cdn.prod.website-files.com/69afddf56ce54da131973b12/6a60c214581d7beff673b8f3_Formule_1_Piste%2028-p-1600.jpg 1600w, https://cdn.prod.website-files.com/69afddf56ce54da131973b12/6a60c214581d7beff673b8f3_Formule_1_Piste%2028-p-2000.jpg 2000w, https://cdn.prod.website-files.com/69afddf56ce54da131973b12/6a60c214581d7beff673b8f3_Formule_1_Piste%2028-p-2600.jpg 2600w, https://cdn.prod.website-files.com/69afddf56ce54da131973b12/6a60c214581d7beff673b8f3_Formule_1_Piste%2028-p-3200.jpg 3200w, https://cdn.prod.website-files.com/69afddf56ce54da131973b12/6a60c214581d7beff673b8f3_Formule_1_Piste%2028.jpg 3335w" class="post-item-link_img cover-full"/></div><div class="block-gap-16 indent-8"><div class="flex-row gap-8"><div class="label-gradient is-white-50">July 22, 2026</div><div class="dot-devider"></div><div class="label-gradient is-white-50 w-dyn-bind-empty"></div></div><h3 class="h6 medium">Napster&#x27;s AI Agent Turned F1 Ticket Browsers Into Buyers, Lifting Checkout Clickthroughs By 70%</h3></div><a href="/news/napsters-ai-agent-turned-f1-ticket-browsers-into-buyers-lifting-checkout-clickthroughs-by-70" class="post-item-link_link w-inline-block"></a><div class="categories-div align-right"><div class="cagegories-div_wrap flex-left"><a href="/news-type/press-release" class="category-link w-inline-block"><div class="category-item-small">Press Release</div></a></div></div></div></div></div></div></div></div></div></div></div><div class="nnw-get-crew-section"><div class="nnw-btm-cta-overlay"></div><div class="code-embed-5 w-embed"><style>
  .crew-video {
    width: 100%;
    /*height: 100%;*/
    max-height: 1844px;
    object-fit: cover;
    border-top-left-radius: 24px;
    border-top-right-radius: 24px;
  }
  @media (max-width: 768px) {
    .crew-video {
      object-fit: contain;
      position: relative;
      border-top-left-radius: 12px;
      border-top-right-radius: 12px;
    }
  }
</style>

<video class="crew-video" id="crewVideo" preload="metadata" muted playsinline loop poster="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69e086da2d9db260df097c19_footer-cta-poster.avif">
  <source src="https://demoassets.touchcast.com/webflow-assets/videos/Companions_SittingLongSofa_1x1.webm" type="video/webm" />
  <source src="https://demoassets.touchcast.com/webflow-assets/videos/Companions_SittingLongSofa.mp4" type="video/mp4" />
</video></div><div class="get-crew-content-wraper"><div class="nnw-footer-cta-tag-line"><div class="nnw-footer-cta-tag-line-txt">Start free.</div><div class="nnw-footer-cta-tag-grd">Upgrade when you&#x27;re ready.</div></div><h2 class="nnw-footer-cta-heading">Get your crew.</h2><div class="hero_buttons"><a href="/consumer" class="pink-button w-inline-block"><div>Get Started Now</div></a><a href="/napster-for-mac" class="transparent-button is-home w-inline-block"><div>Get Napster for Mac</div></a></div></div><img src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b3b60dc32dfba08ebbc09b_home-mobile.avif" loading="lazy" alt="" class="image-56"/></div><div class="np-lightbox"><div class="np-lightbox-script w-embed"></div><div class="np-lightbox-video"><a href="#" class="transparent-button np-lightbox-close w-inline-block"><img src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69cb93537f2a658350da4519_x-close.svg" loading="lazy" alt="" class="btn-arro-rt"/></a></div></div></div><section class="nnw-footer-section"><div class="footer-cta-btn-div"><div class="nnw-footer-cta-img-below-section"></div></div><div class="nnw-footer-item-form sm"><div class="nnw-footer-item-form-head">Sign up to receive the latest product news, stories, and innovations worth your time.</div><a href="#" class="nnw-getstart-btn hidden w-button">Get Started</a><div class="code-embed-4 w-embed w-script"><style>
  #subscribe-form .hsfc-Step__Content {
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: start;
  }
  #subscribe-form input,
  #newsletter-form2 input {
    min-height: 59px;
    margin-right: 0;
    padding: 20px 0 20px 14px;
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    background-color: #ffffff0d;
    border: 1px solid #ffffff0d;
    border-radius: 10px;
    font-family: Inter, sans-serif;
    margin-right: 0;
    box-shadow: none;
    width: 70%;
  }
  input:focus-visible {
    outline: none;
  }
  #subscribe-form .hsfc-NavigationRow {
    margin-top: 0;
  }
  #subscribe-form button,
  #newsletter-form2 button {
    color: #be369d;
    background-color: #be369d05;
    border: 2px solid #be369d;
    border-radius: 10px;
    min-height: 59px;
    padding: 18px 20px;
    font-family: Inter, sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 100%;
    box-shadow: 1px 2px 10px 0 rgba(0, 0, 0, 0.25);
    word-break: normal;
    overflow-wrap: normal;
    width: 110px;
    margin-left: 12px;
    transition: none;
    transform: none;
  }
  #subscribe-form .hsfc-NavigationRow__Buttons {
    justify-content: start;
  }
  #subscribe-form .hsfc-NavigationRow__Alerts {
    margin-bottom: 0;
  }
  #subscribe-form .hsfc-FieldLabel {
    /* color: #FFF;
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 100%;
  margin-bottom: 12px;*/
    display: none;
  }
  #subscribe-form .hsfc-FieldLabel__RequiredIndicator {
    color: #dd52cb !important;
    margin-left: 2px;
  }
  #subscribe-form p {
    color: rgba(255, 255, 255, 0.6);
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
  }
  #subscribe-form .hsfc-NavigationRow__Alerts .hsfc-ErrorAlert {
    display: none;
  }

  #subscribe-form input::placeholder,
  #newsletter-form2 input::placeholder {
    color: #fff;
  }
  #subscribe-form input::-webkit-input-placeholder,
  #newsletter-form2 input::-webkit-input-placeholder {
    color: #fff;
  }

  #subscribe-form input::-moz-placeholder,
  #newsletter-form2 input::-moz-placeholder {
    color: #fff;
  }

  #subscribe-form input:-ms-input-placeholder,
  #newsletter-form2 input:-ms-input-placeholder {
    color: #fff;
  }

  #subscribe-form input::placeholder,
  #newsletter-form2 input::placeholder {
    color: #fff;
  }
  #newsletter-form2 input.input-error {
    border-color: #ff4d6d;
  }
  .email-error2 {
    display: none;
    font-size: 0.72rem;
    color: #ff4d6d;
    margin-top: 6px;
    padding-left: 40px;
  }
  .email-error2.show {
    display: block;
  }
  .nl-success {
    display: none;
    margin-top: 0px;
    text-align: center;
  }
  .nl-success.show {
    display: block;
  }
  .nl-success h3 {
    font-size: 41px;
    font-weight: 700;
    color: #dd52cb;
    margin-bottom: 4px;
    margin-top: 0px;
  }
  .nl-success p {
    font-size: 24px;
    color: #dd52cb;
  }
  #newsletter-form2 {
    display: flex;
    justify-content: center;
  }
  @media (max-width: 768px) {
    #newsletter-form2 input {
      width: 60% !important;
    }
  }
  @media screen and (max-width: 479px) {
    .email-error2 {
      padding-left: 20px;
    }
  }
</style>

<form class="newsletter-form2" id="newsletter-form2" novalidate>
  <input type="email" placeholder="Enter email address" aria-label="Email" id="newsletter-email2" required />
  <button type="submit">Submit</button>
</form>
<p class="email-error2" id="email-error2"></p>
<div class="nl-success" id="nl-success2" style="text-align: center"><p>Thank you, we'll be in touch soon.</p></div>

<script>
  document.getElementById('newsletter-form2').addEventListener('submit', function (e) {
    e.preventDefault();
    var emailInput = document.getElementById('newsletter-email2');
    var errorEl = document.getElementById('email-error2');
    var email = emailInput.value.trim();
    // Reset previous error state
    emailInput.classList.remove('input-error');
    errorEl.textContent = '';
    errorEl.classList.remove('show');
    // 1. Empty field validation
    if (email === '') {
      emailInput.classList.add('input-error');
      errorEl.textContent = 'Email address is required.';
      errorEl.classList.add('show');
      return;
    }
    // 2. Email format validation
    if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) {
      emailInput.classList.add('input-error');
      errorEl.textContent = 'Please enter a valid email address.';
      errorEl.classList.add('show');
      return;
    }
    // Valid — fire Braze
    braze.getUser().setEmail(email);
    braze.getUser().setEmailNotificationSubscriptionType('opted_in');
    braze.getUser().addToSubscriptionGroup('20e7612e-55f2-4c1b-a46f-95b99c0cfcc1');
    braze.getUser().addToCustomAttributeArray('product_ids', 'website');
    braze.requestImmediateDataFlush();

    // Fire custom event after 2s delay, then flush again
    setTimeout(function () {
      braze.logCustomEvent('newsletter_signup_marketing_website');
      braze.requestImmediateDataFlush();
    }, 2000);

    // Show success message, hide form
    document.getElementById('newsletter-form2').style.display = 'none';
    document.getElementById('email-error2').classList.remove('show');
    document.getElementById('nl-success2').classList.add('show');
  });
</script></div></div><div class="div-block-6"></div><div class="w-layout-grid nnw-footer-grid top-padding-0"><div class="nnw-footer-item"><div class="nnw-footer-item-head">Products</div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="/consumer" class="nnw-footer-item-txt no-capitalize">Napster App</a></div><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="/napster-for-mac" class="nnw-footer-item-txt no-capitalize">Napster for Mac</a></div><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="/view" class="nnw-footer-item-txt no-capitalize">Napster View</a></div><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="/station" class="nnw-footer-item-txt no-capitalize">Napster Station</a></div><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="/learn-for-enterprise" class="nnw-footer-item-txt no-capitalize">Napster Learn: Enterprise</a></div><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="/learn-for-higher-education" class="nnw-footer-item-txt no-capitalize">Napster Learn: Higher Ed</a></div><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="/spaces" class="nnw-footer-item-txt no-capitalize">Napster Spaces</a></div><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="/developer" class="nnw-footer-item-txt no-capitalize">Napster API</a></div></div></div></div><div class="nnw-footer-item"><div class="nnw-footer-item-head">Solutions</div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="/enterprise" class="nnw-footer-item-txt">For Enterprise</a></div><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="/developer" class="nnw-footer-item-txt">For Developers</a></div><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="/partners" class="nnw-footer-item-txt">For Partners</a></div><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="/case-studies" class="nnw-footer-item-txt">Case Studies</a></div></div></div></div><div class="nnw-footer-item"><div class="nnw-footer-item-head">Company</div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="/about" class="nnw-footer-item-txt">About</a></div><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="/news" class="nnw-footer-item-txt">Newsroom</a></div><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="/careers" class="nnw-footer-item-txt">Careers</a></div><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="/blog" class="nnw-footer-item-txt">Blog</a></div><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="/references" class="nnw-footer-item-txt">Reference</a></div><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="/contact" class="nnw-footer-item-txt">Contact Us</a></div></div></div></div><div class="nnw-footer-item"><div class="nnw-footer-item-head">Resources</div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="/security" class="nnw-footer-item-txt">Security</a></div><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="/news#mediakit" class="nnw-footer-item-txt">Media Kit</a></div><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="https://help.napster.com/hc/en-us" class="nnw-footer-item-txt">Help Center</a></div><div role="listitem" class="nnw-footer-links w-dyn-item"><a href="/ethics" class="nnw-footer-item-txt">Ethics</a></div></div></div></div><div class="nnw-footer-qr-section"><div class="nnw-footer-playstore-actions"><a href="https://apps.apple.com/us/app/napster-ai-music-experts/id584557117" class="nnw-footer-google-playstore w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b1135306dd6512a006cdb6_Store%20download%20button.avif" alt="Download APP Store" class="image-3"/></a><a href="https://companiondesktop.blob.core.windows.net/application/builds/Napster.dmg" class="nnw-footer-appstore w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b11341694e9bd68e16868c_Store%20download%20button.avif" alt="Download for MacOs" class="image-14"/></a><a href="https://play.google.com/store/apps/details?id=com.rhapsody.napster&amp;pcampaignid=web_share" class="nnw-footer-appstore w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b11362422a5f9268c4c252_Store%20download%20button.avif" alt="Get it on Google Play" class="image-15"/></a><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/6a0478ac72a3abe2d14a47e1_qrcode-url-consumer.avif" alt="Scan QR Code" class="nnw-footer-qr"/></div></div></div><div class="nnw-footer-social-wraper"><div class="nnw-footer-qr-section sm"><div class="nnw-footer-playstore-actions"><a href="#" class="nnw-footer-google-playstore w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b1135306dd6512a006cdb6_Store%20download%20button.avif" alt="Download on App Store" class="image-3"/></a><a href="#" class="nnw-footer-appstore w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b11341694e9bd68e16868c_Store%20download%20button.avif" alt="Download for MacOs" class="image-14"/></a><a href="#" class="nnw-footer-appstore w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b11362422a5f9268c4c252_Store%20download%20button.avif" alt="Get it on Google Play" class="image-15"/></a></div><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b113de93832f8a4f4c00b1_QR%20Code.avif" alt="" class="nnw-footer-qr"/></div><div class="div-block-185"><div class="nnw-footer-item-form lg"><div class="nnw-footer-item-form-head">Sign up to receive the latest product news, stories, and innovations worth your time.</div><a href="#" class="nnw-getstart-btn hidden w-button">Get Started</a><div class="w-embed w-script"><style>
  #subscribe-form .hsfc-Step__Content {
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: start;
  }
  #subscribe-form input,
  #newsletter-form input {
    min-height: 59px;
    margin-right: 0;
    padding: 20px 0 20px 14px;
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    background-color: #ffffff0d;
    border: 1px solid #ffffff0d;
    border-radius: 10px;
    font-family: Inter, sans-serif;
    margin-right: 0;
    box-shadow: none;
    width: 70%;
  }
  input:focus-visible {
    outline: none;
  }
  #subscribe-form .hsfc-NavigationRow {
    margin-top: 0;
  }
  #subscribe-form button,
  #newsletter-form button {
    color: #be369d;
    background-color: #be369d05;
    border: 2px solid #be369d;
    border-radius: 10px;
    min-height: 59px;
    padding: 18px 20px;
    font-family: Inter, sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 100%;
    box-shadow: 1px 2px 10px 0 rgba(0, 0, 0, 0.25);
    word-break: normal;
    overflow-wrap: normal;
    width: 110px;
    margin-left: 12px;
    transition: none;
    transform: none;
  }
  #subscribe-form .hsfc-NavigationRow__Buttons {
    justify-content: start;
  }
  #subscribe-form .hsfc-NavigationRow__Alerts {
    margin-bottom: 0;
  }
  #subscribe-form .hsfc-FieldLabel {
    /* color: #FFF;
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 100%;
  margin-bottom: 12px;*/
    display: none;
  }
  #subscribe-form .hsfc-FieldLabel__RequiredIndicator {
    color: #dd52cb !important;
    margin-left: 2px;
  }
  #subscribe-form p {
    color: rgba(255, 255, 255, 0.6);
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
  }
  #subscribe-form .hsfc-NavigationRow__Alerts .hsfc-ErrorAlert {
    display: none;
  }

  #subscribe-form input::placeholder,
  #newsletter-form input::placeholder {
    color: #fff;
  }
  #subscribe-form input::-webkit-input-placeholder,
  #newsletter-form input::-webkit-input-placeholder {
    color: #fff;
  }

  #subscribe-form input::-moz-placeholder,
  #newsletter-form input::-moz-placeholder {
    color: #fff;
  }

  #subscribe-form input:-ms-input-placeholder,
  #newsletter-form input:-ms-input-placeholder {
    color: #fff;
  }

  #subscribe-form input::placeholder,
  #newsletter-form input::placeholder {
    color: #fff;
  }
  #newsletter-form input.input-error {
    border-color: #ff4d6d;
  }
  .email-error {
    display: none;
    font-size: 0.72rem;
    color: #ff4d6d;
    margin-top: 6px;
  }
  .email-error.show {
    display: block;
  }
  .nl-success {
    display: none;
    margin-top: 0px;
    text-align: left;
  }
  .nl-success.show {
    display: block;
  }
  .nl-success h3 {
    font-size: 41px;
    font-weight: 700;
    color: #dd52cb;
    margin-bottom: 4px;
    margin-top: 0px;
  }
  .nl-success p {
    font-size: 24px;
    color: #dd52cb;
  }
</style>

<form class="newsletter-form" id="newsletter-form" novalidate>
  <input name="email" type="email" placeholder="Enter email address" aria-label="Email" id="newsletter-email" required />
  <button type="submit">Submit</button>
</form>
<p class="email-error" id="email-error"></p>
<div class="nl-success" id="nl-success"><p>Thank you, we'll be in touch soon.</p></div>

<script>
  document.getElementById('newsletter-form').addEventListener('submit', function (e) {
    e.preventDefault();
    var emailInput = document.getElementById('newsletter-email');
    var errorEl = document.getElementById('email-error');
    var email = emailInput.value.trim();
    // Reset previous error state
    emailInput.classList.remove('input-error');
    errorEl.textContent = '';
    errorEl.classList.remove('show');
    // 1. Empty field validation
    if (email === '') {
      emailInput.classList.add('input-error');
      errorEl.textContent = 'Email address is required.';
      errorEl.classList.add('show');
      return;
    }
    // 2. Email format validation
    if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) {
      emailInput.classList.add('input-error');
      errorEl.textContent = 'Please enter a valid email address.';
      errorEl.classList.add('show');
      return;
    }
    // Valid — fire Braze
    braze.getUser().setEmail(email);
    braze.getUser().setEmailNotificationSubscriptionType('opted_in');
    braze.getUser().addToSubscriptionGroup('20e7612e-55f2-4c1b-a46f-95b99c0cfcc1');
    braze.getUser().addToCustomAttributeArray('product_ids', 'website');
    braze.requestImmediateDataFlush();

    // Fire custom event after 2s delay, then flush again
    setTimeout(function () {
      braze.logCustomEvent('newsletter_signup_marketing_website');
      braze.requestImmediateDataFlush();
    }, 2000);

    // Show success message, hide form
    document.getElementById('newsletter-form').style.display = 'none';
    document.getElementById('email-error').classList.remove('show');
    document.getElementById('nl-success').classList.add('show');
  });
</script></div></div></div><div class="nnw-footer-social-inner-wraper"><div class="w-layout-grid nnw-footer-social-grid"><a href="https://www.linkedin.com/company/napstercorp/" class="nnw-footer-social-icon-link w-inline-block"><div class="nnw-footer-social-icon-div-wraper"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69aebbdd90c8dabba13b238b_ri_linkedin-fill.png" alt="Linkedin" class="image-6"/></div></a><a href="https://www.youtube.com/@napstercorp" class="nnw-footer-social-icon-link w-inline-block"><div class="nnw-footer-social-icon-div-wraper"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69b3ac3917215cd3868b5ca9_a.png" alt="Youtube" class="image-7"/></div></a><a href="https://www.instagram.com/napstercorp/" class="nnw-footer-social-icon-link w-inline-block"><div class="nnw-footer-social-icon-div-wraper"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69aeba543b33182de1a53414_mdi_instagram.png" alt="instagram" class="image-7"/></div></a><a href="https://x.com/napster_corp" class="nnw-footer-social-icon-link w-inline-block"><div class="nnw-footer-social-icon-div-wraper"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69aebc33516eac27a6293122_codicon_twitter.png" alt="Twitter" class="image-4"/></div></a><a href="https://www.facebook.com/napstercorp/" class="nnw-footer-social-icon-link w-inline-block"><div class="nnw-footer-social-icon-div-wraper"><img loading="lazy" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69aebbff17794fe4a3a06c54_ri_facebook-fill.png" alt="Facebook" class="image-5"/></div></a></div><div class="nnw-footer-copyright-section"><div class="nnw-footer-copyright-outer-div"><div class="nnw-footer-copyright-terms no-pointer"><div class="nnw-footer-copyright-terms-section"><div class="nnw-footer-copyright-terms-txt">© 2026 Napster</div></div></div><a href="/terms-of-service" class="nnw-footer-copyright-terms w-inline-block"><div class="nnw-footer-copyright-terms-section"><div class="nnw-footer-copyright-terms-txt">Terms of Service</div></div></a><a href="/privacy-policy" class="nnw-footer-copyright-terms w-inline-block"><div class="nnw-footer-copyright-terms-section"><div class="nnw-footer-copyright-terms-txt">Privacy Policy</div></div></a><a href="/ethics" class="nnw-footer-copyright-terms hide w-inline-block"><div class="nnw-footer-copyright-terms-section"><div class="nnw-footer-copyright-terms-txt">AI Principles</div></div></a><a href="#" class="nnw-footer-copyright-terms hide w-inline-block"><div class="nnw-footer-copyright-terms-section"><div class="nnw-footer-copyright-terms-txt">Accessibility</div></div></a></div></div></div></div><div class="nnw-footer-napster-img-div"><img sizes="100vw" srcset="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69aec7622df8100f2fb51f8a_svgviewer-png-output-p-500.avif 500w, https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69aec7622df8100f2fb51f8a_svgviewer-png-output-p-800.avif 800w, https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69aec7622df8100f2fb51f8a_svgviewer-png-output.avif 2400w" alt="Napster Footer Logo" src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/69aec7622df8100f2fb51f8a_svgviewer-png-output.avif" loading="lazy" class="nnw-footer-napster-img"/></div></section><script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=69ae6251111a514c4038172a" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/js/napsternew.schunk.a643aa8ea17d1482.js" type="text/javascript" integrity="sha384-SNcahRi4XLTXOU8uOghaF0CVQluDik0spEaE0OmCqsQh+ntA42N48MfFeKXGs3zO" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/69ae6251111a514c4038172a/js/napsternew.c9f80112.b5126f0ca8b622fd.js" type="text/javascript" integrity="sha384-sOIiJX4tfaDrjKfE0Bid+UZnW0u6/tAhYob8jeR2ShIG6yjJ1PdOcshDtteV/I+a" crossorigin="anonymous"></script><!-- Cookiebot starts-->
<div id="CookiebotWidgetIcon">
  <img src="https://cdn.prod.website-files.com/682348580f8cbfc039aea6c4/688c9a149f137270dbe60463_cokkieImg1.svg" alt="Icon" class="coookie-icon-img"/>
</div>

<script id="Cookiebot" src="https://consent.cookiebot.com/uc.js" data-cbid="0951dec0-49ed-4518-9eb5-f9c113481d3b" type="text/javascript"></script>
<!-- Cookiebot Ends-->

<script defer type="text/javascript">
  $(document).ready(function () {
    $('.napster-sm-hamberger').on('click', function () {
      $('.napster-sm-menu').toggleClass('napster-sm-menu-open');
      $('body').addClass('hide-overflow');
    });
    $('.napster-sm-close').on('click', function () {
      $('.napster-sm-menu').removeClass('napster-sm-menu-open');
      $('body').removeClass('hide-overflow');
    });
    $('.napster-sm-dropdown-block').click(function () {
      $('.napster-sm-menu').removeClass('napster-sm-menu-open');
      $('body').removeClass('hide-overflow');
    });
    $(window).on('resize', function () {
      $('.napster-sm-menu').removeClass('napster-sm-menu-open');
      $('body').removeClass('hide-overflow');
    });
  });

  window.addEventListener('scroll', function () {
    const header = document.querySelector('.napster-header');
    header.classList.toggle('sticky', window.scrollY > 10);
  });
  window.addEventListener('scroll', function () {
    const header = document.querySelector('.napster-sm-header');
    header.classList.toggle('sticky', window.scrollY > 10);
  });
</script>
<style>
  .np-lightbox-video video {
    width: 100%;
    height: 100%;
  }
</style>
<script defer>
  $(document).ready(function () {
    function lightboxInit() {
      const overlay = document.querySelector('.np-lightbox');
      const closeBtn = document.querySelector('.np-lightbox-close');
      const lbContainer = document.querySelector('.np-lightbox-video');

      if (!overlay || !lbContainer) return;

      let lbVideo = null;
      function loadVideo(url) {
        const existing = lbContainer.querySelector('video');

        if (existing && existing.src === url) {
          lbVideo = existing;
          return;
        }

        lbVideo = document.createElement('video');
        lbVideo.setAttribute('controls', '');
        lbVideo.setAttribute('playsinline', '');
        lbVideo.src = url;

        if (existing) {
          existing.replaceWith(lbVideo);
        } else {
          lbContainer.appendChild(lbVideo);
        }
      }

      // --- Open / close ---
      function openLightbox(url, startTime) {
        loadVideo(url);

        lbVideo.currentTime = startTime || 0;
        overlay.style.pointerEvents = 'auto';
        overlay.style.visibility = 'visible';
        overlay.style.opacity = '1';
        lbVideo.muted = false;
        lbVideo.play().catch(function () {});

        document.addEventListener('keydown', onEscape);
      }

      function closeLightbox() {
        if (!lbVideo) return;
        const time = lbVideo.currentTime;
        lbVideo.pause();
        overlay.style.opacity = '0';
        overlay.style.visibility = 'hidden';
        overlay.style.pointerEvents = 'none';

        overlay.dispatchEvent(
          new CustomEvent('np-lightbox-close', {
            detail: { currentTime: time },
          }),
        );

        document.removeEventListener('keydown', onEscape);
      }

      function onEscape(e) {
        if (e.key === 'Escape') closeLightbox();
      }

      // --- Bind all [data-lightbox-button] triggers ---
      document.querySelectorAll('[data-lightbox-button]').forEach(function (btn) {
        btn.addEventListener('click', function (e) {
          e.preventDefault();
          const url = btn.getAttribute('data-video');
          if (url) openLightbox(url);
        });
      });

      // --- Close via button / backdrop ---
      if (closeBtn) closeBtn.addEventListener('click', closeLightbox);
      overlay.addEventListener('click', function (e) {
        if (e.target === overlay) closeLightbox();
      });

      // Expose for other scripts
      window.npLightbox = {
        open: openLightbox,
        close: closeLightbox,
        getVideo: function () {
          return lbVideo;
        },
      };
    }
    lightboxInit();
  });
</script>
<!-- Cookiebot] Start-->
<script>
  $(document).ready(function () {
    $('#CookiebotWidgetIcon img').on('click', function (e) {
      e.preventDefault();
      const cookieBot = window.Cookiebot;
      if (cookieBot && typeof cookieBot.show === 'function') {
        //cookieBot.show();
        cookieBot.renew();
      } else {
        console.warn('Cookiebot not ready or .show() function missing.');
      }
    });
  });
</script>
<!-- Cookiebot End-->
<!--<script>
  /*! Nora v1.13.3 — Napster on-site AI specialist */!function(){"use strict";var e="1.13.3";if(window.__noraBooted)console.warn("[nora] already booted (v"+window.__noraBooted+") — refusing to double-boot.");else{var t=window.napsterCompanionApiSDK;if(t&&t.isInitialized)console.warn("[nora] a Napster SDK session is already live on this page — refusing to double-boot.");else{window.__noraBooted=e;var n={tokenUrl:"https://touchcast.touchcastmaas.dev/aix/api/agent/307022f9-f8a5-4a13-881f-e02d250167f8/connections",edgeMcpUrl:"https://cdn.jsdelivr.net/npm/@napster-corp/edge-mcp@0.3.0/dist/edge-mcp.iife.min.js",sdkUrl:"https://cdn.jsdelivr.net/npm/@touchcastllc/napster-companion-api@1.5.0/lib/index.standalone.js",sdkCssUrl:"https://cdn.jsdelivr.net/npm/@touchcastllc/napster-companion-api@1.5.0/lib/index.css",avatarSize:320,greeting:"Greet the visitor warmly in one or two short sentences, in Napster’s own confident, punchy voice. Then say what you can do: guide them around the site, explain every Napster product, find the latest news, and get them set up with a demo.",contactPath:"/contact",externalClientId:"94a030b318f64192a73414a480ae27c6",origin:location.origin},r=[{key:"app",name:"Napster App",path:"/consumer",pitch:"AI producers for music. A crew for everything else.",detail:"The consumer app: AI music producers plus thousands of AI specialists with video presence, memory and personality — on mobile and web.",audience:"consumers"},{key:"mac",name:"Napster for Mac",path:"/napster-for-mac",pitch:"Your crew has arrived.",detail:"Desktop AI agents that remember context, help with work and creation, and stay out of the way.",audience:"consumers"},{key:"spaces",name:"Napster Spaces",path:"/spaces",pitch:"Turn any website into a conversation.",detail:"Adds an AI specialist to any business website: answers visitors in real time, guides decisions. Conversations that convert. From URL to live in minutes.",audience:"businesses"},{key:"learn-enterprise",name:"Napster Learn (Enterprise)",path:"/learn-for-enterprise",pitch:"Your best experts, now reaching everyone.",detail:"Turns training, development and institutional knowledge into AI agents that coach, mentor and assess employees across languages.",audience:"businesses"},{key:"learn-higher-ed",name:"Napster Learn (Higher Education)",path:"/learn-for-higher-education",pitch:"Your best professors, now reaching everyone.",detail:"AI teaching companions that help faculty teach, mentor and support students across courses, languages and learning environments.",audience:"education"},{key:"view",name:"Napster View",path:"/view",pitch:"A 3D holographic display for your AI.",detail:"Brings AI agents into the room with visible, spatial, holographic presence.",audience:"businesses and consumers"},{key:"station",name:"Napster Station",path:"/station",pitch:"Just say what you need.",detail:"AI concierge for real-world physical spaces — agents that see, hear, respond and support visitors. Up to 40% shorter queue times.",audience:"businesses and venues"},{key:"api",name:"Omniagent API",path:"/developer",pitch:"Video AI agents with a memory. One prompt. Two steps. One AI agent.",detail:"Developer infrastructure for building and deploying multimodal AI agents with voice, video presence, memory and personality. One agent, every channel: web (WebRTC), WebSocket audio, and telephony — connect agents to phone lines and handle inbound/outbound calls over VoIP or SIP. You build the product. Napster powers the agents.",audience:"developers"},{key:"enterprise",name:"Napster Enterprise",path:"/enterprise",pitch:"Build an AI-native organization. Live in a week.",detail:"Enterprise AI agents at scale with governance and SOC 2 certified infrastructure. Every employee gets a crew.",audience:"enterprises"}],o=[{name:"Home",path:"/"},{name:"About Napster",path:"/about"},{name:"News",path:"/news"},{name:"Blog",path:"/blog"},{name:"Case Studies",path:"/case-studies"},{name:"Careers",path:"/careers"},{name:"Partners",path:"/partners"},{name:"Contact",path:"/contact"},{name:"Ethics",path:"/ethics"},{name:"Security",path:"/security"}],i={sitemap:null,news:null,blog:null},a=!1,s=!1,c=location.href,l=null,u={firstName:"firstname",lastName:"lastname",email:"email",jobTitle:"jobtitle",message:"message"},p=[{name:"site.search",description:"For when you do NOT know where something lives on napster.com — a topic, an article, a keyword. Returns titles and paths only, no content: follow up with site.open (or site.read_page) on what you found. For a known page or section, call site.open directly instead. Use before claiming something is not on the site.",inputSchema:{type:"object",properties:{query:{type:"string",description:"What the visitor is looking for"}},required:["query"]},execute:function(e){var t=String(e&&e.query||"").toLowerCase().split(/\W+/).filter(function(e){return e.length>2});return Promise.all([i.sitemap?Promise.resolve(i.sitemap):fetch(n.origin+"/sitemap.xml",{credentials:"same-origin"}).then(function(e){return e.text()}).then(function(e){var t=(e.match(/<loc>[^<]+<\/loc>/g)||[]).map(function(e){return e.replace(/<\/?loc>/g,"").replace(n.origin,"").replace(/^https?:\/\/[^/]+/,"")});return i.sitemap=t,t}).catch(function(){return i.sitemap=[]}),T("news"),T("blog")]).then(function(e){var n,i=[];if(r.concat(o).forEach(function(e){var n=C(e.path).concat((e.name+" "+(e.pitch||"")+" "+(e.detail||"")).toLowerCase().split(/\W+/)),r=N(t,n);r>0&&i.push({score:r+1,title:e.name,path:e.path,type:e.pitch?"product page":"page"})}),e[1].concat(e[2]).forEach(function(e){var n=N(t,(e.title||"").toLowerCase().split(/\W+/).concat(C(e.path)));n>0&&i.push({score:n,title:e.title,path:e.path,type:0===e.path.indexOf("/blog/")?"blog post":"news",date:e.date})}),e[0].forEach(function(e){if(!i.some(function(t){return t.path===e})){var n=N(t,C(e));n>0&&i.push({score:n-.5,title:e,path:e,type:"page"})}}),i.sort(function(e,t){return t.score-e.score}),0===(i=i.slice(0,8).map(function(e){return delete e.score,e})).length)n="Nothing matched on the site. Say so plainly and offer the closest product page or the contact page. Do not invent content.";else if(1===i.length)n="One match — open it with site.open as you answer; these results carry only titles, the page itself has the content.";else{var a={};i.forEach(function(e){a["/"+(e.path.split("/")[1]||"")]=1});var s=1===Object.keys(a).length?Object.keys(a)[0]:null;n=s?"Several matches, all under "+s+" — open that section with site.open and summarize what is there while the visitor looks. Results carry only titles; open or read a page before going into detail.":"Several matches from different sections — read the choices out and let the visitor pick, then open their pick with site.open. Results carry only titles; open or read a page before going into detail."}return j({results:i},{resultCount:i.length,screenMoved:!1},n)})}},{name:"site.open",description:"Open a napster.com page on screen and get its full content back — the show-while-telling tool. Use it whenever the visitor asks to see, go to, or learn about a specific page or section. Known sections you can open directly without searching: /case-studies, /about, /news, /blog, /careers, /partners, /security, /ethics, /contact, and every product page. Path like /case-studies or /news/some-article.",inputSchema:{type:"object",properties:{path:{type:"string",description:"Site path to open, e.g. /spaces"}},required:["path"]},execute:function(e){var t=w(String(e&&e.path||""));return t?x(t.href).then(function(e){var n=E(e,t.href,!0);return I(t,4e3).then(function(e){return j({page:n},{navigated:e,nowAt:location.pathname},e?"The page is on screen — confirmed. Introduce it in one short sentence from the summary; the content is visible, do not read it all out.":"Navigation did NOT confirm. Do not claim the screen changed. Offer the visitor the summary instead and suggest they click the link themselves.")})}).catch(function(e){return j({error:e.message},{navigated:!1},"That page did not load. Say so and offer site.search for an alternative.")}):Promise.resolve(j({error:"invalid or external path"},{navigated:!1},"Tell the visitor you can only open pages on napster.com."))}},{name:"site.read_page",description:"Read any napster.com page in the background (no navigation) to answer in detail from what the site actually says.",inputSchema:{type:"object",properties:{path:{type:"string",description:"Site path to read, e.g. /developer"}},required:["path"]},execute:function(e){var t=w(String(e&&e.path||""));return t?x(t.href).then(function(e){return j({page:E(e,t.href,!0)},{screenMoved:!1},"Ground your answer in this content only. Quote the site’s phrasing where it is strong. The visitor’s screen has not moved.")}).catch(function(e){return j({error:e.message},{screenMoved:!1},"Could not read that page. Say so; never fill the gap from memory.")}):Promise.resolve(j({error:"invalid or external path"},{screenMoved:!1},"Only napster.com pages can be read."))}},{name:"products.explain",description:"The Napster product catalogue — every product with its pitch, what it does, who it is for, and its page. Use for quick, confident product answers. Asked about one specific product, it also brings that product’s page on screen.",inputSchema:{type:"object",properties:{product:{type:"string",description:'Optional: a product name or keyword (e.g. "spaces", "mac", "api"). Omit for the full catalogue or comparisons.'}},required:[]},execute:function(e){var t=String(e&&e.product||"").toLowerCase().trim(),n=r;if(t&&0===(n=r.filter(function(e){return-1!==(e.key+" "+e.name+" "+e.pitch+" "+e.detail).toLowerCase().indexOf(t)})).length&&(n=r),t&&1===n.length){var o=n[0],i=w(o.path);return x(i.href).then(function(e){var t=E(e,i.href,!0);return I(i,4e3).then(function(e){return{confirmed:e,page:t}})}).then(function(e){var t=e.confirmed;return j({products:n,page:e.page},{screenMoved:t,navigated:t,nowAt:location.pathname,count:1},t?"The "+o.name+" page is on screen — confirmed. Walk the visitor through it in two or three short sentences while they look, in Napster’s own words — this is your product, speak as “we” and “our”.":"Navigation did NOT confirm — answer from the catalogue entry and offer site.open.")}).catch(function(){return j({products:n},{screenMoved:!1,count:1},"The page could not be opened right now — answer from the catalogue entry.")})}return Promise.resolve(j({products:n},{screenMoved:!1,count:n.length},"These are Napster’s own words — speak them confidently, as “we” and “our”."))}},{name:"news.latest",description:'The latest from Napster — news/announcements (source: "news") or blog posts (source: "blog"). Brings that section on screen and returns the items with dates and links. Use for any ask about recent news, announcements, or blog posts.',inputSchema:{type:"object",properties:{source:{type:"string",enum:["news","blog"],description:"news = newsroom/announcements/press; blog = blog posts. Default: news"},limit:{type:"number",description:"Max items, default 5"}},required:[]},execute:function(e){var t="blog"===(e&&e.source)?"blog":"news",n=Math.min(Math.max(e&&e.limit||5,1),12);return T(t).then(function(e){return I(w("/"+t),4e3).then(function(r){return j({source:t,items:e.slice(0,n)},{screenMoved:r,navigated:r,nowAt:location.pathname,count:Math.min(e.length,n)},r?"The "+("blog"===t?"blog":"newsroom")+" is on screen — highlight the two or three most interesting items with their dates while the visitor looks, and offer to open any of them.":"Navigation did NOT confirm — mention the two or three most interesting titles with their dates and offer to open any of them.")})})}},{name:"demo.fill",description:"Bring our demo/contact form on screen and fill it as the conversation flows. Call it IMMEDIATELY when a visitor wants a demo — with no arguments if you have no details yet — so the form is up while you talk. Then call it again with any subset of firstName, lastName, email, jobTitle, message as details arrive. Fields land quietly; keep the conversation natural instead of confirming each one. It never submits.",inputSchema:{type:"object",properties:{firstName:{type:"string"},lastName:{type:"string"},email:{type:"string"},jobTitle:{type:"string"},message:{type:"string",description:"What they want the demo to cover"}},required:[]},execute:function(e){var t=w(n.contactPath);return x(t.href).then(function(){return I(t,4e3)}).then(function(t){return t?O(8e3).then(function(t){return t?function(e,t){var n={};return Object.keys(u).forEach(function(e){var r=t[e];"string"==typeof r&&r.trim()&&(n[e]=r.trim())}),function t(r){var o=!1;return Object.keys(n).forEach(function(t){var r=e.querySelector('[name$="/'+u[t]+'"]');r&&r.value!==n[t]&&(function(e,t){var n="TEXTAREA"===e.tagName?window.HTMLTextAreaElement.prototype:window.HTMLInputElement.prototype;Object.getOwnPropertyDescriptor(n,"value").set.call(e,t),e.dispatchEvent(new InputEvent("input",{bubbles:!0,inputType:"insertText",data:t})),e.dispatchEvent(new Event("change",{bubbles:!0}))}(r,n[t]),o=!0)}),!o||r>=3?Promise.resolve(q(e)):new Promise(function(e){setTimeout(e,700)}).then(function(){return t(r+1)})}(1)}(t,e||{}).then(function(e){var t=e.missing,n=-1!==t.indexOf("firstName")||-1!==t.indexOf("lastName")?"ask for their name right now — e.g. “Who should the team reach out to?”":-1!==t.indexOf("email")?"ask for their work email right now":-1!==t.indexOf("jobTitle")?"ask for their role right now":"ask right now what they want the demo to cover";return j({filled:e.values},{formOnScreen:!0,missing:t},t.length?"You lead the intake: "+n+". Fill answers as they come, quietly — no narrating the screen, no echoing fields back. Still missing: "+t.join(", ")+".":"Everything is in — NOW read all five values back once, in one breath, and ask the visitor to confirm. Submit only after an explicit yes, via demo.submit.")}):j({},{formOnScreen:!1},"The form did not render — tell the visitor the form is taking a moment and try again.")}):j({},{formOnScreen:!1},"Could not open the contact page — tell the visitor and try again.")})}},{name:"demo.submit",description:"Submit our demo/contact form — ONLY after demo.fill shows every field filled and the visitor has explicitly confirmed. Clicks the form’s own Submit and reports what actually happened.",inputSchema:{type:"object",properties:{},required:[]},execute:function(){return O(4e3).then(function(e){if(!e)return j({},{submitted:!1},"The form is not on screen — use demo.fill first.");var t=q(e);if(t.missing.length)return j({filled:t.values},{submitted:!1,missing:t.missing},"Fields are still missing: "+t.missing.join(", ")+" — collect them and fill before submitting.");var n=e.querySelector('button[type="submit"], input[type="submit"]');return n?(n.click(),new Promise(function(e){var t=Date.now(),n=setInterval(function(){var r=document.querySelector(".hs-form-html"),o=r&&r.querySelector('.hsfc-ErrorAlert, [class*="rror"][class*="lert"]'),i=o?o.textContent.replace(/\s+/g," ").trim():"",a=!r||!r.querySelector("form"),s=r&&(r.querySelector('[class*="uccess"]')||/thank/i.test(r.innerText));i?(clearInterval(n),e(j({formError:i},{submitted:!1},'Our form rejected the submission: "'+i+'". The details are still filled in — tell the visitor plainly and invite them to press the Submit button themselves; a manual click usually passes the captcha.'))):a||s?(clearInterval(n),e(j({},{submitted:!0},"Submitted and confirmed by the form — tell the visitor the team will reach out."))):Date.now()-t>1e4&&(clearInterval(n),e(j({},{submitted:"unconfirmed"},"No confirmation appeared within 10 seconds — say the submission may not have gone through and ask the visitor to check the form on screen.")))},500)})):j({},{submitted:!1},"No submit control found — invite the visitor to submit manually.")})}}],h={tools:0,resource:!1,api:"none"},d=[".nora-ask-btn { position: fixed; bottom: 28px; right: 28px; z-index: 999;","  display: flex; align-items: center; gap: 10px; background: #be369d; color: #fff;","  border: none; cursor: pointer; padding: 12px 20px 12px 14px; border-radius: 999px;","  font-size: 0.92rem; font-weight: 700; letter-spacing: 0.01em; white-space: nowrap;","  font-family: inherit;","  box-shadow: 0 0 32px rgba(240, 4, 127, 0.55), 0 4px 24px rgba(0, 0, 0, 0.5);","  transition: transform 0.2s, box-shadow 0.2s; }",".nora-ask-btn:hover { transform: translateY(-3px);","  box-shadow: 0 0 48px rgba(240, 4, 127, 0.75), 0 8px 32px rgba(0, 0, 0, 0.5); }",".nora-ask-btn:active { transform: translateY(-1px); }",'.nora-ask-btn::before { content: ""; position: absolute; inset: -4px;',"  border-radius: 999px; border: 2px solid rgba(240, 4, 127, 0.5);","  animation: nora-pulse-ring 2.4s ease-out infinite; pointer-events: none; }",".nora-ask-avatar { border-radius: 50%; overflow: hidden; flex-shrink: 0;","  display: flex; align-items: center; justify-content: center; }",".nora-ask-avatar svg { width: 18px; height: 18px; opacity: 0.95; }","@keyframes nora-pulse-ring {","  0% { transform: scale(1); opacity: 0.7; }","  70% { transform: scale(1.12); opacity: 0; }","  100% { transform: scale(1.12); opacity: 0; } }"].join("\n"),m=null,f=null,g=!1;"loading"===document.readyState?document.addEventListener("DOMContentLoaded",D):D()}}function v(){var t=["[nora v"+e+"]"].concat([].slice.call(arguments));console.log.apply(console,t)}function y(t){console.error("[nora v"+e+"] ❌ "+t)}function w(e){try{var t=new URL(e,n.origin);return t.origin===n.origin?t:null}catch(e){return null}}function b(e){return e?e.textContent.replace(/\s+/g," ").trim():""}function k(e){return new Promise(function(t,n){if(document.querySelector('script[src="'+e+'"]'))return t();var r=document.createElement("script");r.src=e,r.onload=t,r.onerror=function(){n(new Error("failed to load "+e))},document.head.appendChild(r)})}function x(e){return fetch(e,{credentials:"same-origin"}).then(function(t){if(!t.ok)throw new Error("HTTP "+t.status+" for "+e);return t.text()}).then(function(e){return(new DOMParser).parseFromString(e,"text/html")})}function S(e,t){for(var n={},r=[],o=e.querySelectorAll(".w-dyn-item"),i=0;i<o.length&&r.length<12;i++){for(var a=o[i],s=null,c=a.querySelectorAll("a[href]"),l=0;l<c.length;l++){var u=c[l].getAttribute("href")||"";if(/^\/(news|blog|case-studies)\/./.test(u)){s=c[l];break}}if(s){var p=s.getAttribute("href");n[p]||(n[p]=1,r.push({title:b(a.querySelector("h3, h2, h4"))||b(s),path:p,date:b(a.querySelector(".label-gradient"))||null,category:b(a.querySelector(".category-item-small"))||null}))}}return r}function E(e,t,o){e=e||document,t=t||location.href;var i,a=o?12e3:2800;try{i=new URL(t,n.origin)}catch(e){i=new URL(n.origin)}var s=i.pathname,c=function(e){return/^\/(news|blog|case-studies)\/./.test(e)?"article":/^\/(news|blog|case-studies)\/?$/.test(e)?"listing":"page"}(s),l=e.querySelector('meta[name="description"]'),u={kind:c,url:i.href,path:s,title:e.title||b(e.querySelector("title")),description:l?l.getAttribute("content"):null},p=r.filter(function(e){return e.path===s})[0];if(p&&(u.product=p.name),"listing"===c)u.items=S(e);else if("article"===c){u.h1=b(e.querySelector("h1"));var h=e.querySelector(".w-richtext");u.body=h?b(h).slice(0,a):null,u.date=b(e.querySelector(".label-gradient"))||null}else u.h1=b(e.querySelector("h1")),u.sections=[].slice.call(e.querySelectorAll("h2")).map(b).filter(Boolean).slice(0,10),u.textExcerpt=function(e){var t=e.querySelector("#spa-content")||e.body;if(!t)return"";for(var n=t.cloneNode(!0),r=n.querySelectorAll("script, style, svg, noscript, template, iframe, form, nav, header, footer, .napster-header, .napster-mobile-nav, .w-nav"),o=0;o<r.length;o++)r[o].parentNode&&r[o].parentNode.removeChild(r[o]);return n.textContent.replace(/\s+/g," ").trim()}(e).slice(0,a);return u}function T(e){return i[e]?Promise.resolve(i[e]):x(n.origin+"/"+e).then(function(t){return i[e]=S(t),i[e]}).catch(function(){return i[e]=[]})}function C(e){return e.toLowerCase().split(/[/-]+/).filter(Boolean)}function N(e,t){for(var n=0,r=0;r<e.length;r++)-1!==t.indexOf(e[r])&&(n+=1);return n}function A(){if(a)s=!0;else if("function"==typeof l)try{l()}catch(e){y("state push failed: "+e.message)}}function I(e,t){return new Promise(function(n){var r=e.pathname;if(location.pathname===r)return n(!0);!function(e){var t=document.createElement("a");t.href=e.pathname+e.search+e.hash,t.style.display="none",document.body.appendChild(t),t.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window})),setTimeout(function(){try{t.remove()}catch(e){}},1e3)}(e);var o=Date.now(),i=setInterval(function(){location.pathname===r?(clearInterval(i),c=location.href,s=!1,n(!0)):Date.now()-o>(t||4e3)&&(clearInterval(i),n(!1))},120)})}function O(e){return new Promise(function(t){var n=Date.now();!function r(){var o=document.querySelector(".hs-form-html");return o&&o.querySelector('[name$="/firstname"]')?t(o):Date.now()-n>e?t(null):void setTimeout(r,300)}()})}function q(e){var t={},n=[];return Object.keys(u).forEach(function(r){var o=e.querySelector('[name$="/'+u[r]+'"]');t[r]=o?o.value:null,o&&o.value.trim()||n.push(r)}),{values:t,missing:n}}function j(e,t,n){return(e=e||{}).visibleReceipt=t,e.note=n,{content:[{type:"text",text:JSON.stringify(e)}]}}function M(e){return function(t){return a=!0,Promise.resolve().then(function(){return e(t)}).finally(function(){a=!1,s&&(s=!1,A())})}}function P(){m&&(m.style.display="flex")}function D(){var e=document.getElementById("askAgentBtn");e&&(e.style.display="none"),k(n.edgeMcpUrl).then(function(){if(!function(){var e=document.modelContext;if(!e||"function"!=typeof e.registerResource)return y("document.modelContext.registerResource missing — Edge MCP did not install."),!1;if(p.forEach(function(t){var n={name:t.name,description:t.description,inputSchema:t.inputSchema,execute:M(t.execute)};n.handler=n.execute;try{"function"==typeof e.registerTool?(e.registerTool(n),h.api="registerTool"):e.provideContext,h.tools++}catch(e){y("tool "+t.name+" failed to register: "+e.message)}}),"registerTool"!==h.api&&"function"==typeof e.provideContext)try{e.provideContext({tools:p.map(function(e){return{name:e.name,description:e.description,inputSchema:e.inputSchema,execute:M(e.execute)}})}),h.api="provideContext",h.tools=p.length}catch(e){y("provideContext failed: "+e.message)}try{e.registerResource({uri:"state://current-page",name:"Current page",description:"What the visitor is looking at right now: url, page kind, title, headings or items.",mimeType:"application/json",get:function(){return E(document,location.href)},subscribe:function(e){return l=e,function(){l=null}}}),h.resource=!0}catch(e){y("resource registration failed: "+e.message)}return v("registered "+h.tools+" tools via "+h.api+", resource: "+h.resource),!0}())throw new Error("Edge MCP registration failed");!function(){var e=history.pushState;function t(){location.href!==c&&(c=location.href,A())}history.pushState=function(){var n=e.apply(this,arguments);return setTimeout(t,50),n},window.addEventListener("popstate",function(){setTimeout(t,50)}),setInterval(t,1500)}(),function(){if(!document.getElementById("nora-ask-btn")){var e=document.createElement("style");e.textContent=d,document.head.appendChild(e),(m=document.createElement("button")).id="nora-ask-btn",m.className="nora-ask-btn",m.setAttribute("aria-label","Ask Nora"),m.innerHTML='<span class="nora-ask-avatar"><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10" fill="#22C55E"></circle></svg></span>Ask Nora',m.addEventListener("click",L),document.body.appendChild(m)}}(),v('ready — click "Ask Nora" (bottom right) to start the session')}).catch(function(e){y("boot failed: "+e.message),window.__noraBooted=null})}function L(){f||g||(g=!0,m&&(m.style.display="none"),function(e){if(!document.querySelector('link[href="'+e+'"]')){var t=document.createElement("link");t.rel="stylesheet",t.href=e,document.head.appendChild(t)}}(n.sdkCssUrl),k(n.sdkUrl).then(function(){return navigator.mediaDevices.getUserMedia({audio:!0}).then(function(e){e.getTracks().forEach(function(e){e.stop()})}).catch(function(e){throw new Error("microphone permission denied or unavailable: "+e.message)})}).then(function(){var e={channelType:"webrtc",functions:[],initialSpeech:n.greeting,externalClientId:n.externalClientId},t=function(){try{var e="noraClientId",t=localStorage.getItem(e);return t&&/^[A-Za-z0-9_-]{1,32}$/.test(t)||(t=crypto.randomUUID().replace(/-/g,"").slice(0,32),localStorage.setItem(e,t)),t}catch(e){return null}}();return t&&(e.externalClientId=t,e.initialSpeech=n.greeting+" If you remember this visitor from earlier conversations, greet them like a returning acquaintance and pick up naturally."),fetch(n.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then(function(e){return e.ok?e.json():e.text().then(function(t){throw new Error("token endpoint "+e.status+": "+t)})})}).then(function(e){if(!e.token)throw new Error("token endpoint returned no token");var t=document.getElementById("nora-avatar-container");t||((t=document.createElement("div")).id="nora-avatar-container",document.body.appendChild(t));var n=window.napsterCompanionApiSDK;if(!n)throw new Error("SDK global missing after script load");return n.init(e.token,{mountContainer:"#nora-avatar-container",position:"bottom-right",onReady:function(){v("SDK ready")},onAvatarReady:function(){v("avatar ready — greeting comes from initialSpeech on the connection")},onError:function(e){y("SDK error: "+JSON.stringify(e).slice(0,300))},onDestroy:function(){v("session closed"),f=null,P()}})}).then(function(e){f=e,g=!1;try{f.showAvatar()}catch(e){}var t=document.getElementById("nora-avatar-container");t&&(t.style.width=n.avatarSize+"px"),v("✅ Nora is live.")}).catch(function(e){g=!1,P(),y("session start failed: "+e.message)}))}}();var a=b?c%d:e[f];
</script>--><script type="text/javascript" defer  src="//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"></script>
<script>
  document.addEventListener('DOMContentLoaded', function () {
    const btn = document.getElementById('downloadAppBtn');
    if (!btn) return;

    const ua = navigator.userAgent;
    const platform = navigator.platform;

    let link = 'https://companiondesktop.blob.core.windows.net/application/builds/Napster.dmg';

    // iOS (including iPadOS pretending to be Mac)
    if (/iPhone|iPad|iPod/.test(ua) || (platform === 'MacIntel' && navigator.maxTouchPoints > 1)) {
      link = 'https://apps.apple.com/us/app/napster-ai-music-experts/id584557117';

      // Mac (REAL Mac)
    } else if (platform.toUpperCase().includes('MAC')) {
      link = 'https://companiondesktop.blob.core.windows.net/application/builds/Napster.dmg';

      // Android (move LAST)
    } else if (/Android/.test(ua)) {
      link = 'https://play.google.com/store/apps/details?id=com.rhapsody.napster&pcampaignid=web_share';
    }

    btn.setAttribute('href', link);
  });

  $(document).ready(function () {
    let forward = true;
    var slider = $('.napster-products-slide');

    slider.slick({
      slidesToShow: 1,
      arrows: false,
      infinite: false,
      pauseOnHover: true,
      centerMode: true,
      centerPadding: '174px',
      autoplay: true,
      autoplaySpeed: 12000,
      initialSlide: 0,
      slidesToScroll: 1,
      slidesToShow: 1,
      responsive: [
        {
          breakpoint: 2100,
          settings: {
            centerPadding: '40px',
          },
        },
        {
          breakpoint: 1024,
          settings: {
            centerPadding: '40px',
          },
        },
        {
          breakpoint: 768,
          settings: {
            centerPadding: '20px',
          },
        },
        {
          breakpoint: 480,
          settings: {
            centerMode: false,
          },
        },
      ],
    });

    $('.npr-products-nav-btn .right')
      .closest('.npr-products-nav-btn')
      .click(function () {
        slider.slick('slickNext');
      });

    $('.npr-products-nav-btn')
      .first()
      .click(function () {
        slider.slick('slickPrev');
      });

    $('.npr-prducts-nav-list-item').click(function () {
      var index = $(this).index();
      slider.slick('slickGoTo', index);
    });

    slider.on('afterChange', function (event, slick, currentSlide) {
      // $('.npr-prducts-nav-list-item').removeClass('active');
      // $('.npr-prducts-nav-list-item').eq(currentSlide).addClass('active');
      restartProgressBar(currentSlide);
    });

    function restartProgressBar(index) {
      var items = $('.npr-prducts-nav-list-item');
      items.removeClass('active');
      var current = items.eq(index);
      // Force reflow to restart animation
      current.removeClass('active');
      void current[0].offsetWidth;
      current.addClass('active');
    }

    restartProgressBar(0);

    //timerstop
    var $sliderEl = $('.napster-products-slide');
    $sliderEl.on('mouseenter', function () {
      $('.npr-prducts-nav-list-item.active').addClass('paused');
    });
    $sliderEl.on('mouseleave', function () {
      $('.npr-prducts-nav-list-item.active').removeClass('paused');
    });

    slider.on('afterChange', function (event, slick, currentSlide) {
      if (currentSlide === 0) {
        $('.npr-products-nav-btn').first().addClass('disabled');
      } else {
        $('.npr-products-nav-btn').first().removeClass('disabled');
      }

      if (currentSlide === slick.slideCount - 1) {
        $('.npr-products-nav-btn').last().addClass('disabled');
      } else {
        $('.npr-products-nav-btn').last().removeClass('disabled');
      }
    });
    //
    $('.napster-products-slide').on('afterChange', function (event, slick, currentSlide) {
      const last = slick.slideCount - 1;

      if (forward && currentSlide === last) {
        forward = false; // switch direction to backward
      } else if (!forward && currentSlide === 0) {
        forward = true; // switch direction to forward
      }
    });

    $('.napster-trusted-scroll-1').slick({
      dots: false,
      arrows: false,
      infinite: true,
      autoplay: true,
      slidesToShow: 1,
      slidesToScroll: 1,
      speed: 12000,
      autoplaySpeed: 0,
      centerMode: true,
      cssEase: 'linear',
      variableWidth: true,
      initialSlide: 1,
      arrows: false,
      buttons: false,
      pauseOnFocus: false,
      pauseOnHover: false,
    });

    function initVideoObserver() {
      const videos = document.querySelectorAll('video');

      if (!videos.length) return;

      const observer = new IntersectionObserver(
        function (entries) {
          entries.forEach(function (entry) {
            if (entry.isIntersecting) {
              entry.target.setAttribute('autoplay', true);
              entry.target.play().catch(function () {});
            } else {
              entry.target.setAttribute('autoplay', false);
              entry.target.pause();
            }
          });
        },
        { threshold: 0.25 },
      );

      videos.forEach((video) => {
        if (video) observer.observe(video);
      });
    }

    initVideoObserver();
  });

$(document).ready(function () {

  // Open popup + play video
 /* $('#watch-film').on('click', function (e) {
    e.preventDefault();
	$('.home').addClass('overflow-hidden');
    $('.bg-video-popup-wraper').fadeIn();

    const video = $('#homeVideo')[0];
    video.currentTime = 0;
    $(video).html(
      `<source src="https://demoassets.touchcast.com/webflow-assets/videos/napster-intro-new_1.webm" type="video/webm">
      <source src="https://demoassets.touchcast.com/webflow-assets/videos/napster-intro-new_1.mp4" type="video/mp4">`
    );
    video.load();
    video.play();
  });*/

  // Close popup + pause video
 /* $('a#popupclose').on('click', function (e) {
    e.preventDefault();
    $('.bg-video-popup-wraper').fadeOut();
	$('.home').removeClass('overflow-hidden');
    const video = $('#homeVideo')[0];
    video.pause();
    video.currentTime = 0;
    $(video).find('source').remove(); 
    video.load();
  });*/

});

if ('mediaSession' in navigator) {
  var noop = function() {};
  var actions = [
    'play', 'pause', 'stop',
    'seekbackward', 'seekforward', 'seekto',
    'previoustrack', 'nexttrack',
    'skipad'
  ];
  actions.forEach(function(action) {
    try { navigator.mediaSession.setActionHandler(action, noop); } catch(e) {}
  });

  navigator.mediaSession.playbackState = 'none';
  var v = document.querySelector('video.station-film-secondary-img');
  if (v) {
    v.addEventListener('pause', function() {
      navigator.mediaSession.playbackState = 'none';
    });
    v.addEventListener('ended', function() {
      navigator.mediaSession.playbackState = 'none';
    });
    v.addEventListener('play', function() {
      navigator.mediaSession.playbackState = 'none';
    });
  }
} 
</script>

<!-- /* LinkedIn Insight Tag (Pixel) for paid ads tracking */-->

<script type="text/javascript">
  _linkedin_partner_id = "10197761";
  window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || [];
  window._linkedin_data_partner_ids.push(_linkedin_partner_id);
</script>

<script type="text/javascript">
  (function(l) {
  if (!l){window.lintrk = function(a,b){window.lintrk.q.push([a,b])};
  window.lintrk.q=[]}
  var s = document.getElementsByTagName("script")[0];
  var b = document.createElement("script");
  b.type = "text/javascript";b.async = true;
  b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js";
  s.parentNode.insertBefore(b, s);})(window.lintrk);
</script>

<noscript>
  <img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=10197761&fmt=gif" />
</noscript></body></html>