From 932cf60c5c11c467c5c8eaeb216142739fd6f825 Mon Sep 17 00:00:00 2001
From: Marco
Date: Wed, 29 Jul 2026 10:58:36 +0000
Subject: [PATCH] Fix About Tablet layout, center Hero CTA on Mobile
The sm:/lg: ratio collapse in About.tsx from the breakpoint migration
was wrong: the Tablet-specific wider text share wasn't just compensating
for the grid arriving too early, it's what the inner quote/bio row and
the photo's -ml-48 overlap actually need room for. Restores the
two-tier ratio (wider text, no overlap at sm:; real ratio + overlap
only at lg:), just anchored to sm: instead of the old md:.
Also centers the Hero CTA button below sm: (Mobile) per feedback.
---
app/components/About.tsx | 45 +++++++++++++++++++++-------------------
app/components/Hero.tsx | 6 ++++--
2 files changed, 28 insertions(+), 23 deletions(-)
diff --git a/app/components/About.tsx b/app/components/About.tsx
index a1f76bd..33e3879 100644
--- a/app/components/About.tsx
+++ b/app/components/About.tsx
@@ -6,17 +6,20 @@ export function About() {
{/* Text content — relative + z-10 so it renders above the overlapping
- photo from sm+. Comes first in DOM at every breakpoint (no
- reorder here — unlike Hero, there's no conversion CTA at stake).
- Used to be md:flex-[1.4_0_0] lg:flex-[1_0_0]: a two-step ratio
- where Tablet got a wider, non-overlap-ready share and only
- reverted to the real 1:1.4 Desktop ratio at lg: — that in-between
- step existed purely to compensate for the grid arriving (at the
- old md: 768px) before the fluid tokens had room to shrink.
- Now the grid itself starts at sm: (640px), aligned with the
- fluid floor, so the single real ratio applies from sm: up
- directly — no intermediate step needed. */}
-
+ photo at lg+. Comes first in DOM at every breakpoint (no reorder
+ here — unlike Hero, there's no conversion CTA at stake).
+ sm:flex-[1.4_0_0] lg:flex-[1_0_0] — at Tablet the text column
+ gets the wider 1.4:1 share (moved down from the old md:, not
+ collapsed away as a first pass here tried): this isn't just
+ compensation for the grid arriving before the fluid floor had
+ room, it's also what the *inner* quote/divider/bio row (still
+ lg:-only, see below) and the photo's own -ml-48 overlap actually
+ need — collapsing straight to the 1:1.4 Desktop ratio at sm:
+ left the text column too narrow and the photo overlapping too
+ aggressively at real Tablet widths (reported 2026-07-29).
+ Reverts to the real ratio from lg: up, where the overlap trick
+ needs the image to have more room. */}
+
{/* Large serif statement — width-constrained as per design */}
- {/* Author photo — overlaps the text column via -ml-48 from sm+ now
- (moved down together with the ratio collapse above — the overlap
- trick and the 1:1.4 share are the same Desktop-style treatment,
- previously gated behind the extra lg: step for the same reason
- the ratio was, so both move together); plain full-width photo
- below the text on true Mobile only. */}
+ {/* Author photo — plain side-by-side (no overlap) at Tablet, sharing
+ the narrower 1:1.4 flex-basis with the text column above;
+ overlaps the text column via -ml-48 only from lg+, where the
+ text column has reverted to its narrower share and there's real
+ room for the photo to bleed under it. Plain full-width photo
+ below the text on true Mobile. */}
@@ -98,11 +101,11 @@ export function About() {
alt="Björn"
src="/about-author.jpg"
fill
- sizes="(min-width: 640px) 58vw, 100vw"
+ sizes="(min-width: 1024px) 58vw, (min-width: 640px) 42vw, 100vw"
className="object-cover object-center pointer-events-none"
/>
- {/* Left gradient: wide enough to cover the text-column overlap — moved to sm+ with the overlap itself */}
-
+ {/* Left gradient: wide enough to cover the text-column overlap — lg+ only, matching the overlap itself */}
+
diff --git a/app/components/Hero.tsx b/app/components/Hero.tsx
index 88a6e03..0fee20f 100644
--- a/app/components/Hero.tsx
+++ b/app/components/Hero.tsx
@@ -95,10 +95,12 @@ export function Hero() {
Ich helfe dir, zwischen Job, Familie und eigenen Projekten nicht unterzugehen
- {/* CTA */}
+ {/* CTA — centered below sm: (reads better against the centered
+ image/banner above it on true Mobile), left-aligned with the
+ rest of the text column again from sm: up. */}
{/* Letting this wrap to two lines below lg: (tried 2026-07-24)
put the icon beside a two-line text block, which read as