@media (max-width: 650px) {
  .site-header {
    padding-left: max(1rem, env(safe-area-inset-left));
    padding-right: max(1rem, env(safe-area-inset-right));
  }

  .menu,
  .login,
  .button {
    min-height: 44px;
    touch-action: manipulation;
  }

  .menu { min-width: 44px; }
  .hero-public { min-height: auto; padding-bottom: 4rem; }
  .hero-copy h1 { font-size: clamp(2.65rem, 15vw, 3.5rem); }
  .hero-actions .button { width: 100%; }
  .section { overflow: hidden; }
  .social-links > a,
  .social-links > div { min-height: 68px; }
  .quick a { min-height: 92px; }
  .gallery-viewport { -webkit-overflow-scrolling: touch; }
  footer { padding-bottom: max(3.5rem, calc(2rem + env(safe-area-inset-bottom))); }
}
