html, body { max-width: 100%; overflow-x: clip; }
.mobile-nav { display: none; visibility: hidden; }
.mobile-nav.is-open { display: block; visibility: visible; }
.tour-scroll { max-width: 100%; overscroll-behavior-inline: contain; }
.tour-scroll > * { min-width: 0; }

@media (max-width: 430px) {
  .nav-shell { gap: .5rem; max-width: 100vw; overflow: hidden; padding-inline: .85rem; width: 100%; }
  .site-header .brand { flex: 0 1 auto; gap: .35rem; max-width: 8.5rem; min-width: 0; }
  .site-header .brand .custom-logo { height: auto; max-width: 8.5rem !important; width: auto !important; }
  .brand svg { height: var(--logo-h, 2.1rem); width: var(--logo-w, auto); }
  .brand__text { font-size: 1rem; }
  .brand__text small { font-size: .44rem; letter-spacing: .2em; }
  .nav-actions { gap: .35rem; }
  .nav-actions .icon-btn { height: 2.45rem; width: 2.45rem; }
  .hero-slide .container-wide { max-width: 100%; padding-inline: var(--gutter); width: 100%; }
  .hero__content { max-width: 100%; min-width: 0; width: 100%; }
  .hero h1, .hero h2 { font-size: clamp(2.65rem, 13vw, 3.45rem); max-width: 100%; overflow-wrap: break-word; }
  .hero .lede { font-size: 1rem; max-width: 100%; }
  .hero__actions { align-items: stretch; flex-direction: column; max-width: 100%; }
  .hero__actions .btn { max-width: 100%; white-space: normal; width: 100%; }
  .hero-slider__btn { height: 2.5rem; width: 2.5rem; }
  .hero-slider__btn--prev { left: .75rem; }
  .hero-slider__btn--next { right: .75rem; }
  .search-panel { grid-template-columns: minmax(0, 1fr) !important; }
  .search-panel .btn { grid-column: 1 !important; width: 100%; }
  .search-result { grid-template-columns: minmax(0, 1fr); }
  .search-result img { max-width: 9rem; }
  .search-result > * { min-width: 0; }
  .tour-card__footer { align-items: flex-start; flex-direction: column; }
  .prototype-pill { max-width: calc(100vw - 2rem); }
}
