diff --git a/package.json b/package.json
index d6a0acec3e..2effe38ca8 100644
--- a/package.json
+++ b/package.json
@@ -67,6 +67,7 @@
"@sentry/tracing": "^7.0.0",
"@testing-library/react-hooks": "^8.0.1",
"@vector-im/compound-design-tokens": "^0.0.3",
+ "@vector-im/compound-web": "^0.2.1",
"await-lock": "^2.1.0",
"blurhash": "^1.1.3",
"classnames": "^2.2.6",
diff --git a/res/css/_common.pcss b/res/css/_common.pcss
index c321d46a5d..6ba33dcc14 100644
--- a/res/css/_common.pcss
+++ b/res/css/_common.pcss
@@ -18,6 +18,7 @@ limitations under the License.
*/
@import url("@vector-im/compound-design-tokens/assets/web/css/compound-design-tokens.css");
+@import url("@vector-im/compound-web/dist/style.css");
@import "./_font-sizes.pcss";
@import "./_animations.pcss";
@import "./_spacing.pcss";
diff --git a/res/css/views/rooms/_RoomHeader.pcss b/res/css/views/rooms/_RoomHeader.pcss
index 9dfc771abe..3937e10584 100644
--- a/res/css/views/rooms/_RoomHeader.pcss
+++ b/res/css/views/rooms/_RoomHeader.pcss
@@ -28,15 +28,7 @@ limitations under the License.
}
}
-/* To remove when compound is integrated */
-.mx_RoomHeader_name {
- font: var(--cpd-font-body-lg-semibold);
-}
-
.mx_RoomHeader_topic {
- /* To remove when compound is integrated */
- font: var(--cpd-font-body-sm-regular);
-
height: 0;
opacity: 0;
display: -webkit-box;
diff --git a/src/components/views/rooms/RoomHeader.tsx b/src/components/views/rooms/RoomHeader.tsx
index 9745f77ead..794ae1a441 100644
--- a/src/components/views/rooms/RoomHeader.tsx
+++ b/src/components/views/rooms/RoomHeader.tsx
@@ -15,6 +15,7 @@ limitations under the License.
*/
import React from "react";
+import { Body as BodyText } from "@vector-im/compound-web";
import type { Room } from "matrix-js-sdk/src/models/room";
import { IOOBData } from "../../../stores/ThreepidInviteStore";
@@ -45,10 +46,22 @@ export default function RoomHeader({ room, oobData }: { room?: Room; oobData?: I