
/* v328: restrained, mobile-only motion. No animation libraries or perpetual effects. */
@media (max-width:680px) and (prefers-reduced-motion:no-preference) {
  .mobile-app-dock a {
    transition: background-color 220ms ease, color 220ms ease, transform 160ms ease;
  }
  .mobile-app-dock a[aria-current="location"] {
    transition: background-color 260ms ease, color 260ms ease;
  }
  .mobile-app-dock a:active,
  #top .mobile-primary-actions a:active,
  .mobile-property-filter:active,
  #properties #propertyCards .card:active {
    transform:scale(.975);
  }
  #top .mobile-primary-actions a,
  .mobile-property-filter,
  #properties #propertyCards .card {
    transition: transform 180ms ease, background-color 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
  }
  /* JS marks elements only after observing them, avoiding invisible content if JS fails. */
  .mobile-reveal-ready {
    opacity:0;
    transform:translate3d(0,13px,0);
    transition:opacity 520ms ease,transform 520ms cubic-bezier(.2,.65,.3,1);
    will-change:opacity,transform;
  }
  .mobile-reveal-ready.mobile-revealed {
    opacity:1;
    transform:none;
    will-change:auto;
  }
}
@media (max-width:680px) and (prefers-reduced-motion:reduce) {
  .mobile-reveal-ready {opacity:1!important;transform:none!important;transition:none!important}
  .mobile-app-dock a,#top .mobile-primary-actions a,.mobile-property-filter,#properties #propertyCards .card {
    transition:none!important;animation:none!important;
  }
}
