diff --git a/app/[locale]/blog/page.tsx b/app/[locale]/blog/page.tsx index 60e38273..eaa6ce01 100644 --- a/app/[locale]/blog/page.tsx +++ b/app/[locale]/blog/page.tsx @@ -51,38 +51,40 @@ export default async function BlogIndex({ params: { locale } }: BlogIndexProps) return (
{/* Hero Section - Immersive Magazine Feel */} -
- {featuredPost && featuredPost.frontmatter.featuredImage && ( - <> - {featuredPost.frontmatter.title} -
- - )} - - -
- {t('featuredPost')} - {featuredPost && ( - <> -

- {featuredPost.frontmatter.title} -

-

- {featuredPost.frontmatter.excerpt} -

- - - )} -
-
-
+ +
+ {featuredPost && featuredPost.frontmatter.featuredImage && ( + <> + {featuredPost.frontmatter.title} +
+ + )} + + +
+ {t('featuredPost')} + {featuredPost && ( + <> +

+ {featuredPost.frontmatter.title} +

+

+ {featuredPost.frontmatter.excerpt} +

+ + + )} +
+
+
+
diff --git a/app/[locale]/contact/page.tsx b/app/[locale]/contact/page.tsx index 859ec433..d7d43c31 100644 --- a/app/[locale]/contact/page.tsx +++ b/app/[locale]/contact/page.tsx @@ -1,5 +1,6 @@ import ContactForm from '@/components/ContactForm'; import JsonLd from '@/components/JsonLd'; +import Reveal from '@/components/Reveal'; import { Container, Heading, Section } from '@/components/ui'; import { Metadata } from 'next'; import { getTranslations } from 'next-intl/server'; @@ -127,21 +128,23 @@ export default async function ContactPage({ params }: ContactPageProps) { }} /> {/* Hero Section */} -
-
-
-
- -
- - {t('title')} - -

- {t('subtitle')} -

+ +
+
+
- -
+ +
+ + {t('title')} + +

+ {t('subtitle')} +

+
+
+
+
diff --git a/app/[locale]/products/page.tsx b/app/[locale]/products/page.tsx index 65b7409f..a36b0a29 100644 --- a/app/[locale]/products/page.tsx +++ b/app/[locale]/products/page.tsx @@ -166,25 +166,27 @@ export default async function ProductsPage({ params }: ProductsPageProps) {
{/* Technical Support CTA */} -
- -
-
-
-
-

{t('cta.title')}

-

- {t('cta.description')} -

+ +
+ +
+
+
+
+

{t('cta.title')}

+

+ {t('cta.description')} +

+
+
-
-
-
-
+ +
+
); } diff --git a/app/[locale]/team/page.tsx b/app/[locale]/team/page.tsx index 4e1a29fc..13438f91 100644 --- a/app/[locale]/team/page.tsx +++ b/app/[locale]/team/page.tsx @@ -85,28 +85,30 @@ export default async function TeamPage({ params: { locale } }: TeamPageProps) { }} /> {/* Hero Section */} -
-
- KLZ Team -
-
- - - {t('hero.badge')} -

- {t('hero.subtitle')} -

-

- {t('hero.title')} -

-
-
+ +
+
+ KLZ Team +
+
+ + + {t('hero.badge')} +

+ {t('hero.subtitle')} +

+

+ {t('hero.title')} +

+
+
+
{/* Michael Bodemer Section - Sticky Narrative Split Layout */}
@@ -138,73 +140,75 @@ export default async function TeamPage({ params: { locale } }: TeamPageProps) { -
- {t('michael.name')} + {t('michael.name')}
-
+
{/* Legacy Section - Immersive Background */} -
-
- {t('legacy.subtitle')} -
-
- -
-
- - {t('legacy.title')} - -
-

- {t('legacy.p1')} -

-

- {t('legacy.p2')} -

-
-
-
-
-
{t('legacy.expertise')}
-
{t('legacy.expertiseDesc')}
-
-
-
{t('legacy.network')}
-
{t('legacy.networkDesc')}
-
-
+ +
+
+ {t('legacy.subtitle')} +
- -
+ +
+
+ + {t('legacy.title')} + +
+

+ {t('legacy.p1')} +

+

+ {t('legacy.p2')} +

+
+
+
+
+
{t('legacy.expertise')}
+
{t('legacy.expertiseDesc')}
+
+
+
{t('legacy.network')}
+
{t('legacy.networkDesc')}
+
+
+
+
+
+ {/* Klaus Mintel Section - Reversed Split Layout */}
-
- {t('klaus.name')} + {t('klaus.name')}
-
+
@@ -273,7 +277,9 @@ export default async function TeamPage({ params: { locale } }: TeamPageProps) {
- + + + ); } diff --git a/styles/globals.css b/styles/globals.css index b7dd69be..d50d72c7 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -166,17 +166,24 @@ @utility reveal-on-scroll { opacity: 0; - transform: translateY(30px); - transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); + transform: translateY(40px) scale(0.95) rotate(-2deg); + filter: blur(12px); + transition: + opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94), + transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94), + filter 1s cubic-bezier(0.25, 0.46, 0.45, 0.94); &.is-visible { opacity: 1; - transform: translateY(0); + transform: translateY(0) scale(1) rotate(0deg); + filter: blur(0); } @media (prefers-reduced-motion: reduce) { - transition: opacity 0.5s ease-out; + opacity: 1; transform: none !important; + filter: none !important; + transition: opacity 0.3s ease-out; } }