diff --git a/.gitignore b/.gitignore index 7c0a61a..90150af 100644 --- a/.gitignore +++ b/.gitignore @@ -23,4 +23,4 @@ pnpm-debug.log* # jetbrains setting folder .idea/ .kilo -.env.local +.env.local \ No newline at end of file diff --git a/.impeccable.md b/.impeccable.md new file mode 100644 index 0000000..ce48734 --- /dev/null +++ b/.impeccable.md @@ -0,0 +1,17 @@ +## Design Context + +### Users +Owner-led regional small and medium-sized businesses in Germany, especially trades, salons, practices, and service companies. They need a credible website that helps local prospects understand the business quickly and take contact without friction. + +### Brand Personality +Bodenstaendig, regional, glaubwuerdig. The interface should feel direct, calm, precise, and human rather than polished like a startup template or loud like an agency pitch. + +### Aesthetic Direction +Use a light theme with restrained contrast, warm neutrals, and clear left-aligned structure. Favor quiet hierarchy, asymmetry, and editorial spacing over centered fullscreen hero patterns, decorative card grids, or theatrical gradients. Trust should appear early through concrete signals: direct contact, regional proximity, experience, response speed, and transparent delivery. + +### Design Principles +- Trust before spectacle: lead with concrete proof, not abstract claims. +- Regional and human: show the person and working style behind the service early. +- Calm hierarchy: use spacing, alignment, and clear grouping instead of oversized centered compositions. +- Practical clarity: every section should answer what is offered, why it is credible, and what the next step is. +- Keep it grounded: avoid startup tropes, generic hero metrics, and decorative noise without informational value. diff --git a/src/components/contact21.tsx b/src/components/contact21.tsx index e7560ef..d14eb3d 100644 --- a/src/components/contact21.tsx +++ b/src/components/contact21.tsx @@ -68,7 +68,7 @@ const Contact21 = ({ className, onSubmit }: Contact21Props) => { }; return ( -
+
@@ -79,7 +79,7 @@ const Contact21 = ({ className, onSubmit }: Contact21Props) => { avatar

@@ -92,9 +92,9 @@ const Contact21 = ({ className, onSubmit }: Contact21Props) => {

-

+

Jetzt Website anfordern -

+ {isSubmitted && (
{ Nachricht - {fieldState.invalid && ( diff --git a/src/components/cta.tsx b/src/components/cta.tsx index 1c836bf..942dc1a 100644 --- a/src/components/cta.tsx +++ b/src/components/cta.tsx @@ -1,24 +1,68 @@ -import { Button } from "@/components/ui/button"; +import { cn } from "@/lib/utils"; + +const trustAnchors = [ + { + title: "Direkter Kontakt", + description: + "Sie sprechen mit dem Menschen, der die Website auch plant und baut.", + note: "Keine Vertriebsrunde, keine unklaren Uebergaben.", + }, + { + title: "15+ Jahre Erfahrung", + description: + "Webentwicklung und Software mit Fokus auf robuste, wartbare Loesungen.", + note: "Praxis statt Buzzwords und Technik nur dort, wo sie wirklich hilft.", + }, + { + title: "Hosting in Sachsen", + description: + "Deutsche Server, DSGVO-konform und passend fuer regionale Unternehmen.", + note: "Greifbar, nachvollziehbar und ohne unnoetiges Zusatztheater.", + }, +]; export default function CTASection() { return ( -
-
-
-
-

- Jetzt Website anfordern -

-

- Erzählen Sie mir kurz von Ihrem Unternehmen — ich melde mich innerhalb von 24 Stunden mit einem unverbindlichen Angebot. -

-
- - {/* CTA Buttons */} -
- -
+
+
+
+

+ Vertrauensanker +

+

+ Ein ruhiger Startpunkt statt voller Versprechen. +

+

+ Noch bevor es um Pakete oder Features geht, soll direkt klar sein, + warum diese Zusammenarbeit fuer regionale Unternehmen greifbar und + verlaesslich wirkt. +

+
+ {trustAnchors.map((item, index) => ( +
+
+ {item.title} +
+
+

+ {item.description} +

+

+ {item.note} +

+
+
+ ))} +
); diff --git a/src/components/hero235.tsx b/src/components/hero235.tsx index b2f8124..021c42c 100644 --- a/src/components/hero235.tsx +++ b/src/components/hero235.tsx @@ -1,4 +1,4 @@ -import { ArrowDown } from "lucide-react"; +import { ArrowRight } from "lucide-react"; import { Button } from "@/components/ui/button"; import { cn } from "@/lib/utils"; @@ -9,45 +9,37 @@ interface Hero235Props { const Hero235 = ({ className }: Hero235Props) => { return ( -
-
-
-
-
-
-
-
-
-

- Hallo, ich bin Matthias - ich baue Websites, die Kunden bringen. -

-

- Moderne, blitzschnelle Auftritte für Handwerker, Friseure und Unternehmen aus der Region. Kein Agentur-Preisschild. Kein Overkill. Einfach eine Website, die funktioniert. -

- +

+ Fuer Handwerk, Praxen und kleine Betriebe. +