diff --git a/frontend/src/components/site-finder/Pipeline24moBlock.tsx b/frontend/src/components/site-finder/Pipeline24moBlock.tsx
index 70d60717..c0c12838 100644
--- a/frontend/src/components/site-finder/Pipeline24moBlock.tsx
+++ b/frontend/src/components/site-finder/Pipeline24moBlock.tsx
@@ -205,16 +205,25 @@ export function Pipeline24moBlock({ data }: Props) {
{data.by_quarter.map((q) => {
- const heightPct =
+ // Bar height in pixels of the 60px area above label row
+ // (reserves ~16px for label). Using fixed px avoids the
+ // align-items:flex-end shrink-to-content trap where %-heights
+ // would resolve to the column's content height instead of
+ // the outer 80px container.
+ const BAR_AREA_PX = 60;
+ const barPx =
maxFlatsPerQuarter > 0
- ? Math.max(6, (q.flats / maxFlatsPerQuarter) * 100)
- : 6;
+ ? Math.max(
+ 4,
+ (q.flats / maxFlatsPerQuarter) * BAR_AREA_PX,
+ )
+ : 4;
return (