Commit Graph

31 Commits

Author SHA1 Message Date
Marco e5091d88f6 feat(About): photo overlaps text column with gradient blend 2026-06-30 22:13:06 +00:00
Marco 4dcf578b16 feat(About): larger photo column + left gradient blend 2026-06-30 22:11:14 +00:00
Marco b946697b12 Revert "feat: full responsive layout — mobile-first, lg breakpoint, fluid typography"
This reverts commit 2505a87717.
2026-06-30 22:07:51 +00:00
Marco 2505a87717 feat: full responsive layout — mobile-first, lg breakpoint, fluid typography
Strategy: one layout breakpoint at lg (1024px), clamp() for fluid type.

Navbar: hamburger menu (animated ✕) with max-h dropdown, resize-close,
  h-20 mobile / h-[6.25rem] desktop, blur triggers on scroll or menu-open.
Hero: flex-col→lg:flex-row, clamp(2rem,5vw,4rem) heading, background-image
  scales responsively, gradient mask via .hero-mask only at lg+ in CSS.
Divider: flex-wrap + gap-y for smaller screens.
Tools: grid-cols-1→md:2→lg:3, removed fixed height and per-card paddingRight.
Blog: featured flex-col→lg:flex-row, secondary flex-col→md:flex-row,
  excerpt hidden on mobile secondary cards to save space.
About: flex-col→lg:flex-row, clamp on quote size, min-h-[18rem] for photo.
Newsletter: flex-col→lg:flex-row, input+button stack on xs / row on sm+.
Footer: flex-col→lg:flex-row, flex-wrap on legal links.
globals.css: scroll-padding-top 5rem mobile / 6.25rem desktop.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 22:04:23 +00:00
Marco ed575d5aa0 fix(Blog): normalize image-to-text gap to 12px across all cards
Featured had 8px (only content px-2, no card gap).
Secondary had 16px (gap-2 + content p-2 left).
Both now use gap-3 (12px) at card level with no left padding on content.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 21:51:54 +00:00
Marco 2ed1acf997 feat(Navbar): custom 800ms ease-in-out smooth scroll via rAF
Replaces browser scroll-behavior:smooth (no duration control) with a
requestAnimationFrame loop using cubic ease-in-out over 800ms. Offset
accounts for navbar height (100px) via getBoundingClientRect + scrollY.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 21:47:09 +00:00
Marco 4aa5b924fc fix(Navbar): replace Next.js Link with <a> + onClick for anchor navigation
Next.js Link appends hash instead of replacing it (#a#b#b...). Anchor
links now use native <a> with e.preventDefault(), manual scrollIntoView,
and history.replaceState so only the current hash appears in the URL.
Page routes (/shop etc.) still use Link as before.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 21:45:39 +00:00
Marco 8d8674281a fix(scroll): add scroll-padding-top equal to navbar height (6.25rem)
Prevents sticky navbar from covering anchor targets on smooth scroll.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 21:43:17 +00:00
Marco 1aa03476c3 fix(Navbar): remove shadow-sm on scroll — no bottom line when sticky
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 21:42:33 +00:00
Marco 220ee5aeb7 fix(About): flex-[1_0_0] on both columns for exact 50/50 split
flex-1 (shrink:1) let the text column grow past 50% by shrinking the
image. flex-[1_0_0] (shrink:0) matches Figma's flex:1 0 0 so neither
column can shrink — both are exactly half the section width.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 21:41:33 +00:00
Marco 117e4704ca feat(Navbar): sticky with scroll-triggered backdrop blur + smooth scrolling
Navbar is sticky top-0 z-50. On scroll >8px: bg opacity drops to 80%
and backdrop-blur-md activates with a subtle shadow. Transitions on
background-color and backdrop-filter (300ms). Smooth scrolling via
html { scroll-behavior: smooth } in globals.css.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 21:39:09 +00:00
Marco eded5a5812 feat(Navbar): wire anchor links to page sections
Werkzeuge→#werkzeuge, Blog→#blog, Über Björn→#ueber-bjoern.
Shop remains /shop (no matching section). Added matching id attributes
to Tools, Blog and About section root elements.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 21:36:48 +00:00
Marco 6eb357650c fix(Hero): gradient mask-image to feather sharp PNG alpha edges
PNG has hard alpha cutoff edges — adds left (0%→14%) and top (0%→10%)
linear-gradient masks via mask-composite:intersect so both edges fade
simultaneously into the cream background, matching Figma's seamless look.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 21:34:25 +00:00
Marco 197388d864 fix(Hero): use RGBA PNG from Figma asset instead of opaque JPEG
Figma exports the hero image as a PNG with alpha channel — the background
is already transparent. Switched from <img mix-blend-multiply> to a
background-image div (background-size: contain, right center) so the
transparent PNG blends seamlessly into the cream section background with
no visible edge. Background-image also scales better for responsive.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 21:30:11 +00:00
Marco c51f5a6b7f fix(Hero): blend image into cream background with mix-blend-mode multiply
White/light areas of the photo dissolve into #f5f0e8 without needing
a PNG with alpha transparency.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 21:24:45 +00:00
Marco 2d39db3e30 fix(Newsletter): add -scale-y-100 to icon — SVG asset is stored flipped in Figma
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 21:20:56 +00:00
Marco 2a77caf28a feat(Footer): add footer with 3px divider, logo, social handle, and legal links
Dark bg (#111). Top divider is a 3px div in #30302c (not a CSS border).
Three justify-between columns: Lora SemiBold logo with gold period (#fdb705),
Lora Regular @handle centered (added weight 400 to Lora config), Inter 14px
legal links with gap-6. Footer sits outside <main> so mt-auto pushes it down.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 21:19:22 +00:00
Marco 2761df8693 fix(Newsletter): rename icon asset to .svg — file was SVG served as PNG
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 21:17:47 +00:00
Marco 11b21b23cf feat(Newsletter): add newsletter signup section with framed card layout
Cream card (bg-[#f8f3ec], rounded-xl) inside section padding of 80px.
Left copy column has fixed w-[38.25rem] (612px) with icon (-rotate-4)
and Lora heading; right form column is flex-1 with email input +
orange submit button side by side, privacy note below. Input and button
share items-stretch so they align to equal height.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 21:15:35 +00:00
Marco 1cc3e30987 feat(About): dark banner section with script quote, signature, and author photo
Two-column layout: left column stacks serif statement above a row of
Caveat quote (flex-1) + 2px golden divider + author bio (shrink-0).
Signature image is absolute-positioned just below the three Caveat lines
(top: 6.44rem = 3 × 32px line-height). Right column is a full-height
overflow-hidden container with object-cover author photo.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 21:12:07 +00:00
Marco 6dbd9eec4e feat(Blog): add blog section with featured + secondary post cards
Fine 1px #d9d9d9 border with rounded-xl on all cards. Featured card
uses overflow-hidden to clip thumbnail flush left; secondary cards give
each thumbnail its own rounded-xl so it sits neatly inside the py-2
padded wrapper. Arrow uses standard → instead of unsupported U+1F816.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 21:06:04 +00:00
Marco 938c0a7a46 fix(Tools): replace unsupported arrow glyph U+1F816 with standard →
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 21:01:33 +00:00
Marco ed9d770889 feat: add Tools section with Lora font and Figma icons
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 20:55:23 +00:00
Marco b448f934a5 feat: add Divider section — Klarheit → Fokus → Entlastung
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 20:53:00 +00:00
Marco 45644f78df fix(Hero): exact Figma structure — w-[min-content] heading, 2px avatar gap, correct spans
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 20:50:17 +00:00
Marco 184fbcfce6 fix: use plain <img> for hero+icon, beige body bg, image drives section height
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 20:46:15 +00:00
Marco f8a5b4caab fix(Hero): self-stretch image fills full height, icon as SVG, Playfair 600
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 20:38:18 +00:00
Marco 6c295c8d8a fix: use exported Figma assets for logo, hero image, avatars and icon
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 19:18:49 +00:00
Marco 601507df1d feat: add Hero section, fix logo with Caveat font + brush stroke SVG
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 19:15:32 +00:00
Marco de924cae2d feat: add desktop navigation matching Figma design
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 19:12:14 +00:00
Marco 3b7905c7ac init: Next.js project einfach-produktiv 2026-06-30 19:03:57 +00:00