[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-secure:{\n  \"regionTheme\": *[_type == \"theme\" && language == $locale][0] {\n    ...,\n    activeAnnouncement->{...},\n    \"mainNavigation\": \nmainNav->{\n  \"topLevelMenuItems\": navigationMenu.topLevelMenuItems[] {\n    title,\n    \"submenuLists\": submenuLists[] {\n      submenuListTitle,\n      \"submenuListItems\": submenuListItems[] {\n        \n  ...\n,\n        \n_type == 'link.internal' => {\n  ...,\n  newWindow,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n}\n}\n,\n        \n  _type == 'link.ssu' => {\n  ...\n}\n,\n      }\n    },\n    \"additionalInfo\": additionalInfo[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n    }\n  },\n  \"menuActions\": headerActions[] {\n    _type,\n    _key,\n    \"internalLink\": internalLink { \n_type == 'link.internal' => {\n  ...,\n  newWindow,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n}\n}\n },\n    \"externalLink\": externalLink { \n  ...\n },\n    \"ssuLink\": ssuLink { \n  _type == 'link.ssu' => {\n  ...\n}\n },\n    appstoreLink,\n    button,\n  },\n  \"mobileHeaderActionKey\": mobileHeaderActionKey,\n}\n,\n    mainFooter->{\nfootnote,\n'pageLinks': coalesce(pageLinks[] {\n  \n  ...\n,\n  \n_type == 'link.internal' => {\n  ...,\n  newWindow,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n}\n}\n,\n  \n  _type == 'link.ssu' => {\n  ...\n}\n,\n}, []),\n'socialLinks': coalesce(socialLinks[] {\n  \n  _type == 'link.social' => {\n    _type,\n    _key,\n    title,\n    url,\n    icon,\n  }\n,\n}, []),\n'legalLinks': coalesce(legalLinks[] {\n  \n  ...\n,\n  \n_type == 'link.internal' => {\n  ...,\n  newWindow,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n}\n}\n,\n  \n  _type == 'link.ssu' => {\n  ...\n}\n,\n}, []),\n},\n  },\n  \"defaultSeo\": *[_type == \"config.seo\"][0] {\n    \"siteTitle\": siteTitle[_key == $locale][0].value,\n    \"favicon\": favicon.asset,\n    titleSeparator,\n    siteUrl,\n    withSiteTitle,\n    \"metaTitle\": seoSocial.metaTitle[_key == $locale][0].value,\n    \"metaTitleFallback\": seoSocial.metaTitle[_key == \"en-gb\"][0].value,\n    \"metaDescription\": seoSocial.metaDescription[_key == $locale][0].value,\n    \"metaDescriptionFallback\": seoSocial.metaDescription[_key == \"en-gb\"][0].value,\n    \"mobileAppDescription\": seoSocial.mobileAppDescription[_key == $locale][0].value,\n    \"mobileAppDescriptionFallback\": seoSocial.mobileAppDescription[_key == \"en-gb\"][0].value,\n    \"socialImage\": seoSocial.socialImage.asset,\n  },\n  \"appStores\": *[_type == \"config.appstores\"][0] {\n    \"modalTitleAppStoreDownload\": coalesce(\n      modalTitleAppStoreDownload[_key == $locale][0].value,\n      modalTitleAppStoreDownload[_key == \"en-gb\"][0].value,\n    ),\n    \"appleAppStore\": coalesce(\n      appleAppStore[_key == $locale][0].value,\n      appleAppStore[_key == \"en-gb\"][0].value,\n    ),\n    \"googlePlayStore\": coalesce(\n      googlePlayStore[_key == $locale][0].value,\n      googlePlayStore[_key == \"en-gb\"][0].value,\n    ),\n    \"huaweiAppGallery\": coalesce(\n      huaweiAppGallery[_key == $locale][0].value,\n      huaweiAppGallery[_key == \"en-gb\"][0].value,\n    ),\n    \"appleAppStoreBadge\": coalesce(\n      appleAppStoreBadge[_key == $locale][0].value.asset->url,\n      appleAppStoreBadge[_key == \"en-gb\"][0].value.asset->url,\n    ),\n    \"googlePlayStoreBadge\": coalesce(\n      googlePlayStoreBadge[_key == $locale][0].value.asset->url,\n      googlePlayStoreBadge[_key == \"en-gb\"][0].value.asset->url,\n    ),\n    \"huaweiAppGalleryBadge\": coalesce(\n      huaweiAppGalleryBadge[_key == $locale][0].value.asset->url,\n      huaweiAppGalleryBadge[_key == \"en-gb\"][0].value.asset->url,\n    ),\n  },\n  \"social\": *[_type == \"config.social\"][0] {\n    \"Facebook\": Facebook[_key == $locale][0].value,\n    \"FacebookAPIKey\": FacebookAPIKey[_key == $locale][0].value,\n    \"Instagram\": Instagram[_key == $locale][0].value,\n    \"LinkedIn\": LinkedIn[_key == $locale][0].value,\n    \"Twitter\": Twitter[_key == $locale][0].value,\n    \"YouTube\": YouTube[_key == $locale][0].value,\n    \"TikTok\": TikTok[_key == $locale][0].value,\n  },\n  \"slugs\": {\n    \"blog\": *[_id == $blogSingletonDocId][0].slug.current,\n    \"careers\": *[_id == $careersSingletonDocId][0].slug.current,\n    \"pressReleases\": *[_id == $pressReleaseSingletonDocId][0].slug.current,\n  },\n  \"fallbackImages\": *[_type == \"config.placeholderImages\"][0] {\n    \"press\": defaultImagePress {\n      fit,\n      alt,\n      asset,\n    },\n    \"resource\": defaultImageResources {\n      fit,\n      alt,\n      asset\n    }\n  }\n}:{\"locale\":\"en-us\",\"blogSingletonDocId\":\"singleton-pages-en-us-about-food-waste-blog-home\",\"careersSingletonDocId\":\"singleton-careerPages-en-us-careers-home\",\"pressReleaseSingletonDocId\":\"singleton-pages-en-us-press-home\"}":3,"sanity-secure:{\n  \"page\": *[_type == $type && language == $locale && slug.current == $slug && true && (!defined($parent) || parent->slug.current == $parent) && (!defined($grandParent) || parent->parent->slug.current == $grandParent) && (!defined($greatGrandParent) || parent->parent->parent->slug.current == $greatGrandParent)][0] {\n    \n  _type,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n,\n  parent,\n  language,\n  pageVisibility,\n  seoSocial,\n  hideHeader,\n  \"_translations\": *[_type == \"translation.metadata\" && references(^._id)].translations[].value->{\n    title,\n    \"slug\": slug.current,\n    language\n  },\n  _createdAt,\n  _updatedAt,\n  publishedAt,\n  updatedAt,\n  pretitle,\n  title,\n  author->{\n    name,\n    slug,\n    \n  \"jobTitle\": coalesce(\n    jobTitle[_key == $locale][0].value,\n    jobTitle[_key == \"en-gb\"][0].value,\n  )\n,\n    image,\n    \"hasBio\": count(bio[_key == $locale][0].value[children[].text match \"?*\"]) > 0,\n  },\n  slug,\n  parent,\n  image,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  migrated,\n  contentChoice,\n  pageContent,\n  categories\n,\n    defined($defaultPageBlocksDocId) => {\n      \"defaultPageBlocks\": *[_id == $defaultPageBlocksDocId][0].content[] {\n        \n  ...,\n  content[] {\n    \n  ...,\n  _type == \"modularContentBlocks.inner.title\"=>{\ntitle[] {\n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n},\npreTitle[] {\n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n},\ndescription[] {\n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n}\n},_type == \"modularContentBlocks.inner.baseText\"=>{\n  text[] {\n  \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n,\n  tableData {\n      ...,\n      rows[] {\n        ...,\n        cells[] {\n          ...,\n          text[] {\n            \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n          }\n        }\n      }\n    }\n  }\n},_type == \"modularContentBlocks.inner.buttonGroup\"=>{\n  ...,\n  buttons[] {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    }\n  }\n},_type == \"modularContentBlocks.inner.salesforceForms\"=>{\n  salesforceForm->{\n  ...,\n  fieldsTexts {\n    ...,\n    noteText[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n,\n    },\n  },\n  platformOptions {\n    ...,\n    platformOptionsValidationMessage[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n,\n    },\n  },\n  blockerInputTexts {\n    ...,\n    blockerValidationMessage[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n,\n    },\n  }\n}},_type == \"modularContentBlocks.inner.faq\"=>{\n  \"items\": coalesce(\n    onetime.items[!($locale in coalesce(hiddenInLocales, []))] {\n    _key,\n    analyticsProperty,\n    question,\n    answer[] {\n        \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    existing->items[!($locale in coalesce(hiddenInLocales, []))] {\n      _key,\n      \n  \"analyticsProperty\": coalesce(\n    analyticsProperty[_key == $locale][0].value,\n    analyticsProperty[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"question\": coalesce(\n    question[_key == $locale][0].value,\n    question[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"answer\": coalesce(\n    answer[_key == $locale][0].value,\n    answer[_key == \"en-gb\"][0].value,\n  )\n[] {\n        \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    }\n  )\n},_type == \"modularContentBlocks.inner.statistics\"=>{\n   ...,\n   \"button\": coalesce(button[][0] {\n      ...,\n      link {\n        \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      },\n  }, false),\n   \"items\": coalesce(items[] {\n      _type==\"onetime\" => {\n...,\n},\n      _type==\"existing\"=> @->{\n        icon,\n        \n  \"prefix\": coalesce(\n    prefix[_key == $locale][0].value,\n    prefix[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"stat\": coalesce(\n    stat[_key == $locale][0].value,\n    stat[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"suffix\": coalesce(\n    suffix[_key == $locale][0].value,\n    suffix[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"context\": coalesce(\n    context[_key == $locale][0].value,\n    context[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"content\": coalesce(\n    content[_key == $locale][0].value,\n    content[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"source\": coalesce(\n    source[_key == $locale][0].value,\n    source[_key == \"en-gb\"][0].value,\n  )\n,\n      }\n    }, [])\n },_type == \"modularContentBlocks.inner.people\"=>{\n    people[]->{\n      ...,\n      \n  \"jobTitle\": coalesce(\n    jobTitle[_key == $locale][0].value,\n    jobTitle[_key == \"en-gb\"][0].value,\n  )\n\n    }\n},_type == \"modularContentBlocks.inner.ticker\"=>{\n  ...,\n  items[] {\n    _type == 'onetime' => {\n      name\n    },\n    _type == 'existing' => @->{\n      name\n    }\n  },\n  logos[]->{\n    ...,\n    \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n    \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n  }\n},_type == \"modularContentBlocks.inner.callout\"=>{\n   ...,\n   \"content\": coalesce(content[] {\n      ...,\n      title[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n      subtitle[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n   }, false),\n   \"button\": coalesce(button[][0] {\n      ...,\n      link {\n        \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      },\n  }, false),\n },_type == \"modularContentBlocks.inner.forms\"=>{\n  ...,\n  form->{\n    \n  ...,\n  notifications[] {\n    _type,\n    _key,\n  },\n  fields[] {\n    ...,\n    richValidationMessage[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n    },\n    noteText[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n    }\n  },\n  confirmation {\n    \n  \"confirmationType\": coalesce(confirmationType, type),\n  contentRedirectUrl,\n  contentMessage[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  contentBlocks[] {\n    \n  ...,\n  _type == \"modularContentBlocks.inner.buttonGroup\" => {\n    \n  ...,\n  buttons[] {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.people\" => {\n    \n    people[]->{\n      ...,\n      \n  \"jobTitle\": coalesce(\n    jobTitle[_key == $locale][0].value,\n    jobTitle[_key == \"en-gb\"][0].value,\n  )\n\n    }\n\n  },\n  _type == \"modularContentBlocks.inner.title\" => {\n    \n  ...,\n  title[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.baseText\" => {\n    \n  text[] {\n  \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n,\n  tableData {\n      ...,\n      rows[] {\n        ...,\n        cells[] {\n          ...,\n          text[] {\n            \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n          }\n        }\n      }\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.faq\" => {\n    \n  \"items\": coalesce(\n    onetime.items[!($locale in coalesce(hiddenInLocales, []))] {\n    _key,\n    analyticsProperty,\n    question,\n    answer[] {\n        \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    existing->items[!($locale in coalesce(hiddenInLocales, []))] {\n      _key,\n      \n  \"analyticsProperty\": coalesce(\n    analyticsProperty[_key == $locale][0].value,\n    analyticsProperty[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"question\": coalesce(\n    question[_key == $locale][0].value,\n    question[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"answer\": coalesce(\n    answer[_key == $locale][0].value,\n    answer[_key == \"en-gb\"][0].value,\n  )\n[] {\n        \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    }\n  )\n\n  },\n  _type == \"modularContentBlocks.inner.statistics\" => {\n    \n   ...,\n   \"button\": coalesce(button[][0] {\n      ...,\n      link {\n        \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      },\n  }, false),\n   \"items\": coalesce(items[] {\n      _type==\"onetime\" => {\n...,\n},\n      _type==\"existing\"=> @->{\n        icon,\n        \n  \"prefix\": coalesce(\n    prefix[_key == $locale][0].value,\n    prefix[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"stat\": coalesce(\n    stat[_key == $locale][0].value,\n    stat[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"suffix\": coalesce(\n    suffix[_key == $locale][0].value,\n    suffix[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"context\": coalesce(\n    context[_key == $locale][0].value,\n    context[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"content\": coalesce(\n    content[_key == $locale][0].value,\n    content[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"source\": coalesce(\n    source[_key == $locale][0].value,\n    source[_key == \"en-gb\"][0].value,\n  )\n,\n      }\n    }, [])\n \n  },\n  _type == \"modularContentBlocks.inner.callout\" => {\n    \n   ...,\n   \"content\": coalesce(content[] {\n      ...,\n      title[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n      subtitle[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n   }, false),\n   \"button\": coalesce(button[][0] {\n      ...,\n      link {\n        \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      },\n  }, false),\n \n  },\n  _type == \"modularContentBlocks.inner.ticker\" => {\n    \n  ...,\n  items[] {\n    _type == 'onetime' => {\n      name\n    },\n    _type == 'existing' => @->{\n      name\n    }\n  },\n  logos[]->{\n    ...,\n    \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n    \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.video\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.profilePicture\" => {\n    ...,\n    \"person\": person->\n  },\n  _type == \"modularContentBlocks.inner.partnerLogo\" => {\n    ...,\n    partnerLogo->{\n      ...,\n      \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n    }\n  },\n  _type == \"modularContentBlocks.inner.listing\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.tiles\" => {\n    \n...,\ntiles[] {\n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  link {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    },\n  },\n  \u002F\u002F Make sure that links are not included if containsLink is false\n  containsLink == false => {\n    \"link\": null,\n  }\n}\n\n  },\n  _type == \"modularContentBlocks.inner.nudge\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.solutionTiles\" => {\n    \n...,\ntiles[] {\n  ...,\n  link {\n    ...,\n    link->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n\n    },\n  },\n}\n\n  },\n  _type == \"modularContentBlocks.inner.campaignCounter\" => {\n    \n  },\n  _type == \"modularContentBlocks.outer.privacyControls\" => {\n    \n  ...,\n  description[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.forms\" => {\n    \n  ...,\n  form->{\n    _id,\n    title,\n    submitButtonText,\n    fields[] {\n      ...,\n      richValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n      noteText[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    confirmation {\n      \n  \"confirmationType\": coalesce(confirmationType, type),\n  contentRedirectUrl,\n  contentMessage[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.salesforceForms\" => {\n    \n  ...,\n  salesforceForm->{\n    _id,\n    title,\n    formUrl,\n    formOid,\n    productInterest,\n    submitButtonText,\n    fieldsTexts {\n      ...,\n      noteText[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    platformOptions {\n      ...,\n      platformOptionsValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    blockerInputTexts {\n      ...,\n      blockerValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    }\n  }\n\n  }\n\n  }\n\n  }\n\n  },\n},_type == \"modularContentBlocks.inner.profilePicture\"=>{\nperson->\n},_type == \"modularContentBlocks.inner.tiles\"=>{\n...,\ntiles[] {\n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  link {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    },\n  },\n  \u002F\u002F Make sure that links are not included if containsLink is false\n  containsLink == false => {\n    \"link\": null,\n  }\n}\n},_type == \"modularContentBlocks.inner.solutionTiles\"=>{\n...,\ntiles[] {\n  ...,\n  link {\n    ...,\n    link->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n\n    },\n  },\n}\n}\n\n  },\n  _type == \"modularContentBlocks.outer.carouselSection\"=>{ \n  ...,\n  preCarouselContent[] {\n    ...,\n    person->,\n    partnerLogo->{\n      ...,\n      \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n    },\n },\n slides[] {\n  ...,\n  content[] {\n    ...,\n    person->,\n    partnerLogo->{\n      ...,\n      \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n    },\n  }\n }\n },_type == \"modularContentBlocks.outer.tickerSection\"=>{ \n  ...,\n  items[] {\n    _type == 'onetime' => {\n      name\n    },\n    _type == 'existing' => @->{\n      name\n    }\n  },\n  logos[]->{\n      ...,\n      \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n  }\n },_type == \"modularContentBlocks.outer.stepsSection\"=>{ \n  ...,\n  slides[] {\n    ...,\n    content[] {\n      ...,\n      _type == \"modularContentBlocks.inner.buttonGroup\" => {\n        buttons[] {\n          ...,\n          link {\n            ...,\n            \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n          },\n        },\n      },\n    },\n  },\n  buttons[] {\n    ...,\n    link {\n      ...,\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      }\n    }\n },_type == \"modularContentBlocks.outer.cta\"=>{ \n  ...,\n  buttons[] {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    }\n  }\n },_type == \"modularContentBlocks.outer.careers\"=>{ \n  ...,\n  \"defaultResultsLabels\": *[_id == \"singleton-careerPages-en-gb-careers-home\" && language == \"en-gb\"]{\n  content[][_type == \"modularContentBlocks.outer.careers\"] {resultsLabels}\n  }\n },_type == \"modularContentBlocks.outer.solutionFinder\"=>{ \n  vendorTypes[]->{\n    _id,\n    _type,\n    title,\n    icon,\n  }\n },_type == \"modularContentBlocks.outer.supportSection\"=>{ \n  supportPath->{\n    ...,\n    \n    itemChoices[] {\n      ...,\n      faqsToDisplay[]->{\n        items[!($locale in coalesce(hiddenInLocales, []))] {\n          _key,\n          analyticsProperty,\n          \n  \"question\": coalesce(\n    question[_key == $locale][0].value,\n    question[_key == \"en-gb\"][0].value,\n  )\n,\n          \n  \"answer\": coalesce(\n    answer[_key == $locale][0].value,\n    answer[_key == \"en-gb\"][0].value,\n  )\n[] {\n            \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n            \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n          }\n        }\n      },\n      formToDisplay->{\n        \n  ...,\n  notifications[] {\n    _type,\n    _key,\n  },\n  fields[] {\n    ...,\n    richValidationMessage[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n    },\n    noteText[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n    }\n  },\n  confirmation {\n    \n  \"confirmationType\": coalesce(confirmationType, type),\n  contentRedirectUrl,\n  contentMessage[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  contentBlocks[] {\n    \n  ...,\n  _type == \"modularContentBlocks.inner.buttonGroup\" => {\n    \n  ...,\n  buttons[] {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.people\" => {\n    \n    people[]->{\n      ...,\n      \n  \"jobTitle\": coalesce(\n    jobTitle[_key == $locale][0].value,\n    jobTitle[_key == \"en-gb\"][0].value,\n  )\n\n    }\n\n  },\n  _type == \"modularContentBlocks.inner.title\" => {\n    \n  ...,\n  title[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.baseText\" => {\n    \n  text[] {\n  \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n,\n  tableData {\n      ...,\n      rows[] {\n        ...,\n        cells[] {\n          ...,\n          text[] {\n            \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n          }\n        }\n      }\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.faq\" => {\n    \n  \"items\": coalesce(\n    onetime.items[!($locale in coalesce(hiddenInLocales, []))] {\n    _key,\n    analyticsProperty,\n    question,\n    answer[] {\n        \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    existing->items[!($locale in coalesce(hiddenInLocales, []))] {\n      _key,\n      \n  \"analyticsProperty\": coalesce(\n    analyticsProperty[_key == $locale][0].value,\n    analyticsProperty[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"question\": coalesce(\n    question[_key == $locale][0].value,\n    question[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"answer\": coalesce(\n    answer[_key == $locale][0].value,\n    answer[_key == \"en-gb\"][0].value,\n  )\n[] {\n        \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    }\n  )\n\n  },\n  _type == \"modularContentBlocks.inner.statistics\" => {\n    \n   ...,\n   \"button\": coalesce(button[][0] {\n      ...,\n      link {\n        \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      },\n  }, false),\n   \"items\": coalesce(items[] {\n      _type==\"onetime\" => {\n...,\n},\n      _type==\"existing\"=> @->{\n        icon,\n        \n  \"prefix\": coalesce(\n    prefix[_key == $locale][0].value,\n    prefix[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"stat\": coalesce(\n    stat[_key == $locale][0].value,\n    stat[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"suffix\": coalesce(\n    suffix[_key == $locale][0].value,\n    suffix[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"context\": coalesce(\n    context[_key == $locale][0].value,\n    context[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"content\": coalesce(\n    content[_key == $locale][0].value,\n    content[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"source\": coalesce(\n    source[_key == $locale][0].value,\n    source[_key == \"en-gb\"][0].value,\n  )\n,\n      }\n    }, [])\n \n  },\n  _type == \"modularContentBlocks.inner.callout\" => {\n    \n   ...,\n   \"content\": coalesce(content[] {\n      ...,\n      title[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n      subtitle[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n   }, false),\n   \"button\": coalesce(button[][0] {\n      ...,\n      link {\n        \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      },\n  }, false),\n \n  },\n  _type == \"modularContentBlocks.inner.ticker\" => {\n    \n  ...,\n  items[] {\n    _type == 'onetime' => {\n      name\n    },\n    _type == 'existing' => @->{\n      name\n    }\n  },\n  logos[]->{\n    ...,\n    \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n    \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.video\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.profilePicture\" => {\n    ...,\n    \"person\": person->\n  },\n  _type == \"modularContentBlocks.inner.partnerLogo\" => {\n    ...,\n    partnerLogo->{\n      ...,\n      \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n    }\n  },\n  _type == \"modularContentBlocks.inner.listing\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.tiles\" => {\n    \n...,\ntiles[] {\n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  link {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    },\n  },\n  \u002F\u002F Make sure that links are not included if containsLink is false\n  containsLink == false => {\n    \"link\": null,\n  }\n}\n\n  },\n  _type == \"modularContentBlocks.inner.nudge\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.solutionTiles\" => {\n    \n...,\ntiles[] {\n  ...,\n  link {\n    ...,\n    link->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n\n    },\n  },\n}\n\n  },\n  _type == \"modularContentBlocks.inner.campaignCounter\" => {\n    \n  },\n  _type == \"modularContentBlocks.outer.privacyControls\" => {\n    \n  ...,\n  description[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.forms\" => {\n    \n  ...,\n  form->{\n    _id,\n    title,\n    submitButtonText,\n    fields[] {\n      ...,\n      richValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n      noteText[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    confirmation {\n      \n  \"confirmationType\": coalesce(confirmationType, type),\n  contentRedirectUrl,\n  contentMessage[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.salesforceForms\" => {\n    \n  ...,\n  salesforceForm->{\n    _id,\n    title,\n    formUrl,\n    formOid,\n    productInterest,\n    submitButtonText,\n    fieldsTexts {\n      ...,\n      noteText[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    platformOptions {\n      ...,\n      platformOptionsValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    blockerInputTexts {\n      ...,\n      blockerValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    }\n  }\n\n  }\n\n  }\n\n  }\n\n      },\n      \n    itemChoices[] {\n      ...,\n      faqsToDisplay[]->{\n        items[!($locale in coalesce(hiddenInLocales, []))] {\n          _key,\n          analyticsProperty,\n          \n  \"question\": coalesce(\n    question[_key == $locale][0].value,\n    question[_key == \"en-gb\"][0].value,\n  )\n,\n          \n  \"answer\": coalesce(\n    answer[_key == $locale][0].value,\n    answer[_key == \"en-gb\"][0].value,\n  )\n[] {\n            \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n            \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n          }\n        }\n      },\n      formToDisplay->{\n        \n  ...,\n  notifications[] {\n    _type,\n    _key,\n  },\n  fields[] {\n    ...,\n    richValidationMessage[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n    },\n    noteText[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n    }\n  },\n  confirmation {\n    \n  \"confirmationType\": coalesce(confirmationType, type),\n  contentRedirectUrl,\n  contentMessage[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  contentBlocks[] {\n    \n  ...,\n  _type == \"modularContentBlocks.inner.buttonGroup\" => {\n    \n  ...,\n  buttons[] {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.people\" => {\n    \n    people[]->{\n      ...,\n      \n  \"jobTitle\": coalesce(\n    jobTitle[_key == $locale][0].value,\n    jobTitle[_key == \"en-gb\"][0].value,\n  )\n\n    }\n\n  },\n  _type == \"modularContentBlocks.inner.title\" => {\n    \n  ...,\n  title[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.baseText\" => {\n    \n  text[] {\n  \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n,\n  tableData {\n      ...,\n      rows[] {\n        ...,\n        cells[] {\n          ...,\n          text[] {\n            \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n          }\n        }\n      }\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.faq\" => {\n    \n  \"items\": coalesce(\n    onetime.items[!($locale in coalesce(hiddenInLocales, []))] {\n    _key,\n    analyticsProperty,\n    question,\n    answer[] {\n        \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    existing->items[!($locale in coalesce(hiddenInLocales, []))] {\n      _key,\n      \n  \"analyticsProperty\": coalesce(\n    analyticsProperty[_key == $locale][0].value,\n    analyticsProperty[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"question\": coalesce(\n    question[_key == $locale][0].value,\n    question[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"answer\": coalesce(\n    answer[_key == $locale][0].value,\n    answer[_key == \"en-gb\"][0].value,\n  )\n[] {\n        \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    }\n  )\n\n  },\n  _type == \"modularContentBlocks.inner.statistics\" => {\n    \n   ...,\n   \"button\": coalesce(button[][0] {\n      ...,\n      link {\n        \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      },\n  }, false),\n   \"items\": coalesce(items[] {\n      _type==\"onetime\" => {\n...,\n},\n      _type==\"existing\"=> @->{\n        icon,\n        \n  \"prefix\": coalesce(\n    prefix[_key == $locale][0].value,\n    prefix[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"stat\": coalesce(\n    stat[_key == $locale][0].value,\n    stat[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"suffix\": coalesce(\n    suffix[_key == $locale][0].value,\n    suffix[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"context\": coalesce(\n    context[_key == $locale][0].value,\n    context[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"content\": coalesce(\n    content[_key == $locale][0].value,\n    content[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"source\": coalesce(\n    source[_key == $locale][0].value,\n    source[_key == \"en-gb\"][0].value,\n  )\n,\n      }\n    }, [])\n \n  },\n  _type == \"modularContentBlocks.inner.callout\" => {\n    \n   ...,\n   \"content\": coalesce(content[] {\n      ...,\n      title[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n      subtitle[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n   }, false),\n   \"button\": coalesce(button[][0] {\n      ...,\n      link {\n        \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      },\n  }, false),\n \n  },\n  _type == \"modularContentBlocks.inner.ticker\" => {\n    \n  ...,\n  items[] {\n    _type == 'onetime' => {\n      name\n    },\n    _type == 'existing' => @->{\n      name\n    }\n  },\n  logos[]->{\n    ...,\n    \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n    \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.video\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.profilePicture\" => {\n    ...,\n    \"person\": person->\n  },\n  _type == \"modularContentBlocks.inner.partnerLogo\" => {\n    ...,\n    partnerLogo->{\n      ...,\n      \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n    }\n  },\n  _type == \"modularContentBlocks.inner.listing\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.tiles\" => {\n    \n...,\ntiles[] {\n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  link {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    },\n  },\n  \u002F\u002F Make sure that links are not included if containsLink is false\n  containsLink == false => {\n    \"link\": null,\n  }\n}\n\n  },\n  _type == \"modularContentBlocks.inner.nudge\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.solutionTiles\" => {\n    \n...,\ntiles[] {\n  ...,\n  link {\n    ...,\n    link->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n\n    },\n  },\n}\n\n  },\n  _type == \"modularContentBlocks.inner.campaignCounter\" => {\n    \n  },\n  _type == \"modularContentBlocks.outer.privacyControls\" => {\n    \n  ...,\n  description[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.forms\" => {\n    \n  ...,\n  form->{\n    _id,\n    title,\n    submitButtonText,\n    fields[] {\n      ...,\n      richValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n      noteText[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    confirmation {\n      \n  \"confirmationType\": coalesce(confirmationType, type),\n  contentRedirectUrl,\n  contentMessage[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.salesforceForms\" => {\n    \n  ...,\n  salesforceForm->{\n    _id,\n    title,\n    formUrl,\n    formOid,\n    productInterest,\n    submitButtonText,\n    fieldsTexts {\n      ...,\n      noteText[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    platformOptions {\n      ...,\n      platformOptionsValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    blockerInputTexts {\n      ...,\n      blockerValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    }\n  }\n\n  }\n\n  }\n\n  }\n\n      },\n      \n    itemChoices[] {\n      ...,\n      faqsToDisplay[]->{\n        items[!($locale in coalesce(hiddenInLocales, []))] {\n          _key,\n          analyticsProperty,\n          \n  \"question\": coalesce(\n    question[_key == $locale][0].value,\n    question[_key == \"en-gb\"][0].value,\n  )\n,\n          \n  \"answer\": coalesce(\n    answer[_key == $locale][0].value,\n    answer[_key == \"en-gb\"][0].value,\n  )\n[] {\n            \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n            \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n          }\n        }\n      },\n      formToDisplay->{\n        \n  ...,\n  notifications[] {\n    _type,\n    _key,\n  },\n  fields[] {\n    ...,\n    richValidationMessage[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n    },\n    noteText[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n    }\n  },\n  confirmation {\n    \n  \"confirmationType\": coalesce(confirmationType, type),\n  contentRedirectUrl,\n  contentMessage[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  contentBlocks[] {\n    \n  ...,\n  _type == \"modularContentBlocks.inner.buttonGroup\" => {\n    \n  ...,\n  buttons[] {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.people\" => {\n    \n    people[]->{\n      ...,\n      \n  \"jobTitle\": coalesce(\n    jobTitle[_key == $locale][0].value,\n    jobTitle[_key == \"en-gb\"][0].value,\n  )\n\n    }\n\n  },\n  _type == \"modularContentBlocks.inner.title\" => {\n    \n  ...,\n  title[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.baseText\" => {\n    \n  text[] {\n  \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n,\n  tableData {\n      ...,\n      rows[] {\n        ...,\n        cells[] {\n          ...,\n          text[] {\n            \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n          }\n        }\n      }\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.faq\" => {\n    \n  \"items\": coalesce(\n    onetime.items[!($locale in coalesce(hiddenInLocales, []))] {\n    _key,\n    analyticsProperty,\n    question,\n    answer[] {\n        \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    existing->items[!($locale in coalesce(hiddenInLocales, []))] {\n      _key,\n      \n  \"analyticsProperty\": coalesce(\n    analyticsProperty[_key == $locale][0].value,\n    analyticsProperty[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"question\": coalesce(\n    question[_key == $locale][0].value,\n    question[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"answer\": coalesce(\n    answer[_key == $locale][0].value,\n    answer[_key == \"en-gb\"][0].value,\n  )\n[] {\n        \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    }\n  )\n\n  },\n  _type == \"modularContentBlocks.inner.statistics\" => {\n    \n   ...,\n   \"button\": coalesce(button[][0] {\n      ...,\n      link {\n        \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      },\n  }, false),\n   \"items\": coalesce(items[] {\n      _type==\"onetime\" => {\n...,\n},\n      _type==\"existing\"=> @->{\n        icon,\n        \n  \"prefix\": coalesce(\n    prefix[_key == $locale][0].value,\n    prefix[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"stat\": coalesce(\n    stat[_key == $locale][0].value,\n    stat[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"suffix\": coalesce(\n    suffix[_key == $locale][0].value,\n    suffix[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"context\": coalesce(\n    context[_key == $locale][0].value,\n    context[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"content\": coalesce(\n    content[_key == $locale][0].value,\n    content[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"source\": coalesce(\n    source[_key == $locale][0].value,\n    source[_key == \"en-gb\"][0].value,\n  )\n,\n      }\n    }, [])\n \n  },\n  _type == \"modularContentBlocks.inner.callout\" => {\n    \n   ...,\n   \"content\": coalesce(content[] {\n      ...,\n      title[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n      subtitle[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n   }, false),\n   \"button\": coalesce(button[][0] {\n      ...,\n      link {\n        \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      },\n  }, false),\n \n  },\n  _type == \"modularContentBlocks.inner.ticker\" => {\n    \n  ...,\n  items[] {\n    _type == 'onetime' => {\n      name\n    },\n    _type == 'existing' => @->{\n      name\n    }\n  },\n  logos[]->{\n    ...,\n    \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n    \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.video\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.profilePicture\" => {\n    ...,\n    \"person\": person->\n  },\n  _type == \"modularContentBlocks.inner.partnerLogo\" => {\n    ...,\n    partnerLogo->{\n      ...,\n      \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n    }\n  },\n  _type == \"modularContentBlocks.inner.listing\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.tiles\" => {\n    \n...,\ntiles[] {\n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  link {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    },\n  },\n  \u002F\u002F Make sure that links are not included if containsLink is false\n  containsLink == false => {\n    \"link\": null,\n  }\n}\n\n  },\n  _type == \"modularContentBlocks.inner.nudge\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.solutionTiles\" => {\n    \n...,\ntiles[] {\n  ...,\n  link {\n    ...,\n    link->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n\n    },\n  },\n}\n\n  },\n  _type == \"modularContentBlocks.inner.campaignCounter\" => {\n    \n  },\n  _type == \"modularContentBlocks.outer.privacyControls\" => {\n    \n  ...,\n  description[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.forms\" => {\n    \n  ...,\n  form->{\n    _id,\n    title,\n    submitButtonText,\n    fields[] {\n      ...,\n      richValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n      noteText[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    confirmation {\n      \n  \"confirmationType\": coalesce(confirmationType, type),\n  contentRedirectUrl,\n  contentMessage[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.salesforceForms\" => {\n    \n  ...,\n  salesforceForm->{\n    _id,\n    title,\n    formUrl,\n    formOid,\n    productInterest,\n    submitButtonText,\n    fieldsTexts {\n      ...,\n      noteText[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    platformOptions {\n      ...,\n      platformOptionsValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    blockerInputTexts {\n      ...,\n      blockerValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    }\n  }\n\n  }\n\n  }\n\n  }\n\n      },\n      \n    }\n  \n    }\n  \n    }\n  ,\n  }\n },_type == \"modularContentBlocks.outer.signatureGenerator\"=>{ \n  signatureGeneratorFragment->{\n    ...,\n    },\n    \"defaultPronouns\": *[_type == \"fragments.signatureGenerator\" && language == \"en-gb\"]{\n      pronouns,\n    }\n },_type == \"modularContentBlocks.outer.referral\"=>{ \n  ...,\n  descriptionUnhappy[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  description[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n },_type == \"modularContentBlocks.outer.cookieList\"=>{ \n  \u002F\u002F No fields needed for CookieList\n },_type == \"modularContentBlocks.outer.locationFinder\"=>{ \n  ...,\n  \"staticTranslations\": *[\n      _type == \"fragments.surpriseBag\" && language == $locale][0],\n },_type == \"modularContentBlocks.outer.privacyControls\"=>{ \n  ...,\n  description[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n }\n\n      },\n    },\n  },\n}:{\"type\":\"aboutFoodWaste.blog\",\"defaultPageBlocksDocId\":\"singleton-defaultBlocks-en-us-about-food-waste-blog-single-default-blocks\",\"locale\":\"en-us\",\"greatGrandParent\":null,\"grandParent\":null,\"parent\":\"blog\",\"slug\":\"food-supply-chain-waste\"}":328,"sanity-secure:\n    *[ _type == $taxonomy && language == \"en-us\"] {\n      _id,\n      title,\n      \"slug\": slug.current,\n    }\n  :{\"taxonomy\":\"\"}":2134,"sanity-secure:{\n    \"totalPosts\": count(*[_type == $type && (!defined($locale) || language == $locale) && true && (!defined($activeFilter) || references(*[_type==$taxonomy && (slug.current in $activeFilter)]._id))]),\n    \"posts\": *[_type == $type && (!defined($locale) || language == $locale) && true && (!defined($activeFilter) || references(*[_type==$taxonomy && (slug.current in $activeFilter)]._id))] | order(publishedAt desc) [$sliceStart...$sliceEnd] {\n    _id,\n    _createdAt,\n    publishedAt,\n    updatedAt,\n    language,\n    title,\n    pretitle,\n    image,\n    excerpt,\n    migrated,\n    categories[]->{\n      title,\n      \"slug\": slug.current,\n    },\n    \"content\": pt::text(content),\n    \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n,\n    \"file\": file.asset->,\n    url\n    }\n  }:{\"type\":\"aboutFoodWaste.blog\",\"locale\":\"en-us\",\"page\":1,\"sliceStart\":0,\"sliceEnd\":4,\"activeFilter\":null,\"taxonomy\":\"\",\"sanityKey\":\"listing_vwglvq\"}":2135},{"appStores":4,"defaultSeo":10,"fallbackImages":22,"regionTheme":31,"slugs":321,"social":325},{"appleAppStore":5,"appleAppStoreBadge":6,"googlePlayStore":5,"googlePlayStoreBadge":7,"huaweiAppGallery":5,"huaweiAppGalleryBadge":8,"modalTitleAppStoreDownload":9},"https:\u002F\u002Ftgtg.onelink.me\u002FOGjG\u002Fafd50hls","https:\u002F\u002Fcdn.sanity.io\u002Fimages\u002Fnqimd3nr\u002Fproduction\u002Fceed6a2b4247d22d0e6f9425cad1d5c39af762fe-480x160.png","https:\u002F\u002Fcdn.sanity.io\u002Fimages\u002Fnqimd3nr\u002Fproduction\u002F68072d9f747a9e089548846cecc588ef52bb624e-540x160.png",null,"Download the app and start saving delicious food today",{"favicon":11,"metaDescription":8,"metaDescriptionFallback":14,"metaTitle":8,"metaTitleFallback":15,"mobileAppDescription":16,"mobileAppDescriptionFallback":16,"siteTitle":8,"siteUrl":17,"socialImage":18,"titleSeparator":20,"withSiteTitle":21},{"_ref":12,"_type":13},"image-eb37301e40a80bb500e31e5a939924c582ad7744-512x512-png","reference","The app that lets customers rescue unsold food from shops and restaurants to save it from going to waste. Try it today.","Join Our Food Waste Movement","Our app is the world's largest marketplace for surplus food. We help users rescue good food from going to waste, offering great value for money at local stores, cafes and restaurants.","https:\u002F\u002Ftoogoodtogo.com",{"_ref":19,"_type":13},"image-e45b68b658778f2849b920af8e626567ec51d94b-1440x818-jpg","–","append",{"press":23,"resource":27},{"alt":8,"asset":24,"fit":26},{"_ref":25,"_type":13},"image-b78d00b015d990a35bc429a7b3a849a300872fe5-512x340-png","cover",{"alt":28,"asset":29,"fit":26},"a collection of brochures with one that says 2022 in numbers",{"_ref":30,"_type":13},"image-21d8db28cd1bbe29c6c986dd4798ec9ec79ace1b-1024x680-png",{"_createdAt":32,"_id":33,"_rev":34,"_type":35,"_updatedAt":36,"activeAnnouncement":8,"homepage":37,"language":39,"mainFooter":40,"mainNav":142,"mainNavigation":144},"2024-02-06T12:02:28Z","singleton-theme-en-us","S2mxzCT7dq51nqm7vwud0T","theme","2024-07-02T08:23:41Z",{"_ref":38,"_type":13},"singleton-pages-en-us-homepage","en-us",{"footnote":8,"legalLinks":41,"pageLinks":92,"socialLinks":113},[42,51,56,61,66,71,76,81,87],{"_key":43,"_type":44,"newWindow":45,"otherLocales":46,"reference":47,"title":50},"f8119a1b1bf5","link.internal",true,false,{"_type":48,"locale":39,"slug":49},"legalPages","\u002Flegal","Legal",{"_key":52,"_type":44,"newWindow":45,"otherLocales":46,"reference":53,"title":55},"6708b9b870b1",{"_type":48,"locale":39,"slug":54},"\u002Flegal\u002Fprivacy","Privacy Policy",{"_key":57,"_type":44,"newWindow":45,"otherLocales":46,"reference":58,"title":60},"27a9f2676a90",{"_type":48,"locale":39,"slug":59},"\u002Flegal\u002Fcookie-policy","Cookie Policy",{"_key":62,"_type":44,"newWindow":46,"otherLocales":46,"reference":63,"title":65},"10c9c20bc5f2",{"_type":48,"locale":39,"slug":64},"\u002Flegal\u002Fterms-and-conditions-using-the-app","Terms & Conditions",{"_key":67,"_type":44,"newWindow":45,"otherLocales":46,"reference":68,"title":70},"173270383b82",{"_type":48,"locale":39,"slug":69},"\u002Flegal\u002Fcontact-us","Contact us",{"_key":72,"_type":44,"newWindow":45,"otherLocales":46,"reference":73,"title":75},"5a9de968a793",{"_type":48,"locale":39,"slug":74},"\u002Flegal\u002Fdsa-disclosure","DSA Disclosure",{"_key":77,"_type":44,"newWindow":45,"otherLocales":46,"reference":78,"title":80},"053b1f8cd505",{"_type":48,"locale":39,"slug":79},"\u002Flegal\u002Fprivacy-settings","Do Not Sell or Share My Data",{"_key":82,"_type":44,"newWindow":45,"otherLocales":46,"reference":83,"title":86},"37636b5315eb",{"_type":84,"locale":39,"slug":85},"pages","\u002Ftgtg-claims","Food Waste Sources",{"_key":88,"_type":89,"newWindow":45,"title":90,"url":91},"4431596f1003","link.external","Status","https:\u002F\u002Fstatus.toogoodtogo.com\u002F",[93,99,104,109],{"_key":94,"_type":44,"newWindow":8,"otherLocales":46,"reference":95,"title":98},"5b7e3a106f9e",{"_type":96,"locale":39,"slug":97},"careerPages","\u002Fcareers","Careers",{"_key":100,"_type":44,"newWindow":8,"otherLocales":46,"reference":101,"title":103},"50962d914fe4",{"_type":84,"locale":39,"slug":102},"\u002Fpress","Press",{"_key":105,"_type":44,"newWindow":8,"otherLocales":46,"reference":106,"title":108},"78914bcedf91",{"_type":84,"locale":39,"slug":107},"\u002Fsupport","Support",{"_key":110,"_type":89,"newWindow":45,"title":111,"url":112},"280fc737f6b5","Mystore","https:\u002F\u002Fstore.toogoodtogo.com\u002Flogin",[114,120,124,128,133,137],{"_key":115,"_type":116,"icon":117,"title":118,"url":119},"98a17a45c700","link.social","Linkedin","LinkedIn","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Ftoo-good-to-go",{"_key":121,"_type":116,"icon":122,"title":122,"url":123},"fd26a3b7a123","Instagram","https:\u002F\u002Fwww.instagram.com\u002Ftoogoodtogo.usa\u002F",{"_key":125,"_type":116,"icon":126,"title":126,"url":127},"5a6f37dc5cfe","Facebook","https:\u002F\u002Fwww.facebook.com\u002FtoogoodtogoUSA\u002F",{"_key":129,"_type":116,"icon":130,"title":131,"url":132},"7abf4217cfde","Tiktok","Tik Tok","https:\u002F\u002Fwww.tiktok.com\u002F@toogoodtogo",{"_key":134,"_type":116,"icon":135,"title":135,"url":136},"c949f075e758","Youtube","https:\u002F\u002Fwww.youtube.com\u002Fchannel\u002FUCBonm_44z7UL0OvhHksBCAw",{"_key":138,"_type":116,"icon":139,"title":140,"url":141},"31d5e2c397ef","X_icon","X","https:\u002F\u002Fwww.twitter.com\u002Ftoogoodtogo",{"_ref":143,"_type":13},"AQVKCBGGRXIlMTy62nqL6C",{"menuActions":145,"mobileHeaderActionKey":147,"topLevelMenuItems":166},[146,154,161],{"_key":147,"_type":148,"appstoreLink":149,"button":8,"externalLink":8,"internalLink":8,"ssuLink":8},"b31127a48261","newHeaderAction.appstoreLink",{"_type":150,"buttonColor":151,"buttonText":152,"variant":153},"appstoreLink","white","Download app","automatic",{"_key":155,"_type":156,"appstoreLink":8,"button":8,"externalLink":8,"internalLink":8,"ssuLink":157},"d3080ad0695e","newHeaderAction.ssuLink",{"_type":158,"newWindow":45,"title":159,"url":160},"link.ssu","Sign up as Business","https:\u002F\u002Fstore.toogoodtogo.com\u002Fonboarding",{"_key":162,"_type":163,"appstoreLink":8,"button":8,"externalLink":164,"internalLink":8,"ssuLink":8},"ab3a15158657","newHeaderAction.externalLink",{"_type":89,"newWindow":45,"title":165,"url":112},"MyStore login",[167,250],{"additionalInfo":8,"submenuLists":168,"title":249},[169,194,230],{"submenuListItems":170,"submenuListTitle":193},[171,176,181,187],{"_key":172,"_type":44,"newWindow":46,"otherLocales":46,"reference":173,"title":175},"b7256c5acbef",{"_type":84,"locale":39,"slug":174},"\u002Fhow-to-collect-too-good-to-go","How to collect a Too Good To Go surprise bag?",{"_key":177,"_type":44,"newWindow":46,"otherLocales":46,"reference":178,"title":180},"7b7825c8941e",{"_type":84,"locale":39,"slug":179},"\u002Fhow-does-the-app-work","How does the app work?",{"_key":182,"_type":44,"newWindow":46,"otherLocales":46,"reference":183,"title":186},"d7cca2808225",{"_type":184,"locale":39,"slug":185},"aboutUs.pages","\u002Fabout-us\u002Fin-my-area","Too Good To Go in my area",{"_key":188,"_type":44,"newWindow":46,"otherLocales":46,"reference":189,"title":192},"d2321ab19b10",{"_type":190,"locale":39,"slug":191},"surpriseBagHome","\u002Ffind","Save good food near you","The app",{"submenuListItems":195,"submenuListTitle":229},[196,201,206,211,216,219,224],{"_key":197,"_type":44,"newWindow":46,"otherLocales":46,"reference":198,"title":200},"9732bb328b6a",{"_type":184,"locale":39,"slug":199},"\u002Fabout-us","About Too Good To Go",{"_key":202,"_type":44,"newWindow":46,"otherLocales":46,"reference":203,"title":205},"ac2fe81a6053",{"_type":184,"locale":39,"slug":204},"\u002Fabout-us\u002Four-history","Our history",{"_key":207,"_type":44,"newWindow":46,"otherLocales":46,"reference":208,"title":210},"901aa40c89be",{"_type":184,"locale":39,"slug":209},"\u002Fabout-us\u002Fb-corp","B Corp",{"_key":212,"_type":44,"newWindow":46,"otherLocales":46,"reference":213,"title":215},"cc89fcc93d23",{"_type":184,"locale":39,"slug":214},"\u002Fabout-us\u002Fesg","ESG",{"_key":217,"_type":44,"newWindow":46,"otherLocales":46,"reference":218,"title":98},"0c358724c797",{"_type":96,"locale":39,"slug":97},{"_key":220,"_type":44,"newWindow":46,"otherLocales":46,"reference":221,"title":223},"1037fa14f9ca",{"_type":184,"locale":39,"slug":222},"\u002Fabout-us\u002Feducation-hub","Education hub",{"_key":225,"_type":44,"newWindow":46,"otherLocales":46,"reference":226,"title":228},"9c393af11ea7",{"_type":84,"locale":39,"slug":227},"\u002Fimpact-report","Impact report","About us",{"submenuListItems":231,"submenuListTitle":248},[232,238,243],{"_key":233,"_type":44,"newWindow":46,"otherLocales":46,"reference":234,"title":237},"54eaf498f7a6",{"_type":235,"locale":39,"slug":236},"aboutFoodWaste.pages","\u002Fabout-food-waste","Food waste facts",{"_key":239,"_type":44,"newWindow":46,"otherLocales":46,"reference":240,"title":242},"cf761fbe8e3f",{"_type":84,"locale":39,"slug":241},"\u002Fresources","Resources",{"_key":244,"_type":44,"newWindow":46,"otherLocales":46,"reference":245,"title":247},"65154cd55a3f",{"_type":84,"locale":39,"slug":246},"\u002Fblog","Too Good To Go blog","About food waste","About",{"additionalInfo":251,"submenuLists":295,"title":320},[252,264,281],{"_key":253,"_type":254,"children":255,"markDefs":262,"style":263},"3fdc88e12206","block",[256],{"_key":257,"_type":258,"marks":259,"text":261},"533e0f75264b","span",[260],"strong","Current stats",[],"normal",{"_key":265,"_type":254,"children":266,"markDefs":280,"style":263},"2acb78382842",[267,271,276],{"_key":268,"_type":258,"marks":269,"text":270},"bcf236ab58a3",[],"\n",{"_key":272,"_type":273,"dataType":274,"text":275},"57cdc8edcaf4","data","statistics","120 million",{"_key":277,"_type":258,"marks":278,"text":279},"2fca042e3d55",[]," registered users on the Too Good To Go app.\n",[],{"_key":282,"_type":254,"children":283,"markDefs":294,"style":263},"5b7478b4863e",[284,287,290],{"_key":277,"_type":258,"marks":285,"text":286},[],"And ",{"_key":288,"_type":273,"dataType":274,"text":289},"bc032c2b02ec","180,000",{"_key":291,"_type":258,"marks":292,"text":293},"301cb2e013ea",[]," businesses.",[],[296],{"submenuListItems":297,"submenuListTitle":319},[298,304,309,314],{"_key":299,"_type":44,"newWindow":46,"otherLocales":46,"reference":300,"title":303},"fc776181be24",{"_type":301,"locale":39,"slug":302},"businessSolutions.solution","\u002Fsurplus-food-marketplace","Marketplace surprise bags",{"_key":305,"_type":44,"newWindow":46,"otherLocales":46,"reference":306,"title":308},"659448c75521",{"_type":301,"locale":39,"slug":307},"\u002Fplatform","Too Good To Go Platform",{"_key":310,"_type":44,"newWindow":46,"otherLocales":46,"reference":311,"title":313},"e6f8af094b56",{"_type":301,"locale":39,"slug":312},"\u002Flook-smell-taste","Date Labeling initiative",{"_key":315,"_type":44,"newWindow":46,"otherLocales":46,"reference":316,"title":318},"edc94aab8074",{"_type":84,"locale":39,"slug":317},"\u002Ffood-waste-solution","Find out more","Business solutions","Business",{"blog":322,"careers":323,"pressReleases":324},"blog","careers","press",{"Facebook":127,"FacebookAPIKey":326,"Instagram":123,"LinkedIn":119,"TikTok":8,"Twitter":327,"YouTube":8},"3506013279621180","https:\u002F\u002Ftwitter.com\u002Ftoogoodtogo",{"page":329},{"_createdAt":330,"_translations":331,"_type":332,"_updatedAt":333,"author":8,"categories":8,"content":334,"contentChoice":2011,"defaultPageBlocks":2012,"hideHeader":46,"image":2115,"language":39,"migrated":8,"pageContent":8,"pageVisibility":2120,"parent":2121,"pretitle":2122,"publishedAt":2123,"seoSocial":2124,"slug":2130,"title":2133,"updatedAt":8},"2026-06-16T15:07:28Z",[],"aboutFoodWaste.blog","2026-06-16T16:10:00Z",[335,366,374,382,389,398,425,432,450,457,465,472,480,500,507,516,535,542,552,560,568,576,583,602,609,617,624,959,975,982,990,997,1005,1024,1031,1039,1047,1055,1063,1071,1078,1086,1314,1326,1333,1352,1359,1367,1386,1393,1401,1409,1417,1425,1433,1441,1448,1467,1474,1482,1490,1498,1506,1514,1522,1529,1549,1556,1564,1572,1579,1587,1594,1614,1621,1629,1637,1644,1663,1670,1678,1686,1694,1702,1709,1728,1735,1743,1751,1758,1766,1773,1780,1790,1797,1804,1812,1820,1828,1835,1843,1851,1858,1866,1874,1881,1889,1897,1904,1912,1931,1938,1946,1954,1961,1969,1988,1995,2003],{"_key":336,"_type":254,"children":337,"markDefs":360,"style":263},"54aa93956edd",[338,342,347,351,356],{"_key":339,"_type":258,"marks":340,"text":341},"ea77b5d3dc5c",[],"Every day, food moves through farms, production facilities, distribution networks, and retailers at an enormous scale. Even so, a staggering amount never gets eaten. In the United States alone, roughly ",{"_key":343,"_type":258,"marks":344,"text":346},"561b484e4ce9",[345],"24909ba732ba","$380 billion",{"_key":348,"_type":258,"marks":349,"text":350},"1f4378c4c492",[]," worth of food goes to waste each year, yet ",{"_key":352,"_type":258,"marks":353,"text":355},"b22c1e25cd77",[354],"f8559cceb610","nearly 45%",{"_key":357,"_type":258,"marks":358,"text":359},"584da0fde6f2",[]," of it was still safe to enjoy at the time it was discarded. This waste rarely begins at a single point. Instead, it builds steadily across the food supply chain, long before products reach store shelves or restaurant kitchens.",[361,364],{"_key":345,"_type":362,"href":363,"internalAnchor":8,"newWindow":8,"reference":8},"urlLink","https:\u002F\u002Finsights-engine.refed.org\u002Ffood-waste-monitor?break_by=food_type&indicator=us-dollars-surplus&view=detail&year=2024",{"_key":354,"_type":362,"href":365,"internalAnchor":8,"newWindow":8,"reference":8},"https:\u002F\u002Frefed.org\u002Farticles\u002Frefed-s-new-estimates-on-food-waste-in-the-united-states-2020-2021-trends-and-covid-19-impact\u002F",{"_key":367,"_type":254,"children":368,"markDefs":373,"style":263},"3bf5f938a652",[369],{"_key":370,"_type":258,"marks":371,"text":372},"22b0890c6862",[],"",[],{"_key":375,"_type":254,"children":376,"markDefs":381,"style":263},"93ce569f7054",[377],{"_key":378,"_type":258,"marks":379,"text":380},"89988036d712",[],"Whether products are rejected by buyers, overproduced for demand, or left unsold as freshness windows shrink, these pressures often become most visible at the last mile. Luckily, the final stage of the food and beverage supply chain is also where retailers have the greatest opportunity to keep more good food in circulation. Explore how food waste develops from production to purchase, along with practical steps for operators to recover value before surplus food becomes a total loss.",[],{"_key":383,"_type":254,"children":384,"markDefs":388,"style":263},"19769a7d0683",[385],{"_key":386,"_type":258,"marks":387,"text":372},"608d6327bef8",[],[],{"_key":390,"_type":254,"children":391,"markDefs":396,"style":397},"50f3a4c51656",[392],{"_key":393,"_type":258,"marks":394,"text":395},"55c856473f22",[260],"What is Food Supply Chain Waste?",[],"h2",{"_key":399,"_type":254,"children":400,"markDefs":419,"style":263},"74ef6a159df4",[401,406,410,415],{"_key":402,"_type":258,"marks":403,"text":405},"372006412570",[404],"776d87154048","Food supply chain waste",{"_key":407,"_type":258,"marks":408,"text":409},"09736dffa081",[]," refers to food that was produced, transported, prepared, or stocked for consumption but ultimately never eaten. It’s fairly common, too. Across the U.S., a significant share of that supply never reaches consumers at all. In 2024, 29% of the country’s ",{"_key":411,"_type":258,"marks":412,"text":414},"c825ac6a0df7",[413],"63f36e0c60e4","240 million tons of available food",{"_key":416,"_type":258,"marks":417,"text":418},"476bf4abe9c4",[]," went unsold or uneaten. Some of that surplus food was donated or repurposed, but much of it eventually exited the system as waste.",[420,423],{"_key":404,"_type":421,"internalAnchor":8,"newWindow":45,"otherLocales":46,"reference":422},"pageLink",{"_type":235,"locale":39,"slug":236},{"_key":413,"_type":362,"href":424,"internalAnchor":8,"newWindow":8,"reference":8},"https:\u002F\u002Frefed.org\u002Ffood-waste\u002Fthe-problem\u002F",{"_key":426,"_type":254,"children":427,"markDefs":431,"style":263},"05783efff9d1",[428],{"_key":429,"_type":258,"marks":430,"text":372},"c4e33683f3ec",[],[],{"_key":433,"_type":254,"children":434,"markDefs":448,"style":263},"dc6a1f8070fd",[435,439,444],{"_key":436,"_type":258,"marks":437,"text":438},"ad7fc966c138",[],"The challenge stretches along every stage of the food supply chain, from farming and manufacturing to grocery and foodservice. Overall, more than 63 million tons of food — or ",{"_key":440,"_type":258,"marks":441,"text":443},"4380b19c6c76",[442],"2b2eba42204a","25% of the U.S. food supply",{"_key":445,"_type":258,"marks":446,"text":447},"80eb42ce6be6",[]," — becomes waste annually. There’s no one true source of waste, either. It builds gradually through rejected shipments, shifting demand, inventory timing issues, and products that sell too slowly before freshness declines.",[449],{"_key":442,"_type":362,"href":424,"internalAnchor":8,"newWindow":8,"reference":8},{"_key":451,"_type":254,"children":452,"markDefs":456,"style":263},"a610106c086d",[453],{"_key":454,"_type":258,"marks":455,"text":372},"9fdf1926bbf1",[],[],{"_key":458,"_type":254,"children":459,"markDefs":464,"style":263},"557790ec7a0e",[460],{"_key":461,"_type":258,"marks":462,"text":463},"4b980d7fdfed",[],"For operators throughout the food and beverage supply chain, the impact reaches far beyond discarded food alone. Every unsold item represents money that was already invested into getting products to market, yet too often, surplus inventory is still treated like a complete write-off once freshness windows begin to narrow. Fortunately, the final retail and foodservice stage creates one of the clearest opportunities for recovery.",[],{"_key":466,"_type":254,"children":467,"markDefs":471,"style":263},"f3b3a672718b",[468],{"_key":469,"_type":258,"marks":470,"text":372},"e17524b68cdb",[],[],{"_key":473,"_type":254,"children":474,"markDefs":479,"style":397},"336276ad9572",[475],{"_key":476,"_type":258,"marks":477,"text":478},"b077627c6d60",[260],"Tracing Waste Across the Food and Beverage Supply Chain",[],{"_key":481,"_type":254,"children":482,"markDefs":496,"style":263},"5b2af07edbdf",[483,487,492],{"_key":484,"_type":258,"marks":485,"text":486},"34ca7e2d98ab",[],"A delay during transportation can shorten shelf life by the time products arrive in stores. Forecasting variability may lead to excess prepared food that never sells in time. Even ",{"_key":488,"_type":258,"marks":489,"text":491},"dadc02052103",[490],"ebbb04624942","shifting foot traffic patterns",{"_key":493,"_type":258,"marks":494,"text":495},"297a2ae41474",[]," can leave operators with inventory levels that no longer match real-time demand. Together, these challenges create multiple points where good food can become waste long before it ever reaches a consumer’s plate.",[497],{"_key":490,"_type":421,"internalAnchor":8,"newWindow":45,"otherLocales":46,"reference":498},{"_type":332,"locale":39,"slug":499},"\u002Fblog\u002Fretail-foot-traffic-trends-2026",{"_key":501,"_type":254,"children":502,"markDefs":506,"style":263},"27112b9128ed",[503],{"_key":504,"_type":258,"marks":505,"text":372},"d00374c52c97",[],[],{"_key":508,"_type":254,"children":509,"markDefs":514,"style":515},"9941a4b632fe",[510],{"_key":511,"_type":258,"marks":512,"text":513},"01dd52be7d56",[260],"Farming and Manufacturing",[],"h3",{"_key":517,"_type":254,"children":518,"markDefs":532,"style":263},"894362914704",[519,523,528],{"_key":520,"_type":258,"marks":521,"text":522},"50b6e2fb52e0",[],"The first stop in the food supply chain begins at the farm, where food production is already shaped by timing, market demand, and the realities of harvesting at scale. Food waste can begin long before products ever reach distributors or store shelves, especially when crops are not profitable to pick or cannot move quickly enough into the next stage of production. In fact, farms create ",{"_key":524,"_type":258,"marks":525,"text":527},"3eeec383051d",[526],"be51318507a4","$13.4 billion worth of food waste",{"_key":529,"_type":258,"marks":530,"text":531},"d47a87cc8758",[]," annually due to:",[533],{"_key":526,"_type":362,"href":534,"internalAnchor":8,"newWindow":8,"reference":8},"https:\u002F\u002Finsights-engine.refed.org\u002Ffood-waste-monitor?break_by=cause&indicator=us-dollars-surplus&sector=farm&view=detail&year=2024",{"_key":536,"_type":254,"children":537,"markDefs":541,"style":263},"1d09d890c23a",[538],{"_key":539,"_type":258,"marks":540,"text":372},"4e6fe60245aa",[],[],{"_key":543,"_type":254,"children":544,"level":549,"listItem":550,"markDefs":551,"style":263},"5b6a312e778c",[545],{"_key":546,"_type":258,"marks":547,"text":548},"c4f0836bd959",[],"Items left behind after harvest ($11.37B)",1,"bullet",[],{"_key":553,"_type":254,"children":554,"level":549,"listItem":550,"markDefs":559,"style":263},"d96dea012fc4",[555],{"_key":556,"_type":258,"marks":557,"text":558},"9ee41391290c",[],"Packhouse losses ($1.515B)",[],{"_key":561,"_type":254,"children":562,"level":549,"listItem":550,"markDefs":567,"style":263},"f558285a8f5e",[563],{"_key":564,"_type":258,"marks":565,"text":566},"f7ad4a89dd3c",[],"Buyer rejections ($273M)",[],{"_key":569,"_type":254,"children":570,"level":549,"listItem":550,"markDefs":575,"style":263},"45967574fb5d",[571],{"_key":572,"_type":258,"marks":573,"text":574},"22a61d94f718",[],"Fields never harvested ($208.15M)",[],{"_key":577,"_type":254,"children":578,"markDefs":582,"style":263},"c4a52fb8fe54",[579],{"_key":580,"_type":258,"marks":581,"text":372},"274103eb6a54",[],[],{"_key":584,"_type":254,"children":585,"markDefs":599,"style":263},"5a32dd179e56",[586,590,595],{"_key":587,"_type":258,"marks":588,"text":589},"aef14bd831bc",[],"As ingredients move deeper into the food supply chain, processing and production create additional loss points. Manufacturing introduces another layer of complexity, especially as operator schedules and perishability intersect. Another ",{"_key":591,"_type":258,"marks":592,"text":594},"f67579dec24a",[593],"a23f83de6e68","$42.6 billion of annual food waste",{"_key":596,"_type":258,"marks":597,"text":598},"252a554503b2",[]," is created through byproducts and production line waste ($36.2B), buyer rejections ($5.02B), and finished products that never ship to retailers or distributors ($1.42B).",[600],{"_key":593,"_type":362,"href":601,"internalAnchor":8,"newWindow":8,"reference":8},"https:\u002F\u002Finsights-engine.refed.org\u002Ffood-waste-monitor?break_by=cause&indicator=us-dollars-surplus&sector=manufacturing&view=detail&year=2024",{"_key":603,"_type":254,"children":604,"markDefs":608,"style":263},"53594073f949",[605],{"_key":606,"_type":258,"marks":607,"text":372},"e393f010d901",[],[],{"_key":610,"_type":254,"children":611,"markDefs":616,"style":263},"196294c03ae7",[612],{"_key":613,"_type":258,"marks":614,"text":615},"a967f37f7b0e",[],"Some manufacturing categories experience significantly higher losses than others, particularly high-volume staples and products with shorter freshness windows.",[],{"_key":618,"_type":254,"children":619,"markDefs":623,"style":263},"4bad50a0e165",[620],{"_key":621,"_type":258,"marks":622,"text":372},"7a1ab78c08e5",[],[],{"_key":625,"_type":626,"children":8,"markDefs":8,"tableData":627,"tableHeaders":957,"tableTitle":958},"7d3bae6e3d16","table",{"_type":626,"num_cols":628,"rows":629},3,[630,669,705,741,777,813,849,885,921],{"_key":631,"_type":632,"cells":633},"7c20ced237ff","table-row",[634,647,658],{"_key":635,"_type":636,"text":637},"ddc4fa992174","table-cell",[638],{"_key":639,"_type":640,"children":641,"markDefs":646,"style":263},"7b6a5a93ef93","portableTableCell",[642],{"_key":643,"_type":258,"marks":644,"text":645},"0f988d72ada0",[260],"Category",[],{"_key":648,"_type":636,"text":649},"727430a643d6",[650],{"_key":651,"_type":640,"children":652,"markDefs":657,"style":263},"4c870cb7cd4c",[653],{"_key":654,"_type":258,"marks":655,"text":656},"198fb270e6fd",[260],"Dollar Value",[],{"_key":659,"_type":636,"text":660},"c4d4468e61bb",[661],{"_key":662,"_type":640,"children":663,"markDefs":668,"style":263},"73ac14b90dd9",[664],{"_key":665,"_type":258,"marks":666,"text":667},"204446e1dbf2",[260],"Food Waste Tons",[],{"_key":670,"_type":632,"cells":671},"e653d11ccced",[672,683,694],{"_key":673,"_type":636,"text":674},"acd6f57f0afa",[675],{"_key":676,"_type":640,"children":677,"markDefs":682,"style":263},"6183549b13ab",[678],{"_key":679,"_type":258,"marks":680,"text":681},"586149d4d38b",[],"Dairy & Eggs",[],{"_key":684,"_type":636,"text":685},"6d16cd527cae",[686],{"_key":687,"_type":640,"children":688,"markDefs":693,"style":263},"9a18e469501a",[689],{"_key":690,"_type":258,"marks":691,"text":692},"ac0b2f923d4f",[],"$9.56B",[],{"_key":695,"_type":636,"text":696},"9b0d7e767aac",[697],{"_key":698,"_type":640,"children":699,"markDefs":704,"style":263},"6af6685f82c3",[700],{"_key":701,"_type":258,"marks":702,"text":703},"ece8d03bb409",[],"4.92M tons",[],{"_key":706,"_type":632,"cells":707},"0f4ab11150d7",[708,719,730],{"_key":709,"_type":636,"text":710},"591d3b1e66c1",[711],{"_key":712,"_type":640,"children":713,"markDefs":718,"style":263},"d2a31b9afd3d",[714],{"_key":715,"_type":258,"marks":716,"text":717},"5ad12a3bf87c",[],"Produce",[],{"_key":720,"_type":636,"text":721},"7b64b8dab03a",[722],{"_key":723,"_type":640,"children":724,"markDefs":729,"style":263},"110428927309",[725],{"_key":726,"_type":258,"marks":727,"text":728},"70e079aaa1dd",[],"$9.84B",[],{"_key":731,"_type":636,"text":732},"d77de7872d3b",[733],{"_key":734,"_type":640,"children":735,"markDefs":740,"style":263},"064f9c343a6b",[736],{"_key":737,"_type":258,"marks":738,"text":739},"965bac0d82df",[],"917k tons",[],{"_key":742,"_type":632,"cells":743},"7c763494bafe",[744,755,766],{"_key":745,"_type":636,"text":746},"980a80c7bc15",[747],{"_key":748,"_type":640,"children":749,"markDefs":754,"style":263},"484a86f3b2cd",[750],{"_key":751,"_type":258,"marks":752,"text":753},"d5b3591389ee",[],"Dry Goods",[],{"_key":756,"_type":636,"text":757},"8b11194e4218",[758],{"_key":759,"_type":640,"children":760,"markDefs":765,"style":263},"4ea2c73b4fe5",[761],{"_key":762,"_type":258,"marks":763,"text":764},"d9fda66d2f35",[],"$10.8B",[],{"_key":767,"_type":636,"text":768},"47be224c9d26",[769],{"_key":770,"_type":640,"children":771,"markDefs":776,"style":263},"279592254295",[772],{"_key":773,"_type":258,"marks":774,"text":775},"dc4fd596d44a",[],"614k tons",[],{"_key":778,"_type":632,"cells":779},"1555c0563613",[780,791,802],{"_key":781,"_type":636,"text":782},"bbc75da62887",[783],{"_key":784,"_type":640,"children":785,"markDefs":790,"style":263},"7ddf887b7f76",[786],{"_key":787,"_type":258,"marks":788,"text":789},"7aef36db57be",[],"Fresh Meat & Seafood",[],{"_key":792,"_type":636,"text":793},"a81bc87083e3",[794],{"_key":795,"_type":640,"children":796,"markDefs":801,"style":263},"2a898b22e148",[797],{"_key":798,"_type":258,"marks":799,"text":800},"ec6d655fd904",[],"$10.3B",[],{"_key":803,"_type":636,"text":804},"6be328a9ede2",[805],{"_key":806,"_type":640,"children":807,"markDefs":812,"style":263},"bf149497648a",[808],{"_key":809,"_type":258,"marks":810,"text":811},"27e729cce795",[],"106k tons",[],{"_key":814,"_type":632,"cells":815},"35429a49e95f",[816,827,838],{"_key":817,"_type":636,"text":818},"79deba82cd53",[819],{"_key":820,"_type":640,"children":821,"markDefs":826,"style":263},"e89f1c5661b7",[822],{"_key":823,"_type":258,"marks":824,"text":825},"664c47009cc4",[],"Frozen",[],{"_key":828,"_type":636,"text":829},"7fca626bc2c4",[830],{"_key":831,"_type":640,"children":832,"markDefs":837,"style":263},"5c6233596acc",[833],{"_key":834,"_type":258,"marks":835,"text":836},"eb66aa2f8cda",[],"$850M",[],{"_key":839,"_type":636,"text":840},"e181d779704e",[841],{"_key":842,"_type":640,"children":843,"markDefs":848,"style":263},"f5516d472ce3",[844],{"_key":845,"_type":258,"marks":846,"text":847},"ce08624302b1",[],"43k tons",[],{"_key":850,"_type":632,"cells":851},"eda67d533672",[852,863,874],{"_key":853,"_type":636,"text":854},"910350c65ddf",[855],{"_key":856,"_type":640,"children":857,"markDefs":862,"style":263},"46c098a299e6",[858],{"_key":859,"_type":258,"marks":860,"text":861},"9aba09536d0c",[],"Prepared Foods",[],{"_key":864,"_type":636,"text":865},"5184a84b374c",[866],{"_key":867,"_type":640,"children":868,"markDefs":873,"style":263},"37729b0ae3d4",[869],{"_key":870,"_type":258,"marks":871,"text":872},"c7fc38587827",[],"$620M",[],{"_key":875,"_type":636,"text":876},"2688f5c7f4e4",[877],{"_key":878,"_type":640,"children":879,"markDefs":884,"style":263},"dfffbe82222d",[880],{"_key":881,"_type":258,"marks":882,"text":883},"7d5708a900d4",[],"19.1k tons",[],{"_key":886,"_type":632,"cells":887},"ab94e52befc8",[888,899,910],{"_key":889,"_type":636,"text":890},"57d383a518ca",[891],{"_key":892,"_type":640,"children":893,"markDefs":898,"style":263},"ac0c4c6b9483",[894],{"_key":895,"_type":258,"marks":896,"text":897},"807d0f07014d",[],"Ready-To-Drink Beverages",[],{"_key":900,"_type":636,"text":901},"0f40259edbce",[902],{"_key":903,"_type":640,"children":904,"markDefs":909,"style":263},"f98586424354",[905],{"_key":906,"_type":258,"marks":907,"text":908},"37efa58cbfa4",[],"$68.2M",[],{"_key":911,"_type":636,"text":912},"6816dd651331",[913],{"_key":914,"_type":640,"children":915,"markDefs":920,"style":263},"08438de6073c",[916],{"_key":917,"_type":258,"marks":918,"text":919},"decfc8af0d89",[],"18.9k tons",[],{"_key":922,"_type":632,"cells":923},"7be41a74fa07",[924,935,946],{"_key":925,"_type":636,"text":926},"2b91206cfef9",[927],{"_key":928,"_type":640,"children":929,"markDefs":934,"style":263},"2f1740968295",[930],{"_key":931,"_type":258,"marks":932,"text":933},"e8b02c1b0a2f",[],"Breads & Bakery",[],{"_key":936,"_type":636,"text":937},"4a49df4f1328",[938],{"_key":939,"_type":640,"children":940,"markDefs":945,"style":263},"7c173c8bb523",[941],{"_key":942,"_type":258,"marks":943,"text":944},"4f977c5c4fb7",[],"$490M",[],{"_key":947,"_type":636,"text":948},"cb726fa85687",[949],{"_key":950,"_type":640,"children":951,"markDefs":956,"style":263},"e6a05f281997",[952],{"_key":953,"_type":258,"marks":954,"text":955},"9eb101a7a0af",[],"15.5k tons",[],"row","Category,DollarValue,FoodWasteTons",{"_key":960,"_type":254,"children":961,"markDefs":972,"style":263},"2299ca04da5d",[962,967],{"_key":963,"_type":258,"marks":964,"text":966},"4c04c8c2f5af",[965],"em","* Source: ",{"_key":968,"_type":258,"marks":969,"text":971},"e3448287afb0",[965,970],"53812167d5fb","ReFed Food Waste Monitor (2024)",[973],{"_key":970,"_type":362,"href":974,"internalAnchor":8,"newWindow":8,"reference":8},"https:\u002F\u002Finsights-engine.refed.org\u002Ffood-waste-monitor?break_by=food_type&indicator=tons-waste&sector=manufacturing&view=detail&year=2024",{"_key":976,"_type":254,"children":977,"markDefs":981,"style":263},"95d2a81ae745",[978],{"_key":979,"_type":258,"marks":980,"text":372},"18964c05c907",[],[],{"_key":983,"_type":254,"children":984,"markDefs":989,"style":263},"1c1186d51dc5",[985],{"_key":986,"_type":258,"marks":987,"text":988},"e84f97ba3478",[],"While perishability affects every category differently, even products with longer shelf lives contribute to meaningful waste when forecasting and buyer demand fall out of sync. High-volume staples like dairy, dry goods, and produce create especially large aggregate losses because small inefficiencies scale quickly across manufacturing operations. Retailers often inherit the downstream effects of these early-stage losses.",[],{"_key":991,"_type":254,"children":992,"markDefs":996,"style":263},"dcd518beb25e",[993],{"_key":994,"_type":258,"marks":995,"text":372},"255f432d40ca",[],[],{"_key":998,"_type":254,"children":999,"markDefs":1004,"style":515},"9560438edc12",[1000],{"_key":1001,"_type":258,"marks":1002,"text":1003},"5a031991e32d",[260],"Wholesalers and Grocers",[],{"_key":1006,"_type":254,"children":1007,"markDefs":1021,"style":263},"099d46accc81",[1008,1012,1017],{"_key":1009,"_type":258,"marks":1010,"text":1011},"7daf1cb76672",[],"Wholesalers and grocers constantly juggle staff schedules with inventory that may already have reduced shelf life from earlier delays. Labor shortages and inconsistent delivery timing can make it harder for teams to rotate products quickly or respond to shifting demand in real time. Within the food and beverage supply chain, approximately ",{"_key":1013,"_type":258,"marks":1014,"text":1016},"21a002a712fb",[1015],"0ccec5400889","$26.9 billion of annual food waste",{"_key":1018,"_type":258,"marks":1019,"text":1020},"dcfbf3a47a01",[]," occurs due to several largely preventable causes:",[1022],{"_key":1015,"_type":362,"href":1023,"internalAnchor":8,"newWindow":8,"reference":8},"https:\u002F\u002Finsights-engine.refed.org\u002Ffood-waste-monitor?break_by=food_type&indicator=us-dollars-surplus&sector=retail&view=detail&year=2024",{"_key":1025,"_type":254,"children":1026,"markDefs":1030,"style":263},"93b1e30b3839",[1027],{"_key":1028,"_type":258,"marks":1029,"text":372},"044cbb6e3c37",[],[],{"_key":1032,"_type":254,"children":1033,"level":549,"listItem":550,"markDefs":1038,"style":263},"be6b42bd7579",[1034],{"_key":1035,"_type":258,"marks":1036,"text":1037},"fc04757ce80b",[],"Date label concerns ($10.7B)",[],{"_key":1040,"_type":254,"children":1041,"level":549,"listItem":550,"markDefs":1046,"style":263},"d3949f81a4c1",[1042],{"_key":1043,"_type":258,"marks":1044,"text":1045},"2f2b20523a9c",[],"Overproduction ($5B)",[],{"_key":1048,"_type":254,"children":1049,"level":549,"listItem":550,"markDefs":1054,"style":263},"0fad8d072585",[1050],{"_key":1051,"_type":258,"marks":1052,"text":1053},"674b83221ec8",[],"Handling errors ($4.19B)",[],{"_key":1056,"_type":254,"children":1057,"level":549,"listItem":550,"markDefs":1062,"style":263},"41da1eef8079",[1058],{"_key":1059,"_type":258,"marks":1060,"text":1061},"e62370d887bf",[],"Spoiled products ($3.85B)",[],{"_key":1064,"_type":254,"children":1065,"level":549,"listItem":550,"markDefs":1070,"style":263},"c7c7598262f1",[1066],{"_key":1067,"_type":258,"marks":1068,"text":1069},"8b04fd4e15f0",[],"Trimmings and byproducts ($865M)",[],{"_key":1072,"_type":254,"children":1073,"markDefs":1077,"style":263},"8deeb06742a5",[1074],{"_key":1075,"_type":258,"marks":1076,"text":372},"dafdacbf8ee7",[],[],{"_key":1079,"_type":254,"children":1080,"markDefs":1085,"style":263},"167ce6e05b3a",[1081],{"_key":1082,"_type":258,"marks":1083,"text":1084},"6c5b28c01095",[],"Not to mention, retail environments create a different set of operational pressures than farms or manufacturers. Fresh departments are expected to stay visually stocked, and products that appear cosmetically imperfect are often overlooked despite still being safe to enjoy. Small inventory mismatches can quickly turn into shrink, especially for highly perishable categories that rely on careful timing and consistent turnover.",[],{"_key":1087,"_type":626,"children":8,"markDefs":8,"tableData":1088,"tableHeaders":957,"tableTitle":1313},"ac149dc101ff",{"_type":626,"num_cols":628,"rows":1089},[1090,1113,1138,1163,1188,1213,1238,1263,1288],{"_key":631,"_type":632,"cells":1091},[1092,1099,1106],{"_key":635,"_type":636,"text":1093},[1094],{"_key":639,"_type":640,"children":1095,"markDefs":1098,"style":263},[1096],{"_key":643,"_type":258,"marks":1097,"text":645},[260],[],{"_key":648,"_type":636,"text":1100},[1101],{"_key":651,"_type":640,"children":1102,"markDefs":1105,"style":263},[1103],{"_key":654,"_type":258,"marks":1104,"text":656},[260],[],{"_key":659,"_type":636,"text":1107},[1108],{"_key":662,"_type":640,"children":1109,"markDefs":1112,"style":263},[1110],{"_key":665,"_type":258,"marks":1111,"text":667},[260],[],{"_key":706,"_type":632,"cells":1114},[1115,1122,1130],{"_key":709,"_type":636,"text":1116},[1117],{"_key":712,"_type":640,"children":1118,"markDefs":1121,"style":263},[1119],{"_key":715,"_type":258,"marks":1120,"text":717},[],[],{"_key":720,"_type":636,"text":1123},[1124],{"_key":723,"_type":640,"children":1125,"markDefs":1129,"style":263},[1126],{"_key":726,"_type":258,"marks":1127,"text":1128},[],"$4.99B",[],{"_key":731,"_type":636,"text":1131},[1132],{"_key":734,"_type":640,"children":1133,"markDefs":1137,"style":263},[1134],{"_key":737,"_type":258,"marks":1135,"text":1136},[],"902k tons",[],{"_key":778,"_type":632,"cells":1139},[1140,1147,1155],{"_key":781,"_type":636,"text":1141},[1142],{"_key":784,"_type":640,"children":1143,"markDefs":1146,"style":263},[1144],{"_key":787,"_type":258,"marks":1145,"text":789},[],[],{"_key":792,"_type":636,"text":1148},[1149],{"_key":795,"_type":640,"children":1150,"markDefs":1154,"style":263},[1151],{"_key":798,"_type":258,"marks":1152,"text":1153},[],"$5.17B",[],{"_key":803,"_type":636,"text":1156},[1157],{"_key":806,"_type":640,"children":1158,"markDefs":1162,"style":263},[1159],{"_key":809,"_type":258,"marks":1160,"text":1161},[],"369k tons",[],{"_key":850,"_type":632,"cells":1164},[1165,1172,1180],{"_key":853,"_type":636,"text":1166},[1167],{"_key":856,"_type":640,"children":1168,"markDefs":1171,"style":263},[1169],{"_key":859,"_type":258,"marks":1170,"text":861},[],[],{"_key":864,"_type":636,"text":1173},[1174],{"_key":867,"_type":640,"children":1175,"markDefs":1179,"style":263},[1176],{"_key":870,"_type":258,"marks":1177,"text":1178},[],"$6.73B",[],{"_key":875,"_type":636,"text":1181},[1182],{"_key":878,"_type":640,"children":1183,"markDefs":1187,"style":263},[1184],{"_key":881,"_type":258,"marks":1185,"text":1186},[],"347k tons",[],{"_key":742,"_type":632,"cells":1189},[1190,1197,1205],{"_key":745,"_type":636,"text":1191},[1192],{"_key":748,"_type":640,"children":1193,"markDefs":1196,"style":263},[1194],{"_key":751,"_type":258,"marks":1195,"text":753},[],[],{"_key":756,"_type":636,"text":1198},[1199],{"_key":759,"_type":640,"children":1200,"markDefs":1204,"style":263},[1201],{"_key":762,"_type":258,"marks":1202,"text":1203},[],"$3.56B",[],{"_key":767,"_type":636,"text":1206},[1207],{"_key":770,"_type":640,"children":1208,"markDefs":1212,"style":263},[1209],{"_key":773,"_type":258,"marks":1210,"text":1211},[],"316k tons",[],{"_key":670,"_type":632,"cells":1214},[1215,1222,1230],{"_key":673,"_type":636,"text":1216},[1217],{"_key":676,"_type":640,"children":1218,"markDefs":1221,"style":263},[1219],{"_key":679,"_type":258,"marks":1220,"text":681},[],[],{"_key":684,"_type":636,"text":1223},[1224],{"_key":687,"_type":640,"children":1225,"markDefs":1229,"style":263},[1226],{"_key":690,"_type":258,"marks":1227,"text":1228},[],"$1.58B",[],{"_key":695,"_type":636,"text":1231},[1232],{"_key":698,"_type":640,"children":1233,"markDefs":1237,"style":263},[1234],{"_key":701,"_type":258,"marks":1235,"text":1236},[],"301k tons",[],{"_key":922,"_type":632,"cells":1239},[1240,1247,1255],{"_key":925,"_type":636,"text":1241},[1242],{"_key":928,"_type":640,"children":1243,"markDefs":1246,"style":263},[1244],{"_key":931,"_type":258,"marks":1245,"text":933},[],[],{"_key":936,"_type":636,"text":1248},[1249],{"_key":939,"_type":640,"children":1250,"markDefs":1254,"style":263},[1251],{"_key":942,"_type":258,"marks":1252,"text":1253},[],"$3.5B",[],{"_key":947,"_type":636,"text":1256},[1257],{"_key":950,"_type":640,"children":1258,"markDefs":1262,"style":263},[1259],{"_key":953,"_type":258,"marks":1260,"text":1261},[],"274k tons",[],{"_key":886,"_type":632,"cells":1264},[1265,1272,1280],{"_key":889,"_type":636,"text":1266},[1267],{"_key":892,"_type":640,"children":1268,"markDefs":1271,"style":263},[1269],{"_key":895,"_type":258,"marks":1270,"text":897},[],[],{"_key":900,"_type":636,"text":1273},[1274],{"_key":903,"_type":640,"children":1275,"markDefs":1279,"style":263},[1276],{"_key":906,"_type":258,"marks":1277,"text":1278},[],"$375M",[],{"_key":911,"_type":636,"text":1281},[1282],{"_key":914,"_type":640,"children":1283,"markDefs":1287,"style":263},[1284],{"_key":917,"_type":258,"marks":1285,"text":1286},[],"118k tons",[],{"_key":814,"_type":632,"cells":1289},[1290,1297,1305],{"_key":817,"_type":636,"text":1291},[1292],{"_key":820,"_type":640,"children":1293,"markDefs":1296,"style":263},[1294],{"_key":823,"_type":258,"marks":1295,"text":825},[],[],{"_key":828,"_type":636,"text":1298},[1299],{"_key":831,"_type":640,"children":1300,"markDefs":1304,"style":263},[1301],{"_key":834,"_type":258,"marks":1302,"text":1303},[],"$1.03B",[],{"_key":839,"_type":636,"text":1306},[1307],{"_key":842,"_type":640,"children":1308,"markDefs":1312,"style":263},[1309],{"_key":845,"_type":258,"marks":1310,"text":1311},[],"97.1k tons",[],"Category,DollarValue,FoodWasteTons:2",{"_key":1315,"_type":254,"children":1316,"markDefs":1324,"style":263},"bc25007c4511",[1317,1320],{"_key":1318,"_type":258,"marks":1319,"text":966},"0523f85d3131",[965],{"_key":1321,"_type":258,"marks":1322,"text":971},"baff0d671ef9",[965,1323],"008a82c6cb4d",[1325],{"_key":1323,"_type":362,"href":1023,"internalAnchor":8,"newWindow":8,"reference":8},{"_key":1327,"_type":254,"children":1328,"markDefs":1332,"style":263},"608a5e3f54d0",[1329],{"_key":1330,"_type":258,"marks":1331,"text":372},"5b09e65d24fb",[],[],{"_key":1334,"_type":254,"children":1335,"markDefs":1349,"style":263},"af96aa676ffd",[1336,1340,1345],{"_key":1337,"_type":258,"marks":1338,"text":1339},"4a5f9333939b",[],"Many of these losses occur within relatively short decision windows, especially as products approach peak freshness. More flexible ways to move surplus food can help retailers reduce unnecessary waste without disrupting normal operations. In many cases, products nearing their ",{"_key":1341,"_type":258,"marks":1342,"text":1344},"cc3d7a430826",[1343],"6fbeacdd84e5","best-by dates still hold value",{"_key":1346,"_type":258,"marks":1347,"text":1348},"4ca11aed70ff",[]," for shoppers, particularly when stores strive to connect surplus inventory with local demand before spoilage occurs.",[1350],{"_key":1343,"_type":421,"internalAnchor":8,"newWindow":45,"otherLocales":46,"reference":1351},{"_type":301,"locale":39,"slug":312},{"_key":1353,"_type":254,"children":1354,"markDefs":1358,"style":263},"b1ebbaf9d64e",[1355],{"_key":1356,"_type":258,"marks":1357,"text":372},"ad076089c1ea",[],[],{"_key":1360,"_type":254,"children":1361,"markDefs":1366,"style":515},"f19a0f6e3b8f",[1362],{"_key":1363,"_type":258,"marks":1364,"text":1365},"c56a3a366c93",[260],"Foodservice and Restaurants",[],{"_key":1368,"_type":254,"children":1369,"markDefs":1383,"style":263},"abee3b6ca0d9",[1370,1374,1379],{"_key":1371,"_type":258,"marks":1372,"text":1373},"07a7ddef48f6",[],"The final stage of the food supply chain often becomes the most unpredictable, especially once food reaches restaurants and other prepared-food environments. Customer traffic can shift quickly from one day to the next, making it difficult for operators to balance freshness, availability, and profitability at the same time. On the consumer-facing side, retailers contribute roughly ",{"_key":1375,"_type":258,"marks":1376,"text":1378},"10984858e59d",[1377],"46385b7c0f21","$156 billion in annual food waste",{"_key":1380,"_type":258,"marks":1381,"text":1382},"17f6a386550b",[]," through channels like:",[1384],{"_key":1377,"_type":362,"href":1385,"internalAnchor":8,"newWindow":8,"reference":8},"https:\u002F\u002Finsights-engine.refed.org\u002Ffood-waste-monitor?break_by=subsector&indicator=us-dollars-surplus&sector=foodservice&view=detail&year=2024",{"_key":1387,"_type":254,"children":1388,"markDefs":1392,"style":263},"d17ec44b6393",[1389],{"_key":1390,"_type":258,"marks":1391,"text":372},"25bb4cd052e4",[],[],{"_key":1394,"_type":254,"children":1395,"level":549,"listItem":550,"markDefs":1400,"style":263},"133d920585c3",[1396],{"_key":1397,"_type":258,"marks":1398,"text":1399},"b6701eb01e79",[],"Full service restaurants ($71.9B)",[],{"_key":1402,"_type":254,"children":1403,"level":549,"listItem":550,"markDefs":1408,"style":263},"2f5bd737a9ed",[1404],{"_key":1405,"_type":258,"marks":1406,"text":1407},"f3ede3e06c1d",[],"Limited service restaurants ($31.4B)",[],{"_key":1410,"_type":254,"children":1411,"level":549,"listItem":550,"markDefs":1416,"style":263},"2a373274c731",[1412],{"_key":1413,"_type":258,"marks":1414,"text":1415},"c107571a73f5",[],"Caterers ($4.48B)",[],{"_key":1418,"_type":254,"children":1419,"level":549,"listItem":550,"markDefs":1424,"style":263},"683fdd442d1c",[1420],{"_key":1421,"_type":258,"marks":1422,"text":1423},"f1f80c4039dc",[],"Business and industry dining ($2.39B)",[],{"_key":1426,"_type":254,"children":1427,"level":549,"listItem":550,"markDefs":1432,"style":263},"be096a837b63",[1428],{"_key":1429,"_type":258,"marks":1430,"text":1431},"a743bb8a6605",[],"Refreshment services ($1.83B)",[],{"_key":1434,"_type":254,"children":1435,"level":549,"listItem":550,"markDefs":1440,"style":263},"e7a593490e9d",[1436],{"_key":1437,"_type":258,"marks":1438,"text":1439},"d66c6725a01f",[],"Bars and taverns ($298M)",[],{"_key":1442,"_type":254,"children":1443,"markDefs":1447,"style":263},"6ca2245bd548",[1444],{"_key":1445,"_type":258,"marks":1446,"text":372},"83e97d06a3ed",[],[],{"_key":1449,"_type":254,"children":1450,"markDefs":1464,"style":263},"99f259195784",[1451,1455,1460],{"_key":1452,"_type":258,"marks":1453,"text":1454},"546cead5ab17",[],"Restaurants that prepare food to order may struggle more with plate waste or fluctuating traffic, while catering and business dining often rely on advance preparation that can leave large volumes of surplus food behind if attendance shifts unexpectedly. Across the food supply chain, demand variability affects nearly every operator model differently, creating several major ",{"_key":1456,"_type":258,"marks":1457,"text":1459},"4e43bddd2145",[1458],"c0a17d5ef5ec","sources of waste within foodservice environments",{"_key":1461,"_type":258,"marks":1462,"text":1463},"7ffe2e4dcad5",[],":",[1465],{"_key":1458,"_type":362,"href":1466,"internalAnchor":8,"newWindow":8,"reference":8},"https:\u002F\u002Finsights-engine.refed.org\u002Ffood-waste-monitor?break_by=cause&indicator=us-dollars-surplus&sector=foodservice&view=detail&year=2024",{"_key":1468,"_type":254,"children":1469,"markDefs":1473,"style":263},"2e7707973db0",[1470],{"_key":1471,"_type":258,"marks":1472,"text":372},"445fa7264a44",[],[],{"_key":1475,"_type":254,"children":1476,"level":549,"listItem":550,"markDefs":1481,"style":263},"cca4643ecc0a",[1477],{"_key":1478,"_type":258,"marks":1479,"text":1480},"5e35d9278519",[],"Plate waste ($118B)",[],{"_key":1483,"_type":254,"children":1484,"level":549,"listItem":550,"markDefs":1489,"style":263},"fe7661e2ae9b",[1485],{"_key":1486,"_type":258,"marks":1487,"text":1488},"5f57223b98f9",[],"Overproduction ($19.2B)",[],{"_key":1491,"_type":254,"children":1492,"level":549,"listItem":550,"markDefs":1497,"style":263},"176c42a405ba",[1493],{"_key":1494,"_type":258,"marks":1495,"text":1496},"6bfbe3bfd6d3",[],"Catering overproduction ($14.4B)",[],{"_key":1499,"_type":254,"children":1500,"level":549,"listItem":550,"markDefs":1505,"style":263},"2764fc208a12",[1501],{"_key":1502,"_type":258,"marks":1503,"text":1504},"14bcb70deba1",[],"Spoiled products ($1.62B)",[],{"_key":1507,"_type":254,"children":1508,"level":549,"listItem":550,"markDefs":1513,"style":263},"fc174f5892d8",[1509],{"_key":1510,"_type":258,"marks":1511,"text":1512},"4bbd48028311",[],"Date label concerns ($1.58B)",[],{"_key":1515,"_type":254,"children":1516,"level":549,"listItem":550,"markDefs":1521,"style":263},"9c1a092b1349",[1517],{"_key":1518,"_type":258,"marks":1519,"text":1520},"1d5a2051c8f8",[],"Trimmings and byproducts ($1.15B)",[],{"_key":1523,"_type":254,"children":1524,"markDefs":1528,"style":263},"92db48998fb2",[1525],{"_key":1526,"_type":258,"marks":1527,"text":372},"896332cfd28a",[],[],{"_key":1530,"_type":254,"children":1531,"markDefs":1545,"style":263},"c92cea15b8df",[1532,1536,1541],{"_key":1533,"_type":258,"marks":1534,"text":1535},"1e017de7b580",[],"Many of these losses happen within narrow timing windows rather than from a lack of effort or planning. Clearer visibility into inventory movement, more flexible approaches to surplus food, and a stronger understanding of freshness labeling can ",{"_key":1537,"_type":258,"marks":1538,"text":1540},"dca099b96141",[1539],"f4a597b3174b","help operators keep good food in circulation",{"_key":1542,"_type":258,"marks":1543,"text":1544},"81d0ff7d2f15",[]," longer. Food nearing a best-by date is often still safe and enjoyable, especially when retailers create faster pathways for surplus food to reach customers.",[1546],{"_key":1539,"_type":421,"internalAnchor":8,"newWindow":45,"otherLocales":46,"reference":1547},{"_type":332,"locale":39,"slug":1548},"\u002Fblog\u002Fhow-to-reduce-food-waste-and-save-big-on-groceries",{"_key":1550,"_type":254,"children":1551,"markDefs":1555,"style":263},"03c040a00d83",[1552],{"_key":1553,"_type":258,"marks":1554,"text":372},"2a89aaeaac3c",[],[],{"_key":1557,"_type":254,"children":1558,"markDefs":1563,"style":397},"c1ebe1727eeb",[1559],{"_key":1560,"_type":258,"marks":1561,"text":1562},"07e64d4498a1",[260],"Why the Retail and Food Service Stage Often Matters Most",[],{"_key":1565,"_type":254,"children":1566,"markDefs":1571,"style":263},"60c4333819f6",[1567],{"_key":1568,"_type":258,"marks":1569,"text":1570},"4087b08f3448",[],"The final stage of the food supply chain creates a different level of visibility than earlier points in production or distribution. Retailers and foodservice operators can often see inventory movement in real time and react more quickly as products approach the end of their freshness windows. That proximity to consumers gives businesses more flexibility to adjust pricing, timing, and surplus strategies before food becomes unsellable.",[],{"_key":1573,"_type":254,"children":1574,"markDefs":1578,"style":263},"34e8f5fcc130",[1575],{"_key":1576,"_type":258,"marks":1577,"text":372},"c6deba107943",[],[],{"_key":1580,"_type":254,"children":1581,"markDefs":1586,"style":263},"b76695cc00e0",[1582],{"_key":1583,"_type":258,"marks":1584,"text":1585},"1ada479c6454",[],"Unlike upstream stages that rely on long production schedules or large shipment volumes, the last mile allows operators to make faster decisions based on actual demand. A prepared meal that may not sell during lunch hours could still hold value later in the afternoon. Produce nearing peak ripeness may still appeal to shoppers looking for immediate use. Timing often matters more than perfection, especially when businesses have flexible ways to move surplus inventory quickly.",[],{"_key":1588,"_type":254,"children":1589,"markDefs":1593,"style":263},"de6c03d5efa4",[1590],{"_key":1591,"_type":258,"marks":1592,"text":372},"47d0835d5124",[],[],{"_key":1595,"_type":254,"children":1596,"markDefs":1610,"style":263},"d9cb99cd7cc0",[1597,1601,1606],{"_key":1598,"_type":258,"marks":1599,"text":1600},"9b4ad84af96e",[],"As a result, many businesses are realizing that reducing waste is not only about discounting products at the right time. Traditional markdowns still play an important role, but they don’t always recover enough value on their own, particularly as labor pressures and shrinking margins continue to affect operations. Instead, retailers are looking for ",{"_key":1602,"_type":258,"marks":1603,"text":1605},"faa578c5f0ad",[1604],"915ee989c0e0","recovery strategies that support revenue",{"_key":1607,"_type":258,"marks":1608,"text":1609},"f5b30de1a7c5",[]," without creating additional operational strain.",[1611],{"_key":1604,"_type":421,"internalAnchor":8,"newWindow":45,"otherLocales":46,"reference":1612},{"_type":332,"locale":39,"slug":1613},"\u002Fblog\u002Ffood-waste-technology",{"_key":1615,"_type":254,"children":1616,"markDefs":1620,"style":263},"9a1475fd6ad0",[1617],{"_key":1618,"_type":258,"marks":1619,"text":372},"46829a389de5",[],[],{"_key":1622,"_type":254,"children":1623,"markDefs":1628,"style":397},"1306ef3afa62",[1624],{"_key":1625,"_type":258,"marks":1626,"text":1627},"dd12823984a6",[260],"What’s the Best Last-Mile Recovery Tool for Food Waste?",[],{"_key":1630,"_type":254,"children":1631,"markDefs":1636,"style":263},"7d129aa75ddc",[1632],{"_key":1633,"_type":258,"marks":1634,"text":1635},"534d3d0d7e9d",[],"As retailers and foodservice operators look for ways to recover revenue and reduce waste without adding unnecessary complexity, last-mile recovery tools are becoming a more practical part of the conversation. The final stage of the food supply chain creates a unique opportunity to keep surplus food moving while it still holds value for consumers, especially as freshness windows narrow. That’s where Too Good To Go comes in.",[],{"_key":1638,"_type":254,"children":1639,"markDefs":1643,"style":263},"20e5281e5777",[1640],{"_key":1641,"_type":258,"marks":1642,"text":372},"6e680a1e74c3",[],[],{"_key":1645,"_type":254,"children":1646,"markDefs":1660,"style":263},"20a21dd7237d",[1647,1651,1656],{"_key":1648,"_type":258,"marks":1649,"text":1650},"cc9c6cfedf44",[],"Too Good To Go is ",{"_key":1652,"_type":258,"marks":1653,"text":1655},"c98ce6e0af59",[1654],"868ded9e1c8e","a surplus food marketplace",{"_key":1657,"_type":258,"marks":1658,"text":1659},"fe9bcf74eee6",[]," that helps businesses recover value from items that may not sell through traditional channels in time. At the center of the Too Good To Go marketplace are Surprise Bags. Grocers can offer imperfect produce, bakery items, or refrigerated products nearing expiry, while restaurants and prepared-food operators can sell meals that were made fresh but never purchased during store hours.",[1661],{"_key":1654,"_type":421,"internalAnchor":8,"newWindow":45,"otherLocales":46,"reference":1662},{"_type":301,"locale":39,"slug":302},{"_key":1664,"_type":254,"children":1665,"markDefs":1669,"style":263},"fb38b2a97d66",[1666],{"_key":1667,"_type":258,"marks":1668,"text":372},"ddfac1d3823c",[],[],{"_key":1671,"_type":254,"children":1672,"level":549,"listItem":550,"markDefs":1677,"style":263},"7066223c71bf",[1673],{"_key":1674,"_type":258,"marks":1675,"text":1676},"d4a0821b6b15",[],"Surprise Bags are sold directly through the Too Good To Go app at a reduced price, typically 50-75% the original retail price.",[],{"_key":1679,"_type":254,"children":1680,"level":549,"listItem":550,"markDefs":1685,"style":263},"eae154b6d774",[1681],{"_key":1682,"_type":258,"marks":1683,"text":1684},"7f08115edb23",[],"Customers purchase bags in advance, then pick them up during collection windows selected by the retailer.",[],{"_key":1687,"_type":254,"children":1688,"level":549,"listItem":550,"markDefs":1693,"style":263},"ed8f1cce53cd",[1689],{"_key":1690,"_type":258,"marks":1691,"text":1692},"41ec1fc198e8",[],"Retailers and restaurants fill bags with items that are still safe and enjoyable, but unlikely to sell in time.",[],{"_key":1695,"_type":254,"children":1696,"level":549,"listItem":550,"markDefs":1701,"style":263},"526c6234b5e2",[1697],{"_key":1698,"_type":258,"marks":1699,"text":1700},"aca56eabba23",[],"Businesses maintain flexibility over pickup timing, pricing, and the types of surplus food included each day.",[],{"_key":1703,"_type":254,"children":1704,"markDefs":1708,"style":263},"bc6b6c05d13d",[1705],{"_key":1706,"_type":258,"marks":1707,"text":372},"99f716b6c7ea",[],[],{"_key":1710,"_type":254,"children":1711,"markDefs":1725,"style":263},"c395002fb824",[1712,1716,1721],{"_key":1713,"_type":258,"marks":1714,"text":1715},"e78151cdc98d",[],"Last-mile recovery strategies like Surprise Bags can help retailers improve how near-expiry items are displayed and discounted before they spoil. Businesses that optimize these efforts ",{"_key":1717,"_type":258,"marks":1718,"text":1720},"1e5df3c637ae",[1719],"5a54c3c1f92f","have the potential to",{"_key":1722,"_type":258,"marks":1723,"text":1724},"72c67a91bcdd",[]," reduce food waste by 21.24% while increasing profits by 6.01%. Once in practice, 88% of employees say using Too Good To Go takes less than four minutes per day, helping stores recover value from surplus food without creating additional workload for staff. It’s a win-win.",[1726],{"_key":1719,"_type":362,"href":1727,"internalAnchor":8,"newWindow":8,"reference":8},"https:\u002F\u002Fpubsonline.informs.org\u002Fdoi\u002F10.1287\u002Fmnsc.2023.00316",{"_key":1729,"_type":254,"children":1730,"markDefs":1734,"style":263},"0e301be4f74f",[1731],{"_key":1732,"_type":258,"marks":1733,"text":372},"fe8c05abe754",[],[],{"_key":1736,"_type":254,"children":1737,"markDefs":1742,"style":397},"d0bc5b63fc19",[1738],{"_key":1739,"_type":258,"marks":1740,"text":1741},"eaf3079c412c",[260],"Reduce Waste in the Food Supply Chain with Too Good To Go",[],{"_key":1744,"_type":254,"children":1745,"markDefs":1750,"style":263},"beb89130124c",[1746],{"_key":1747,"_type":258,"marks":1748,"text":1749},"0bda018e8d63",[],"Waste rarely starts at the shelf alone. Small disruptions across the food and beverage supply chain often compound by the time products reach retailers and restaurants. Yet, the last mile remains one of the clearest opportunities to recover value from surplus food before it becomes a total loss. Tools like Too Good To Go help businesses turn surplus inventory into another sales opportunity, making it easier to keep good food in circulation.",[],{"_key":1752,"_type":254,"children":1753,"markDefs":1757,"style":263},"a8b4edd864c2",[1754],{"_key":1755,"_type":258,"marks":1756,"text":372},"cb4404a08e7e",[],[],{"_key":1759,"_type":254,"children":1760,"markDefs":1765,"style":263},"02659da800c2",[1761],{"_key":1762,"_type":258,"marks":1763,"text":1764},"500149f3968f",[],"Even better? Every Surprise Bag saved also avoids 2.7 kg of CO2e emissions. With Too Good To Go, retailers reduce waste and support a healthier planet at the same time. ",[],{"_key":1767,"_type":254,"children":1768,"markDefs":1772,"style":263},"0e4b027f20f3",[1769],{"_key":1770,"_type":258,"marks":1771,"text":372},"b5f0bb3c5e7c",[],[],{"_key":1774,"_type":254,"children":1775,"markDefs":1779,"style":263},"a5258ae95039",[1776],{"_key":1777,"_type":258,"marks":1778,"text":372},"f2444311bf3e",[],[],{"_key":1781,"_type":254,"children":1782,"markDefs":1787,"style":263},"4820ce3b0eee",[1783],{"_key":1762,"_type":258,"marks":1784,"text":1786},[1785],"531946def9ea","Learn more about how Surprise Bags help fight food waste today.",[1788],{"_key":1785,"_type":421,"ctaStyle":45,"internalAnchor":8,"newWindow":45,"otherLocales":46,"reference":1789},{"_type":301,"locale":39,"slug":302},{"_key":1791,"_type":254,"children":1792,"markDefs":1796,"style":263},"e00cb349c89e",[1793],{"_key":1794,"_type":258,"marks":1795,"text":372},"558004fdd892",[],[],{"_key":1798,"_type":254,"children":1799,"markDefs":1803,"style":263},"259cfe336260",[1800],{"_key":1801,"_type":258,"marks":1802,"text":372},"44c37a37d2e3",[],[],{"_key":1805,"_type":254,"children":1806,"markDefs":1811,"style":397},"a2008fc06d27",[1807],{"_key":1808,"_type":258,"marks":1809,"text":1810},"edeef88e3bcf",[260],"FAQs About Food Supply Chain Waste",[],{"_key":1813,"_type":254,"children":1814,"markDefs":1819,"style":515},"e0f222a26968",[1815],{"_key":1816,"_type":258,"marks":1817,"text":1818},"60a301fb6846",[260],"What is food supply chain waste?",[],{"_key":1821,"_type":254,"children":1822,"markDefs":1827,"style":263},"9f1573084efe",[1823],{"_key":1824,"_type":258,"marks":1825,"text":1826},"9916ba0fc1df",[],"Food supply chain waste refers to food that was produced, transported, prepared, or stocked for consumption but ultimately never eaten. Waste can occur at nearly any stage, from farming and manufacturing to grocery and foodservice.",[],{"_key":1829,"_type":254,"children":1830,"markDefs":1834,"style":263},"f09e2b0d91c3",[1831],{"_key":1832,"_type":258,"marks":1833,"text":372},"f92143601c0e",[],[],{"_key":1836,"_type":254,"children":1837,"markDefs":1842,"style":515},"b8ed07f2bd26",[1838],{"_key":1839,"_type":258,"marks":1840,"text":1841},"bc818ca82f93",[260],"Why does food waste begin at farms?",[],{"_key":1844,"_type":254,"children":1845,"markDefs":1850,"style":263},"03ca9461bd23",[1846],{"_key":1847,"_type":258,"marks":1848,"text":1849},"f1dbb068e850",[],"Food waste often begins at farms because harvesting decisions are closely tied to timing, labor availability, buyer demand, and profitability. Crops may remain in fields if they are not profitable to pick or cannot move quickly enough into the next stage of production.",[],{"_key":1852,"_type":254,"children":1853,"markDefs":1857,"style":263},"56dad9a732e1",[1854],{"_key":1855,"_type":258,"marks":1856,"text":372},"4f9726b30ce4",[],[],{"_key":1859,"_type":254,"children":1860,"markDefs":1865,"style":515},"d0472d1db991",[1861],{"_key":1862,"_type":258,"marks":1863,"text":1864},"2ea2a737e5ef",[260],"Why are wholesalers and grocers so vulnerable to food waste?",[],{"_key":1867,"_type":254,"children":1868,"markDefs":1873,"style":263},"e66143785e15",[1869],{"_key":1870,"_type":258,"marks":1871,"text":1872},"e46a2c721d6c",[],"Wholesalers and grocers manage products with constantly shrinking freshness windows. Delayed shipments, labor shortages, fluctuating demand, and inventory rotation challenges can all increase the likelihood of spoilage or unsold products, especially in highly perishable departments like produce and prepared foods.",[],{"_key":1875,"_type":254,"children":1876,"markDefs":1880,"style":263},"f73aad937c27",[1877],{"_key":1878,"_type":258,"marks":1879,"text":372},"c73ef6b5db10",[],[],{"_key":1882,"_type":254,"children":1883,"markDefs":1888,"style":515},"33a2c3371055",[1884],{"_key":1885,"_type":258,"marks":1886,"text":1887},"96a36ef83970",[260],"Why do restaurants generate so much food waste?",[],{"_key":1890,"_type":254,"children":1891,"markDefs":1896,"style":263},"730718af17c5",[1892],{"_key":1893,"_type":258,"marks":1894,"text":1895},"4eea23e94aec",[],"Restaurants and foodservice operators face unpredictable customer traffic and changing demand patterns that make inventory planning difficult. Food prepared in advance for catering, business dining, or rush periods may not always sell in time, while plate waste and overproduction also contribute heavily to losses.",[],{"_key":1898,"_type":254,"children":1899,"markDefs":1903,"style":263},"90638da93a9a",[1900],{"_key":1901,"_type":258,"marks":1902,"text":372},"149c25f4a2c0",[],[],{"_key":1905,"_type":254,"children":1906,"markDefs":1911,"style":515},"9ca0c07319fe",[1907],{"_key":1908,"_type":258,"marks":1909,"text":1910},"3e4a24e7ab22",[260],"Why do best-by dates contribute to food waste?",[],{"_key":1913,"_type":254,"children":1914,"markDefs":1928,"style":263},"705b88cb02d2",[1915,1919,1924],{"_key":1916,"_type":258,"marks":1917,"text":1918},"18fc71bfe0f7",[],"Many products nearing their best-by dates are ",{"_key":1920,"_type":258,"marks":1921,"text":1923},"574b35194f97",[1922],"0dd01728a481","still safe and enjoyable",{"_key":1925,"_type":258,"marks":1926,"text":1927},"c9d22f330875",[]," to consume. Confusion around freshness labeling can lead businesses and shoppers to discard food prematurely, even when it still holds value and quality.",[1929],{"_key":1922,"_type":421,"internalAnchor":8,"newWindow":45,"otherLocales":46,"reference":1930},{"_type":301,"locale":39,"slug":312},{"_key":1932,"_type":254,"children":1933,"markDefs":1937,"style":263},"a905467a6e57",[1934],{"_key":1935,"_type":258,"marks":1936,"text":372},"e261df25bc4d",[],[],{"_key":1939,"_type":254,"children":1940,"markDefs":1945,"style":515},"0d4988f7dfdd",[1941],{"_key":1942,"_type":258,"marks":1943,"text":1944},"5d7a80c753c6",[260],"Why does the last mile matter most in the food supply chain?",[],{"_key":1947,"_type":254,"children":1948,"markDefs":1953,"style":263},"132f39a28877",[1949],{"_key":1950,"_type":258,"marks":1951,"text":1952},"33d52ee7cd4f",[],"The last mile gives retailers and foodservice operators greater visibility into inventory movement and real-time consumer demand. That flexibility allows businesses to react more quickly as products approach the end of their freshness windows, creating stronger opportunities to recover value before food becomes waste.",[],{"_key":1955,"_type":254,"children":1956,"markDefs":1960,"style":263},"40c3ee60b0a2",[1957],{"_key":1958,"_type":258,"marks":1959,"text":372},"c665e9abef47",[],[],{"_key":1962,"_type":254,"children":1963,"markDefs":1968,"style":515},"5e0ec4ce7d8d",[1964],{"_key":1965,"_type":258,"marks":1966,"text":1967},"01f08b2ef6f5",[260],"What are Too Good To Go Surprise Bags?",[],{"_key":1970,"_type":254,"children":1971,"markDefs":1985,"style":263},"00fbdd74bdc0",[1972,1976,1981],{"_key":1973,"_type":258,"marks":1974,"text":1975},"f425adb6982c",[],"Surprise Bags are discounted bundles of surplus food sold directly to nearby customers through the ",{"_key":1977,"_type":258,"marks":1978,"text":1980},"3b3f69aa6410",[1979],"31029c907182","Too Good To Go marketplace",{"_key":1982,"_type":258,"marks":1983,"text":1984},"54c3972ea37e",[],". Retailers and restaurants fill bags with food that is still safe and enjoyable but unlikely to sell through traditional channels before freshness windows narrow.",[1986],{"_key":1979,"_type":421,"internalAnchor":8,"newWindow":45,"otherLocales":46,"reference":1987},{"_type":301,"locale":39,"slug":302},{"_key":1989,"_type":254,"children":1990,"markDefs":1994,"style":263},"bbbdbe16c180",[1991],{"_key":1992,"_type":258,"marks":1993,"text":372},"4ecf1db8a7df",[],[],{"_key":1996,"_type":254,"children":1997,"markDefs":2002,"style":515},"6bdcdd2262c9",[1998],{"_key":1999,"_type":258,"marks":2000,"text":2001},"5fcb9e96f5ed",[260],"How does Too Good To Go help retailers and restaurants fight food waste?",[],{"_key":2004,"_type":254,"children":2005,"markDefs":2010,"style":263},"f111e2d9aa72",[2006],{"_key":2007,"_type":258,"marks":2008,"text":2009},"7e35f3e319ee",[],"Too Good To Go helps businesses recover value from surplus food by connecting local customers with discounted Surprise Bags. The platform gives retailers and restaurants a flexible way to sell food before it goes to waste without requiring major operational changes.",[],"default",[2013,2046,2083],{"_key":2014,"_type":2015,"buttons":2016,"content":2020,"theme":2045},"1jkf7lre7g28","modularContentBlocks.outer.cta",[2017],{"_key":2018,"_type":150,"buttonColor":151,"buttonText":2019,"link":8,"variant":153},"a282dd0ebbbc","Download the app",[2021,2034],{"_key":2022,"_type":2023,"description":2024,"size":2011,"title":2025,"variant":2011},"6dk1pal4i10a","modularContentBlocks.inner.title",[],[2026],{"_key":2027,"_type":254,"children":2028,"markDefs":2033,"style":263},"GZyjLe6U5nxM0R9gPkHYAG",[2029],{"_key":2030,"_type":258,"marks":2031,"text":2032},"GZyjLe6U5nxM0R9gPkHYCa",[],"start saving food today",[],{"_key":2035,"_type":2036,"text":2037},"is9la02ijx8m","modularContentBlocks.inner.baseText",[2038],{"_key":2039,"_type":254,"children":2040,"markDefs":2044,"style":263},"740b5c918016",[2041],{"_key":2042,"_type":258,"marks":2043,"text":16},"2f54f31664640",[],[],"dark",{"_key":2047,"_type":2048,"alignment":2049,"content":2050,"extraSpacing":46,"theme":2045,"variant":2082},"bndt73pfqirw","modularContentBlocks.outer.section","center",[2051,2063,2067],{"_key":2052,"_type":2023,"description":2053,"preTitle":8,"size":2011,"title":2054,"variant":2049},"80hf92fygbfk",[],[2055],{"_key":2056,"_type":254,"children":2057,"markDefs":2062,"style":263},"GZyjLe6U5nxM0R9gPkHYEu",[2058],{"_key":2059,"_type":258,"marks":2060,"text":2061},"GZyjLe6U5nxM0R9gPkHYHE",[],"Too good to go blog",[],{"_key":2064,"_type":2065,"listingDocument":332,"listingType":2066},"0zn20h9ot6i0","modularContentBlocks.inner.listing","latest",{"_key":2068,"_type":2069,"buttons":2070,"variant":2049},"l1m71gx3wqqc","modularContentBlocks.inner.buttonGroup",[2071],{"_key":2072,"_type":2073,"link":2074,"title":2080,"variant":2081},"cb6c6aecbe6c","button",{"_type":2075,"internal":2076,"internalAnchor":8,"linkType":2078,"otherLocales":46,"reference":2079},"link",{"_ref":2077,"_type":13,"_weak":45},"singleton-pages-en-us-about-food-waste-blog-home","internal",{"_type":84,"locale":39,"slug":246},"More blog posts","text","noImage",{"_key":2084,"_type":2048,"alignment":2049,"content":2085,"extraSpacing":46,"theme":2045,"variant":2082},"fd20632i3coe",[2086,2105],{"_key":2087,"_type":2023,"description":2088,"preTitle":8,"size":2089,"title":2090,"variant":2049},"jq0ms9uze8v9",[],"small",[2091],{"_key":2092,"_type":254,"children":2093,"markDefs":2104,"style":263},"GZyjLe6U5nxM0R9gPkHYJY",[2094,2098,2100],{"_key":2095,"_type":258,"marks":2096,"text":2097},"wHKr7lvBejmoAuZJ6jL8XE",[],"JOIN over ",{"_key":2099,"_type":273,"dataType":274,"text":289},"stat-1764846117414-wcj9ynzxu",{"_key":2101,"_type":258,"marks":2102,"text":2103},"wHKr7lvBejmoAuZJ6jL8bO",[]," BUSINESSES FIGHTING FOOD WASTE WITH US",[],{"_key":2106,"_type":2069,"buttons":2107,"variant":2049},"mbqmmpj8a8c2",[2108,2110],{"_key":2109,"_type":150,"buttonColor":151,"buttonText":2019,"link":8,"variant":153},"4029981371e9",{"_key":2111,"_type":2073,"link":2112,"title":2114,"variant":2011},"fd77cb9e97ff",{"_type":2075,"linkType":2113,"otherLocales":46,"ssu":160},"ssu","Sign up your business",{"_type":2116,"alt":2117,"asset":2118,"fit":26},"imageWithAlt","produce inventory management",{"_ref":2119,"_type":13},"image-434d936f8c1979759904e209fa7ac19c01f95321-6000x4000-jpg","hidden",{"_ref":2077,"_type":13},"Too Good To Go Blog","2026-06-16T16:09:59.453Z",{"metaDescription":2125,"metaTitle":2126,"socialImage":2127},"Learn where food waste develops along the food and beverage supply chain, as well as how retailers can recover value from surplus inventory at the last mile.","How Retailers Can Fight Waste in the Food Supply Chain",{"_type":2128,"asset":2129},"image",{"_ref":2119,"_type":13},{"_type":2131,"current":2132},"slug","food-supply-chain-waste","How the Food Supply Chain Creates Waste and What Retailers Can Do at the Last Mile",[],{"posts":2136,"totalPosts":2184},[2137,2150,2162,2173],{"_createdAt":2138,"_id":2139,"categories":8,"content":2140,"excerpt":2141,"file":8,"image":2142,"language":39,"migrated":8,"pretitle":2122,"publishedAt":2147,"slug":2148,"title":2149,"updatedAt":8,"url":8},"2026-08-06T16:43:18Z","41aef15d-b750-4abf-83f9-2c8c497f9adf","Every few months, restaurant operators have the chance to put something exciting on the table. The right seasonal restaurant menu ideas keep the dining experience feeling fresh without reinventing the entire concept. Customers enjoy trying dishes that won’t be around forever, while kitchen staff can make the most of ingredients at their peak. Done right, guests start looking forward to what’s coming next.\n\n\n\nIndependent restaurants can also use seasonal menus as a practical tool behind the scenes. A focused menu can make inventory easier to manage and help reduce surplus food before it happens. Not sure where to begin? You’ve come to the right place. Ahead, we’ll share seasonal menu ideas along with practical tips for building a menu that works just as well in the back of house as it does the front of house.\n\n\n\nWhy Seasonal Menus Can Help Reduce Food Waste\n\nFood hasn’t been getting any cheaper, which means every purchasing decision now carries a little extra weight. Case in point? Average restaurant food costs have climbed 34% over the past six years. Seasonal menus help restaurants buy ingredients when they’re abundant and often less expensive, making it easier to control costs without compromising quality. That’s one reason many operators revisit their menus several times a year.\n\n\n\nYet, even with careful planning, surplus is often hard to avoid. Full-service restaurants generate nearly $72 billion worth of surplus food every year, or about $197 million every day. That’s money operators can’t afford to lose. While no restaurant can eliminate waste completely, many of the decisions that determine how much surplus you create happen long before the first order is fired.\n\n\n\nSeasonal restaurant menu ideas can help. A menu built around seasonal ingredients naturally narrows your purchasing list. Instead of stocking dozens of products year-round, you can buy with a specific group of dishes in mind month-over-month. Many of those ingredients can pull double duty across appetizers, entrées, sides, and specials, helping inventory move through the kitchen faster.\n\n\n\nSeasonal menus also give operators a clear beginning and end. Limited-time offerings make it easier to estimate how much inventory you’ll need compared with carrying the same ingredients indefinitely. Better forecasting doesn't guarantee you’ll sell every last item, but it does put you in a stronger position than ordering without a plan. Reducing food waste in restaurants starts long before closing time. It starts with the menu.\n\n\nSeasonal Restaurant Menu Ideas for Your Next Refresh\n\nGood seasonal menus don’t just reflect what’s growing outside or what’s going for the best price with suppliers. They help food managers buy with purpose, let kitchens use ingredients across multiple dishes, and create fewer opportunities for surplus in the first place. The examples below highlight seasonal restaurant menu ideas that can help you do exactly that throughout the year.\n\nSpring Into New Flavors and Textures\n\nAfter months of hearty winter dishes, spring is a chance to lighten things up. Seasonal restaurant menu ideas for these months often revolve around ingredients like asparagus, peas, strawberries, and fresh herbs that naturally brighten a menu. They’re a great fit for spring pastas, grain bowls, and seafood salads that give loyal returning guests something new to look forward to weekly.\n\n\n\nSpring is also a good time to simplify purchasing. Instead of introducing dozens of new ingredients, focus on a handful that can carry multiple dishes. Fresh herbs can tie together sauces, dressings, and cocktails, while asparagus works just as well at brunch as it does alongside an evening entrée. Building multiple menu items around the same ingredients helps inventory move faster and leaves fewer products sitting in the walk-in.\n\n\n\nMake the Most of Peak Summer Produce\n\nDepending on your location, summer can be your busiest season or your quietest months of the year. Beach towns may be serving packed dining rooms all day long, while college communities and business districts often experience the opposite. Either way, taking advantage of peak summer produce can help control food costs, whether you’re ordering in bulk for heavy traffic or keeping purchases lean during slower weeks.\n\n\n\nTomatoes are a great example. One delivery can support sandwiches at lunch, house-made salsa for appetizers, and a pasta special later in the week. Designing your menu around versatile summer ingredients keeps produce in rotation without making every dish feel the same. It also helps dishes stay fresh, even as hot weather makes guests less likely to leave the comfort of air conditioning.\n\n\n\nLean Into Ultra Comfort Food This Fall\n\nOnce the sun sets on summer months, cooler weather changes what guests crave almost overnight. Seasonal restaurant menu ideas naturally shift toward roasted vegetables, richer sauces, and comforting entrées that feel right at home as temperatures drop. Squash, apples, mushrooms, and sweet potatoes make it easy to introduce those flavors without completely reinventing the menu, and they do so at a crave-worthy price.\n\n\n\nNot to mention, many fall ingredients earn their place by doing more than one job. Roasted squash might become a soup one day and a ravioli filling the next, while apples can move from a harvest salad to a seasonal dessert. Finding those overlaps helps reduce unnecessary purchasing and gives chefs room to adjust offerings and stay creative as guest demand changes throughout the season.\n\n\n\nWarm Up Your Winter Menu with Classics\n\nAs the calendar shifts toward the new year, winter calls for seasonal menus that work as hard as your kitchen does. The potential for colder weather, holiday travel, and even the post-holiday slowdown can make guest traffic harder to predict, no matter where you’re located. Building your menu around dependable ingredients gives the kitchen more flexibility without sacrificing the comforting classics guests come to expect.\n\n\n\nRoot vegetables are particularly valuable this time of year because they hold well and adapt to different preparations. The same carrots or potatoes might anchor a slow-cooked stew early in the week, then reappear as a roasted mash with a different entrée. That kind of versatility helps managers make the most of every supplier order, especially if deliveries slow with snow or icy weather.\n\n\n\nWhat To Do When Seasonal Menus Leave Surplus Behind\n\nSeasonal restaurant menu ideas can go a long way toward reducing unnecessary purchasing, but they can’t account for everything. Rainy weekends, canceled reservations, and changing guest preferences all affect what sells on any given day. That’s just the reality of the restaurant business. Reducing food waste in restaurants isn’t about eliminating that surplus altogether; it’s about having a plan for what’s left at the end of service.\n\n\n\nEnter a surplus food marketplace like Too Good To Go. Rather than writing off eligible surplus food as a complete loss, restaurant operators can recover some of its value while helping reduce food waste each day.\n\n\n\nToo Good To Go makes the process simple. Restaurants bundle surplus food into discounted Surprise Bags, choose a pickup window that fits their operations, and list them in the Too Good To Go app. Customers purchase directly through the app, then stop by during the scheduled pickup time to collect their Surprise Bag. It’s an easy way to earn additional revenue from food that might otherwise go unsold, all without disrupting service.\n\n\n\nBuild Stronger Seasonal Restaurant Menus with Too Good To Go\n\nSuccessful operators know that profitability starts way before the dinner rush. Seasonal restaurant menu ideas help kitchens buy with purpose and make better use of ingredients throughout the year. Recovering value from eligible surplus food adds another layer to that strategy, making reducing food waste in restaurants an actionable part of everyday operations rather than an afterthought.\n\n\n\nToo Good To Go helps restaurants recover value from food that deserves a second chance, turning smart menu planning into an even smarter business strategy. Join thousands of food businesses already using the marketplace and discover how easy it is to serve more guests while wasting less.\n\n\n\n\n\nStart rescuing food today\n\n\n\n\n\nFAQs About Reducing Food Waste in Restaurants\n\nWhat are the benefits of seasonal restaurant menus?\n\nSeasonal restaurant menus help restaurants purchase ingredients when they’re abundant and often more affordable. They also make it easier to plan inventory, introduce limited-time dishes that keep guests interested, and use ingredients across multiple menu items to reduce unnecessary surplus.\n\n\n\nHow do seasonal menus help reduce food waste?\n\nSeasonal menus narrow purchasing around a focused group of dishes instead of carrying the same ingredients year-round. That makes inventory easier to forecast and helps fresh products with shorter expiry windows move through the kitchen before they spoil.\n\n\n\nWhat ingredients work well across multiple menu items?\n\nVersatile ingredients are ideal because they can appear in several dishes without feeling repetitive. For example, fresh herbs can be used in sauces, dressings, cocktails, and garnishes, while tomatoes can support sandwiches, salads, pasta dishes, and house-made salsas.\n\n\n\nHow often should restaurants update seasonal menus?\n\nMany independent restaurants refresh their seasonal menus about four times a year to align with changing produce availability and guest preferences. Some operators also introduce limited-time specials between major menu updates to test new dishes without committing to a full menu change.\n\n\n\nHow does Too Good To Go work for restaurants?\n\nToo Good To Go helps restaurants recover value from eligible surplus food by selling discounted Surprise Bags through the app. Restaurants bundle available items, choose a pickup window that fits their operations, and list the Surprise Bags for sale. Customers purchase directly through the app and collect their order during the scheduled pickup window.\n\n\n\nCan Too Good To Go help restaurants reduce food waste?\n\nYes. Too Good To Go gives restaurants a practical way to recover value from eligible surplus food that might otherwise be discarded. In addition to generating incremental revenue, the marketplace helps reduce food waste while introducing new customers to participating restaurants. Each meal saved through Too Good To Go is equivalent to avoiding 2.7 kg of CO2e emissions and 810 litres of water.\n\n\n\n\n\n\n\n\n\n\n\n\n","Discover seasonal restaurant menu ideas that help independent operators buy smarter and keep menus fresh. Learn how to reduce food waste and protect margins.",{"_type":2116,"alt":2143,"asset":2144,"fit":2146},"Chef slicing mushrooms on a blue cutting board with fresh vegetables on a metal counter.",{"_ref":2145,"_type":13},"image-3a09f664d77bd4c350cbf4a60d2ab14db801ac8a-7360x4912-jpg","contain","2026-08-06T18:41:11.721Z","\u002Fblog\u002Fseasonal-restaurant-menus","How Independent Restaurants Can Use Seasonal Menus to Reduce Food Waste",{"_createdAt":2151,"_id":2152,"categories":8,"content":2153,"excerpt":2154,"file":8,"image":2155,"language":39,"migrated":8,"pretitle":2122,"publishedAt":2159,"slug":2160,"title":2161,"updatedAt":8,"url":8},"2026-07-29T21:33:25Z","5e40ad59-48fe-4b27-b40e-e485a2dc8db9","Restaurant operators have had to navigate years of rising costs. Between 2020 and 2026 alone, total food costs for the average restaurant increased by 34%, putting even more pressure on already tight margins. Add in expenses like utilities, occupancy, and credit card processing fees, and there isn’t much room for error. The good news? Food is one of the few major costs operators can actively control.\n\n\n\nRaising menu prices or shrinking portions may seem like the obvious answer, but they’re far from the only solutions. Understanding your food cost percentage helps you spot opportunities to improve profitability while protecting the quality your guests expect. The first step is knowing what this metric actually measures and how to use the food cost percentage formula to make smarter decisions every day.\n\n\nWhat Is Food Cost Percentage in Restaurants?\n\nIf ingredients feel pricier than ever, you’re not imagining it. More than 80% of operators reported higher food costs in 2025. However, ingredients don’t tell the whole story. Food cost percentage measures how much of your food sales revenue is spent on ingredients. It’s one of the clearest indicators of menu profitability because it shows how efficiently your kitchen turns inventory into revenue, rather than just how much you’re spending.\n\n\n\nMost restaurants monitor both ideal and actual food cost. Ideal food cost is based on recipe costs and expected portions, assuming every ingredient is used exactly as planned. Actual food cost reflects what really happened in your kitchen, including spoilage, overportioning, prep waste, and other losses. The gap between the two often reveals where opportunities for improvement exist.\n\n\n\nSpending $8,000 on ingredients isn’t inherently good or bad. The real value comes from calculating food costs in relation to overall restaurant revenue. Spending $8,000 to generate $20,000 in food sales tells a very different story than spending the same amount to generate $35,000. Food cost percentage puts spending in the context of sales, making it much easier to compare performance over time and identify changes that deserve a closer look.\n\n\n\nHow to Calculate Your Food Cost Percentage\n\nCalculating your restaurant’s food cost percentage is straightforward once you know which version you’re using: the ideal food cost formula or the actual food cost formula. Here’s a step-by-step guide to do just that.\n\n\n\nIdeal Food Cost Percentage Formula\n\nIdeal food cost compares the expected cost of ingredients to the revenue those menu items generate:\n\n\n\nIdeal Food Cost % = Food Cost ÷ Food Sales × 100\n\n\n\nFor example, if a menu item costs $8 in ingredients and generates $30 in sales, your ideal food cost percentage would be 26.7%. Calculating your ideal food cost helps you realize whether individual menu items are priced to support healthy margins before they ever reach the kitchen’s expo line.\n\n\n\nActual Food Cost Percentage Formula\n\nActual food cost starts with your cost of goods sold (COGS), which accounts for inventory used during a specific period:\n\n\n\nStep 1. Calculate Actual COGS\n\nActual COGS = Opening Inventory + Purchases − Ending Inventory\n\n\n\nStep 2: Calculate Actual Food Cost Percentage\n\nActual Food Cost % = Actual COGS ÷ Food Sales × 100\n\n\n\nFor example, imagine you begin the week with $6,000 in inventory, purchase another $4,000 in ingredients mid-week, and finish with $2,500 in inventory. Your actual COGS is $7,500. If the restaurant generated $25,000 in weekly food sales, your actual food cost percentage would be 30%.\n\n\n\nThough these are hypothetical figures, comparing your actual percentage to your ideal percentage can reveal where costs are creeping higher than expected. Food waste is often a major contributor. Limited- and full-service restaurants generate more than $103 billion in surplus food each year, making waste reduction an overlooked tactic to improve profitability without sacrificing food quality.\n\n\n\nWhat Is a Good Food Cost Percentage?\n\nThere’s no single food cost percentage every restaurant should aim for. While food costs account for roughly 33 cents of every dollar in restaurant sales on average, that figure is just a broad industry snapshot. What’s considered healthy or sustainable depends on your restaurant’s concept, menu, and business model, making comparisons across different types of restaurants less meaningful.\n\n\n\nQuick-service restaurants, for instance, often operate with lower food costs because of standardized menus and efficient operations. On the other hand, casual dining and fine dining restaurants may accept higher food costs in exchange for premium ingredients or elevated guest experiences. Restaurants with alcohol and other specialty beverage menus may also look different than concepts focused primarily on food sales.\n\n\n\nThe food cost percentage formula becomes most useful when you compare your own performance over time or benchmark against restaurants with a similar concept. A number that’s healthy for one business may not be realistic (or even desirable) for another. Rather than chasing an industry average, focus on the operational changes that have the greatest influence on your own results.\n\n\n\nWhat Drives Food Cost Percentage?\n\nNo single factor determines your food cost percentage. Instead, it reflects dozens of daily decisions made across purchasing, pricing, and service. Understanding the biggest drivers helps you identify where small operational improvements can have the greatest impact on profitability without compromising the guest experience.\n\n\n\nMenu Pricing\n\nThe prices on your menu are just as important as the cost of the ingredients on the plate. Even if ingredient prices stay exactly the same, your food cost percentage can increase if menu prices no longer reflect rising operating expenses like labor and utility costs. Regularly reassessing menu prices helps protect margins while ensuring each dish continues to support the financial goals of your restaurant.\n\n\n\nIngredient Costs\n\nEvery ingredient that enters your kitchen becomes part of the food cost percentage formula. Supplier price increases, commodity market fluctuations, and seasonal availability can all raise your costs before a dish ever reaches the customer. Periodically reviewing vendor pricing and evaluating substitutions can help offset higher expenses without lowering food quality. Building menus around seasonal ingredients can also help reduce produce costs while keeping offerings fresh for guests.\n\n\n\nPortion Control\n\nOnce ingredients reach the kitchen, consistency becomes the next priority. A single extra ounce of protein or an oversized scoop of fries may not seem significant, but repeated across hundreds of orders, those small differences add up quickly. Maintaining consistent recipes and portions helps stabilize your food cost percentage while giving guests the reliable dining experience they expect every visit.\n\n\n\nFood Waste\n\nNot every cost comes from the meals you serve. Food waste can happen at nearly every stage of kitchen operations. Some losses happen during prep through trim waste; others happen when ingredients spoil in storage or prepared food goes unsold at the end of the day. Since the actual food cost percentage formula accounts for all inventory used, those costs still count even if the food never generates revenue.\n\n\n\nInventory Management\n\nThe final piece is making sure you know exactly what’s in your kitchen and how quickly it’s moving. Over-ordering, inaccurate inventory counts, and products that expire before they’re used all increase costs unnecessarily. Following practices like first in, first out (FIFO) and ordering based on expected demand helps keep your food cost percentage aligned with actual sales instead of avoidable losses.\n\n\n\nHow to Lower Food Cost Percentage Without Sacrificing Quality\n\nEvery restaurant has opportunities to improve profitability without cutting corners. You don’t have to overhaul your prices or slice portion sizes overnight to improve your food cost percentage. Instead, focusing on a handful of operational best practices can help lower it over time while protecting the consistency and quality your guests expect. Consider small steps, such as:\n\n\n\nOptimize your menu mix. Highlight dishes with stronger margins, and regularly review menu performance to identify items that no longer support your profitability goals.\n\nStandardize recipes and portions. Consistent preparation helps reduce unnecessary food costs while giving guests the same experience every time they order.\n\nStrengthen inventory practices. Keep inventory accurate, use FIFO on all new purchases, and prep ingredients before they expire to minimize avoidable losses.\n\nImprove demand forecasting. Prepare closer to expected demand to help reduce overproduction while making sure popular menu items remain available.\n\nRecover value from surplus food. Leverage surplus food marketplaces to sell eligible unsold food instead of treating it as a complete loss.\n\n\n\nEven the best-performing restaurants occasionally end the day with perfectly good food that never gets sold. Rather than writing those items off entirely, many restaurants use surplus food marketplaces to recover a portion of their costs while reducing the amount of food waste each shift. It’s a practical way to improve profitability without changing recipes or compromising the guest experience. Too Good To Go gives restaurants a simple way to put this strategy into action.\n\n\n\nToo Good To Go helps restaurants recover value from eligible surplus food through discounted Surprise Bags. Restaurants bundle available items, set a pickup window that fits their operations, and list the Surprise Bags in the app. Customers purchase directly through Too Good To Go, then collect their order during the designated pickup window. Less food goes to waste, more revenue comes from surplus food, and restaurants have another way to connect with local customers.\n\n\n\nFood Cost Percentage Is About More Than Spending Less\n\nImproving your food cost percentage isn’t about slashing ingredient costs; it’s about making the most of every dollar you spend. Restaurants that consistently protect their margins do so by pricing thoughtfully, serving consistent portions, and managing inventory carefully. Reducing avoidable waste is another way to strengthen profitability while continuing to deliver the quality guests expect.\n\n\n\nToo Good To Go helps restaurants turn eligible surplus food into an opportunity instead of a loss. By recovering value from food that might otherwise go unsold, restaurants can not only reduce waste but also improve profitability and introduce more local customers to what they have to offer. Sell your surplus food on Too Good to Go today.\n\n\n\nStart selling your surplus food today\n\n\n\n\n\nFAQs About Food Cost Percentage\n\nWhat is the difference between food cost and food cost percentage?\n\nFood cost is the total amount you spend on ingredients. Food cost percentage compares that spending to your food sales, giving you a clearer picture of profitability. Two restaurants may spend the same amount on ingredients, but the one generating more sales from those ingredients will have a healthier food cost percentage.\n\n\n\nHow often should restaurants calculate food cost percentage?\n\nMany restaurants calculate food cost percentage weekly so they can spot changes before they become larger problems. Others review it daily for high-volume operations or monthly for broader financial reporting. The right schedule depends on your operation, but reviewing it consistently makes it easier to identify trends and respond quickly.\n\n\n\nCan reducing food waste improve restaurant profitability?\n\nYes. Reducing food waste helps restaurants make better use of the inventory they’ve already purchased. Improvements such as accurate portioning, stronger inventory management, better demand forecasting, and recovering value from eligible surplus food can all help improve profitability without compromising food quality or the guest experience.\n\n\n\nHow does Too Good To Go work for restaurants?\n\nToo Good To Go helps restaurants recover value from eligible surplus food through discounted Surprise Bags (https:\u002F\u002Fwww.toogoodtogo.com\u002Fen-us\u002Fsurplus-food-marketplace). Restaurants bundle available items, choose a pickup window that fits their operations, and list the Surprise Bags in the app. Customers purchase them directly through Too Good To Go and collect their order during the designated pickup time.\n\n\n\nDoes using Too Good To Go create extra work for restaurant staff?\n\nToo Good To Go is designed to fit into existing restaurant workflows. Since restaurants decide when to list Surprise Bags and when customers can pick them up, staff can choose a process that works alongside normal service. Instead of preparing separate meals, restaurants package eligible surplus food that would otherwise go unsold.\n\n\n\nWhat can restaurants include in a Too Good To Go Surprise Bag?\n\nSurprise Bags can include a variety of eligible surplus food that remains fresh and safe to enjoy but is unlikely to sell before the end of a shift. Depending on the restaurant, that may include prepared meals, baked goods, sandwiches, salads, side dishes, or desserts. Because availability changes daily, the contents are always a surprise for customers.","Understand the food cost percentage formula and what it reveals about restaurant profitability. Learn practical ways to reduce costs without cutting quality.",{"_type":2116,"alt":2156,"asset":2157,"fit":2146},"A woman in an apron chopping an onion in a professional kitchen.",{"_ref":2158,"_type":13},"image-4402ca664dda2297627d47aee9cbea48ac1d73cd-4096x2160-jpg","2026-07-30T22:00:00.000Z","\u002Fblog\u002Ffood-cost-percentage","How Restaurants Can Reduce Food Cost Percentage Without Cutting Quality",{"_createdAt":2163,"_id":2164,"categories":8,"content":2165,"excerpt":8,"file":8,"image":2166,"language":39,"migrated":8,"pretitle":2122,"publishedAt":2170,"slug":2171,"title":2172,"updatedAt":8,"url":8},"2026-07-23T15:11:53Z","59984dd0-7a11-4524-971d-80ac6401a4e5","There’s something satisfying about stumbling across a grocery store you never knew existed. Maybe it’s the neighborhood market with incredible produce, or the specialty shop that carries ingredients you can’t find anywhere else. Perhaps it’s the regional supermarket that everyone else seems to have known about all along. Those unexpected finds can completely change the way you shop, and they’re often closer than you think.\n\n\n\nIf you’ve ever searched “local grocery stores near me” and wondered whether there was more to discover than the same handful of familiar chains, you’re asking the right question. The truth is, local groceries come in many forms, from independently owned markets to neighborhood fruit stands that don’t always make the top of popular search results. Here’s how to discover better local grocery options, wherever you live.\n\n\n\nHave You Been Overlooking Local Groceries?\n\nMany people hear the phrase ‘local groceries’ and immediately picture the big-box retailer that’s down the block or the neighborhood supermarket that’s been a staple in the community for the past 30 years. While those retailers certainly qualify, they’re only part of the story. Some of the best neighborhood finds are the local grocery stores you may already pass by every week without a second thought. Consider options like:\n\n\n\nButcher shops\n\nProduce markets\n\nInternational markets\n\nBakeries with grocery selections\n\nRegional grocery chains\n\nIndependent grocers\n\nNatural food stores\n\nFarmer’s markets\n\n\n\nLocal groceries aren’t defined by store size or if they’re part of a larger company. What matters is that they serve your community and offer something worth discovering, whether that’s seasonal veggies, specialty ingredients, or simply a better shopping experience. Finding one of those overlooked stores has a way of making you wonder what other hidden gems are waiting for you nearby. Luckily, they’re not hard to find.\n\n\n\nHow to Find Great Local Grocery Stores Near You\n\nIt’s one thing to search for local grocery stores every time you’re on a food run, and it’s another to know what to look for once those search results appear. A little curiosity can uncover neighborhood favorites that deserve a place in your regular grocery rotation. The tips below will help you compare your options and discover the hidden gems that may have been right around the corner all along.\n\n\n\nStart with Neighborhood Search Tools\n\nA Google search is a great place to begin, but chances are, you’ve been to those retailers a dozen times in the past few months. Plus, many hidden gems build loyal followings through word of mouth rather than big marketing budgets. Some of the best neighborhood finds won’t necessarily appear at the top of search results. Instead, start with Google Maps, and spend a few minutes checking more than just the overall star rating.\n\n\n\nFirst, read what nearby shoppers actually have to say. Do they rave about the produce? Mention friendly staff? Talk about making a special trip because the selection is worth it? Those details often paint a far clearer picture of the available local groceries than a five-star review ever could.\n\n\n\nOnce you’ve done that, see what your community recommends. Neighborhood Facebook groups and local Reddit threads are full of shoppers sharing their favorite hidden gems, whether it’s the produce market they swear by or the regional grocery store they wish they’d discovered sooner.\n\n\n\nThen Look Beyond Price Tags\n\nNow that you’ve found a few promising stores, it’s time to see what makes each one worth returning to in the first place. Price matters, of course, but it shouldn’t be the only thing guiding your decision. A grocery store that saves you a few dollars isn’t always the one that offers the best overall value.\n\n\n\nStart in the produce department. Fruits and vegetables should look fresh, well-stocked, and carefully maintained. From there, wander the aisles instead of sticking to your shopping list. You might spot locally-made products or artisan-crafted specialty ingredients that aren’t available at larger chains. These types of one-of-a-kind finds are what make breaking your usual routine worth it when shopping for local groceries.\n\n\n\nIf your week is packed with work or school pickups, don’t skip the prepared foods section either. Ready-to-cook meals and grab-and-go dinners can make busy evenings much easier while introducing you to dishes you may not have tried otherwise. As you checkout, pay attention to the atmosphere. Helpful employees and clean aisles often say just as much about the shopping experience as what’s sitting on the shelves.\n\n\n\nBe Sure to Visit at Different Times\n\nAfter you’ve narrowed your list to a few promising retailers, don’t stop after a single visit. Every store has its own rhythm, and getting to know it can make the difference between a good shopping trip and a great one. Returning at different times of day helps you understand when selection is at its best, what local groceries tend to sell quickly, and when you’re most likely to come across unexpected finds.\n\n\n\nFor instance, morning visits are often the best time to browse freshly stocked produce and bakery items before they're picked over. Later in the day, you may find unbeatable markdowns on prepared foods or other perishable items approaching their sell-by dates. If a store regularly carries seasonal specialties or local-made products, ask when deliveries arrive so you can plan your next visit around fresh inventory.\n\n\n\nBefore long, you’ll start to notice each store’s strengths. One may turn into your favorite stop for fresh fruit, another for weeknight meals, and another for ingredients you can’t seem to find elsewhere. That’s how the best hidden gems are discovered: not by luck, but by becoming a regular.\n\n\n\nHidden Grocery Gems Look Different in Every City\n\nThe best grocery discoveries don’t all look the same. Every neighborhood has its own shopping culture, so the stores worth exploring in one city may be completely different from those in another. Still, the strategy stays the same. No matter if you’re searching for local grocery stores near you in a major metro or a smaller town, look beyond the biggest chains and pay attention to the retailers people return to week after week.\n\n\n\nHere are a few examples of the kinds of local grocery stores worth seeking out in different cities:\n\nYou don’t have to live in one of these cities to put these ideas into practice. Every community has its own mix of neighborhood markets, regional grocery stores, and specialty shops to discover. Learning to spot those opportunities can open the door to better shopping, one new store at a time. Once you know what to look for, you’re far more likely to stumble across new favorites closer to home on every grocery run.\n\n\n\nSave Even More on Local Groceries with Too Good To Go\n\nNo matter where you call home, the biggest challenge is often knowing which stores are worth exploring first. Fortunately, there are more ways than ever to uncover nearby grocery stores you might have otherwise missed. One of them is the Too Good To Go app, a free-to-download surplus food marketplace that connects shoppers with nearby grocery stores and other food retailers selling unsold food at a major discount.\n\n\n\nIt’s a simple way to discover local groceries while stretching your budget a little further. Here’s how it works:\n\nFirst, browse nearby grocery stores and other food retailers in the app.\n\nNext, reserve a Surprise Bag for roughly one-third of its original retail value.\n\nThen, pick it up during the store’s designated pickup window.\n\nFinally, pick up your Surprise Bag and enjoy what’s inside.\n\n\n\nThe exact contents of each Surprise Bag are a mystery, but you’ll know the general type of food you’re reserving before you buy. That element of surprise is part of the fun. One pickup could introduce you to a neighborhood grocery store you’ve never visited before, while the next might help you discover a new favorite product. Along the way, you’ll save money, support local businesses, and stop good food from going to waste.\n\n\n\nDiscover More Local Grocery Stores Near You\n\nDiscovering local groceries doesn’t mean giving up your usual supermarket. It simply means expanding your options and staying open to stores you may have overlooked before. No matter where you’re located, every neighborhood has something worth exploring. Too Good To Go makes exploration even easier by helping you find nearby grocery stores offering discounted Surprise Bags that save money and help reduce food waste.\n\n\n\n\n\nDownload the Too Good To Go app and discover hidden grocery gems near you.\n\n\n\nFAQs About How to Find Local Groceries\n\nWhat’s considered a local grocery store?\n\nLocal grocery stores include far more than neighborhood supermarkets. They can also include independently owned markets, produce markets, butcher shops, natural food stores, regional grocery chains, bakeries with grocery selections, and specialty food retailers that serve your community.\n\n\n\nHow do I find local grocery stores near me?\n\nStart with Google Maps, then read customer reviews to learn what shoppers like about each store. Community Facebook groups and local Reddit threads are also great places to discover neighborhood favorites that may not appear at the top of search results. Surplus food marketplaces like Too Good To Go are another avenue to find nearby deals.\n\n\n\nHow can I tell if a grocery store is worth revisiting?\n\nLook beyond prices alone. Fresh produce, high-quality prepared foods, unique products, helpful staff, and a clean, welcoming environment are all signs that a store may be worth adding to your regular grocery rotation.\n\n\n\nWhen is the best time to visit a local grocery store?\n\nIt depends on what you’re shopping for. Morning visits often offer the best selection of fresh produce and bakery items, while later in the day, you may find markdowns on prepared foods and other perishable products. Asking when deliveries arrive can also help you shop when inventory is at its freshest.\n\n\n\nHow does Too Good To Go work?\n\nToo Good To Go connects shoppers with nearby grocery stores and other food retailers selling surplus food through discounted Surprise Bags. Browse participating stores in the app, reserve a Surprise Bag, then pick it up during the store’s designated pickup window. The exact contents are a surprise, but you’ll know the general category of food before you reserve.\n\n\n\nCan Too Good To Go help me discover new grocery stores?\n\nYes. Too Good To Go isn’t just a way to save money; it can also introduce you to grocery stores, markets, bakeries, and other food retailers you may not have visited before. Many shoppers use the app to discover new neighborhood favorites while helping reduce food waste.",{"_type":2116,"alt":2167,"asset":2168,"fit":26},"Shopper selecting fresh local produce",{"_ref":2169,"_type":13},"image-657171f1616772767b25cac575a0b85ad34f1b5d-5600x3733-jpg","2026-07-23T15:31:43.891Z","\u002Fblog\u002Flocal-groceries-near-you","Local Grocery Shopping: How to Find Hidden Gems in Your Neighborhood",{"_createdAt":2174,"_id":2175,"categories":8,"content":2176,"excerpt":8,"file":8,"image":2177,"language":39,"migrated":8,"pretitle":2122,"publishedAt":2181,"slug":2182,"title":2183,"updatedAt":8,"url":8},"2026-07-16T15:34:08Z","ea7c7036-95f6-41b0-9bf3-06d6cca2b74b","Food freshness affects countless decisions across the supply chain. It influences what customers buy, how businesses manage inventory, and which products ultimately end up going unsold, even when they’re perfectly edible. Many people assume freshness ends the moment a package reaches its printed date, yet the reality is often far more nuanced. Unfortunately, that misunderstanding has real consequences. Date label concerns alone account for 1.82 million tons of edible surplus food, making them the single largest contributor to food waste.\n\n\n\nA carton of yogurt, a loaf of bread, and a container of prepared food do not all lose freshness in the same way or at the same time. Quality changes differently across food categories, which means assessing freshness requires more than a quick glance at a label. Understanding what food freshness actually means is the first step toward making better decisions about food that might otherwise be discarded too soon.\n\n\n\nWhy Food Freshness is Misunderstood on Both Sides of the Counter\n\nOne of the biggest misconceptions about food freshness is that a printed date on a container or carton automatically determines whether a product should be eaten or discarded. Consumers often interpret dates as expiration deadlines, while businesses may feel pressure to remove products from shelves as those dates approach. In reality, most date labels are intended to communicate quality rather than safety.\n\n\n\nThe result is a significant amount of perfectly edible food being thrown away before it ever has a chance to be enjoyed. Common food date labels that cause confusion on both sides of the register include:\n\n\n\nSell By: Helps retailers manage inventory and stock rotation.\n\nEnjoy By: Suggests when a product is likely to provide the best eating experience.\n\nBest By: Indicates when a product is expected to have its best flavor, texture, or overall quality.\n\nUse By: Often signals the last recommended date for peak quality.\n\n\n\nInfant formula is the only product in the U.S. that is federally required to use a safety-based Use By date. Everything else is considered quality or inventory guidance. This distinction is important because many foods remain safe and enjoyable when stored properly. Learning how to keep food fresh through appropriate handling and storage can often extend a product’s usable life beyond what consumers might expect.\n\n\n\nThe Business Cost of Getting Food Freshness Wrong in Retail\n\nDate label confusion isn’t just a consumer issue. It has real financial consequences for food businesses, too. Roughly three-quarters of annual retail food waste, or $26.9 billion, comes from highly perishable categories such as produce, meat and seafood, prepared foods, and dairy. Yet nearly 45% of that food remains safe to enjoy, suggesting significant opportunities to recover value before products are discarded.\n\n\n* Based on 2024 ReFED food waste statistics\n\n\nThe financial impact extends beyond the value of the inventory itself. Employees still spend time monitoring products, rotating stock, and removing items that are no longer considered sellable. Disposal and hauling costs add another layer of expense, further increasing the impact of food waste. Improving how you evaluate food freshness can help uncover opportunities to recover value before those costs begin to accumulate.\n\n\n\nFood Freshness Looks Different Across Every Category\n\nDate labels can provide useful guidance, but they only tell part of the story. Too Good To Go’s Look, Smell, Taste initiative focuses on the signs of quality and true spoilage that date labels cannot always capture. The reason is simple: freshness doesn’t look the exact same across every category. A loaf of bread ages differently than a carton of yogurt, and neither follows the same pattern as fresh produce or seafood.\n\n\n\nMonitoring the specific characteristics of each category often provides a clearer picture than the date alone.\n\n\n\nProduce: Appearance Matters, But Looks Can Be Deceiving\n\nProduce may be one of the easiest categories to misjudge because visual imperfections are often mistaken for spoilage. A bruised apple, slightly limp greens, or a banana with brown spots may not look their best, but those changes are often a normal part of the aging process rather than signs the product is rotten. Still, consumers expressly avoid unattractive produce nearly all the time, contributing to both food waste and lost sales.\n\n\n\nWhen assessing food freshness in produce, appearance should be considered alongside texture and aroma. Lettuce that has become slimy or berries that smell fermented are very different from produce that is simply less vibrant than it was a few days earlier. Distinguishing between cosmetic changes and true spoilage can help businesses identify products that still have value before they’re tossed out of the food supply chain for good.\n\n\n\nDairy Products: Date Labels Are Only One Piece of the Puzzle\n\nUnlike produce—where visual appearance often drives purchasing decisions—dairy products tend to be judged more heavily by the date printed on the package. Still, many dairy items remain usable beyond their Best By date, particularly when they have been stored consistently at the proper temperature. For these reasons, food freshness in dairy is often better evaluated through changes in smell and texture.\n\n\n\nMilk may develop a distinctly sour odor when it begins to spoil, while yogurt and sour cream can become watery or separate beyond what is considered normal (or appetizing). Cheese presents its own challenges, with some varieties naturally changing texture as they age. For example, cheddar often becomes firmer and more crumbly over time, where Brie can soften and develop a creamier interior as it matures. Looking at the product itself, rather than relying solely on the date, often provides a clearer picture of its condition.\n\n\n\nMeat and Seafood: Storage and Temperature Matter Most\n\nWhile produce and dairy can often be evaluated through visible quality changes, meat and seafood require a greater emphasis on temperature control throughout their lifespan. There’s a reason restaurant and grocery inspectors routinely check cold storage temperatures during routine inspections. Proper cold-chain management plays a critical role in preserving meat and seafood freshness and reducing safety risks.\n\n\n\nColor is often one of the least reliable indicators of freshness in this category. Beef naturally changes color over time, yet many shoppers associate any amount of browning with spoilage. A more complete assessment considers whether products have been cold-held properly throughout storage and transport. Excessive moisture, unusual stickiness, or strong off-odors may be more meaningful warning signs than color changes alone.\n\n\n\nBaked Goods: Freshness and Safety Are Not the Same Thing\n\nMoving from highly perishable proteins to baked goods highlights an important distinction: quality decline and spoilage are not always the same thing. Bread, bagels, pastries, and other baked items naturally lose moisture over time, causing them to become firmer or less enjoyable to eat. Staleness may affect the eating experience, but it doesn’t automatically indicate a safety concern. A baguette that has lost its crusty exterior or a muffin that feels slightly dry is often still safe to eat.\n\n\n\nThat distinction becomes especially important in bakery departments, where quality often declines long before safety becomes a concern. Visible mold remains one of the clearest indicators that a product should no longer be consumed. Short of that, many baked goods remain perfectly edible even after they have passed their peak quality window, making this category a useful example of why freshness and safety should not be treated as interchangeable concepts.\n\n\n\nPrepared Foods: Time Windows Help Guide Freshness\n\nPrepared foods introduce a different freshness challenge because they often combine multiple ingredients, each with its own shelf life. Restaurants, grocery stores, and foodservice operators rely heavily on production dates, holding times, and labeling procedures to help ensure products are served within established quality and safety standards. Even with those controls in place, the food itself can provide important clues.\n\n\n\nPrepared foods that have developed unusual discoloration, excessive liquid separation, or unexpected texture changes may indicate spoilage. A sandwich with wilted lettuce, a grain bowl that has lost some texture, or a prepared salad that’s no longer at peak quality presents a different situation. Freshness can decline before a product becomes unsafe, which is why timing and sensory evaluation work together when assessing prepared foods.\n\n\n\nHow to Keep Food Fresh Longer: 5 Tips to Prolong Freshness\n\nThe signs of freshness may vary from one food category to the next, but the underlying goal remains the same. Preserving quality for as long as possible, and ensuring good food reaches customers, is always the aim. Businesses that prioritize food freshness through strong storage and inventory practices are often better positioned to reduce waste while maximizing the value of their products. Here’s how to do just that:\n\n\n\nMaintain proper storage temperatures. Consistent refrigeration helps slow quality decline and preserve freshness across dairy, meat, seafood, prepared foods, and many produce items. Regular temperature monitoring can also help identify issues before they affect product quality.\n\nUse packaging that protects product quality. Appropriate packaging helps shield food from excess moisture, air exposure, and other environmental factors that can accelerate deterioration. Storage methods should also be tailored to the needs of each product category.\n\nFollow first-in, first-out (FIFO) inventory practices. Rotating older inventory to the front and newer inventory to the back helps ensure products are sold or used in the intended order, reducing the likelihood of items being overlooked until quality declines.\n\nIdentify products before they reach their quality threshold. Monitoring inventory proactively creates more opportunities to sell, donate, or otherwise recover value from food while it still meets quality expectations.\n\nTrain employees on freshness indicators, not just date labels. Teams that understand the difference between normal aging and true spoilage are better equipped to make informed decisions to reduce unnecessary waste.\n\n\n\nHow Too Good To Go Helps Retailers Recover Value from Surplus Food\n\nEven with strong inventory management practices in place, surplus food is sometimes unavoidable. Demand can shift unexpectedly, and products may sell more slowly than anticipated, but quality windows continue to narrow with each passing day. Many foods maintain their food freshness and remain enjoyable as they approach their Best By or Enjoy By dates, yet businesses often struggle to sell that inventory before it loses value.\n\n\n\nToo Good To Go helps address that challenge through Surprise Bags. Grocery stores, bakeries, restaurants, and other food retail businesses can recover value from inventory with a limited remaining shelf life, while consumers discover surplus food through the app-based Too Good To Go marketplace. Participating businesses create their own Surprise Bags using surplus inventory that still meets their quality and food safety standards.\n\n\n\nUnlock the Opportunity Hidden Inside Food Freshness Windows\n\nThe conversation around food waste often begins with what gets thrown away, but a more useful question is why it gets thrown away in the first place. In many cases, the answer comes back to how freshness is understood throughout the supply chain. A softened peach, a slightly stale loaf of bread, and a package of beef with minor discoloration all tell very different stories, but they’re also safe to eat.\n\n\n\nToo Good To Go helps businesses capture value from these types of food that still have something left to offer. By creating a simple way to sell surplus food before quality declines further, Surprise Bags help transform limited shelf life from a liability into a chance to recover value. Learn how Too Good To Go can help your business reduce food waste and make the most of every freshness window.\n\n\n\n\n\nRecover more value from surplus food\n\n\n\n\n\nFAQ About Food Freshness\n\nWhat does food freshness actually mean?\n\nFood freshness refers to a product’s overall quality and condition, including factors such as appearance, texture, smell, and flavor. While freshness naturally changes over time, a product does not automatically become unsafe the moment it reaches a printed date. Different foods age differently, which is why freshness must be evaluated within the context of each category.\n\n\n\nAre Best By dates the same as expiration dates?\n\nNo. Most date labels are intended to communicate quality rather than safety. Labels such as Best By, Enjoy By, and Sell By generally indicate when a product is expected to deliver its best flavor, texture, or eating experience. Many foods remain safe and enjoyable beyond those dates when stored properly.\n\n\n\nWhy do consumers often throw away food that is still edible?\n\nMany consumers rely heavily on date labels or visual appearance when making decisions about food. Cosmetic imperfections, slight texture changes, or approaching quality dates are often mistaken for signs of spoilage. As a result, perfectly edible food is frequently discarded before it truly needs to be.\n\n\n\nHow can food businesses reduce waste caused by freshness concerns?\n\nBusinesses can reduce unnecessary waste by monitoring inventory proactively, maintaining proper storage conditions, rotating stock using first-in, first-out practices, and training employees to recognize the difference between normal aging and true spoilage. Evaluating products based on their actual condition rather than dates alone can also help identify opportunities to recover value.\n\n\n\nWhy is food freshness assessed differently across food categories?\n\nEach category ages in its own way. Produce may develop cosmetic imperfections while remaining perfectly edible, dairy products often show changes in smell or texture, and baked goods can become stale long before they become unsafe. Understanding category-specific indicators helps businesses make more informed decisions about inventory.\n\n\n\nWhat is Too Good To Go?\n\nToo Good To Go is a surplus food marketplace that helps food businesses reduce waste by connecting consumers with leftover items that still meet quality and food safety standards. Through the app, consumers can purchase Surprise Bags containing unsold food from participating grocery stores, bakeries, restaurants, and other food retailers.\n\n\n\nHow do Surprise Bags help businesses recover value from surplus food?\n\nSurprise Bags provide businesses with an additional way to sell food that has a limited remaining shelf life but is still fresh and enjoyable to eat. Rather than allowing that inventory to go unsold, participating businesses can package eligible surplus food into discounted Surprise Bags and offer them through the Too Good To Go marketplace, helping reduce waste while generating incremental revenue.",{"_type":2116,"alt":2178,"asset":2179,"fit":26},"Fresh produce in Surprise Bag",{"_ref":2180,"_type":13},"image-dd082d7e7126a1427dfe2e3a8cf3c4c7e036d085-2500x1667-jpg","2026-07-16T16:17:34.970Z","\u002Fblog\u002Ffood-freshness-explained","Food Freshness Explained: What It Means for Different Types of Food",131]