diff --git a/src/components/admin/feedback-inbox-section.tsx b/src/components/admin/feedback-inbox-section.tsx
index d42fe14ee..cc2e71a55 100644
--- a/src/components/admin/feedback-inbox-section.tsx
+++ b/src/components/admin/feedback-inbox-section.tsx
@@ -434,9 +434,11 @@ function FeedbackDetailDialog({
{(url || locale || userAgent || appVersion) && (
-
+ {/* v1.4.33 IW9 — h4 -> h3 so the sheet outline stays
+ sequential beneath the ResponsiveSheet's h2 title. */}
+
{t("admin.feedback.metadataHeading")}
-
+
{url && (
<>
@@ -476,9 +478,9 @@ function FeedbackDetailDialog({
{item.screenshotBase64 && (
-
+
{t("admin.feedback.screenshotHeading")}
-
+
{/* eslint-disable-next-line @next/next/no-img-element */}

0 && (
-
+ {/* v1.4.33 IW9 — h4 -> h2 so the page outline stays
+ sequential (parent admin SectionFrame ships ). */}
+
{t("admin.reminderCheckResults")}
-
+
{reminderCheck.data.medications.map((med, i) => (
diff --git a/src/components/insights/therapy-timeline.tsx b/src/components/insights/therapy-timeline.tsx
index dd025a9db..afcecb39a 100644
--- a/src/components/insights/therapy-timeline.tsx
+++ b/src/components/insights/therapy-timeline.tsx
@@ -111,9 +111,14 @@ export function TherapyTimeline({ limit }: TherapyTimelineProps) {
{/* v1.4.27 B7 / L4 — sr-only drug-name heading per
entry so screen-reader users can jump between
medication blocks; the visible row keeps the
- inline
rendering. */}
+ inline rendering.
+ v1.4.33 IW9 — promoted from h4 -> h2 so the page
+ outline stays sequential. The parent SubPageShell
+ ships an ; CardTitle is a , so the timeline
+ is the only heading-bearing surface here and h2
+ nests directly under h1 without skipping levels. */}
{entry.medicationName && (
-
{entry.medicationName}
+
{entry.medicationName}
)}
{fmt.dateWithWeekday(new Date(entry.date))}