Setup: Grundgerüst mit leeren Sektionen für US01-01 bis US01-03

pull/1/head
Kevin Kopp 2026-09-24 16:29:29 +02:00
parent e43891ff3f
commit 8ead245453
8 changed files with 191 additions and 0 deletions

View File

95
css/base.css 100644
View File

@ -0,0 +1,95 @@
/* =========================================================
base.css – gemeinsame Basis für alle Features
Änderungen hier nur über eigenen Branch (betrifft alle!)
========================================================= */
/* ---------- Design-Tokens laut tri-hub Design-DNA ---------- */
:root {
/* Hintergrund: tiefes Dunkelblau / Schwarz */
--th-bg: #0d0d1a;
--th-bg-elevated: #1a1a2e;
/* Akzent: Teal / Emerald Green – CTAs, Icons, Highlights */
--th-accent: #10b981;
/* Text: Weiß / Hellgrau */
--th-text: #ffffff;
--th-text-soft: #f8fafc;
--th-text-muted: #94a3b8;
/* Typografie: Serif Display + Sans-Serif Body */
--th-font-display: "Playfair Display", Georgia, serif;
--th-font-body: "Inter", system-ui, sans-serif;
/* Lesbarkeit Zielgruppe 50+ (Definition of Done) */
--th-font-size-body: 1.125rem; /* 18px */
--th-line-height: 1.65;
/* Abstände / Radien für alle Sektionen */
--th-section-space: 5rem;
--th-radius: 1.4rem;
}
/* ---------- Grundlayout ---------- */
body {
background: var(--th-bg);
color: var(--th-text-soft);
font-family: var(--th-font-body);
font-size: var(--th-font-size-body);
line-height: var(--th-line-height);
}
h1, h2, h3 {
font-family: var(--th-font-display);
color: var(--th-text);
letter-spacing: -0.01em;
}
main > section {
padding-block: var(--th-section-space);
}
/* Anker nicht unter dem Header verstecken */
section[id] {
scroll-margin-top: 5rem;
}
/* ---------- Header ---------- */
.site-header {
position: sticky;
top: 0;
z-index: 40;
background: rgb(13 13 26 / 0.85);
backdrop-filter: blur(12px);
border-bottom: 1px solid rgb(255 255 255 / 0.08);
}
.site-header .container {
display: flex;
align-items: center;
justify-content: space-between;
padding-block: 1rem;
}
.site-logo {
font-family: var(--th-font-display);
font-size: 1.5rem;
font-weight: 700;
color: var(--th-text);
}
/* ---------- Barrierefreiheit ---------- */
a:focus-visible,
button:focus-visible {
outline: 3px solid var(--th-accent);
outline-offset: 4px;
border-radius: 0.5rem;
}
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
*, *::before, *::after {
transition-duration: 0.01ms !important;
animation-duration: 0.01ms !important;
}
}

View File

@ -0,0 +1,9 @@
/* =========================================================
US01-03: Ablauf sehen (+ Kontaktangaben)
Branch: feature/US01-03-ablauf
Nur Selektoren unter #ablauf verwenden.
Farben/Schriften über var(--th-...) aus base.css.
========================================================= */
#ablauf {
}

View File

@ -0,0 +1,9 @@
/* =========================================================
US01-01: Angebot und Zielgruppe sofort sehen (Hero)
Branch: feature/US01-01-hero
Nur Selektoren unter #hero verwenden.
Farben/Schriften über var(--th-...) aus base.css.
========================================================= */
#hero {
}

View File

@ -0,0 +1,9 @@
/* =========================================================
US01-02: Vorteile auf einen Blick
Branch: feature/US01-02-vorteile
Nur Selektoren unter #vorteile verwenden.
Farben/Schriften über var(--th-...) aus base.css.
========================================================= */
#vorteile {
}

View File

@ -0,0 +1,66 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ernährungsberatung für Triathleten 50+ | tri-hub</title>
<meta name="description" content="Ernährungsberatung für Triathletinnen und Triathleten ab 50.">
<!-- Kunden-CSS (Tailwind-Build von tri-hub.de) – NICHT verändern -->
<link rel="stylesheet" href="css/assets.css">
<!-- Schriften laut Design-DNA: Playfair Display (Überschriften) + Inter (Text) -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap">
<!-- Projektweite Basis (Design-Tokens, Lesbarkeit) -->
<link rel="stylesheet" href="css/base.css">
<!-- Ein Stylesheet pro User Story – jede Datei gehört genau einem Feature-Branch -->
<link rel="stylesheet" href="css/sections/hero.css"> <!-- US01-01 -->
<link rel="stylesheet" href="css/sections/vorteile.css"> <!-- US01-02 -->
<link rel="stylesheet" href="css/sections/ablauf.css"> <!-- US01-03 -->
</head>
<body>
<header class="site-header">
<div class="container">
<a href="/" class="site-logo">tri-hub</a>
<!-- US01-05 Navigation: späterer Sprint -->
</div>
</header>
<main>
<!-- ========== US01-01: Angebot und Zielgruppe (Hero) ==========
Branch: feature/US01-01-hero · Styles: css/sections/hero.css
Nur innerhalb dieser <section> arbeiten. -->
<section id="hero" aria-labelledby="hero-title">
<!-- US01-01: Inhalt hier einfügen -->
</section>
<!-- ========== /US01-01 ========== -->
<!-- ========== US01-02: Vorteile auf einen Blick ==========
Branch: feature/US01-02-vorteile · Styles: css/sections/vorteile.css
Nur innerhalb dieser <section> arbeiten. -->
<section id="vorteile" aria-labelledby="vorteile-title">
<!-- US01-02: Inhalt hier einfügen -->
</section>
<!-- ========== /US01-02 ========== -->
<!-- ========== US01-03: Ablauf sehen (+ Kontaktangaben) ==========
Branch: feature/US01-03-ablauf · Styles: css/sections/ablauf.css
Nur innerhalb dieser <section> arbeiten. -->
<section id="ablauf" aria-labelledby="ablauf-title">
<!-- US01-03: Inhalt hier einfügen -->
</section>
<!-- ========== /US01-03 ========== -->
</main>
<script src="js/main.js" defer></script>
</body>
</html>

3
js/main.js 100644
View File

@ -0,0 +1,3 @@
// Einstiegspunkt für Skripte.
// Feature-Code in eigene Dateien auslagern (z. B. js/scroll.js für US01-01)
// und hier bzw. in index.html einbinden.