From 57039e188b352b4dca199cb0cf6a669d0aa1871c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20H=C3=B6fling?= Date: Tue, 5 May 2026 00:16:05 +0200 Subject: [PATCH] feat: Hero im Goldenen Schnitt, Cluster als interaktiver Service-Picker (v1.6.0) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Hero-Layout: zweispaltiges Grid 1.618 : 1 (Goldener Schnitt) — Content links, Logo-Cluster rechts; auf Mobile (; smooth-scroll dank scroll-mt-32 an Karten - a11y: aria-label am SVG, focus-visible Hervorhebung, prefers-reduced-motion Co-Authored-By: Claude Opus 4.7 (1M context) --- CLAUDE.md | 2 +- css/style.css | 114 ++++++++++++++++++++++++++------------- datenschutz.html | 2 +- impressum.html | 2 +- index.html | 137 ++++++++++++++++++++++++----------------------- 5 files changed, 150 insertions(+), 107 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 75f027f..5e7fe98 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -73,4 +73,4 @@ Statische Dateien direkt auf Nginx ausliefern. Kein Build-Step notwendig. --- -*Zuletzt aktualisiert: Mai 2026 — v1.5.1 (Mesh als Logo-Cluster überarbeitet)* +*Zuletzt aktualisiert: Mai 2026 — v1.6.0 (Hero im Goldenen Schnitt, Cluster als Service-Picker)* diff --git a/css/style.css b/css/style.css index 974dfcb..c228917 100644 --- a/css/style.css +++ b/css/style.css @@ -88,79 +88,121 @@ html { 0 0 48px rgba(6, 115, 145, 0.06); } -/* ---- Hero Mesh: Logo-Cluster (Sonith-Stern wiederholt) ---- - Greift das exakte Logo-Motiv auf: zentraler Knoten mit Ring + 5 strahlenfoermige - Linien zu Aussenknoten in der Original-Logo-Anordnung (asymmetrisch nach rechts - verlaengert). Drei Cluster mit unterschiedlicher Skala fuer Tiefe. */ -.hero-mesh { - opacity: 0.55; - mix-blend-mode: screen; +/* ---- Hero-Grid (Goldener Schnitt) ---- */ +.hero-grid { + display: grid; + grid-template-columns: 1fr; + gap: 3rem; + align-items: center; +} + +@media (min-width: 1024px) { + .hero-grid { + grid-template-columns: 1.618fr 1fr; /* Goldener Schnitt: Content : Cluster */ + gap: 4rem; + } +} + +/* Cluster-Wrapper: auf Mobile ausgeblendet (Knoten sind Touch-empfindlich, + das gehoert in eine ruhige Desktop-Praesentation; Mobile-User nutzen das Menue). */ +.cluster-wrapper { display: none; } +@media (min-width: 1024px) { + .cluster-wrapper { display: block; } +} + +/* ---- Hero-Cluster: Sonith-Logo-Stern als interaktiver Service-Picker ---- + Greift das exakte Logo-Motiv auf — zentraler Knoten mit pulsierendem Ring + + 5 strahlenfoermige Linien zu Aussenknoten in der originalen Logo-Anordnung + (asymmetrisch nach rechts verlaengert). Jeder Knoten ist Anker-Link. */ +.hero-cluster { + overflow: visible; + filter: drop-shadow(0 0 60px rgba(6, 115, 145, 0.18)); } .logo-cluster line { stroke: #067391; - stroke-width: 1.6; + stroke-width: 2; stroke-linecap: round; - stroke-opacity: 0.45; + stroke-opacity: 0.55; fill: none; stroke-dasharray: 6 10; animation: line-flow 8s linear infinite; } -.cluster-b line { stroke-width: 1.2; stroke-opacity: 0.4; animation-duration: 6.5s; animation-delay: -2s; } -.cluster-c line { stroke-width: 1.0; stroke-opacity: 0.35; animation-duration: 10s; animation-delay: -4s; } @keyframes line-flow { to { stroke-dashoffset: -48; } } -.cluster-core { - fill: #DEDC1E; - filter: drop-shadow(0 0 10px rgba(222, 220, 30, 0.7)); - transform-box: fill-box; - transform-origin: center; - animation: core-pulse 3.2s ease-in-out infinite; -} -.cluster-b .cluster-core { animation-delay: -1s; } -.cluster-c .cluster-core { animation-delay: -2s; } - -@keyframes core-pulse { - 0%, 100% { transform: scale(1); opacity: 0.85; } - 50% { transform: scale(1.15); opacity: 1; } -} - .cluster-ring { fill: none; stroke: #DEDC1E; - stroke-width: 1.6; - stroke-opacity: 0.55; + stroke-width: 1.8; + stroke-opacity: 0.6; transform-box: fill-box; transform-origin: center; animation: ring-pulse 4s ease-in-out infinite; } -.cluster-b .cluster-ring { animation-delay: -1.5s; } -.cluster-c .cluster-ring { animation-delay: -2.5s; } @keyframes ring-pulse { - 0%, 100% { transform: scale(1); stroke-opacity: 0.55; } - 50% { transform: scale(1.18); stroke-opacity: 0.20; } + 0%, 100% { transform: scale(1); stroke-opacity: 0.6; } + 50% { transform: scale(1.22); stroke-opacity: 0.18; } } +/* Knoten — gefuellte Kreise mit Glow + asynchroner Pulse */ .node { fill: #DEDC1E; - filter: drop-shadow(0 0 5px rgba(222, 220, 30, 0.5)); + filter: drop-shadow(0 0 6px rgba(222, 220, 30, 0.55)); transform-box: fill-box; transform-origin: center; animation: node-pulse 3.6s ease-in-out infinite; + transition: transform 0.25s ease, filter 0.25s ease; +} + +.node-center { + animation-duration: 3.0s; + filter: drop-shadow(0 0 14px rgba(222, 220, 30, 0.75)); } @keyframes node-pulse { - 0%, 100% { transform: scale(1); opacity: 0.55; } - 50% { transform: scale(1.5); opacity: 1; } + 0%, 100% { transform: scale(1); opacity: 0.7; } + 50% { transform: scale(1.18); opacity: 1; } +} + +/* Klickflaeche: unsichtbarer groesserer Kreis (bessere Mausziel-Groesse) */ +.node-hit { + fill: transparent; + cursor: pointer; + pointer-events: all; +} + +/* Hover-Verstaerkung: der zugehoerige sichtbare Knoten reagiert kraeftig */ +.cluster-link { cursor: pointer; } + +.cluster-link:hover .node, +.cluster-link:focus-visible .node { + transform: scale(1.7); + filter: drop-shadow(0 0 16px rgba(222, 220, 30, 1)) + drop-shadow(0 0 30px rgba(222, 220, 30, 0.6)); + animation-play-state: paused; +} + +.cluster-link:hover .node-center, +.cluster-link:focus-visible .node-center { + transform: scale(1.35); + filter: drop-shadow(0 0 24px rgba(222, 220, 30, 1)) + drop-shadow(0 0 50px rgba(222, 220, 30, 0.7)); +} + +.cluster-link:focus-visible { + outline: none; +} +.cluster-link:focus-visible .node { + stroke: #DEDC1E; + stroke-width: 2; } @media (prefers-reduced-motion: reduce) { .logo-cluster line, - .cluster-core, .cluster-ring, .node { animation: none !important; } } diff --git a/datenschutz.html b/datenschutz.html index f044a16..10cdb61 100644 --- a/datenschutz.html +++ b/datenschutz.html @@ -208,7 +208,7 @@

© 2026 sonith UG (haftungsbeschränkt)

- v1.5.1 + v1.6.0
Impressum diff --git a/impressum.html b/impressum.html index 18c8cfb..23a2e4d 100644 --- a/impressum.html +++ b/impressum.html @@ -91,7 +91,7 @@

© 2026 sonith UG (haftungsbeschränkt)

- v1.5.1 + v1.6.0
Impressum diff --git a/index.html b/index.html index 1d82e27..d480231 100644 --- a/index.html +++ b/index.html @@ -120,78 +120,22 @@
- +
- -
- - -
-
-
+
+
+

Managed Service Provider

@@ -215,6 +159,63 @@

+ + +
@@ -239,7 +240,7 @@
-
+
@@ -250,7 +251,7 @@
-
+
@@ -261,7 +262,7 @@
-
+
@@ -272,7 +273,7 @@
-
+
@@ -283,7 +284,7 @@
-
+
@@ -294,7 +295,7 @@
-
+
@@ -525,7 +526,7 @@

© 2026 sonith UG (haftungsbeschränkt)

- v1.5.1 + v1.6.0