diff --git a/index.html b/index.html index c8edbe7..ad5469c 100644 --- a/index.html +++ b/index.html @@ -5,25 +5,165 @@ Ernährungsberater + + + + + + - -
+
+ +
-
- -
+
+ +
-
- -
+
-
- -
-
+ + +
+
+
+ Info über die Beratung +

Gut zu wissen, bevor du startest

+

Transparenz von Anfang an: So arbeitet die Beratung, für wen sie sich eignet und + was dich erwartet.

+
+ +
+
+

Was dich bei der Beratung erwartet

+ +

Gemeinsam schauen wir uns deine individuellen Ziele, Gewohnheiten und Bedürfnisse an und + entwickeln daraus passende Strategien für deinen Alltag.

+ +
    +
  • Individuelle Ernährungsberatung
  • +
  • Erstellung von Ernährungsplänen
  • +
  • Unterstützung bei Gewichtsmanagement
  • +
  • Beratung bei speziellen Ernährungsbedürfnissen
  • +
  • Analyse deiner aktuellen Ernährungsgewohnheiten
  • +
  • Praktische Tipps für die Umsetzung im Alltag
  • +
+
+ +
+

So läuft die Beratung ab

+ +
    +
  1. + Erstgespräch +

    Wir besprechen deine Ziele, Wünsche und bisherigen Erfahrungen.

    +
  2. + +
  3. + Analyse +

    Deine aktuelle Ernährung und deine individuellen Bedürfnisse werden betrachtet. +

    +
  4. + +
  5. + Planung +

    Gemeinsam entwickeln wir konkrete und realistische Maßnahmen.

    +
  6. + +
  7. + Begleitung +

    Bei Bedarf wird der Fortschritt regelmäßig überprüft und der Plan angepasst.

    +
  8. +
+
+ +
+

Für wen ist die Beratung geeignet?

+ +
    +
  • Menschen, die ihre Ernährung verbessern möchten
  • +
  • Sportler mit individuellen Ernährungszielen
  • +
  • Menschen mit speziellen Ernährungsbedürfnissen
  • +
  • Personen, die Unterstützung beim Gewichtsmanagement suchen
  • +
+
+ +
+

Weitere Informationen

+ +

+ Platzhalter für zukünftige Erweiterungen, beispielsweise Informationen zu Preisen, + Terminen, Kontaktmöglichkeiten oder zusätzlichen Beratungsangeboten. +

+
+
+
+ +
+
+

Bereit für deinen nächsten Schritt?

+

Vereinbare ein unverbindliches Kennenlerngespräch – wir schauen gemeinsam, ob die Beratung zu dir + passt.

+ Jetzt + unverbindlich anfragen +
+
+ + + +
+ + + + + + - \ No newline at end of file + diff --git a/script.js b/script.js index e69de29..cdaec13 100644 --- a/script.js +++ b/script.js @@ -0,0 +1,51 @@ +// ----- Mobile Navigation ----- +(function () { + const toggle = document.querySelector(".nav-toggle"); + const nav = document.getElementById("main-nav"); + if (!toggle || !nav) return; + + toggle.addEventListener("click", function () { + const open = nav.classList.toggle("open"); + toggle.setAttribute("aria-expanded", String(open)); + toggle.setAttribute("aria-label", open ? "Menü schließen" : "Menü öffnen"); + }); + + // Menü nach Klick auf einen Link automatisch schließen + nav.querySelectorAll("a").forEach(function (link) { + link.addEventListener("click", function () { + nav.classList.remove("open"); + toggle.setAttribute("aria-expanded", "false"); + }); + }); +})(); + +// ----- Scroll-Reveal ----- +(function () { + const elements = document.querySelectorAll(".reveal"); + if (!elements.length) return; + + const reduceMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches; + + if (reduceMotion || !("IntersectionObserver" in window)) { + elements.forEach(function (el) { + el.classList.add("visible"); + }); + return; + } + + const observer = new IntersectionObserver( + function (entries) { + entries.forEach(function (entry) { + if (entry.isIntersecting) { + entry.target.classList.add("visible"); + observer.unobserve(entry.target); + } + }); + }, + { threshold: 0.12, rootMargin: "0px 0px -40px 0px" } + ); + + elements.forEach(function (el) { + observer.observe(el); + }); +})(); diff --git a/style.css b/style.css index e69de29..3bea284 100644 --- a/style.css +++ b/style.css @@ -0,0 +1,409 @@ + + +:root { + /* Farben – Tokens von tri-hub.de (Hex-Fallback + oklch) */ + --background: #01090e; + --background: oklch(13% .022 223); + --surface: #031217; + --surface: oklch(17% .024 221); + --foreground: #ecf3f5; + --foreground: oklch(96% .008 210); + --muted-fg: #9ba7aa; + --muted-fg: oklch(72% .015 214); + --primary: #00b3c2; + --primary: oklch(70% .12 205); + --border: rgba(255, 255, 255, 0.1); + + /* Typografie */ + --font-display: "Sora", sans-serif; + --font-body: "DM Sans", Arial, Helvetica, sans-serif; + + /* Layout */ + --container: 1120px; + --radius: 1.1rem; +} + +/* ---------- Basic ---------- */ + +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + scroll-behavior: smooth; +} + +body { + margin: 0; + background-color: var(--background); + color: var(--foreground); + font-family: var(--font-body); + line-height: 1.625; + -webkit-font-smoothing: antialiased; + position: relative; +} + +/* Licht*/ +body::before { + content: ""; + position: fixed; + inset: 0; + z-index: -1; + background: + radial-gradient(900px 520px at 78% -10%, rgba(0, 179, 194, 0.13), transparent 65%), + radial-gradient(700px 480px at -10% 30%, rgba(35, 137, 148, 0.1), transparent 60%), + radial-gradient(600px 420px at 90% 95%, rgba(247, 194, 48, 0.05), transparent 60%); + pointer-events: none; +} + +h1, h2, h3 { + margin-top: 0; + font-family: var(--font-display); + color: var(--foreground); + line-height: 1.2; + letter-spacing: -0.01em; +} + +p { + margin: 0 0 1em; +} + +.container { + width: min(100% - 48px, var(--container)); + margin-inline: auto; +} + +/* ---------- Typo-Helfer ---------- */ + +.kicker { + display: inline-flex; + align-items: center; + gap: 10px; + font-size: 0.78rem; + font-weight: 600; + letter-spacing: 0.18em; + text-transform: uppercase; + color: var(--primary); + margin-bottom: 18px; +} + +.kicker::before { + content: ""; + width: 28px; + height: 2px; + border-radius: 2px; + background: var(--primary); +} + +.lead { + font-size: 1.15rem; + color: var(--muted-fg); + max-width: 660px; +} + +.muted { + color: var(--muted-fg); +} + +/* ---------- Button ---------- */ + +.btn { + display: inline-flex; + align-items: center; + justify-content: center; + gap: 0.5rem; + padding: 0.8rem 1.5rem; + border-radius: 999px; + font-family: var(--font-body); + font-weight: 600; + font-size: 0.95rem; + line-height: 1.2; + text-decoration: none; + border: 1px solid transparent; + cursor: pointer; + transition: transform 0.18s ease, box-shadow 0.18s ease, + background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease; +} + +.btn-primary { + background: var(--primary); + color: #03242b; +} + +.btn-primary:hover { + transform: translateY(-1px); + box-shadow: 0 10px 28px rgba(0, 179, 194, 0.28); +} + +/* ---------- Sektionen ---------- */ + +.section { + padding: 96px 0; +} + +.section-head { + max-width: 720px; + margin-bottom: 56px; +} + +.section-head h2 { + font-size: clamp(1.9rem, 4vw, 2.7rem); + margin-bottom: 18px; +} + +/* ---------- Boxen & Grid ---------- */ + +.grid-2 { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 24px; +} + +.box { + background-color: var(--surface); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 32px; + box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15); +} + +/* ---------- Checklisten ---------- */ + +.check-list { + list-style: none; + padding: 0; + margin: 20px 0 0; + display: grid; + gap: 12px; +} + +.check-list li { + position: relative; + padding-left: 34px; + color: var(--foreground); +} + +.check-list li::before { + content: "✓"; + position: absolute; + left: 0; + top: 0; + color: var(--primary); + font-weight: bold; + font-size: 1.1rem; +} + +/* ---------- Ablauf-Schritte ---------- */ + +.beratung-ablauf { + list-style: none; + counter-reset: schritt; + padding: 0; + margin: 24px 0 0; + display: grid; + gap: 20px; +} + +.beratung-ablauf li { + counter-increment: schritt; + position: relative; + padding-left: 60px; +} + +.beratung-ablauf li::before { + content: counter(schritt, decimal-leading-zero); + position: absolute; + left: 0; + top: 2px; + display: grid; + place-items: center; + width: 44px; + height: 44px; + border-radius: 50%; + font-family: var(--font-display); + font-size: 0.9rem; + font-weight: 600; + color: var(--primary); + background: rgba(0, 179, 194, 0.1); + border: 1px solid rgba(0, 179, 194, 0.3); +} + +.beratung-ablauf strong { + display: block; + font-family: var(--font-display); + font-size: 1.02rem; + color: var(--foreground); + margin-bottom: 4px; +} + +.beratung-ablauf p { + margin: 0; + color: var(--muted-fg); + font-size: 0.95rem; +} + +/* ---------- CTA-Band ---------- */ + +.cta-band { + margin-top: 96px; + padding: 64px 40px; + text-align: center; + border: 1px solid var(--border); + border-radius: calc(var(--radius) + 8px); + background: linear-gradient(135deg, #071216, #0a1b1f 46%, #050e16); +} + +.cta-band h2 { + font-size: clamp(1.8rem, 4vw, 2.5rem); + margin-bottom: 16px; +} + +.cta-band p { + color: var(--muted-fg); + max-width: 560px; + margin-inline: auto; +} + +/* ---------- Footer ---------- */ + +.logo { + font-family: var(--font-display); + font-weight: 700; + font-size: 1.35rem; + letter-spacing: -0.02em; + color: var(--foreground); + text-decoration: none; + white-space: nowrap; +} + +.logo span { + color: var(--primary); +} + +.site-footer { + margin-top: 96px; + padding: 64px 0 40px; + border-top: 1px solid var(--border); + background: rgba(255, 255, 255, 0.015); +} + +.footer-grid { + display: grid; + grid-template-columns: 2fr 1fr 1fr; + gap: 48px; +} + +.footer-brand p { + color: var(--muted-fg); + font-size: 0.95rem; + max-width: 340px; + margin-top: 14px; +} + +.footer-col h3 { + font-size: 0.85rem; + letter-spacing: 0.14em; + text-transform: uppercase; + color: var(--muted-fg); + margin-bottom: 16px; +} + +.footer-col ul { + list-style: none; + margin: 0; + padding: 0; +} + +.footer-col a { + display: block; + padding: 5px 0; + color: var(--muted-fg); + text-decoration: none; + font-size: 0.92rem; + transition: color 0.15s ease; +} + +.footer-col a:hover { + color: var(--foreground); +} + +.footer-legal { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + gap: 12px; + margin-top: 48px; + padding-top: 24px; + border-top: 1px solid var(--border); + color: var(--muted-fg); + font-size: 0.85rem; +} + +.footer-legal a { + color: inherit; + text-decoration: none; +} + +.footer-legal a:hover { + color: var(--foreground); +} + +/* ---------- Scroll-Reveal ---------- */ + +.reveal { + opacity: 0; + transform: translateY(18px); + transition: opacity 0.6s ease, transform 0.6s ease; +} + +.reveal.visible { + opacity: 1; + transform: none; +} + +/* ---------- Responsiv ---------- */ + +@media (max-width: 980px) { + .footer-grid { + grid-template-columns: 1fr 1fr; + } +} + +@media (max-width: 760px) { + .grid-2 { + grid-template-columns: 1fr; + } + + .section { + padding: 72px 0; + } + + .footer-grid { + grid-template-columns: 1fr; + gap: 32px; + } + + .cta-band { + padding: 48px 24px; + } +} + +/* ---------- Reduzierte Bewegung ---------- */ + +@media (prefers-reduced-motion: reduce) { + html { + scroll-behavior: auto; + } + + .reveal { + opacity: 1; + transform: none; + transition: none; + } + + * { + transition-duration: 0.01ms !important; + } +}