Compare commits

...
2 Commits
Author SHA1 Message Date
matthias 41120664f5 Update landing hero section text and layout for improved clarity and engagement
- Revise main heading and service descriptions to better reflect offerings
- Adjust copyright notice for consistency
- Enhance button and layout styles for better user experience
2026-05-06 11:55:07 +02:00
matthias d92ff8c065 Update landing page copy for clarity and engagement
- Revise text in the landing hero section to better resonate with target audience
- Adjust service descriptions for improved understanding
- Enhance package details for clearer value proposition
- Modify headings and labels for consistency and impact
2026-05-06 09:45:14 +02:00
2 changed files with 23 additions and 23 deletions
+13 -13
View File
@@ -28,10 +28,10 @@ const LandingHeroSection = () => {
<div className="max-w-5xl py-16 sm:py-20 lg:py-24"> <div className="max-w-5xl py-16 sm:py-20 lg:py-24">
<p className="mb-6 max-w-sm text-sm uppercase tracking-[0.32em] text-primary"> <p className="mb-6 max-w-sm text-sm uppercase tracking-[0.32em] text-primary">
Projektbrief für regionale Unternehmen Für Betriebe, die lieber arbeiten als basteln
</p> </p>
<h1 className="max-w-[11ch] text-[clamp(4.25rem,13vw,11.5rem)] font-black uppercase leading-[0.78] tracking-normal text-foreground"> <h1 className="max-w-[11ch] text-[clamp(4.25rem,13vw,11.5rem)] font-black uppercase leading-[0.79] tracking-normal text-foreground">
Website ohne Umweg Online Fertig Passt
</h1> </h1>
<div className="mt-8 grid gap-7 border-t border-border pt-7 lg:grid-cols-[0.72fr_1fr]"> <div className="mt-8 grid gap-7 border-t border-border pt-7 lg:grid-cols-[0.72fr_1fr]">
<p className="text-sm uppercase tracking-[0.24em] text-muted-foreground"> <p className="text-sm uppercase tracking-[0.24em] text-muted-foreground">
@@ -39,16 +39,16 @@ const LandingHeroSection = () => {
</p> </p>
<p className="max-w-2xl text-lg leading-8 text-foreground/78"> <p className="max-w-2xl text-lg leading-8 text-foreground/78">
Ich baue Websites für Handwerk, Praxen, Salons und Ich baue Websites für Handwerk, Praxen, Salons und
Dienstleister aus der Region. Direkt, glaubwürdig und so Dienstleister aus der Region — klar genug, dass Besucher
reduziert, dass der nächste Kontakt naheliegt. anrufen statt weiterklicken.
</p> </p>
</div> </div>
</div> </div>
<div className="grid gap-4 border-t border-border pt-5 text-sm uppercase tracking-[0.2em] text-muted-foreground sm:grid-cols-3"> <div className="grid gap-4 border-t border-border pt-5 text-sm uppercase tracking-[0.2em] text-muted-foreground sm:grid-cols-3">
<span>Antwort in 24h</span> <span>Antwort in 24h</span>
<span>DSGVO-arm</span> <span>abmahnsicher</span>
<span>Hosting aus DE</span> <span>Hosting in Sachsen</span>
</div> </div>
</div> </div>
@@ -76,8 +76,8 @@ const LandingHeroSection = () => {
<div className="relative z-10 flex min-h-[520px] flex-1 flex-col lg:min-h-0"> <div className="relative z-10 flex min-h-[520px] flex-1 flex-col lg:min-h-0">
<div className="flex shrink-0 items-start justify-between border-b border-primary-foreground/30 pb-5 text-xs uppercase tracking-[0.28em]"> <div className="flex shrink-0 items-start justify-between border-b border-primary-foreground/30 pb-5 text-xs uppercase tracking-[0.28em]">
<span>Creative Direction</span> <span></span>
<span>2026</span> <span>&copy;2026</span>
</div> </div>
<div className="hidden shrink-0 flex-col items-end gap-2 pt-4 lg:flex"> <div className="hidden shrink-0 flex-col items-end gap-2 pt-4 lg:flex">
@@ -88,8 +88,8 @@ const LandingHeroSection = () => {
)} )}
> >
{liveRasterOn {liveRasterOn
? "Kamera aus? Schalter zurück — fertig." ? "Kamera aus? Schalter zurück, fertig."
: "Psst — einmal wippen, dann lebt das Raster."} : "Psst ... einmal wippen, dann lebt die Seite."}
</p> </p>
<button <button
type="button" type="button"
@@ -102,7 +102,7 @@ const LandingHeroSection = () => {
} }
onClick={() => setLiveRasterOn((v) => !v)} onClick={() => setLiveRasterOn((v) => !v)}
className={cn( className={cn(
"relative h-9 w-[3.25rem] shrink-0 rounded-full border transition-colors duration-300 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-foreground", "relative h-9 w-13 shrink-0 rounded-full border transition-colors duration-300 focus-visible:outline focus-visible:outline-offset-2 focus-visible:outline-primary-foreground",
liveRasterOn liveRasterOn
? "border-primary-foreground/50 bg-primary-foreground/20" ? "border-primary-foreground/50 bg-primary-foreground/20"
: "border-primary-foreground/45 bg-primary-foreground/10 hover:border-primary-foreground/70", : "border-primary-foreground/45 bg-primary-foreground/10 hover:border-primary-foreground/70",
@@ -124,7 +124,7 @@ const LandingHeroSection = () => {
01 01
</p> </p>
<p className="mt-7 max-w-sm text-2xl font-semibold uppercase leading-none"> <p className="mt-7 max-w-sm text-2xl font-semibold uppercase leading-none">
Klarer Auftritt. Harte Kante. Weniger Agenturlärm. Geradeaus. Ohne Buzzwords. Für echte Betriebe.
</p> </p>
</div> </div>
</div> </div>
+10 -10
View File
@@ -15,19 +15,19 @@ const services = [
{ {
number: "02", number: "02",
title: "Struktur", title: "Struktur",
text: "Angebot, Beweise, Ablauf und Kontakt werden so sortiert, dass Besucher nicht suchen müssen.", text: "Angebot, Referenzen, Ablauf und Kontakt werden so sortiert, dass Besucher nicht suchen müssen.",
}, },
{ {
number: "03", number: "03",
title: "Technik", title: "Technik",
text: "Schnell, mobil sauber, DSGVO-arm und so gebaut, dass spätere Änderungen nicht zum Projekt werden.", text: "Schnell, mobil sauber, DSGVO-sauber und so gebaut, dass spätere Änderungen nicht zum Projekt werden.",
}, },
]; ];
const deliverables = [ const deliverables = [
"Strategie und Seitenstruktur", "Strategie und Seitenstruktur",
"Individuelles Screen-Design", "Individuelles Screen-Design",
"Astro/React Umsetzung", "Moderne, schnelle Umsetzung",
"Kontaktformular und Datenschutz", "Kontaktformular und Datenschutz",
"Hosting, Wartung und Analytics", "Hosting, Wartung und Analytics",
]; ];
@@ -41,12 +41,12 @@ const packages = [
{ {
name: "Profi", name: "Profi",
price: "1.499 EUR", price: "1.499 EUR",
detail: "Mehrere Seiten für Betriebe mit erklärungsbedürftigem Angebot.", detail: "Mehrere Seiten für Betriebe mit mehr zu zeigen.",
}, },
{ {
name: "Maßarbeit", name: "Maßarbeit",
price: "2.499 EUR+", price: "2.499 EUR+",
detail: "Individuelle Struktur, CMS und besondere Anforderungen.", detail: "Eigene Struktur, selbst pflegbar, für besondere Anforderungen.",
}, },
]; ];
@@ -62,7 +62,7 @@ const LandingRest = () => {
Leistungen (02) Leistungen (02)
</p> </p>
<h2 className="mt-6 max-w-[9ch] text-5xl font-black uppercase leading-[0.86] sm:text-7xl"> <h2 className="mt-6 max-w-[9ch] text-5xl font-black uppercase leading-[0.86] sm:text-7xl">
Vom Brief zur Seite Drei Schritte. Eine Website.
</h2> </h2>
</div> </div>
<div className="divide-y divide-border"> <div className="divide-y divide-border">
@@ -88,7 +88,7 @@ const LandingRest = () => {
<section className="grid border-b border-border lg:grid-cols-2"> <section className="grid border-b border-border lg:grid-cols-2">
<div className="bg-foreground px-5 py-14 text-background sm:px-8 lg:px-12 lg:py-24"> <div className="bg-foreground px-5 py-14 text-background sm:px-8 lg:px-12 lg:py-24">
<p className="text-sm uppercase tracking-[0.3em] text-primary"> <p className="text-sm uppercase tracking-[0.3em] text-primary">
Deliverables (03) Ergebnis (03)
</p> </p>
<h2 className="mt-8 max-w-[10ch] text-5xl font-black uppercase leading-[0.86] sm:text-7xl"> <h2 className="mt-8 max-w-[10ch] text-5xl font-black uppercase leading-[0.86] sm:text-7xl">
Was am Ende steht Was am Ende steht
@@ -149,11 +149,11 @@ const LandingRest = () => {
Kontakt (05) Kontakt (05)
</p> </p>
<h2 className="mt-8 max-w-[12ch] text-5xl font-black uppercase leading-[0.86] sm:text-7xl lg:text-8xl"> <h2 className="mt-8 max-w-[12ch] text-5xl font-black uppercase leading-[0.86] sm:text-7xl lg:text-8xl">
Erzählen Sie mir kurz vom Projekt Erzählen Sie mir kurz von Ihrem Betrieb
</h2> </h2>
<p className="mt-8 max-w-2xl text-xl leading-8 text-muted-foreground"> <p className="mt-8 max-w-2xl text-xl leading-8 text-muted-foreground">
Ein paar Sätze reichen: Was bieten Sie an, was soll die Website Ein paar Sätze reichen: Was bieten Sie an, was soll die Website
leisten, und wann soll sie online sein? für Sie tun, und wann soll sie online sein?
</p> </p>
<a <a
href="mailto:[email protected]" href="mailto:[email protected]"
@@ -174,7 +174,7 @@ const LandingRest = () => {
</div> </div>
<div className="flex gap-3"> <div className="flex gap-3">
<MapPin className="size-5" /> <MapPin className="size-5" />
<span>Regionale KMU in Deutschland</span> <span>Betriebe aus der Region</span>
</div> </div>
</div> </div>
</section> </section>