diff --git a/css/sections/kontakt.css b/css/sections/kontakt.css
new file mode 100644
index 0000000..23a2cdc
--- /dev/null
+++ b/css/sections/kontakt.css
@@ -0,0 +1,140 @@
+/* 8. Trainer und Kontakt (US04-02)
+ Trainerprofil ist ein PLATZHALTER – Foto und Inhalte folgen vom Kunden.
+ Kontakt leitet auf https://tri-hub.de/kontakt weiter. */
+
+.contact { border-top: 1px solid var(--line); }
+
+.contact-grid {
+ display: grid;
+ grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
+ gap: 24px;
+ align-items: stretch;
+}
+
+/* ---------- Trainerprofil (Platzhalter) ---------- */
+.trainer-card {
+ display: grid;
+ grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
+ gap: 28px;
+ padding: 16px;
+ border: 1px solid var(--line);
+ border-radius: 2rem;
+ background: linear-gradient(#ffffff0f, #ffffff05), linear-gradient(#08151ee6, #091822fa);
+ box-shadow: 0 18px 48px rgb(0 0 0 / 16%);
+}
+
+.trainer-photo {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ min-height: 320px;
+ border: 1px dashed rgb(255 255 255 / 22%);
+ border-radius: 1.35rem;
+ background:
+ radial-gradient(circle at 50% 38%, rgb(255 255 255 / 10%) 0 18%, transparent 19%),
+ radial-gradient(ellipse at 50% 100%, rgb(255 255 255 / 8%) 0 42%, transparent 43%),
+ rgb(255 255 255 / 3%);
+ color: var(--quiet);
+ font-size: .8125rem;
+ letter-spacing: .18em;
+ text-transform: uppercase;
+}
+
+.trainer-photo span { margin-top: 62%; }
+
+.trainer-body { padding: 12px 12px 12px 0; }
+
+.placeholder-tag {
+ display: inline-block;
+ margin-bottom: 14px;
+ padding: 4px 12px;
+ border: 1px dashed rgb(255 255 255 / 28%);
+ border-radius: 999px;
+ color: var(--quiet);
+ font-size: .75rem;
+ font-weight: 600;
+ letter-spacing: .16em;
+ text-transform: uppercase;
+}
+
+.trainer-body h3 { font-size: 1.5rem; }
+
+.trainer-role { margin-top: 6px; color: var(--muted); font-size: 1rem; }
+
+.trainer-facts {
+ margin: 22px 0 0;
+ padding: 0;
+ list-style: none;
+ border-top: 1px solid var(--line);
+}
+
+.trainer-facts li {
+ display: grid;
+ grid-template-columns: 130px 1fr;
+ gap: 12px;
+ padding: 11px 0;
+ border-bottom: 1px solid var(--line);
+ font-size: 1rem;
+ color: rgb(255 255 255 / 86%);
+}
+
+.trainer-facts span { color: var(--quiet); font-size: .875rem; }
+
+.trainer-quote {
+ margin-top: 20px;
+ color: var(--muted);
+ font-style: italic;
+ font-size: 1rem;
+}
+
+/* ---------- Kontaktbox ---------- */
+.contact-card {
+ display: flex;
+ flex-direction: column;
+ padding: 36px;
+ border: 1px solid color-mix(in srgb, var(--accent-muted) 35%, transparent);
+ border-radius: 2rem;
+ background:
+ radial-gradient(circle at 100% 0, rgb(46 182 194 / 14%), transparent 45%),
+ var(--panel);
+}
+
+.contact-card h3 { margin-top: 14px; font-size: clamp(1.5rem, 2.2vw, 1.9rem); }
+
+.contact-card > p:not(.eyebrow) { margin-top: 14px; color: var(--muted); font-size: 1rem; }
+
+.contact-points {
+ flex: 1;
+ margin: 22px 0 28px;
+ padding: 0;
+ list-style: none;
+}
+
+.contact-points li {
+ position: relative;
+ padding: 6px 0 6px 26px;
+ font-size: 1rem;
+}
+
+.contact-points li::before {
+ content: "✓";
+ position: absolute;
+ left: 0;
+ color: var(--accent-strong);
+}
+
+.contact-button { align-self: flex-start; }
+
+/* ---------- Responsiv ---------- */
+@media (max-width: 1100px) {
+ .contact-grid { grid-template-columns: 1fr; }
+}
+
+@media (max-width: 760px) {
+ .trainer-card { grid-template-columns: 1fr; gap: 18px; }
+ .trainer-photo { min-height: 260px; }
+ .trainer-body { padding: 4px 8px 12px; }
+ .trainer-facts li { grid-template-columns: 1fr; gap: 2px; }
+ .contact-card { padding: 26px 22px; }
+ .contact-button { align-self: stretch; }
+}
\ No newline at end of file
diff --git a/ernaehrungsberatung.html b/ernaehrungsberatung.html
index 93641a8..3fd148a 100644
--- a/ernaehrungsberatung.html
+++ b/ernaehrungsberatung.html
@@ -19,6 +19,7 @@
+
@@ -45,7 +46,7 @@
>