diff --git a/src/components/FeaturedBentoFromDb.tsx b/src/components/FeaturedBentoFromDb.tsx index f73658d..057adb9 100644 --- a/src/components/FeaturedBentoFromDb.tsx +++ b/src/components/FeaturedBentoFromDb.tsx @@ -78,81 +78,86 @@ export default async function FeaturedBento() { - {/* Cinematic 21:9 hero — full width, image fills, gradient + overlaid title */} - -
- {hero.featured_image_alt -
+ {/* Two-column outer grid: left column holds the 21:9 hero + 3-up rail; + right column is the Blackmagic 300x600. The hero now sits NARROWER + (constrained to the 1fr-300px column) but keeps its 21:9 / 21:8 + aspect ratio — height shrinks proportionally. Banner moves UP to + start at the very top of the row, baseline-aligned with the hero. + Mobile collapses to single column (banner hidden via lg:block). */} +
+
+ {/* Cinematic 21:9 hero — fills left column, aspect ratio preserved */} + +
+ {hero.featured_image_alt +
- - - Feature Story - + + + Feature Story + -
- {hero.category && ( -
- {hero.category} -
- )} -

- {hero.title} -

- {hero.excerpt && ( -

- {cleanExcerpt(hero.excerpt)} -

- )} -
- {hero.author_name || "Broadcast Beat"} - - -
-
-
- - - {/* Row below the hero — 3-up rail (left) + Blackmagic 300x600 (right). - Right column is locked to 300px so its edge aligns with the right - edge of the 21:9 hero above; SidebarAdStack downstream skips this - banner so it doesn't double-render. */} -
-
- {rail.map((r) => ( - -
- {r.featured_image_alt -
-
-
- {r.category || "News"} +
+ {hero.category && ( +
+ {hero.category} +
+ )} +

+ {hero.title} +

+ {hero.excerpt && ( +

+ {cleanExcerpt(hero.excerpt)} +

+ )} +
+ {hero.author_name || "Broadcast Beat"} + +
-

- {r.title} -

-
- +
+
+ + + {/* 3-up rail directly under the hero, still in the left column */} +
+ {rail.map((r) => ( + +
+ {r.featured_image_alt +
+
+
+ {r.category || "News"} +
+

+ {r.title} +

+
+
))} +