Hello @Michael_Soprano ,
One AEM installation can support multiple websites if that is what you inferred from "one AEM project".
If the folder structure is chosen and implemented carefully, then multiple websites could also be nested under one area of AEM too.
Components can be certainly shared across both.
There are a few ways to achieve different visuals,
1. AEM Style system
Link: https://experienceleague.adobe.com/docs/experience-manager-65/authoring/siteandpage/style-system.htm...
2. One master component library as an independent AEM project, where all global components can be hosted and used across multiple sites.
3. Different stylesheets for every site can be applied to the page's template.
4. Context aware configurations could also be used to switch to stylesheets based on which website is being used.
Link: https://experienceleague.adobe.com/docs/experience-manager-core-components/using/developing/context-...
5. Core component library available to all AEM customers could be leveraged for using them as-is or extending them for custom use cases.
Link: https://experienceleague.adobe.com/docs/experience-manager-core-components/using/introduction.html?l...
When it comes to using multiple Target and Experience platforms for different sites, that too is possible via a Tag management system (best practice) or implementing different scripts to connect Target/Experience Platform with AEM. Since, this is a custom need to switch between multiple systems, the solution will be custom implementation too.
regards,
Preetpal