Customization is done by writing themes. In the Admin Customize Themes you can edit the CSS / HTML associated with a theme to add your own customized touches. Since you can inject your own JavaScript into Discourse app using themes, the possibilities are literally endless.
You can also make custom color schemes from within the GUI. That’s a lot easier than mashup web programming, though not as powerful.
The closable one-time introduction is done by making a banner topic.