markemacht/_markemacht.de/dev/first design/styles.css
Kevin Adametz 00796a35d5
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (8.3) (push) Has been cancelled
tests / ci (8.4) (push) Has been cancelled
tests / ci (8.5) (push) Has been cancelled
Markenwissen-Wissensbasis: Konsistenz-Korrekturen + Copyright-Hygiene
Konsolidierter, bereinigter Stand der Wissensbasis (docs/). Frischer
Wurzel-Commit, um urheberrechtlich problematische Volltexte aus der
Historie zu entfernen (die bisherige Historie bestand aus einem einzigen
Initial-Commit).

Enthaltene Änderungen (vgl. docs/_Steuerung/CHANGELOG.md, 2026-05-29):
- Copyright-Hygiene: 25 Volltext-/Übersetzungsdateien (Sharp 14 Kap.,
  Wala 11 Kap.) entfernt; je Quelle _Fundstellen-Index.md als
  Provenienzbeleg; Quellnachweise + Steuerungsdateien angepasst.
- Konsistenz-Korrekturen: Reichweite 000-013 (Scorecard-Regeln),
  Rule-ID MW-WK-DIFF-101, Quellnachweis-Dateiverweis, Dok.000 v2.0.2.
- Dateinamen-Normalisierung: Startdatei ohne Leerzeichen.

Originale (Wala/Sharp E-Books) privat außerhalb des Repos archiviert.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 08:23:03 +00:00

765 lines
15 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* ============================================
MARKE MACHT. CSS Design System
============================================ */
/* --- CSS Variables --- */
:root {
/* Colors */
--color-bg: #000000;
--color-bg-alt: #0A0A0A;
--color-bg-elevated: #111111;
--color-bg-card: #0D0D0D;
--color-text: #FFFFFF;
--color-text-secondary: #888888;
--color-text-muted: #555555;
--color-accent: #2E5BFF;
--color-accent-hover: #4A7AFF;
--color-accent-glow: rgba(46, 91, 255, 0.15);
--color-border: #1A1A1A;
--color-border-light: #222222;
/* Typography */
--font-headline: 'Outfit', sans-serif;
--font-body: 'Source Sans 3', sans-serif;
--font-mono: 'JetBrains Mono', monospace;
/* Spacing */
--space-xs: 0.5rem;
--space-sm: 1rem;
--space-md: 1.5rem;
--space-lg: 2rem;
--space-xl: 3rem;
--space-2xl: 4rem;
--space-3xl: 6rem;
--space-4xl: 8rem;
/* Container */
--container-max: 1200px;
--container-padding: 1.5rem;
/* Transitions */
--transition-fast: 150ms ease;
--transition-base: 250ms ease;
--transition-slow: 400ms ease;
/* Border Radius */
--radius-sm: 2px;
--radius-md: 4px;
}
/* --- Reset & Base --- */
*, *::before, *::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
body {
font-family: var(--font-body);
font-size: 18px;
line-height: 1.7;
color: var(--color-text);
background-color: var(--color-bg);
}
a {
color: inherit;
text-decoration: none;
transition: color var(--transition-fast);
}
img {
max-width: 100%;
height: auto;
display: block;
}
/* --- Typography --- */
h1, h2, h3, h4, h5, h6 {
font-family: var(--font-headline);
font-weight: 600;
line-height: 1.2;
letter-spacing: -0.02em;
}
h1 { font-size: clamp(2.5rem, 5vw, 4rem); }
h2 { font-size: clamp(1.75rem, 3.5vw, 2.5rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); }
p {
margin-bottom: 1em;
}
p:last-child {
margin-bottom: 0;
}
/* --- Layout --- */
.container {
width: 100%;
max-width: var(--container-max);
margin: 0 auto;
padding: 0 var(--container-padding);
}
.section {
padding: var(--space-4xl) 0;
}
.section-alt {
background-color: var(--color-bg-alt);
}
/* --- Navigation --- */
.nav {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1000;
padding: var(--space-md) 0;
background: transparent;
transition: background var(--transition-base), padding var(--transition-base);
}
.nav.scrolled {
background: rgba(0, 0, 0, 0.95);
backdrop-filter: blur(10px);
padding: var(--space-sm) 0;
border-bottom: 1px solid var(--color-border);
}
.nav-container {
max-width: var(--container-max);
margin: 0 auto;
padding: 0 var(--container-padding);
display: flex;
align-items: center;
justify-content: space-between;
}
.nav-logo {
display: flex;
align-items: center;
}
.logo-mark {
font-family: var(--font-headline);
font-size: 1.5rem;
font-weight: 700;
letter-spacing: -0.05em;
color: var(--color-text);
}
.nav-menu {
display: flex;
align-items: center;
gap: var(--space-lg);
}
.nav-link {
font-family: var(--font-body);
font-size: 0.9rem;
font-weight: 500;
color: var(--color-text-secondary);
transition: color var(--transition-fast);
position: relative;
}
.nav-link:hover,
.nav-link.active {
color: var(--color-text);
}
.nav-link.active::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
right: 0;
height: 1px;
background: var(--color-accent);
}
.nav-cta {
font-family: var(--font-body);
font-size: 0.9rem;
font-weight: 500;
color: var(--color-accent);
padding: 0.6rem 1.2rem;
border: 1px solid var(--color-accent);
border-radius: var(--radius-sm);
transition: all var(--transition-fast);
}
.nav-cta:hover {
background: var(--color-accent);
color: var(--color-bg);
}
.nav-toggle {
display: none;
flex-direction: column;
gap: 6px;
padding: 8px;
background: none;
border: none;
cursor: pointer;
}
.nav-toggle span {
width: 24px;
height: 1px;
background: var(--color-text);
transition: transform var(--transition-fast);
}
.nav-mobile {
display: none;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: var(--color-bg);
z-index: 999;
flex-direction: column;
align-items: center;
justify-content: center;
gap: var(--space-lg);
opacity: 0;
pointer-events: none;
transition: opacity var(--transition-base);
}
.nav-mobile.active {
opacity: 1;
pointer-events: all;
}
.nav-mobile-link {
font-family: var(--font-headline);
font-size: 2rem;
font-weight: 500;
color: var(--color-text-secondary);
transition: color var(--transition-fast);
}
.nav-mobile-link:hover,
.nav-mobile-link.active {
color: var(--color-text);
}
.nav-mobile-cta {
margin-top: var(--space-lg);
font-size: 1rem;
color: var(--color-accent);
padding: 0.8rem 1.5rem;
border: 1px solid var(--color-accent);
}
/* --- Hero Section --- */
.hero {
min-height: 100vh;
display: flex;
align-items: center;
position: relative;
overflow: hidden;
padding-top: 100px;
}
.hero-bg {
position: absolute;
inset: 0;
pointer-events: none;
}
.hero-shape {
position: absolute;
background: var(--color-accent);
opacity: 0.03;
}
.hero-shape-1 {
width: 400px;
height: 600px;
right: 10%;
top: 20%;
transform: rotate(-12deg);
}
.hero-shape-2 {
width: 200px;
height: 300px;
right: 5%;
bottom: 10%;
transform: rotate(8deg);
opacity: 0.05;
}
.hero-grid {
position: absolute;
inset: 0;
background-image:
linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
background-size: 60px 60px;
mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 40%, transparent 100%);
}
.hero-content {
position: relative;
z-index: 1;
max-width: 900px;
}
.hero-headline {
font-size: clamp(2.5rem, 5.5vw, 4.5rem);
font-weight: 600;
line-height: 1.1;
margin-bottom: var(--space-lg);
letter-spacing: -0.03em;
}
.hero-headline-alt {
color: var(--color-text-secondary);
}
.hero-subline {
font-family: var(--font-mono);
font-size: clamp(1.25rem, 2vw, 1.5rem);
color: var(--color-accent);
margin-bottom: var(--space-xl);
padding-left: 2px;
}
/* --- Buttons --- */
.btn {
display: inline-flex;
align-items: center;
gap: 0.75rem;
font-family: var(--font-body);
font-size: 1rem;
font-weight: 500;
padding: 1rem 1.75rem;
border-radius: var(--radius-sm);
transition: all var(--transition-fast);
cursor: pointer;
border: none;
}
.btn svg {
transition: transform var(--transition-fast);
}
.btn:hover svg {
transform: translateX(4px);
}
.btn-primary {
background: transparent;
color: var(--color-accent);
border: 1px solid var(--color-accent);
}
.btn-primary:hover {
background: var(--color-accent);
color: var(--color-bg);
}
.btn-secondary {
background: transparent;
color: var(--color-text-secondary);
border: 1px solid var(--color-border-light);
}
.btn-secondary:hover {
color: var(--color-text);
border-color: var(--color-text-secondary);
}
.btn-large {
padding: 1.25rem 2.25rem;
font-size: 1.1rem;
}
/* --- Section Header --- */
.section-header {
margin-bottom: var(--space-3xl);
}
.section-label {
font-family: var(--font-mono);
font-size: 0.85rem;
color: var(--color-accent);
text-transform: uppercase;
letter-spacing: 0.1em;
margin-bottom: var(--space-md);
}
.section-title {
font-size: clamp(1.75rem, 3.5vw, 2.5rem);
color: var(--color-text);
max-width: 800px;
}
/* --- Symptoms Grid --- */
.symptoms-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--space-lg);
}
.symptom-card {
padding: var(--space-xl);
background: var(--color-bg-card);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
transition: border-color var(--transition-base);
}
.symptom-card:hover {
border-color: var(--color-border-light);
}
.symptom-number {
font-family: var(--font-mono);
font-size: 0.85rem;
color: var(--color-accent);
display: block;
margin-bottom: var(--space-md);
}
.symptom-title {
font-size: 1.25rem;
font-weight: 600;
margin-bottom: var(--space-sm);
line-height: 1.3;
}
.symptom-text {
font-size: 1rem;
color: var(--color-text-secondary);
line-height: 1.6;
}
/* --- Quote Section --- */
.section-quote {
padding: var(--space-4xl) 0;
background: var(--color-bg);
border-top: 1px solid var(--color-border);
border-bottom: 1px solid var(--color-border);
}
.quote-block {
max-width: 700px;
margin: 0 auto;
text-align: center;
}
.quote-text {
font-family: var(--font-mono);
font-size: clamp(1.5rem, 3vw, 2rem);
font-weight: 400;
font-style: italic;
line-height: 1.5;
color: var(--color-text);
}
/* --- Content Split --- */
.content-split {
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--space-3xl);
align-items: center;
}
.content-main {
max-width: 500px;
}
.content-title {
font-size: clamp(1.75rem, 3vw, 2.25rem);
margin-bottom: var(--space-md);
}
.content-text {
font-size: 1.125rem;
color: var(--color-text);
margin-bottom: var(--space-sm);
}
.content-text-secondary {
color: var(--color-text-secondary);
margin-bottom: var(--space-xl);
}
.content-aside {
display: flex;
justify-content: center;
align-items: center;
}
.aside-decoration {
width: 200px;
height: 300px;
background: linear-gradient(135deg, var(--color-bg-elevated) 0%, var(--color-bg) 100%);
border: 1px solid var(--color-border);
position: relative;
}
.aside-decoration::before {
content: '';
position: absolute;
top: 20px;
left: 20px;
right: -20px;
bottom: -20px;
border: 1px solid var(--color-accent);
opacity: 0.3;
}
/* --- Intro Block --- */
.intro-block {
max-width: 700px;
}
.intro-headline {
font-size: clamp(2rem, 4vw, 3rem);
margin-bottom: var(--space-xl);
line-height: 1.15;
}
.intro-content {
margin-bottom: var(--space-xl);
}
.intro-content p {
font-size: 1.125rem;
color: var(--color-text-secondary);
margin-bottom: var(--space-md);
}
.intro-content p:first-child {
color: var(--color-text);
}
/* --- CTA Section --- */
.section-cta {
background: var(--color-bg-elevated);
border-top: 1px solid var(--color-border);
}
.cta-block {
max-width: 600px;
text-align: center;
margin: 0 auto;
}
.cta-headline {
font-size: clamp(2rem, 4vw, 2.5rem);
margin-bottom: var(--space-md);
}
.cta-text {
font-size: 1.125rem;
color: var(--color-text-secondary);
margin-bottom: var(--space-xl);
}
/* --- Footer --- */
.footer {
padding: var(--space-3xl) 0 var(--space-xl);
background: var(--color-bg);
border-top: 1px solid var(--color-border);
}
.footer-inner {
display: grid;
grid-template-columns: 1fr 2fr;
gap: var(--space-3xl);
padding-bottom: var(--space-xl);
border-bottom: 1px solid var(--color-border);
}
.footer-brand .logo-mark {
font-size: 2rem;
display: block;
margin-bottom: var(--space-md);
}
.footer-tagline {
font-size: 0.95rem;
color: var(--color-text-secondary);
line-height: 1.6;
}
.footer-links {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--space-xl);
}
.footer-col {
display: flex;
flex-direction: column;
gap: var(--space-sm);
}
.footer-col-title {
font-family: var(--font-mono);
font-size: 0.75rem;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.1em;
color: var(--color-text-muted);
margin-bottom: var(--space-xs);
}
.footer-col a {
font-size: 0.95rem;
color: var(--color-text-secondary);
transition: color var(--transition-fast);
}
.footer-col a:hover {
color: var(--color-text);
}
.footer-bottom {
padding-top: var(--space-xl);
text-align: center;
}
.footer-bottom p {
font-size: 0.85rem;
color: var(--color-text-muted);
}
.footer-bottom a {
color: var(--color-text-secondary);
}
.footer-bottom a:hover {
color: var(--color-accent);
}
/* --- Responsive --- */
@media (max-width: 1024px) {
.symptoms-grid {
grid-template-columns: 1fr;
gap: var(--space-md);
}
.content-split {
grid-template-columns: 1fr;
gap: var(--space-xl);
}
.content-aside {
display: none;
}
.footer-inner {
grid-template-columns: 1fr;
gap: var(--space-xl);
}
.footer-links {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
:root {
--container-padding: 1.25rem;
}
body {
font-size: 16px;
}
.section {
padding: var(--space-3xl) 0;
}
.nav-menu {
display: none;
}
.nav-toggle {
display: flex;
}
.nav-mobile {
display: flex;
}
.hero {
min-height: auto;
padding: 150px 0 var(--space-3xl);
}
.hero-shape-1,
.hero-shape-2 {
display: none;
}
.symptom-card {
padding: var(--space-lg);
}
.footer-links {
grid-template-columns: 1fr;
gap: var(--space-lg);
}
}
/* --- Animations --- */
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.hero-content {
animation: fadeInUp 0.8s ease forwards;
}
.symptom-card {
opacity: 0;
animation: fadeInUp 0.6s ease forwards;
}
.symptom-card:nth-child(1) { animation-delay: 0.1s; }
.symptom-card:nth-child(2) { animation-delay: 0.2s; }
.symptom-card:nth-child(3) { animation-delay: 0.3s; }
/* --- Utility Classes --- */
.text-accent { color: var(--color-accent); }
.text-secondary { color: var(--color-text-secondary); }
.text-muted { color: var(--color-text-muted); }
.mt-sm { margin-top: var(--space-sm); }
.mt-md { margin-top: var(--space-md); }
.mt-lg { margin-top: var(--space-lg); }
.mt-xl { margin-top: var(--space-xl); }
.mb-sm { margin-bottom: var(--space-sm); }
.mb-md { margin-bottom: var(--space-md); }
.mb-lg { margin-bottom: var(--space-lg); }
.mb-xl { margin-bottom: var(--space-xl); }