@media (max-width: 720px) {
  nav.site-navbar {
    position: relative !important;
    top: auto !important;
  }

  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
  select,
  textarea {
    font-size: 16px !important;
  }

  .mobile-action-bar {
    bottom: max(12px, env(safe-area-inset-bottom));
  }

  body.tg-home {
    padding-bottom: calc(78px + env(safe-area-inset-bottom));
  }

  .hero {
    padding-top: 52px !important;
    padding-bottom: 42px !important;
  }

  .hero-title {
    margin-bottom: 12px !important;
    line-height: 0.96 !important;
  }

  .hero-subtitle {
    margin-bottom: 18px !important;
    font-size: 15px !important;
  }

  .hub-nav-in {
    gap: 8px !important;
    padding-bottom: 2px !important;
  }

  .hub-pill {
    font-size: 0.72rem !important;
    padding: 8px 10px !important;
    white-space: nowrap;
  }
}

@media (max-width: 640px) {
  .hero {
    padding-top: 48px !important;
    padding-bottom: 36px !important;
  }

  .hero-badge-wrap {
    margin-bottom: 12px !important;
  }

  .hero-title {
    font-size: clamp(2.2rem, 8vw, 3.2rem) !important;
    letter-spacing: -0.05em !important;
  }

  .search-action {
    width: 100%;
  }
}

@media (max-width: 540px) {
  .hero {
    padding-top: 44px !important;
    padding-bottom: 36px !important;
  }

  .hero-title {
    letter-spacing: -0.04em !important;
  }

  .hub-nav-in {
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  .search-action .btn-airbnb-search,
  .search-action .btn-map-search {
    min-height: 46px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
