@media (max-width: 900px) {
  html.nh48-mobile-viewport,
  body.nh48-mobile-viewport {
    scroll-padding-top: calc(var(--nh48-mobile-nav-height, 84px) + 10px);
  }

  html.nh48-mobile-viewport :where(main, section, article, [id]):target {
    scroll-margin-top: calc(var(--nh48-mobile-nav-height, 84px) + 10px);
  }

  body.nh48-mobile-viewport {
    -webkit-tap-highlight-color: rgba(34, 197, 94, 0.22);
  }

  body.nh48-mobile-viewport :where(a, button, [role="button"], summary, input, select, textarea) {
    touch-action: manipulation;
  }

  body.nh48-mobile-viewport :where(a, button, [role="button"], summary):active {
    transform: scale(0.986);
    filter: brightness(1.05);
  }

  body.nh48-mobile-viewport .site-nav {
    padding-top: calc(12px + env(safe-area-inset-top));
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }

  body.nh48-mobile-viewport .site-nav-main {
    padding-bottom: calc(14px + (env(safe-area-inset-bottom) * 0.18));
  }

  body.nh48-mobile-viewport .site-nav :where(a, button, input, select, textarea, summary) {
    min-height: 44px;
  }

  body.nh48-mobile-viewport .site-nav :where(input[type="search"], input[type="text"], input[type="email"], input[type="url"], select, textarea) {
    font-size: 16px;
  }

  body.nh48-mobile-viewport .site-nav,
  body.nh48-mobile-viewport .site-nav-utility,
  body.nh48-mobile-viewport .site-nav-main,
  body.nh48-mobile-viewport .site-nav-title,
  body.nh48-mobile-viewport .site-nav-tagline,
  body.nh48-mobile-viewport .logo-wrap {
    transition: padding 180ms ease, gap 180ms ease, opacity 180ms ease, transform 180ms ease, font-size 180ms ease, letter-spacing 180ms ease, width 180ms ease, height 180ms ease;
  }

  body.nh48-mobile-nav-condensed .site-nav {
    padding-top: calc(8px + env(safe-area-inset-top));
  }

  body.nh48-mobile-nav-condensed .site-nav-utility {
    padding-top: 8px;
    padding-bottom: 8px;
    row-gap: 8px;
  }

  body.nh48-mobile-nav-condensed .site-nav-main {
    padding-top: 8px;
    padding-bottom: calc(10px + (env(safe-area-inset-bottom) * 0.12));
    gap: 8px;
  }

  body.nh48-mobile-nav-condensed .site-nav-title {
    font-size: clamp(26px, 6.8vw, 32px);
    letter-spacing: 0.6px;
  }

  body.nh48-mobile-nav-condensed .site-nav-tagline {
    font-size: 0.88rem;
    opacity: 0.9;
  }

  body.nh48-mobile-nav-condensed .logo-wrap {
    width: 46px;
    height: 46px;
    border-radius: 11px;
  }

  body.nh48-mobile-nav-condensed .site-nav-a11y-label {
    opacity: 0.85;
  }

  html.nh48-mobile-motion-enabled body.nh48-mobile-content-route .nh48-mobile-reveal {
    opacity: 0.001;
    transform: translateY(14px);
    filter: saturate(0.94);
    will-change: opacity, transform;
    transition-property: opacity, transform, filter;
    transition-duration: 220ms, 260ms, 260ms;
    transition-timing-function: ease-out, cubic-bezier(0.2, 0.8, 0.2, 1), ease-out;
    transition-delay: var(--nh48-mobile-reveal-delay, 0ms);
  }

  html.nh48-mobile-motion-enabled body.nh48-mobile-content-route .nh48-mobile-reveal.is-revealed {
    opacity: 1;
    transform: none;
    filter: none;
  }

  html.nh48-mobile-reduced-motion body .nh48-mobile-reveal,
  html.nh48-mobile-save-data body .nh48-mobile-reveal {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }

  html.nh48-mobile-reduced-motion body.nh48-mobile-viewport :where(.site-nav, .site-nav-utility, .site-nav-main, .site-nav-title, .site-nav-tagline, .logo-wrap),
  html.nh48-mobile-save-data body.nh48-mobile-viewport :where(.site-nav, .site-nav-utility, .site-nav-main, .site-nav-title, .site-nav-tagline, .logo-wrap) {
    transition: none !important;
    animation: none !important;
  }
}
