Change a domain and most search and replace tools quietly miss the URLs inside page builders.
Elementor stores layouts as JSON inside PHP serialized values, with slashes escaped. Search for https://oldsite.com and you match nothing. Search the escaped form and replace as text and you corrupt the row, because serialization stores byte lengths that stop matching.
Lucid unserializes, walks the tree, decodes the JSON leaves, and keeps the original escaping. Preview first, snapshot, undo.