and for non-JS auditors. Every route renders its own title/description/canonical/og:*/twitter:* via (react-helmet-async). Do NOT re-add og:* or twitter:* tags here — Lovable's static HTML pre-render emits both the index.html head AND the Helmet output, which causes duplicate tags on every route. Per-route og:image dimensions are fixed and don't need a sitewide override. -->