:root {
  --mm-container-gutter: 48px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body {
  margin: 0 !important;
  position: relative !important;
}

body > .w-nav,
body > header,
body > main,
body > section:not(.homepage-airr-scroll),
body > footer,
.navbar-fixed,
.nav-bar-primary,
.navbar-announcement-banner,
.homepage-header,
.header,
.footer,
.background-video,
.background-video-2,
.backvround-video-order-page {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}

.navbar-fixed {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

.container,
.uui-navbar07_container {
  box-sizing: border-box !important;
  max-width: min(var(--mm-container-max, 1200px), calc(100% - var(--mm-container-gutter))) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.container,
.uui-navbar07_container {
  width: calc(100% - var(--mm-container-gutter)) !important;
}

.container.big,
.container._1400,
.uui-navbar07_container {
  --mm-container-max: 1400px;
}

.background-video > .container,
.background-video-2 > .container {
  flex: 0 1 auto !important;
  justify-content: center !important;
}

.homepage-header > .background-video,
.homepage-header > .background-video-2 {
  grid-column: 1 / -1 !important;
  justify-self: stretch !important;
}

.background-video,
.background-video-2,
.backvround-video-order-page,
.uui-heroheader18_background,
.uui-heroheader20_background,
.uui-blog02_category-menu {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.uui-heroheader18_background-grid,
.uui-heroheader20_background-grid {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
}

.homepage-video-content,
.homepage-header-content,
.homepage-header-content-copy {
  box-sizing: border-box !important;
  max-width: min(1050px, 100%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.heading-16 {
  box-sizing: border-box !important;
  max-width: 100% !important;
  white-space: normal !important;
}

.homepage-video-hero .homepage-video-content {
  width: 100% !important;
  max-width: min(690px, 100%) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.homepage-video-hero > .container {
  justify-content: flex-start !important;
}

/* Homepage hero, phones: Webflow's ≤479px rule gives
   .paragraph.homepage-header-copy-copy 14px side margins (it shares a rule
   with the centered homepage-header-copy-copy-copy PROGRAMS block, where the
   margins are harmless). In the left-aligned hero they pushed the body copy
   14px right of the heading, so zero them for the hero only. */
@media screen and (max-width: 479px) {
  .homepage-video-hero .paragraph.homepage-header-copy-copy {
    margin-left: 0;
    margin-right: 0;
  }
}

img,
svg,
canvas {
  max-width: 100%;
}

.uui-blog02_image.masscec-logo-image {
  background-color: #fff !important;
  box-sizing: border-box !important;
  object-fit: contain !important;
  padding: 4rem 5rem !important;
}

.image-9.masscec-logo-image,
.uui-blogpost04_image.masscec-logo-image {
  background-color: #fff !important;
  box-sizing: border-box !important;
  object-fit: contain !important;
  padding: 4rem 5rem !important;
}

.image-9.masscec-logo-image {
  border: 1px solid #d6d6d6 !important;
  border-radius: 24px !important;
  height: min(28rem, 42vw) !important;
  width: 100% !important;
}

@media screen and (max-width: 767px) {
  .uui-blog02_image.masscec-logo-image,
  .image-9.masscec-logo-image,
  .uui-blogpost04_image.masscec-logo-image {
    padding: 3rem 3.5rem !important;
  }

  .image-9.masscec-logo-image {
    height: 18rem !important;
  }
}

@media screen and (max-width: 479px) {
  .uui-blog02_image.masscec-logo-image,
  .image-9.masscec-logo-image,
  .uui-blogpost04_image.masscec-logo-image {
    padding: 2rem !important;
  }

  .image-9.masscec-logo-image {
    height: 14rem !important;
  }
}

.nav-bar-primary .nav-menu-logo {
  align-items: center !important;
  display: flex !important;
  flex: 0 0 auto !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  width: 180px !important;
}

.nav-bar-primary .nav-menu-logo .uui-logo_component {
  align-items: center !important;
  display: flex !important;
  height: auto !important;
  position: relative !important;
  width: 100% !important;
}

.nav-bar-primary .nav-logo-full {
  clip-path: inset(0 0 0 11.33%) !important;
  display: block !important;
  height: auto !important;
  max-height: 2.1rem !important;
  object-fit: contain !important;
  width: 100% !important;
}

.nav-bar-primary .nav-logo-symbol {
  display: block !important;
  filter: none !important;
  height: auto !important;
  inset: 0 !important;
  max-height: 2.1rem !important;
  object-fit: contain !important;
  pointer-events: none !important;
  position: absolute !important;
  width: 100% !important;
}

.mobile-nav-close {
  display: none;
}

@media screen and (min-width: 992px) {
  body > .w-nav,
  .navbar-fixed,
  .nav-bar-primary,
  .nav-bar-primary .uui-navbar07_container,
  .nav-bar-primary .nav-menu-left,
  .nav-bar-primary .nav-menu-left-links,
  .nav-bar-primary .products-dropdown {
    overflow: visible !important;
  }

  body > .w-nav,
  .navbar-fixed,
  .nav-bar-primary {
    z-index: 10000 !important;
  }

  .nav-bar-primary .uui-navbar07_container {
    position: relative !important;
  }

  .nav-bar-primary .nav-menu-right,
  .nav-bar-primary .nav-menu-logo {
    position: relative !important;
    z-index: 2 !important;
  }

  .nav-bar-primary .nav-menu-left {
    position: static !important;
  }

  .nav-bar-primary .nav-menu-left > .nav-menu-left-links:not(.visible-on-mobile-only) {
    left: 50% !important;
    position: absolute !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 10002 !important;
  }

  .nav-bar-primary .nav-menu-left > .nav-menu-left-links:not(.visible-on-mobile-only) .products-dropdown {
    position: relative !important;
  }

  .nav-bar-primary .nav-menu-left > .nav-menu-left-links:not(.visible-on-mobile-only) .dropdown-list-2.w-dropdown-list {
    background-color: #fff !important;
    border-radius: 26px !important;
    box-shadow: 0 2px 8px #00000026 !important;
    display: flex !important;
    flex-flow: column !important;
    gap: 1px !important;
    left: 50% !important;
    opacity: 0 !important;
    overflow: hidden !important;
    padding: 8px !important;
    pointer-events: none !important;
    right: auto !important;
    transform: translateX(-50%) translateY(-5px) scaleY(.985) !important;
    transform-origin: top center !important;
    transition: opacity 150ms ease, transform 180ms cubic-bezier(.2, .7, .3, 1), visibility 0s linear 180ms !important;
    visibility: hidden !important;
    width: 390px !important;
    will-change: opacity, transform !important;
  }

  .nav-bar-primary .products-dropdown.is-open {
    z-index: 10003 !important;
  }

  .nav-bar-primary .nav-menu-left > .nav-menu-left-links:not(.visible-on-mobile-only) .products-dropdown.is-open > .dropdown-list-2,
  .nav-bar-primary .nav-menu-left > .nav-menu-left-links:not(.visible-on-mobile-only) .products-dropdown.is-open > .w-dropdown-list,
  .nav-bar-primary .nav-menu-left > .nav-menu-left-links:not(.visible-on-mobile-only) .dropdown-list-2.w--open {
    opacity: 1 !important;
    pointer-events: auto !important;
    position: absolute !important;
    transform: translateX(-50%) translateY(0) scaleY(1) !important;
    transition-delay: 0s !important;
    visibility: visible !important;
    z-index: 10004 !important;
  }
}

@media screen and (min-width: 992px) and (prefers-reduced-motion: reduce) {
  .nav-bar-primary .nav-menu-left > .nav-menu-left-links:not(.visible-on-mobile-only) .dropdown-list-2.w-dropdown-list {
    transform: translateX(-50%) !important;
    transition: none !important;
  }
}

.nav-bar-primary .dropdown-toggle.w-dropdown-toggle {
  align-items: center !important;
  column-gap: 6px !important;
  display: inline-flex !important;
  padding-right: 9px !important;
}

.nav-bar-primary .dropdown-toggle > .icon-2.w-icon-dropdown-toggle {
  align-self: center !important;
  display: inline-block !important;
  flex: 0 0 .55em !important;
  font-size: inherit !important;
  height: .55em !important;
  inset: auto !important;
  line-height: 1 !important;
  margin: -.15em 0 0 0 !important;
  position: static !important;
  width: .55em !important;
}

.nav-bar-primary .dropdown-toggle > .icon-2.w-icon-dropdown-toggle::before {
  border-bottom: 2px solid currentColor !important;
  border-right: 2px solid currentColor !important;
  content: "" !important;
  display: block !important;
  height: 100% !important;
  transform: rotate(45deg) !important;
  width: 100% !important;
}

.nav-bar-primary .products-dropdown.is-open > .dropdown-list-2,
.nav-bar-primary .products-dropdown.is-open > .w-dropdown-list,
.nav-bar-primary .dropdown-list-2.w--open {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.nav-bar-primary .products-dropdown.is-open > .dropdown-toggle,
.nav-bar-primary .dropdown-toggle.w--open {
  z-index: 2 !important;
}

.navbar-announcement-banner {
  background-color: #3D64D7 !important;
  border-color: #3D64D7 !important;
  color: #fff !important;
}

.announcement-banner-link {
  color: #fff !important;
  text-decoration-color: #ffffffb3 !important;
}

.announcement-banner-link:hover {
  color: #ffffffcc !important;
}

.new-block {
  background-color: #ffffff24 !important;
  color: #fff !important;
}

body.nav-overlay-home .navbar-space-holder {
  height: var(--mm-nav-overlay-spacer, 38px) !important;
}

body.nav-overlay-home .navbar-fixed,
body.nav-overlay-home .nav-bar-primary,
body.nav-overlay-home .nav-menu-logo img,
body.nav-overlay-home .nav-bar-item,
body.nav-overlay-home .dropdown-toggle,
body.nav-overlay-home .navbutton,
body.nav-overlay-home .image-20,
body.nav-overlay-home .menu-icon_line-top,
body.nav-overlay-home .menu-icon_line-middle,
body.nav-overlay-home .menu-icon_line-bottom {
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease, filter .2s ease, opacity .2s ease, transform .2s ease !important;
}

body.nav-overlay-home.nav-overlay-is-active .nav-bar-primary {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  background-color: transparent !important;
  border-top-color: transparent !important;
}

body.nav-overlay-home.nav-overlay-is-active .nav-bar-item,
body.nav-overlay-home.nav-overlay-is-active .dropdown-toggle,
body.nav-overlay-home.nav-overlay-is-active .navbutton {
  color: #fff !important;
}

body.nav-overlay-home.nav-overlay-is-active .navbutton {
  border-color: #ffffffcc !important;
}

body.nav-overlay-home.nav-overlay-is-active .nav-logo-full,
body.nav-overlay-home.nav-overlay-is-active .image-20 {
  filter: brightness(0) invert(1) !important;
}

body.nav-overlay-home.nav-overlay-is-active .nav-logo-symbol {
  filter: none !important;
}

body.nav-overlay-home.nav-overlay-is-active .nav-bar-item:hover,
body.nav-overlay-home.nav-overlay-is-active .dropdown-toggle:hover,
body.nav-overlay-home.nav-overlay-is-active .navbutton:hover {
  background-color: #ffffff24 !important;
  color: #fff !important;
}

body.nav-overlay-home.nav-overlay-is-active .menu-icon_line-top,
body.nav-overlay-home.nav-overlay-is-active .menu-icon_line-middle,
body.nav-overlay-home.nav-overlay-is-active .menu-icon_line-bottom {
  background-color: #fff !important;
}

@media screen and (max-width: 991px) {
  .nav-bar-primary .nav-menu-logo {
    width: min(180px, calc(100vw - 5.5rem)) !important;
  }

  body.mobile-menu-is-open > .w-nav,
  body.mobile-menu-is-open .navbar-fixed,
  body.mobile-menu-is-open .nav-bar-primary,
  body.mobile-menu-is-open .uui-navbar07_container {
    overflow: visible !important;
  }

  .nav-bar-primary .nav-menu-right:not([data-nav-menu-open]) {
    display: none !important;
  }

  .nav-bar-primary .uui-navbar07_menu-button {
    align-items: center !important;
    cursor: pointer !important;
    display: flex !important;
    justify-content: center !important;
  }

  .w-nav-overlay {
    bottom: 0 !important;
    height: 100vh !important;
    height: 100dvh !important;
    left: 0 !important;
    overflow: hidden !important;
    position: fixed !important;
    right: 0 !important;
    top: 0 !important;
    width: 100vw !important;
    z-index: 10000 !important;
  }

  .nav-menu-right[data-nav-menu-open],
  .w-nav-overlay [data-nav-menu-open] {
    -webkit-overflow-scrolling: touch !important;
    -webkit-text-fill-color: currentColor !important;
    align-items: stretch !important;
    background: #fff !important;
    bottom: 0 !important;
    color: #101828 !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100vh !important;
    height: 100dvh !important;
    justify-content: flex-start !important;
    left: 0 !important;
    margin: 0 !important;
    max-height: none !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: calc(env(safe-area-inset-top, 0px) + 1rem) 1.25rem calc(env(safe-area-inset-bottom, 0px) + 2rem) !important;
    position: fixed !important;
    right: 0 !important;
    text-align: left !important;
    top: 0 !important;
    transform: none !important;
    width: 100vw !important;
    z-index: 10001 !important;
  }

  .nav-menu-right[data-nav-menu-open] .products-dropdown.is-open > .dropdown-list-2,
  .nav-menu-right[data-nav-menu-open] .products-dropdown.is-open > .w-dropdown-list,
  .nav-menu-right[data-nav-menu-open] .dropdown-list-2.w--open {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .nav-menu-right[data-nav-menu-open] .mobile-nav-close,
  .w-nav-overlay [data-nav-menu-open] .mobile-nav-close {
    align-items: center !important;
    align-self: flex-end !important;
    background: #f2f4f7 !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #101828 !important;
    cursor: pointer !important;
    display: flex !important;
    flex: 0 0 auto !important;
    height: 2.75rem !important;
    justify-content: center !important;
    margin: 0 0 1.25rem auto !important;
    padding: 0 !important;
    position: sticky !important;
    top: 0 !important;
    width: 2.75rem !important;
    z-index: 2 !important;
  }

  .mobile-nav-close-icon,
  .mobile-nav-close-icon::before,
  .mobile-nav-close-icon::after {
    display: block !important;
    height: 2px !important;
    width: 1.25rem !important;
  }

  .mobile-nav-close-icon {
    position: relative !important;
  }

  .mobile-nav-close-icon::before,
  .mobile-nav-close-icon::after {
    background: currentColor !important;
    border-radius: 999px !important;
    content: "" !important;
    left: 0 !important;
    position: absolute !important;
    top: 0 !important;
  }

  .mobile-nav-close-icon::before {
    transform: rotate(45deg) !important;
  }

  .mobile-nav-close-icon::after {
    transform: rotate(-45deg) !important;
  }

  .nav-menu-right[data-nav-menu-open] .visible-on-mobile-only,
  .w-nav-overlay [data-nav-menu-open] .visible-on-mobile-only {
    align-items: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    gap: .25rem !important;
    margin: 0 !important;
    width: 100% !important;
  }

  .nav-menu-right[data-nav-menu-open] .uui-navbar07_button-wrapper,
  .w-nav-overlay [data-nav-menu-open] .uui-navbar07_button-wrapper {
    align-items: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    gap: .25rem !important;
    margin: auto 0 0 !important;
    width: 100% !important;
  }

  .nav-menu-right[data-nav-menu-open] .products-dropdown,
  .w-nav-overlay [data-nav-menu-open] .products-dropdown {
    display: block !important;
    width: 100% !important;
  }

  .nav-menu-right[data-nav-menu-open] .dropdown-toggle,
  .w-nav-overlay [data-nav-menu-open] .dropdown-toggle,
  .nav-menu-right[data-nav-menu-open] .nav-bar-item,
  .w-nav-overlay [data-nav-menu-open] .nav-bar-item {
    -webkit-text-fill-color: #101828 !important;
    background: transparent !important;
    border-bottom: 1px solid #eaecf0 !important;
    border-radius: 0 !important;
    color: #101828 !important;
    display: flex !important;
    font-size: 1.125rem !important;
    justify-content: space-between !important;
    line-height: 1.3 !important;
    padding: 1rem 0 !important;
    transform: none !important;
    width: 100% !important;
  }

  .nav-menu-right[data-nav-menu-open] .navbutton,
  .w-nav-overlay [data-nav-menu-open] .navbutton {
    -webkit-text-fill-color: #fff !important;
    align-items: center !important;
    background: #e43636 !important;
    border-color: #e43636 !important;
    color: #fff !important;
    display: flex !important;
    justify-content: center !important;
    margin-top: 1rem !important;
    width: 100% !important;
  }

  .nav-menu-right[data-nav-menu-open] .image-20,
  .w-nav-overlay [data-nav-menu-open] .image-20 {
    filter: none !important;
  }

  .nav-menu-right[data-nav-menu-open] .navbutton .image-20,
  .w-nav-overlay [data-nav-menu-open] .navbutton .image-20 {
    filter: brightness(0) invert(1) !important;
  }
}

.nav-menu-logo:hover,
.navbutton:hover,
.nav-bar-item:hover,
.dropdown-toggle:hover,
.block-button:hover {
  transform: none !important;
}

.footer .email-collector,
.footer .uui-blogpost04_newsletter.footer,
.footer .uui-blogpost04_form,
.footer form[data-static-form="true"] {
  width: 100% !important;
}

.footer .container-content-1 {
  align-items: stretch !important;
  flex-direction: column !important;
  gap: 3rem !important;
}

.footer .footer-left {
  width: 100% !important;
}

.footer .uui-blogpost04_newsletter.footer {
  display: block !important;
}

.footer .email-collector {
  flex: 0 1 auto !important;
  max-width: none !important;
  width: 100% !important;
}

.footer .uui-blogpost04_form-wrapper {
  align-items: center !important;
  border-bottom: 1px solid #ffffff80 !important;
  display: flex !important;
  gap: 1rem !important;
  margin-bottom: 0 !important;
  padding-bottom: .65rem !important;
  width: 100% !important;
}

.footer .icon-featured-large {
  align-self: center !important;
  color: #fff !important;
  flex: 0 0 auto !important;
  opacity: .56 !important;
  transform: none !important;
}

.footer .uui-icon-1x1-xsmall-2 {
  background-color: transparent !important;
  border-radius: 0 !important;
  height: 2.4rem !important;
  padding: 0 !important;
  width: 2.4rem !important;
}

.footer .uui-icon-1x1-xsmall-2 svg {
  display: block !important;
  height: 100% !important;
  width: 100% !important;
}

.footer .uui-form_input-2 {
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  flex: 1 1 auto !important;
  font-size: clamp(1.85rem, 3vw, 3rem) !important;
  line-height: 1.1 !important;
  min-height: 3.5rem !important;
  min-width: 0 !important;
  padding: 0 !important;
}

.footer .uui-form_input-2::placeholder {
  color: #ffffff80 !important;
}

.footer .uui-form_input-2:focus,
.footer .uui-form_input-2:focus-visible,
.footer .uui-form_input-2[data-wf-focus-visible] {
  border: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  outline: none !important;
}

.footer .uui-button-3.is-button-small {
  align-self: center !important;
  border-radius: 999px !important;
  flex: 0 0 auto !important;
  font-size: 1.125rem !important;
  line-height: 1.2 !important;
  padding: .85rem 1.35rem !important;
}

.footer-cookie-settings {
  appearance: none !important;
  background: transparent !important;
  border: 0 !important;
  cursor: pointer !important;
  display: inline !important;
  font: inherit !important;
  padding: 0 !important;
  text-align: inherit !important;
}

@media screen and (min-width: 992px) {
  .nav-bar-primary .nav-menu-right .visible-on-mobile-only {
    display: none !important;
  }
}

.static-form-honeypot {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  width: 0 !important;
}

form[data-static-form="true"] p.hidden:has(input[name="bot-field"]) {
  display: none !important;
}

.form-privacy-note {
  color: inherit !important;
  font-size: .82rem !important;
  line-height: 1.45 !important;
  margin: .75rem 0 0 !important;
  opacity: .72 !important;
}

.form-privacy-note a {
  color: inherit !important;
  text-decoration: underline !important;
}

.footer .form-privacy-note {
  color: #fff !important;
  max-width: 42rem !important;
  opacity: .62 !important;
}

.logos-carousel {
  display: block !important;
  margin-top: .2rem !important;
  max-width: 100%;
  overflow: hidden;
  position: relative;
}

.logos-carousel::before,
.logos-carousel::after {
  content: "";
  height: 100%;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: min(120px, 18vw);
  z-index: 2;
}

.logos-carousel::before {
  background: linear-gradient(90deg, #fff 0%, #ffffff00 100%);
  left: 0;
}

.logos-carousel::after {
  background: linear-gradient(270deg, #fff 0%, #ffffff00 100%);
  right: 0;
}

.logos-carousel-track {
  --mm-logo-carousel-gap: 48px;
  align-items: center;
  animation: mm-logo-carousel 16s linear infinite;
  display: flex;
  gap: var(--mm-logo-carousel-gap);
  width: max-content;
  will-change: transform;
}

.logos-carousel .uui-logos01_wrapper {
  align-items: center !important;
  display: flex !important;
  flex: 0 0 auto;
  height: 72px !important;
  justify-content: center !important;
  padding-top: .75rem !important;
  padding-bottom: .75rem !important;
  width: 150px !important;
}

.logos-carousel .uui-logos01_logo {
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: saturate(0%) !important;
  height: auto !important;
  max-height: 40px !important;
  max-width: 128px !important;
  object-fit: contain !important;
  padding: 0 !important;
  transform: none !important;
  width: auto !important;
}

.logos-carousel .uui-logos01_logo.poah,
.logos-carousel .uui-logos01_logo.small {
  max-height: 48px !important;
  max-width: 48px !important;
}

.logos-carousel .uui-logos01_logo.mgh {
  max-height: 30px !important;
  max-width: 132px !important;
}

.logos-carousel .uui-logos01_logo.ub {
  max-height: 40px !important;
  max-width: 104px !important;
}

/* The track holds the logo set exactly twice, so one seamless loop is one
   set-width: half the track plus half of one flex gap. Derive the shift from
   the same gap variable the layout uses — a hardcoded -24px (half of the
   desktop 48px gap) made the mobile wrap (28px gap) overshoot by 10px and
   visibly jump each loop. */
@keyframes mm-logo-carousel {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(calc(-50% - var(--mm-logo-carousel-gap, 48px) / 2));
  }
}

@media (prefers-reduced-motion: reduce) {
  .logos-carousel-track {
    animation: none !important;
  }
}

@media screen and (max-width: 767px) {
  :root {
    --mm-container-gutter: 24px;
  }

  .container,
  .uui-navbar07_container {
    width: calc(100% - var(--mm-container-gutter)) !important;
    max-width: calc(100% - var(--mm-container-gutter)) !important;
  }

  .footer .container-content-1,
  .footer .uui-blogpost04_form-wrapper {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .footer .email-collector {
    max-width: 100% !important;
  }

  .footer .uui-button-3.is-button-small {
    align-self: flex-end !important;
  }

  .logos-carousel-track {
    --mm-logo-carousel-gap: 28px;
  }

  .logos-carousel .uui-logos01_wrapper {
    height: 58px !important;
    padding-bottom: 0 !important;
    padding-top: 0 !important;
    width: 112px !important;
  }

  .logos-carousel .uui-logos01_logo {
    height: auto !important;
    max-height: 34px !important;
    max-width: 96px !important;
    width: auto !important;
  }

  .logos-carousel .uui-logos01_logo.poah,
  .logos-carousel .uui-logos01_logo.small {
    max-height: 42px !important;
    max-width: 42px !important;
  }

  .logos-carousel .uui-logos01_logo.mgh {
    max-height: 24px !important;
    max-width: 100px !important;
  }

  .logos-carousel .uui-logos01_logo.ub {
    max-height: 34px !important;
    max-width: 86px !important;
  }
}

/* FAQ accordion: replaces Webflow IX2 removed during migration */
.uui-faq01_answer,
.uui-faq04_answer {
  height: 0;
  overflow: hidden;
  transition: height 0.28s ease;
}

.accordion-icon_vertical-line,
.accordion-icon_vertical-line-2 {
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.uui-faq01_accordion.is-open .accordion-icon_vertical-line,
.uui-faq04_accordion.is-open .accordion-icon_vertical-line-2 {
  opacity: 0;
  transform: rotate(90deg);
}

/* Nav dropdown tiles render at 100x80px; serve 160px-tall derivatives instead of the
   multi-megabyte originals. Same aspect ratios, so background-size: cover renders identically. */
.dropdown-image-holder.cities {
  background-image: url('/images/DSC06760-edit2-nav.jpg');
}

.dropdown-image-holder.campuses {
  background-image: url('/images/CleanShot-2024-10-02-at-13.47.152x-nav.webp');
}

.dropdown-image-holder.residential {
  background-image: url('/images/Group-123-nav.webp');
}

.dropdown-image-holder.hotel {
  background-image: url('/images/segway_station-nav.webp');
}

/* Homepage partnership tiles render ~372x320; serve 640px-tall webp derivatives
   (same aspect ratios, cover renders identically) instead of multi-MB originals. */
.partnerships-grid-image {
  background-image: url('/images/IMG_2465-bg.webp');
}

.partnerships-grid-image._2 {
  background-image: url('/images/DSC06760-edit2-bg.webp');
}

.partnerships-grid-image._3 {
  background-image: url('/images/ChargeLock-station-ebike-and-scooter-v2-bg.webp');
}

/* new-fleets testimonial backdrop draws at background-size 720px; 1440w webp = exact 2x. */
.uui-testimonial08_image-wrapper-alt {
  background-image: linear-gradient(#fffc, #fffc), url('/images/IMG_2811-bg.webp');
}

/* Webflow exported a malformed url('../images/') here, firing a wasted 404 on every
   page with a pricing list. The directory URL never rendered anything. */
.pricing-feature {
  background-image: none;
}
