markemacht/_markemacht.de/dev/first design/styles.css
Kevin Adametz 2a617e09cc
Some checks are pending
linter / quality (push) Waiting to run
tests / ci (8.3) (push) Waiting to run
tests / ci (8.4) (push) Waiting to run
tests / ci (8.5) (push) Waiting to run
Initial commit: Laravel-Skelett + Markenwissen-Verfassung + markemacht.de Web
Erfasst den vollständigen Projektstand mit drei Hauptbereichen:

1. Laravel 11 Application-Skelett
   - Standard-Setup (app/, bootstrap/, config/, database/, public/, resources/, routes/, storage/, tests/)
   - Composer + npm Konfiguration
   - Devcontainer für Laravel Sail (PHP/MySQL/Redis)
   - GitHub Actions Workflows (lint + tests)
   - Tailwind/Vite Build-Pipeline

2. docs/ – Wissensbasis "Marke macht." (Methodik-Verfassung)
   Stand nach Pflegerunde 2026-05-28:
   - 00_Methodik-Verfassung: Dok. 000 (v2.0.2) bis Dok. 013 (NEU) + Anhänge
   - 10_Quellen-Original: Wala, Sharp, Simon (read-only Quellen)
   - 20_Markenwissen: 25 abgeleitete MW-Dokumente (Wala_MW-WAL, Sharp_MW-HBG, Simon_MW-SIM)
   - 30_Synthese: Markenwissen_I_Synthese_Gesamt + Scorecard-Regeln
   - 40_Implementierung: 011b-Erweiterung
   - _Steuerung: 00_START_HIER, Serienübersicht, CHANGELOG.md

   Letzte methodische Eingriffe:
   - Methodik-Update v2.0 (Ownership Autorenschaft/Anwendung, Geltungsbereich Kernthese,
     Score-Ebenen DNA-Reifegrad, Preislogik Governance-Scope)
   - Dok. 013 NEU: Akquise- & Conversion-Logik (Auffahrten statt Funnel)
   - Rebranding brandwork.io → Brand Rules (brand-rules.com)
   - Schichtverletzungen behoben, Ordner-Symmetrie hergestellt, Verweise konsolidiert

3. _markemacht.de/ – Web-Frontend Design-Sandbox
   - Statische HTML-Entwürfe (Startseite, Methode, Manifest, Denken, Blog)
   - Design-System (warm_intellectualism, based_web_design)
   - Assets (CSS, JS, Favicon)

Konfiguration:
- .gitignore um .DS_Store und Thumbs.db erweitert
- Lokale Git-Identity gesetzt: Kevin Adametz <kevin.adametz@me.com>
- .env wird ignoriert (nur .env.example versioniert)

Konfliktregel: Bei Spannung zwischen Code und Methodik gilt die Methodik (Dok. 000).
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-28 16:01:54 +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); }