feat: drawings in circuit style, visible hero digits, hourly booking only on the freelance page

Drawings: "How I work" and the step drawings under "How it runs" now use
the same language as the story thread. Systems and people are chips with
pins, connections are tracks with 45 degree bends and solder points, and
what travels is a bit instead of a round dot (circuit.tsx).

Hero: the digits in the background were close to invisible on white. They
are about twice as strong now, and the ones near the pointer light up indigo.

Homepage vs. freelance page: the homepage is for clients who buy a result,
so it shows three cases. The developer case (100 EUR per hour, booked by the
month) and its steps live on the freelance page only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-05 11:37:26 +02:00
co-authored by Claude Opus 5.5
parent affd4b7ee7
commit f0c25b802b
11 changed files with 430 additions and 294 deletions
+1 -2
View File
@@ -74,7 +74,7 @@ export const de: Content = {
},
services: {
label: "Leistungen",
title: { lead: "Was brauchen Sie?", rest: "Vier typische Fälle." },
title: { lead: "Was brauchen Sie?", rest: "Drei typische Fälle." },
tablistLabel: "Was brauchen Sie?",
youGet: "Das bekommen Sie",
howItRuns: "So läuft es ab",
@@ -98,7 +98,6 @@ export const de: Content = {
orientationLabel: "Zur Orientierung",
net: "Alle Preise netto.",
cta: "Schätzung anfragen",
freelance: "Buchung und Preise für Teams",
},
paths: [
{
+1 -2
View File
@@ -73,7 +73,7 @@ export const en: Content = {
},
services: {
label: "Services",
title: { lead: "What do you need?", rest: "Four typical cases." },
title: { lead: "What do you need?", rest: "Three typical cases." },
tablistLabel: "What do you need?",
youGet: "What you get",
howItRuns: "How it runs",
@@ -97,7 +97,6 @@ export const en: Content = {
orientationLabel: "For orientation",
net: "All prices net.",
cta: "Ask for an estimate",
freelance: "Booking and rates for teams",
},
paths: [
{
-2
View File
@@ -197,8 +197,6 @@ export type Content = {
readonly orientationLabel: string;
readonly net: string;
readonly cta: string;
/** The pointer to the booking terms on the freelance page. */
readonly freelance: string;
};
readonly paths: readonly ServicePath[];
readonly scenes: SceneLabels;