Compare commits

...

2 Commits

Author SHA1 Message Date
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
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

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>

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:hallo@matthias-meister.com" href="mailto:hallo@matthias-meister.com"
@@ -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>