Compare commits
2 Commits
6083844c24
...
41120664f5
| Author | SHA1 | Date | |
|---|---|---|---|
| 41120664f5 | |||
| d92ff8c065 |
@@ -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>©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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user