diff --git a/src/header.css.ts b/src/header.css.ts
index cae9bbbae..f2e5dfe13 100644
--- a/src/header.css.ts
+++ b/src/header.css.ts
@@ -23,3 +23,8 @@ export const hideOnDesktop = style({
},
},
});
+
+export const flexColumn = style({
+ display: 'flex',
+ flexDirection: 'column',
+});
diff --git a/src/header.tsx b/src/header.tsx
index 3c2b3743a..ba57177ff 100644
--- a/src/header.tsx
+++ b/src/header.tsx
@@ -10,10 +10,16 @@ import {vars} from './skins/skin-contract.css';
import * as styles from './header.css';
import {getPrefixedDataAttributes} from './utils/dom';
import {Title3, Title4} from './title';
+import {
+ isBiggerHeading,
+ type DataAttributes,
+ type HeadingType,
+ type RendersElement,
+ type RendersNullableElement,
+} from './utils/types';
import type NavigationBreadcrumbs from './navigation-breadcrumbs';
import type {ButtonPrimary, ButtonSecondary} from './button';
-import type {DataAttributes, HeadingType, RendersElement, RendersNullableElement} from './utils/types';
import type {TextPresetProps} from './text';
type OverridableTextProps = {
@@ -61,31 +67,66 @@ export const Header = ({
);
};
+ const pretitleContent = pretitle
+ ? renderRichText(pretitle, {color: vars.colors.textPrimary, as: pretitleAs})
+ : undefined;
+
+ const titleContent = title ? (
+ small ? (
+