/* ========================================================= US01-01: Angebot und Zielgruppe sofort sehen (Hero) Branch: feature_US01-01 Nur Selektoren unter #hero verwenden. Farben/Schriften über var(--th-...) aus base.css. Vorlage: Prototyp (Hero-Bereich) ========================================================= */ #hero { --hero-mint: #56d9b1; /* helle Akzentvariante aus dem Prototyp */ --hero-line: rgb(255 255 255 / 0.11); padding-block: clamp(2rem, 6svh, 4.5rem); /* überschreibt Sektionsabstand aus base.css */ min-height: calc(100svh - 4.5rem); /* ohne Scrollen sichtbar (minus Header) */ display: flex; align-items: center; } #hero .hero-grid { display: grid; grid-template-columns: 1.08fr 1fr; gap: 4rem; align-items: center; width: 100%; } /* ---------- Text ---------- */ #hero h1 { margin: 0; font-weight: 400; } #hero .hero-kicker { display: flex; align-items: center; gap: 0.75rem; font-family: var(--th-font-body); font-size: 1rem; font-weight: 650; letter-spacing: 0.12em; text-transform: uppercase; color: var(--hero-mint); line-height: 1.5; } #hero .hero-line { flex: 0 0 1.5rem; height: 1px; background: var(--th-accent); } #hero .hero-headline { display: block; margin-top: 1.5rem; font-family: var(--th-font-display); font-size: clamp(2.6rem, 4.8vw, 4.5rem); line-height: 1.1; letter-spacing: -0.03em; color: var(--th-text); } #hero .hero-headline em { color: var(--hero-mint); } #hero .hero-intro { margin-top: 1.5rem; max-width: 32rem; font-size: 1.1875rem; line-height: 1.75; color: var(--th-text-muted); } /* ---------- Aktionen ---------- */ #hero .hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.75rem; margin-top: 2rem; } #hero .hero-button { display: inline-flex; align-items: center; gap: 1.25rem; min-height: 3.25rem; /* große Klickfläche */ padding: 0.9rem 1.6rem; border-radius: 7px; background: var(--th-accent); color: #071b16; font-size: 1.125rem; font-weight: 650; transition: background 0.2s, transform 0.2s; } #hero .hero-button:hover { background: #37c99b; transform: translateY(-2px); } #hero .hero-link { display: inline-flex; align-items: center; gap: 0.75rem; min-height: 2.75rem; font-size: 1.125rem; font-weight: 600; color: var(--th-text-soft); } #hero .hero-link:hover { color: var(--hero-mint); } #hero .hero-note { margin-top: 1.75rem; font-size: 1rem; color: var(--th-text-muted); } #hero .hero-note span { margin-right: 0.5rem; color: var(--hero-mint); } /* ---------- Bild ---------- */ #hero .hero-visual { position: relative; margin: 0; height: clamp(340px, 62svh, 560px); border-radius: 15px; overflow: hidden; background: var(--th-bg-elevated); } #hero .hero-visual img { width: 100%; height: 100%; object-fit: cover; } #hero .hero-visual::after { /* Verlauf für lesbare Bildunterschrift */ content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgb(5 15 18 / 0.94)); } #hero figcaption { position: absolute; left: 2rem; bottom: 2rem; z-index: 1; } #hero .hero-caption-label { display: block; font-size: 0.8rem; letter-spacing: 0.14em; text-transform: uppercase; color: #b5efda; } #hero .hero-caption-text { display: block; margin-top: 0.6rem; font-family: var(--th-font-display); font-size: 1.75rem; line-height: 1.3; color: var(--th-text); } #hero .hero-tag { position: absolute; top: 1.25rem; right: 1.25rem; padding: 0.75rem 1rem; border: 1px solid rgb(255 255 255 / 0.19); border-radius: 8px; background: rgb(13 13 26 / 0.8); backdrop-filter: blur(12px); font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; text-align: center; color: var(--th-text-soft); } #hero .hero-tag b { display: block; margin-top: 0.25rem; font-family: var(--th-font-display); font-size: 2rem; line-height: 1.1; letter-spacing: 0; color: var(--hero-mint); } /* ---------- Tablet ---------- */ @media (max-width: 1100px) { #hero .hero-grid { gap: 2rem; } } /* ---------- Mobil: Text zuerst, Bild darunter ---------- */ @media (max-width: 760px) { #hero { min-height: 0; padding-block: 2rem 3rem; } #hero .hero-grid { grid-template-columns: 1fr; gap: 2rem; } #hero .hero-kicker { font-size: 0.875rem; } #hero .hero-headline { margin-top: 1rem; font-size: clamp(2.3rem, 10vw, 3.2rem); } #hero .hero-intro { margin-top: 1rem; font-size: 1.125rem; } #hero .hero-actions { margin-top: 1.5rem; gap: 1.25rem; } #hero .hero-visual { height: 340px; } #hero figcaption { left: 1.25rem; bottom: 1.25rem; } #hero .hero-caption-text { font-size: 1.4rem; } } @media (max-width: 390px) { #hero .hero-button { width: 100%; justify-content: space-between; } }