diff --git a/css/style.css b/css/style.css
new file mode 100644
index 0000000..733ecc8
--- /dev/null
+++ b/css/style.css
@@ -0,0 +1,365 @@
+:root {
+ color-scheme: dark;
+ --background: #0d0d1a;
+ --text: #f8fafc;
+ --muted: #c1c9d2;
+ --accent: #10b981;
+ --border: rgb(255 255 255 / 16%);
+ font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
+ color: var(--text);
+ background: var(--background);
+}
+
+*,
+*::before,
+*::after {
+ box-sizing: border-box;
+}
+
+body {
+ display: flex;
+ flex-direction: column;
+ min-height: 100vh;
+ min-height: 100svh;
+ margin: 0;
+ line-height: 1.6;
+}
+
+p,
+h1 {
+ margin: 0;
+}
+
+.container {
+ width: min(1680px, calc(100% - clamp(40px, 10vw, 192px)));
+ margin-inline: auto;
+}
+
+.site-header {
+ border-top: 3px solid var(--accent);
+}
+
+.brand {
+ display: flex;
+ align-items: center;
+ gap: 24px;
+ min-height: 88px;
+}
+
+.brand__name {
+ font-size: 30px;
+ font-weight: 750;
+ line-height: 1;
+ letter-spacing: -1.5px;
+}
+
+.brand__name span {
+ color: var(--accent);
+}
+
+.brand__label {
+ padding-left: 24px;
+ border-left: 1px solid var(--border);
+ color: var(--muted);
+ font-size: 13px;
+ letter-spacing: 0.025em;
+}
+
+main {
+ display: flex;
+ flex: 1;
+}
+
+.hero {
+ position: relative;
+ isolation: isolate;
+ display: flex;
+ flex: 1;
+ min-width: 0;
+ border-block: 1px solid var(--border);
+}
+
+.hero__image,
+.hero::after {
+ position: absolute;
+ z-index: -1;
+ inset: 0;
+ width: 100%;
+ height: 100%;
+}
+
+.hero__image {
+ object-fit: cover;
+ object-position: center 42%;
+}
+
+.hero::after {
+ background:
+ linear-gradient(0deg, rgb(13 13 26 / 96%), transparent 42%),
+ linear-gradient(90deg, rgb(13 13 26 / 94%) 0%, rgb(13 13 26 / 79%) 35%, rgb(13 13 26 / 38%) 72%, rgb(13 13 26 / 25%) 100%);
+ content: "";
+}
+
+.hero__inner {
+ display: flex;
+ flex-direction: column;
+ padding-block: clamp(32px, 5vh, 64px) 28px;
+}
+
+.hero__content {
+ width: min(100%, 1000px);
+ margin-block: auto;
+ padding-block: 24px 64px;
+}
+
+.hero__eyebrow {
+ display: flex;
+ align-items: center;
+ gap: 12px;
+ margin-bottom: 26px;
+ color: #64e5b7;
+ font-size: 11px;
+ font-weight: 650;
+ letter-spacing: 0.16em;
+ text-transform: uppercase;
+}
+
+.hero__eyebrow::before {
+ width: 28px;
+ height: 1px;
+ flex-shrink: 0;
+ background: currentColor;
+ content: "";
+}
+
+h1 {
+ max-width: 100%;
+ font-size: clamp(42px, 4.9vw, 88px);
+ font-weight: 550;
+ line-height: 1.1;
+ letter-spacing: -0.055em;
+ text-wrap: balance;
+ overflow-wrap: break-word;
+}
+
+h1 span {
+ display: block;
+ margin-top: 8px;
+ color: var(--accent);
+}
+
+.hero__description {
+ max-width: 65ch;
+ margin-top: 30px;
+ color: #d1d7df;
+ font-size: clamp(16px, 1.15vw, 19px);
+ line-height: 1.85;
+}
+
+.hero__details {
+ display: grid;
+ grid-template-columns: minmax(0, 1fr) 250px;
+ align-items: center;
+ gap: 48px;
+ padding-top: 28px;
+ border-top: 1px solid var(--border);
+}
+
+.benefits {
+ display: grid;
+ grid-template-columns: repeat(3, minmax(0, 1fr));
+ gap: 24px;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+
+.benefits li {
+ display: flex;
+ align-items: baseline;
+ gap: 14px;
+}
+
+.benefits__number {
+ color: #64e5b7;
+ font-size: 11px;
+ font-variant-numeric: tabular-nums;
+}
+
+.benefits p {
+ font-size: 14px;
+ font-weight: 500;
+}
+
+.benefits p span {
+ display: block;
+ margin-top: 4px;
+ color: var(--muted);
+ font-size: 12px;
+ font-weight: 400;
+}
+
+.hero__caption {
+ padding-left: 24px;
+ border-left: 1px solid var(--border);
+}
+
+.hero__caption-label {
+ color: var(--muted);
+ font-size: 10px;
+ letter-spacing: 0.12em;
+ text-transform: uppercase;
+}
+
+.hero__slogan {
+ margin-top: 8px;
+ font-size: 22px;
+ font-weight: 450;
+ line-height: 1.4;
+ letter-spacing: -0.025em;
+}
+
+.site-footer__inner {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ gap: 24px;
+ min-height: 88px;
+ padding-block: 24px;
+ font-size: 12px;
+}
+
+.site-footer__inner p > span {
+ margin-left: 12px;
+ color: var(--muted);
+}
+
+.site-footer__note {
+ display: flex;
+ align-items: center;
+ gap: 9px;
+ color: var(--muted);
+}
+
+.site-footer__note > span {
+ width: 5px;
+ height: 5px;
+ flex-shrink: 0;
+ border-radius: 50%;
+ background: var(--accent);
+}
+
+@media (max-width: 1100px) {
+ .hero__image {
+ object-position: 80% center;
+ }
+
+ .hero::after {
+ background:
+ linear-gradient(0deg, rgb(13 13 26 / 96%), transparent 42%),
+ linear-gradient(90deg, rgb(13 13 26 / 92%), rgb(13 13 26 / 70%) 65%, rgb(13 13 26 / 48%));
+ }
+
+ .hero__content {
+ max-width: 85%;
+ }
+
+ .hero__details {
+ grid-template-columns: minmax(0, 1fr) 200px;
+ gap: 28px;
+ }
+
+ .benefits li {
+ flex-direction: column;
+ gap: 8px;
+ }
+}
+
+@media (max-width: 700px) {
+ .brand {
+ min-height: 76px;
+ gap: 16px;
+ }
+
+ .brand__label {
+ padding-left: 16px;
+ font-size: 11px;
+ }
+
+ .hero__image {
+ object-position: 85% center;
+ }
+
+ .hero::after {
+ background: linear-gradient(90deg, rgb(13 13 26 / 87%), rgb(13 13 26 / 65%)),
+ linear-gradient(0deg, var(--background), transparent 55%);
+ }
+
+ .hero__content {
+ max-width: 100%;
+ padding-block: 12px 40px;
+ }
+
+ .hero__eyebrow {
+ gap: 8px;
+ font-size: 10px;
+ letter-spacing: 0.11em;
+ }
+
+ .hero__eyebrow::before {
+ width: 20px;
+ }
+
+ .hero__description {
+ margin-top: 24px;
+ }
+
+ .hero__details {
+ grid-template-columns: 1fr;
+ gap: 28px;
+ padding-top: 24px;
+ }
+
+ .benefits {
+ gap: 16px;
+ }
+
+ .benefits p {
+ font-size: 12px;
+ }
+
+ .hero__caption {
+ padding-left: 16px;
+ border-left-color: var(--accent);
+ }
+
+ .hero__slogan {
+ font-size: 20px;
+ }
+
+ .site-footer__inner {
+ align-items: flex-start;
+ flex-direction: column;
+ gap: 14px;
+ }
+
+ .site-footer__inner p > span {
+ margin-left: 0;
+ }
+
+ .site-footer__inner > p:first-child span {
+ display: block;
+ margin-top: 4px;
+ }
+}
+
+@media (max-width: 360px) {
+ .benefits {
+ grid-template-columns: 1fr;
+ }
+
+ .benefits li {
+ flex-direction: row;
+ gap: 14px;
+ }
+}
diff --git a/images/hero-triathlon.webp b/images/hero-triathlon.webp
new file mode 100644
index 0000000..239ac6d
Binary files /dev/null and b/images/hero-triathlon.webp differ
diff --git a/index.html b/index.html
index c8edbe7..79f200f 100644
--- a/index.html
+++ b/index.html
@@ -4,26 +4,70 @@
- Ernährungsberater
+ Ernährungsberatung für Triathleten | tri-hub
+
-
-
-
-
+
+
+
-
-
-
+
+
+
Der Text wärmt sich noch auf
+
+ Überschrift. Weitere Zeile.
+ Akzentzeile.
+
+
+ Hier folgt eine kurze Beschreibung der Ernährungsberatung.
+ Dieser Platz ist für den finalen Text vorgesehen und wird ergänzt,
+ sobald die Inhalte vorliegen.
+
+
-
-
-
+
+
+
+ 01
+ Erster Vorteil Text folgt
+
+
+ 02
+ Zweiter Vorteil Text folgt
+
+
+ 03
+ Dritter Vorteil Text folgt
+
+
-
+
+
Bildunterschrift folgt
+
Slogan folgt. Weitere Zeile.
+
+
+
+
+
+
+
-