@media (max-width: 921px) {
  /* The global promo bar is fixed at 42px; start the site header below it. */
  body #masthead {
    margin-top: 42px !important;
  }

  #ast-mobile-header .ast-mobile-header-content,
  #ast-mobile-header .main-header-bar-navigation,
  #ast-mobile-header #ast-mobile-site-navigation,
  #ast-mobile-header #ast-hf-mobile-menu,
  #ast-mobile-header #ast-hf-mobile-menu > li,
  #ast-mobile-header #ast-hf-mobile-menu .sub-menu,
  #ast-mobile-header #ast-hf-mobile-menu .sub-menu li {
    background: #000 !important;
    background-color: #000 !important;
  }

  #ast-mobile-header #ast-hf-mobile-menu a,
  #ast-mobile-header #ast-hf-mobile-menu .menu-link,
  #ast-mobile-header #ast-hf-mobile-menu .ast-menu-toggle,
  #ast-mobile-header #ast-hf-mobile-menu .dropdown-menu-toggle,
  #ast-mobile-header #ast-hf-mobile-menu svg {
    color: #fff !important;
    fill: currentColor !important;
  }

  #ast-mobile-header #ast-hf-mobile-menu li > a,
  #ast-mobile-header #ast-hf-mobile-menu li > .menu-link {
    background: #000 !important;
    background-color: #000 !important;
  }

  #ast-mobile-header #ast-hf-mobile-menu > li {
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.28) !important;
  }

  #ast-mobile-header #ast-hf-mobile-menu > li:last-child {
    border-bottom: 0 !important;
  }

  #ast-mobile-header #ast-hf-mobile-menu .sub-menu li {
    border-top: 1px solid rgba(255,255,255,.14) !important;
  }

  #ast-mobile-header #ast-hf-mobile-menu a:hover,
  #ast-mobile-header #ast-hf-mobile-menu a:focus,
  #ast-mobile-header #ast-hf-mobile-menu .current-menu-item > a {
    background: #161616 !important;
    color: #fff !important;
  }

  /* OUR FILMS: mobile-only hierarchy and ordering */
  #ast-mobile-header #ast-hf-mobile-menu > li.menu-item-1376 > .sub-menu > li.menu-item-1421 {
    display: none !important;
  }

  #ast-mobile-header #ast-hf-mobile-menu > li.menu-item-1376.ast-submenu-expanded > .sub-menu {
    display: flex !important;
    flex-direction: column !important;
  }

  #ast-mobile-header .menu-item-1376 > .sub-menu > .menu-item-1438 { order: 1; }
  #ast-mobile-header .menu-item-1376 > .sub-menu > .menu-item-1439 { order: 2; }
  #ast-mobile-header .menu-item-1376 > .sub-menu > .menu-item-1441 { order: 3; }
  #ast-mobile-header .menu-item-1376 > .sub-menu > .menu-item-1440 { order: 4; }

  #ast-mobile-header #ast-hf-mobile-menu .menu-item-1376 > .sub-menu > li.menu-item-has-children > .sub-menu > li,
  #ast-mobile-header #ast-hf-mobile-menu .menu-item-1376 > .sub-menu > li.menu-item-has-children > .sub-menu > li > a {
    background: #e1121a !important;
    background-color: #e1121a !important;
    color: #000 !important;
  }

  #ast-mobile-header #ast-hf-mobile-menu .menu-item-1376 > .sub-menu > li.menu-item-has-children > .sub-menu > li > a {
    font-weight: 800 !important;
    border-top: 1px solid rgba(0,0,0,.28) !important;
  }

  #ast-mobile-header #ast-hf-mobile-menu .menu-item-1376 > .sub-menu > li.menu-item-has-children > .sub-menu > li > a:hover,
  #ast-mobile-header #ast-hf-mobile-menu .menu-item-1376 > .sub-menu > li.menu-item-has-children > .sub-menu > li > a:focus {
    background: #ff2a2f !important;
    color: #000 !important;
  }

  /* Keep the existing mobile logo/menu row visible on every page. */
  #ast-mobile-header .ast-main-header-wrap,
  #ast-mobile-header .ast-primary-header-bar,
  #ast-mobile-header .ast-builder-grid-row,
  #ast-mobile-header .site-header-primary-section-left,
  #ast-mobile-header .site-header-primary-section-right,
  #ast-mobile-header .site-branding,
  #ast-mobile-header .ast-site-identity,
  #ast-mobile-header .site-logo-img,
  #ast-mobile-header .ast-mobile-menu-trigger-minimal,
  #ast-mobile-header .main-header-menu-toggle {
    visibility: visible !important;
    opacity: 1 !important;
  }

  #ast-mobile-header .ast-main-header-wrap,
  #ast-mobile-header .ast-primary-header-bar {
    display: block !important;
    min-height: 82px !important;
    height: auto !important;
    overflow: visible !important;
  }

  #ast-mobile-header .ast-builder-grid-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 82px !important;
    padding: 6px 20px !important;
  }

  #ast-mobile-header .site-header-primary-section-left,
  #ast-mobile-header .site-header-primary-section-right {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
  }

  #ast-mobile-header .site-header-primary-section-right { justify-content: flex-end !important; }

  #ast-mobile-header .site-branding {
    padding: 8px 0 !important;
  }

  #ast-mobile-header .custom-logo-link,
  #ast-mobile-header .custom-logo-link img,
  #ast-mobile-header .site-logo-img,
  #ast-mobile-header .site-logo-img img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  #ast-mobile-header .custom-logo-link img,
  #ast-mobile-header .site-logo-img img {
    width: auto !important;
    max-width: min(200px, 54vw) !important;
    max-height: 50px !important;
    object-fit: contain !important;
  }

  #ast-mobile-header .main-header-menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 10px !important;
    background: #242424 !important;
    border-color: #3b3b3b !important;
    color: #ffffff !important;
  }

  .wsf-mobile-footer-group {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    padding: 28px 24px !important;
    overflow: visible !important;
  }

  .wsf-mobile-footer-item {
    grid-column: 1 !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    text-align: center !important;
    overflow: visible !important;
  }

  .wsf-mobile-footer-item h2,
  .wsf-mobile-footer-item h3,
  .wsf-mobile-footer-item h4 {
    margin: 0 0 8px !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
  }

  .wsf-mobile-footer-item p,
  .wsf-mobile-footer-item a {
    margin: 0 0 5px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    overflow-wrap: anywhere !important;
  }

}
