05-06-2026 marke macht Webseite Design Inhalte
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

This commit is contained in:
Kevin Adametz 2026-06-05 17:43:31 +02:00
parent 00796a35d5
commit 18216e301c
181 changed files with 12025 additions and 7941 deletions

View file

@ -0,0 +1,13 @@
<footer class="site-footer">
<div class="footer-inner">
<div class="footer-meta">
<p class="footer-copy">© MARKE MACHT · Denkraum für Unternehmer</p>
<p class="footer-note">Keine Cookies, kein Tracking.</p>
</div>
<div class="footer-links">
<a class="footer-link" href="#">Impressum</a>
<a class="footer-link" href="#">Datenschutz</a>
<a class="footer-link" href="#">Kontakt</a>
</div>
</div>
</footer>

View file

@ -0,0 +1,51 @@
<a class="visually-hidden" href="#main">Zum Inhalt springen</a>
<nav class="nav" aria-label="Hauptnavigation" data-site-nav>
<div class="nav-inner">
<a class="nav-brand" href="./index.html">MARKE MACHT</a>
<div class="nav-links">
<a class="nav-link" href="./index.html" data-nav-page="start">Start</a>
<a class="nav-link" href="./manifest.html" data-nav-page="manifest">Manifest</a>
<a class="nav-link" href="./methode.html" data-nav-page="methode">Methode</a>
<a class="nav-link" href="./denken.html" data-nav-page="denken">Denken</a>
</div>
<div class="wirkung-switch" role="group" aria-label="Wirkung wechseln">
<span class="wirkung-label">Wirkung:</span>
<button type="button" class="wirkung-option" data-wirkung="monolith" aria-pressed="false">monolithisch</button>
<span class="wirkung-sep" aria-hidden="true">·</span>
<button type="button" class="wirkung-option" data-wirkung="editorial" aria-pressed="false">editorial</button>
</div>
<a class="nav-cta" href="./audit.html">Audit anfragen</a>
<button class="menu-btn" data-drawer-open aria-label="Menü öffnen" aria-controls="mobile-drawer" aria-expanded="false">
<span class="material-symbols-outlined" aria-hidden="true">menu</span>
</button>
</div>
</nav>
<aside id="mobile-drawer" class="mobile-drawer" data-mobile-drawer aria-hidden="true" aria-label="Mobile Navigation">
<div class="mobile-drawer-head">
<span class="nav-brand">MARKE MACHT</span>
<button class="menu-btn" data-drawer-close aria-label="Menü schließen">
<span class="material-symbols-outlined" aria-hidden="true">close</span>
</button>
</div>
<nav class="mobile-drawer-links" aria-label="Mobile Hauptnavigation">
<a class="mobile-drawer-link" href="./index.html" data-nav-page="start">Start</a>
<a class="mobile-drawer-link" href="./manifest.html" data-nav-page="manifest">Manifest</a>
<a class="mobile-drawer-link" href="./methode.html" data-nav-page="methode">Methode</a>
<a class="mobile-drawer-link" href="./denken.html" data-nav-page="denken">Denken</a>
</nav>
<div class="mobile-drawer-footer">
<div class="wirkung-switch" role="group" aria-label="Wirkung wechseln">
<span class="wirkung-label">Wirkung:</span>
<button type="button" class="wirkung-option" data-wirkung="monolith" aria-pressed="false">monolithisch</button>
<span class="wirkung-sep" aria-hidden="true">·</span>
<button type="button" class="wirkung-option" data-wirkung="editorial" aria-pressed="false">editorial</button>
</div>
<a class="nav-cta mobile-drawer-cta" href="./audit.html">Audit anfragen</a>
</div>
</aside>

View file

@ -9,21 +9,23 @@
:root,
[data-theme="monolith"] {
--color-bg-base: 10 10 10; /* #0A0A0A */
--color-bg-surface: 20 19 19; /* #141313 */
--color-bg-elevated: 54 54 54; /* #363636 */
--color-bg-accent-soft: 71 71 71; /* #474747 */
--color-border: 53 52 52; /* #353434 */
--color-text-primary: 255 255 255; /* #FFFFFF */
--color-text-body: 229 226 225; /* #E5E2E1 */
--color-text-dim: 168 167 167; /* #A8A7A7 */
--color-text-mute: 95 94 94; /* #5F5E5E */
--color-accent: 232 23 93; /* #E8175D */
--color-bg-base: 11 11 12; /* #0B0B0C Grundfläche (--bg) */
--color-bg-surface: 18 18 20; /* #121214 Karten/Container (--surface) */
--color-bg-elevated: 18 18 20; /* #121214 Karten (--surface) */
--color-bg-accent-soft: 38 38 43; /* #26262B Hover-Ton (= --line) */
--color-border: 38 38 43; /* #26262B Trennlinien/Rahmen (--line) */
--color-text-primary: 244 242 238; /* #F4F2EE Haupttext (--ink) */
--color-text-body: 230 228 224; /* #E6E4E0 */
--color-text-dim: 140 140 146; /* #8C8C92 Sekundärtext (--muted) */
--color-text-mute: 108 108 114; /* #6C6C72 */
--color-accent: 232 23 93; /* #E8175D Signal (--signal, unverändert) */
--color-accent-soft: 204 82 122; /* #CC527A */
--radius-card: 0px;
--radius-pill: 0px;
--radius-btn: 0px;
/* Radius ist Wirkungs-Token (CHG-06): monolithisch durchgehend eckig. */
--radius: 0px;
--radius-card: var(--radius);
--radius-pill: var(--radius);
--radius-btn: var(--radius);
--ff-display: "Outfit", system-ui, sans-serif;
--ff-editorial: "Newsreader", Georgia, serif;
@ -32,7 +34,8 @@
--fs-hero: clamp(52px, 8vw, 96px);
--fs-section: clamp(36px, 5vw, 56px);
--fs-editorial: clamp(22px, 2.6vw, 36px);
--fs-editorial: clamp(20px, 2.2vw, 30px);
--fs-body: 18px;
--fs-meta: 13px;
@ -48,7 +51,7 @@
--container-max: 1440px;
--px-horizontal: clamp(24px, 8vw, 128px);
--section-gap: clamp(96px, 14vw, 160px);
--section-gap: clamp(64px, 8vw, 96px);
--block-gap: clamp(48px, 8vw, 96px);
--transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
@ -57,21 +60,24 @@
}
[data-theme="editorial"] {
--color-bg-base: 251 250 242; /* #FBFAF2 */
--color-bg-surface: 245 244 236; /* #F5F4EC */
--color-bg-elevated: 255 255 255; /* #FFFFFF */
--color-bg-base: 251 250 242; /* #FBFAF2 Grundfläche (Creme) */
--color-bg-surface: 245 244 236; /* #F5F4EC Platzhalter-/Slot-Ton */
--color-bg-elevated: 255 255 255; /* #FFFFFF Karten (--surface) */
--color-bg-accent-soft: 233 232 225; /* #E9E8E1 */
--color-border: 230 225 211; /* #E6E1D3 */
--color-text-primary: 25 25 25; /* #191919 */
--color-border: 231 228 221; /* #E7E4DD Trennlinien/Rahmen (--line) */
--color-text-primary: 25 25 25; /* #191919 Haupttext (--ink) */
--color-text-body: 27 28 23; /* #1B1C17 */
--color-text-dim: 68 71 72; /* #444748 */
--color-text-mute: 116 120 120; /* #747878 */
--color-accent: 232 23 93; /* #E8175D */
--color-text-mute: 116 120 120; /* #747878 Sekundärtext (--muted) */
--color-accent: 232 23 93; /* #E8175D Signal (--signal, unverändert) */
--color-accent-soft: 184 0 70; /* #B80046 */
--radius-card: 16px;
--radius-pill: 9999px;
--radius-btn: 8px;
/* Radius ist Wirkungs-Token (CHG-06): editorial durchgehend gleich leicht
gerundet. Ein Wert auf alle Elemente — kein gemischter Radius. */
--radius: 8px;
--radius-card: var(--radius);
--radius-pill: var(--radius);
--radius-btn: var(--radius);
--ff-display: "Plus Jakarta Sans", system-ui, sans-serif;
--ff-editorial: "Noto Serif", Georgia, serif;
@ -96,14 +102,18 @@
--container-max: 1280px;
--px-horizontal: clamp(24px, 5vw, 64px);
--section-gap: clamp(80px, 10vw, 128px);
--section-gap: clamp(64px, 8vw, 96px);
--block-gap: clamp(40px, 6vw, 80px);
}
/* --- Global Reset & Base --------------------------------------------------- */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
html {
scroll-behavior: smooth;
scroll-padding-top: 96px;
-webkit-text-size-adjust: 100%;
}
body {
margin: 0;
background: rgb(var(--color-bg-base));
@ -139,6 +149,34 @@ img, svg { max-width: 100%; display: block; }
/* --- A11y: Fokus-States --------------------------------------------------- */
.visually-hidden {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0 0 0 0);
white-space: nowrap;
border: 0;
}
.visually-hidden:focus,
.visually-hidden:focus-visible {
position: fixed;
top: 16px;
left: 16px;
z-index: 100;
width: auto;
height: auto;
padding: 10px 14px;
margin: 0;
clip: auto;
background: rgb(var(--color-bg-base));
color: rgb(var(--color-text-primary));
border: 1px solid rgb(var(--color-border));
white-space: normal;
}
:focus { outline: none; }
:focus-visible {
outline: 2px solid rgb(var(--color-accent));
@ -147,7 +185,7 @@ img, svg { max-width: 100%; display: block; }
}
[data-theme="editorial"] :focus-visible {
outline-offset: 4px;
border-radius: 4px;
border-radius: 2px;
}
.material-symbols-outlined {
@ -202,6 +240,23 @@ img, svg { max-width: 100%; display: block; }
margin: 0;
}
/* Serif-Kommentar (Denk-Stimme): eingerückt, mit 2px-Magenta-Strich als Signal,
das den Absatz als Kommentar/Annotation kenntlich macht (Magenta = Linie ≤2px). */
.comment {
padding-left: clamp(20px, 2.5vw, 32px);
border-left: 2px solid rgb(var(--color-accent));
}
/* Sans-Lead (gebaute Stimme) — Intro/Punchline ohne Serife (CHG-05). */
.lead {
font-family: var(--ff-body);
font-size: var(--fs-editorial);
line-height: 1.45;
font-weight: 400;
color: rgb(var(--color-text-body));
margin: 0;
}
.meta {
font-family: var(--ff-mono);
font-size: var(--fs-meta);
@ -232,6 +287,7 @@ img, svg { max-width: 100%; display: block; }
.section {
padding-block: var(--section-gap);
border-top: 1px solid rgb(var(--color-border));
}
.section-tight {
@ -355,7 +411,7 @@ img, svg { max-width: 100%; display: block; }
text-transform: none;
font-weight: 500;
}
.nav-link:hover { color: rgb(var(--color-accent)); }
.nav-link:hover { color: rgb(var(--color-text-primary)); }
.nav-link.is-active {
color: rgb(var(--color-accent));
font-weight: 700;
@ -374,22 +430,21 @@ img, svg { max-width: 100%; display: block; }
color: rgb(var(--color-accent));
transition: color var(--transition-fast);
white-space: nowrap;
background: rgb(var(--color-text-primary));
color: rgb(var(--color-accent));
padding: 10px 16px;
}
[data-theme="editorial"] .nav-cta {
background: rgb(var(--color-text-primary));
color: rgb(var(--color-bg-base));
padding: 10px 16px;
border-radius: var(--radius-btn);
font-family: var(--ff-body);
font-size: 14px;
letter-spacing: -0.01em;
text-transform: none;
font-weight: 500;
}
.nav-cta:hover { color: rgb(var(--color-text-primary)); }
.nav-cta:hover { color: rgb(var(--color-bg-base)); background: rgb(var(--color-accent)); }
[data-theme="editorial"] .nav-cta:hover {
background: rgb(var(--color-accent));
color: #fff;
color: rgb(var(--color-text-primary));
}
/* Desktop zeigt CTA ab 1100px */
@ -517,6 +572,12 @@ img, svg { max-width: 100%; display: block; }
border-top: 1px solid rgb(var(--color-border));
}
.mobile-drawer .wirkung-switch { display: inline-flex; align-self: flex-start; }
.mobile-drawer-cta {
display: inline-flex !important;
align-items: center;
align-self: flex-start;
width: fit-content;
}
body.drawer-open { overflow: hidden; }
@ -543,53 +604,28 @@ body.drawer-open { overflow: hidden; }
.hero-keyvisual { display: block; }
}
/* Hero-Bild-Slot (CHG-08): randständig, angeschnitten, harte Kante,
flacher Flächenton als Platzhalter — kein Verlauf, kein Glow. */
.monolith {
position: absolute;
right: -10%;
right: -6%;
top: 50%;
transform: translateY(-50%);
width: 70%;
aspect-ratio: 3/4;
background:
linear-gradient(125deg, rgb(var(--color-bg-base)) 0%, rgb(var(--color-bg-base)) 35%, transparent 60%),
linear-gradient(135deg, #1f1e1e 0%, #2a2929 40%, #0e0d0d 100%);
box-shadow:
inset 2px 0 0 rgb(var(--color-accent) / 0.35),
inset -40px 0 120px rgb(var(--color-bg-base));
filter: contrast(1.1);
}
[data-theme="editorial"] .monolith {
background:
linear-gradient(125deg, rgb(var(--color-bg-base)) 0%, rgb(var(--color-bg-base)) 30%, transparent 60%),
linear-gradient(150deg, #e9e6d8 0%, #d6d1c1 50%, #bfb9a8 100%);
box-shadow:
inset 0 0 0 1px rgb(var(--color-border)),
inset -40px 0 80px rgb(var(--color-bg-base) / 0.6);
border-top-left-radius: 96px;
border-bottom-left-radius: 16px;
filter: none;
background: rgb(var(--color-bg-surface));
border: 1px solid rgb(var(--color-border));
border-radius: var(--radius);
}
/* Alternative Keyvisual-Varianten für Unterseiten */
/* Alternative Keyvisual-Slots für Unterseiten — ebenfalls flach */
.monolith--edge {
right: -20%;
width: 60%;
aspect-ratio: 4/5;
background:
linear-gradient(95deg, rgb(var(--color-bg-base)) 0%, transparent 40%),
linear-gradient(115deg, #252424 0%, #0a0a0a 70%);
box-shadow:
inset 3px 0 0 rgb(var(--color-accent) / 0.45),
inset -80px 0 140px rgb(var(--color-bg-base));
}
[data-theme="editorial"] .monolith--edge {
background:
linear-gradient(95deg, rgb(var(--color-bg-base)) 0%, transparent 40%),
linear-gradient(135deg, #efece0 0%, #d9d3c1 60%, #c1baa6 100%);
box-shadow:
inset 0 0 0 1px rgb(var(--color-border)),
inset -60px 0 100px rgb(var(--color-bg-base) / 0.7);
border-radius: 64px 0 0 0;
background: rgb(var(--color-bg-surface));
border: 1px solid rgb(var(--color-border));
border-radius: var(--radius);
}
.monolith--texture {
@ -597,75 +633,52 @@ body.drawer-open { overflow: hidden; }
top: 40%;
width: 55%;
aspect-ratio: 1/1;
background:
repeating-linear-gradient(135deg, #161515 0px, #161515 2px, #1e1d1d 2px, #1e1d1d 4px),
#141313;
mask-image: linear-gradient(135deg, transparent 0%, black 40%, black 70%, transparent 100%);
-webkit-mask-image: linear-gradient(135deg, transparent 0%, black 40%, black 70%, transparent 100%);
opacity: 0.6;
}
[data-theme="editorial"] .monolith--texture {
background:
repeating-linear-gradient(135deg, #eae6d9 0px, #eae6d9 2px, #e0dbca 2px, #e0dbca 4px),
#efeee6;
opacity: 0.9;
border-radius: 24px;
box-shadow: inset 0 0 0 1px rgb(var(--color-border));
mask-image: none;
-webkit-mask-image: none;
background: rgb(var(--color-bg-surface));
border: 1px solid rgb(var(--color-border));
border-radius: var(--radius);
}
/* --- Buttons / Links ------------------------------------------------------- */
/* Primärbutton ist invertiert zur Grundfläche und kippt über Tokens je Wirkung:
monolithisch = heller Button auf Dunkel, editorial = dunkler Button auf Hell.
1px-Rahmen in Flächenfarbe, damit solid + ghost exakt gleich hoch sind. */
.btn {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 18px 28px;
padding: 14px 22px;
font-family: var(--ff-mono);
font-size: var(--fs-meta);
letter-spacing: var(--ls-meta);
text-transform: uppercase;
color: rgb(var(--color-text-primary));
background: rgb(var(--color-bg-elevated));
border: 0;
color: rgb(var(--color-bg-base));
background: rgb(var(--color-text-primary));
border: 1px solid rgb(var(--color-text-primary));
border-radius: var(--radius-btn);
cursor: pointer;
transition: background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
}
/* Hover deutlich spürbar: monolithisch weiß -> gräulich, editorial dunkel -> heller. */
.btn:hover {
background: rgb(var(--color-accent));
color: #fff;
}
[data-theme="editorial"] .btn {
background: rgb(var(--color-text-primary));
background: rgb(var(--color-text-dim));
border-color: rgb(var(--color-text-dim));
color: rgb(var(--color-bg-base));
font-family: var(--ff-body);
font-size: 15px;
letter-spacing: -0.01em;
text-transform: none;
font-weight: 500;
padding: 14px 22px;
}
[data-theme="editorial"] .btn:active { transform: translateY(1px); }
[data-theme="editorial"] .btn:hover {
background: rgb(var(--color-text-mute));
border-color: rgb(var(--color-text-mute));
color: rgb(var(--color-bg-base));
}
.btn:active { transform: translateY(1px); }
.btn-ghost {
background: transparent;
border: 1px solid rgb(var(--color-border));
color: rgb(var(--color-text-primary));
}
.btn-ghost:hover {
background: transparent;
border-color: rgb(var(--color-accent));
color: rgb(var(--color-accent));
}
[data-theme="editorial"] .btn-ghost {
background: transparent;
color: rgb(var(--color-text-primary));
border: 1px solid rgb(var(--color-text-primary));
}
[data-theme="editorial"] .btn-ghost:hover {
background: rgb(var(--color-bg-surface));
.btn-ghost:hover {
background: rgb(var(--color-bg-accent-soft));
color: rgb(var(--color-text-primary));
border-color: rgb(var(--color-text-primary));
}
@ -695,15 +708,10 @@ body.drawer-open { overflow: hidden; }
cursor: pointer;
}
.link-arrow:hover {
color: rgb(var(--color-accent));
border-color: rgb(var(--color-accent));
color: rgb(var(--color-text-primary));
border-color: rgb(var(--color-text-primary));
}
[data-theme="editorial"] .link-arrow {
font-family: var(--ff-body);
text-transform: none;
letter-spacing: -0.01em;
font-size: 15px;
font-weight: 500;
border-bottom-color: rgb(var(--color-text-primary));
}
@ -722,29 +730,22 @@ body.drawer-open { overflow: hidden; }
.card {
background: rgb(var(--color-bg-elevated));
padding: clamp(24px, 3vw, 48px);
border-radius: var(--radius-card);
transition: background-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-medium);
border: 1px solid rgb(var(--color-border));
border-radius: var(--radius);
transition: background-color var(--transition-fast), border-color var(--transition-fast);
}
.card:hover {
background: rgb(var(--color-bg-accent-soft));
}
[data-theme="editorial"] .card {
background: rgb(var(--color-bg-elevated));
border: 1px solid rgb(var(--color-border));
box-shadow: 0 4px 20px rgb(0 0 0 / 0.04);
border-color: rgb(var(--color-text-mute));
}
[data-theme="editorial"] .card:hover {
transform: translateY(-2px);
box-shadow: 0 12px 32px rgb(0 0 0 / 0.08);
background: rgb(var(--color-bg-elevated));
border-color: rgb(var(--color-text-mute));
}
/* CHG-04: diagnostische Kante ausschließlich an der zugespitzten Karte (03) */
.card-accent-border {
border-left: 4px solid rgb(var(--color-accent));
}
[data-theme="editorial"] .card-accent-border {
border-left: 0;
border-top: 4px solid rgb(var(--color-accent));
border-top: 2px solid rgb(var(--color-accent));
}
/* --- Quote block ----------------------------------------------------------- */
@ -753,6 +754,7 @@ body.drawer-open { overflow: hidden; }
padding-block: var(--section-gap);
text-align: center;
background: rgb(var(--color-bg-base));
border-top: 1px solid rgb(var(--color-border));
}
[data-theme="editorial"] .quote-block {
background: rgb(var(--color-bg-surface));
@ -772,8 +774,8 @@ body.drawer-open { overflow: hidden; }
font-family: var(--ff-editorial);
font-size: clamp(80px, 12vw, 160px);
line-height: 0.7;
color: rgb(var(--color-accent));
opacity: 0.35;
color: rgb(var(--color-text-mute));
opacity: 0.4;
margin-bottom: 12px;
user-select: none;
}
@ -811,30 +813,62 @@ body.drawer-open { overflow: hidden; }
[data-theme="editorial"] .only-mono { display: none; }
[data-theme="editorial"] .only-editorial { display: block; }
/* Homepage: Monolithische Symptom-Liste (asymmetrisch) */
.symptoms-mono { display: block; }
.symptoms-editorial { display: none; }
[data-theme="editorial"] .symptoms-mono { display: none; }
[data-theme="editorial"] .symptoms-editorial { display: grid; }
.symptoms-editorial {
grid-template-columns: repeat(1, minmax(0, 1fr));
gap: 24px;
margin-top: 48px;
}
@media (min-width: 720px) {
.symptoms-editorial { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1080px) {
.symptoms-editorial { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.sym-row {
/* CHG-03: Invariant über beide Wirkungen ist der Inhalt — Reihenfolge 01 → 02 → 03,
gleiche Gewichtung (gleiche Kartenbreite), Magenta-Kante auf Karte 03.
Die Anordnung ist Ausdruck und variiert bewusst je Wirkung (R6, Dok. 010):
monolithisch = rasterbasierter Versatz, editorial = geordnete Reihe.
Gleiches DOM, nur Grid-Platzierung unterscheidet sich. */
.symptoms {
display: grid;
grid-template-columns: repeat(12, minmax(0, 1fr));
gap: 24px;
margin-bottom: clamp(48px, 8vw, 96px);
align-items: start;
column-gap: 24px;
row-gap: 24px;
margin-top: 48px;
}
.symptoms .card { grid-column: 1 / -1; }
@media (min-width: 720px) {
/* Editorial: geordnete 3er-Reihe, gleiche Breite (je 4 Spalten) */
[data-theme="editorial"] .symptoms .card { grid-column: span 4; }
/* Monolithisch: gleiche Kartenbreite (je 8 Spalten), konsequenter Versatz-
Schritt von +2 Spalten, an der linken Baseline verankert — konstruiert,
nicht zufällig. Karten stapeln durch den Spalten-Konflikt automatisch. */
[data-theme="monolith"] .symptoms { row-gap: clamp(32px, 5vw, 64px); }
[data-theme="monolith"] .symptoms .card:nth-child(1) { grid-column: 1 / span 8; }
[data-theme="monolith"] .symptoms .card:nth-child(2) { grid-column: 3 / span 8; }
[data-theme="monolith"] .symptoms .card:nth-child(3) { grid-column: 5 / span 8; }
}
/* Manifest [02]: gleiche Logik wie Startseite [01] Diagnose, auf 4 Karten
übertragen. Invariant = Inhalt/Reihenfolge 01→04 + Magenta-Kante auf der
letzten Karte. Anordnung variiert je Wirkung (R6). */
.manifest-cards {
display: grid;
grid-template-columns: repeat(12, minmax(0, 1fr));
column-gap: 24px;
row-gap: 24px;
}
.manifest-cards .card { grid-column: 1 / -1; }
@media (min-width: 720px) {
/* Editorial: geordnetes 2x2-Raster, gleiche Breite (je 6 Spalten) */
[data-theme="editorial"] .manifest-cards .card { grid-column: span 6; }
/* Monolithisch: rasterbasierte Treppe — gleicher Versatz-Schritt (+2 Spalten)
wie auf der Startseite, an der linken Baseline verankert, letzte Karte an
der rechten Kante. Schmaler (je 6 Spalten), damit alle 4 Stufen passen. */
[data-theme="monolith"] .manifest-cards { row-gap: clamp(32px, 5vw, 64px); }
[data-theme="monolith"] .manifest-cards .card:nth-child(1) { grid-column: 1 / span 6; }
[data-theme="monolith"] .manifest-cards .card:nth-child(2) { grid-column: 3 / span 6; }
[data-theme="monolith"] .manifest-cards .card:nth-child(3) { grid-column: 5 / span 6; }
[data-theme="monolith"] .manifest-cards .card:nth-child(4) { grid-column: 7 / span 6; }
}
.signal-quote {
margin: 0;
max-width: 36ch;
color: rgb(var(--color-text-primary));
}
/* DNA list (Methode) */
@ -846,84 +880,41 @@ body.drawer-open { overflow: hidden; }
margin-bottom: 16px;
}
/* Blog: monolith = Langform-Liste, editorial = Karten-Raster */
/* Blog: monolith = Langform-Liste, editorial = volle Breite als Karten.
Kein Bildmaterial → keine Featured-/Raster-Logik; editorial spiegelt den
monolithischen Zeilen-Aufbau, bleibt aber in Karten. */
.blog-list-mono { display: flex; flex-direction: column; gap: clamp(48px, 8vw, 96px); }
.blog-list-editorial { display: none; }
[data-theme="editorial"] .blog-list-mono { display: none; }
[data-theme="editorial"] .blog-list-editorial {
display: grid;
grid-template-columns: repeat(1, minmax(0, 1fr));
display: flex;
flex-direction: column;
gap: 24px;
}
@media (min-width: 900px) {
[data-theme="editorial"] .blog-list-editorial {
grid-template-columns: repeat(6, minmax(0, 1fr));
}
}
.post-card {
padding: 32px;
background: rgb(var(--color-bg-elevated));
border: 1px solid rgb(var(--color-border));
border-radius: var(--radius-card);
transition: box-shadow var(--transition-medium), transform var(--transition-fast);
border-radius: var(--radius);
transition: border-color var(--transition-fast);
cursor: pointer;
display: flex;
flex-direction: column;
}
.post-card:hover {
box-shadow: 0 12px 32px rgb(0 0 0 / 0.06);
transform: translateY(-2px);
border-color: rgb(var(--color-text-mute));
}
/* Featured-Post (editorial) */
.post-featured {
grid-column: 1 / -1;
/* Volle-Breite-Karte (editorial): gleicher Spalten-Aufbau wie .post-row */
.post-card--row {
display: grid;
grid-template-columns: 1fr;
gap: 0;
padding: 0;
overflow: hidden;
}
@media (min-width: 900px) {
.post-featured {
grid-template-columns: 1fr 1fr;
min-height: 360px;
}
}
.post-featured-visual {
background:
linear-gradient(135deg, #e9e6d8 0%, #d6d1c1 50%, #bfb9a8 100%);
min-height: 240px;
position: relative;
overflow: hidden;
}
.post-featured-visual::before {
content: "";
position: absolute;
inset: 0;
background:
radial-gradient(circle at 30% 30%, rgb(232 23 93 / 0.15) 0%, transparent 50%),
repeating-linear-gradient(45deg, transparent 0 24px, rgb(0 0 0 / 0.04) 24px 25px);
}
.post-featured-body {
padding: 32px;
display: flex;
flex-direction: column;
justify-content: center;
gap: 16px;
border-left: 1px solid rgb(var(--color-border));
}
@media (max-width: 899px) {
.post-featured-body { border-left: 0; border-top: 1px solid rgb(var(--color-border)); }
}
.post-small {
grid-column: span 6;
}
@media (min-width: 900px) {
.post-small { grid-column: span 3; }
grid-template-columns: repeat(12, minmax(0, 1fr));
gap: 24px;
align-items: start;
padding: clamp(24px, 3vw, 48px);
}
.post-card--row:hover .post-row-title { color: rgb(var(--color-text-primary)); }
/* Bloglisten-Unterscheidung: Monolith = sehr lesbare Zeile */
.post-row {
@ -936,12 +927,76 @@ body.drawer-open { overflow: hidden; }
cursor: pointer;
transition: border-color var(--transition-fast);
}
.post-row:hover { border-color: rgb(var(--color-accent)); }
.post-row:hover .post-row-title { color: rgb(var(--color-accent)); }
.post-row:hover { border-color: rgb(var(--color-text-mute)); }
.post-row:hover .post-row-title { color: rgb(var(--color-text-primary)); }
.post-row-title {
transition: color var(--transition-fast);
}
/* Ganze Beitrags-Kachel klickbar (Stretched-Link), barrierearm:
Linktext bleibt der Titel, ::after deckt die Karte/Zeile ab. */
.post-row,
.post-card--row { position: relative; }
.post-title-link {
color: inherit;
text-decoration: none;
}
.post-title-link::after {
content: "";
position: absolute;
inset: 0;
}
/* --- Essay / Beitrags-Detail (Denken) ------------------------------------
Schrift-Regel: auf Denken ist der Essay-Body die denkende Stimme = Serife. */
.article-head {
padding-top: clamp(40px, 8vw, 96px);
padding-bottom: clamp(32px, 6vw, 64px);
}
.article-meta {
display: flex;
flex-wrap: wrap;
gap: 8px 20px;
align-items: center;
}
.prose { max-width: 680px; }
/* Flow-Abstand zentral steuern: erst alle Margins resetten, dann Geschwister
trennen. Reihenfolge/Spezifität so, dass der Abstand zuverlässig greift. */
.prose > * { margin: 0; }
.prose > * + * { margin-top: 1.9em; }
.prose p {
font-family: var(--ff-editorial);
font-size: clamp(18px, 1.3vw, 20px);
line-height: 1.8;
color: rgb(var(--color-text-body));
}
.prose .prose-lead {
font-size: clamp(20px, 1.7vw, 24px);
line-height: 1.6;
color: rgb(var(--color-text-primary));
}
.prose h2 {
font-family: var(--ff-display);
font-weight: var(--fw-display);
font-size: clamp(22px, 2.4vw, 30px);
line-height: 1.2;
letter-spacing: -0.01em;
color: rgb(var(--color-text-primary));
margin-top: 2.4em;
}
/* Pull-Quote = erhobene Aussage: Serife + 2px-Magenta-Signal-Linie. */
.prose blockquote {
margin-top: 2.2em;
padding-left: clamp(20px, 2.5vw, 32px);
border-left: 2px solid rgb(var(--color-accent));
font-family: var(--ff-editorial);
font-size: clamp(22px, 2vw, 28px);
line-height: 1.4;
color: rgb(var(--color-text-primary));
}
.prose strong { font-weight: 600; color: rgb(var(--color-text-primary)); }
/* Footer ------------------------------------------------------------------- */
.site-footer {
@ -990,7 +1045,7 @@ body.drawer-open { overflow: hidden; }
letter-spacing: -0.005em;
font-size: 13px;
}
.footer-link:hover { color: rgb(var(--color-accent)); }
.footer-link:hover { color: rgb(var(--color-text-primary)); }
.footer-note { opacity: 0.8; }
/* --- Utilities ------------------------------------------------------------- */
@ -1017,69 +1072,19 @@ body.drawer-open { overflow: hidden; }
.max-prose { max-width: 680px; }
.max-wide { max-width: 900px; }
/* CHG-01: Label als reiner Mono-Signal-Text, keine gefüllte Fläche */
.tag {
display: inline-block;
font-family: var(--ff-mono);
font-size: 12px;
letter-spacing: 0.06em;
letter-spacing: 0.16em;
text-transform: uppercase;
padding: 6px 12px;
border: 1px solid rgb(var(--color-border));
color: rgb(var(--color-text-dim));
border-radius: var(--radius-pill);
}
[data-theme="editorial"] .tag {
background: rgb(var(--color-accent) / 0.08);
font-weight: 500;
color: rgb(var(--color-accent));
border-color: transparent;
font-family: var(--ff-mono);
letter-spacing: 0.05em;
}
/* Filter pills (Denken) */
.filter-row {
display: flex;
flex-wrap: wrap;
gap: 16px;
list-style: none;
padding: 0 0 16px;
margin: 0;
border-bottom: 1px solid rgb(var(--color-border));
}
[data-theme="editorial"] .filter-row {
gap: 8px;
border-bottom: 0;
padding-bottom: 0;
}
.filter-btn {
background: transparent;
border: 0;
cursor: pointer;
padding: 0;
font-family: var(--ff-mono);
font-size: var(--fs-meta);
letter-spacing: var(--ls-meta);
text-transform: uppercase;
color: rgb(var(--color-text-dim));
font-weight: 500;
transition: color var(--transition-fast);
}
.filter-btn:hover { color: rgb(var(--color-text-primary)); }
.filter-btn.is-active { color: rgb(var(--color-accent)); font-weight: 700; }
[data-theme="editorial"] .filter-btn {
padding: 8px 16px;
border: 1px solid rgb(var(--color-border));
border-radius: var(--radius-pill);
text-transform: none;
letter-spacing: -0.005em;
font-family: var(--ff-body);
font-size: 13px;
font-weight: 500;
}
[data-theme="editorial"] .filter-btn.is-active {
background: rgb(var(--color-text-primary));
color: rgb(var(--color-bg-base));
border-color: rgb(var(--color-text-primary));
border: 0;
background: transparent;
border-radius: 0;
}
/* Editorial Split (Methode: Theorie → Praxis) */
@ -1097,29 +1102,11 @@ body.drawer-open { overflow: hidden; }
}
.split-visual {
aspect-ratio: 4/3;
background:
radial-gradient(ellipse at 30% 30%, rgb(0 0 0 / 0.08) 0%, transparent 60%),
linear-gradient(135deg, #efece0 0%, #d9d3c1 60%, #c1baa6 100%);
border-radius: var(--radius-card);
background: rgb(var(--color-bg-surface));
border: 1px solid rgb(var(--color-border));
border-radius: var(--radius);
position: relative;
overflow: hidden;
box-shadow: inset 0 0 0 1px rgb(var(--color-border));
}
.split-visual::after {
content: "";
position: absolute;
inset: 0;
background: repeating-linear-gradient(135deg, transparent 0 32px, rgb(0 0 0 / 0.03) 32px 33px);
}
[data-theme="monolith"] .split-visual {
background:
radial-gradient(ellipse at 30% 30%, rgb(232 23 93 / 0.15) 0%, transparent 60%),
linear-gradient(135deg, #1c1b1b 0%, #0e0d0d 100%);
box-shadow: inset 3px 0 0 rgb(var(--color-accent) / 0.4);
border-radius: 0;
}
[data-theme="monolith"] .split-visual::after {
background: repeating-linear-gradient(135deg, transparent 0 32px, rgb(255 255 255 / 0.04) 32px 33px);
}
/* --- Scroll-Reveal -------------------------------------------------------- */

View file

@ -0,0 +1,112 @@
/* newsreader-200 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Newsreader';
font-style: normal;
font-weight: 200;
src: url('../fonts/newsreader-v26-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* newsreader-200italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Newsreader';
font-style: italic;
font-weight: 200;
src: url('../fonts/newsreader-v26-latin-200italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* newsreader-300 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Newsreader';
font-style: normal;
font-weight: 300;
src: url('../fonts/newsreader-v26-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* newsreader-300italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Newsreader';
font-style: italic;
font-weight: 300;
src: url('../fonts/newsreader-v26-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* newsreader-regular - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Newsreader';
font-style: normal;
font-weight: 400;
src: url('../fonts/newsreader-v26-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* newsreader-italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Newsreader';
font-style: italic;
font-weight: 400;
src: url('../fonts/newsreader-v26-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* newsreader-500 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Newsreader';
font-style: normal;
font-weight: 500;
src: url('../fonts/newsreader-v26-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* newsreader-500italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Newsreader';
font-style: italic;
font-weight: 500;
src: url('../fonts/newsreader-v26-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* newsreader-600 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Newsreader';
font-style: normal;
font-weight: 600;
src: url('../fonts/newsreader-v26-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* newsreader-600italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Newsreader';
font-style: italic;
font-weight: 600;
src: url('../fonts/newsreader-v26-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* newsreader-700 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Newsreader';
font-style: normal;
font-weight: 700;
src: url('../fonts/newsreader-v26-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* newsreader-700italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Newsreader';
font-style: italic;
font-weight: 700;
src: url('../fonts/newsreader-v26-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* newsreader-800 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Newsreader';
font-style: normal;
font-weight: 800;
src: url('../fonts/newsreader-v26-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* newsreader-800italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Newsreader';
font-style: italic;
font-weight: 800;
src: url('../fonts/newsreader-v26-latin-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

View file

@ -0,0 +1,144 @@
/* noto-serif-100 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Noto Serif';
font-style: normal;
font-weight: 100;
src: url('../fonts/noto-serif-v33-latin-100.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-100italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Noto Serif';
font-style: italic;
font-weight: 100;
src: url('../fonts/noto-serif-v33-latin-100italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-200 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Noto Serif';
font-style: normal;
font-weight: 200;
src: url('../fonts/noto-serif-v33-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-200italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Noto Serif';
font-style: italic;
font-weight: 200;
src: url('../fonts/noto-serif-v33-latin-200italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-300 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Noto Serif';
font-style: normal;
font-weight: 300;
src: url('../fonts/noto-serif-v33-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-300italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Noto Serif';
font-style: italic;
font-weight: 300;
src: url('../fonts/noto-serif-v33-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-regular - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Noto Serif';
font-style: normal;
font-weight: 400;
src: url('../fonts/noto-serif-v33-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Noto Serif';
font-style: italic;
font-weight: 400;
src: url('../fonts/noto-serif-v33-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-500 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Noto Serif';
font-style: normal;
font-weight: 500;
src: url('../fonts/noto-serif-v33-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-500italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Noto Serif';
font-style: italic;
font-weight: 500;
src: url('../fonts/noto-serif-v33-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-600 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Noto Serif';
font-style: normal;
font-weight: 600;
src: url('../fonts/noto-serif-v33-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-600italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Noto Serif';
font-style: italic;
font-weight: 600;
src: url('../fonts/noto-serif-v33-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-700 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Noto Serif';
font-style: normal;
font-weight: 700;
src: url('../fonts/noto-serif-v33-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-700italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Noto Serif';
font-style: italic;
font-weight: 700;
src: url('../fonts/noto-serif-v33-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-800 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Noto Serif';
font-style: normal;
font-weight: 800;
src: url('../fonts/noto-serif-v33-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-800italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Noto Serif';
font-style: italic;
font-weight: 800;
src: url('../fonts/noto-serif-v33-latin-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-900 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Noto Serif';
font-style: normal;
font-weight: 900;
src: url('../fonts/noto-serif-v33-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-900italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Noto Serif';
font-style: italic;
font-weight: 900;
src: url('../fonts/noto-serif-v33-latin-900italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

View file

@ -0,0 +1,72 @@
/* outfit-100 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Outfit';
font-style: normal;
font-weight: 100;
src: url('../fonts/outfit-v15-latin-100.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* outfit-200 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Outfit';
font-style: normal;
font-weight: 200;
src: url('../fonts/outfit-v15-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* outfit-300 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Outfit';
font-style: normal;
font-weight: 300;
src: url('../fonts/outfit-v15-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* outfit-regular - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Outfit';
font-style: normal;
font-weight: 400;
src: url('../fonts/outfit-v15-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* outfit-500 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Outfit';
font-style: normal;
font-weight: 500;
src: url('../fonts/outfit-v15-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* outfit-600 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Outfit';
font-style: normal;
font-weight: 600;
src: url('../fonts/outfit-v15-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* outfit-700 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Outfit';
font-style: normal;
font-weight: 700;
src: url('../fonts/outfit-v15-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* outfit-800 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Outfit';
font-style: normal;
font-weight: 800;
src: url('../fonts/outfit-v15-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* outfit-900 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Outfit';
font-style: normal;
font-weight: 900;
src: url('../fonts/outfit-v15-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

View file

@ -0,0 +1,112 @@
/* plus-jakarta-sans-200 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 200;
src: url('../fonts/plus-jakarta-sans-v12-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-200italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Plus Jakarta Sans';
font-style: italic;
font-weight: 200;
src: url('../fonts/plus-jakarta-sans-v12-latin-200italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-300 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 300;
src: url('../fonts/plus-jakarta-sans-v12-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-300italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Plus Jakarta Sans';
font-style: italic;
font-weight: 300;
src: url('../fonts/plus-jakarta-sans-v12-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-regular - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 400;
src: url('../fonts/plus-jakarta-sans-v12-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Plus Jakarta Sans';
font-style: italic;
font-weight: 400;
src: url('../fonts/plus-jakarta-sans-v12-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-500 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 500;
src: url('../fonts/plus-jakarta-sans-v12-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-500italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Plus Jakarta Sans';
font-style: italic;
font-weight: 500;
src: url('../fonts/plus-jakarta-sans-v12-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-600 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 600;
src: url('../fonts/plus-jakarta-sans-v12-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-600italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Plus Jakarta Sans';
font-style: italic;
font-weight: 600;
src: url('../fonts/plus-jakarta-sans-v12-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-700 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 700;
src: url('../fonts/plus-jakarta-sans-v12-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-700italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Plus Jakarta Sans';
font-style: italic;
font-weight: 700;
src: url('../fonts/plus-jakarta-sans-v12-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-800 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 800;
src: url('../fonts/plus-jakarta-sans-v12-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-800italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Plus Jakarta Sans';
font-style: italic;
font-weight: 800;
src: url('../fonts/plus-jakarta-sans-v12-latin-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

View file

@ -0,0 +1,40 @@
/* space-grotesk-300 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Space Grotesk';
font-style: normal;
font-weight: 300;
src: url('../fonts/space-grotesk-v22-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* space-grotesk-regular - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Space Grotesk';
font-style: normal;
font-weight: 400;
src: url('../fonts/space-grotesk-v22-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* space-grotesk-500 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Space Grotesk';
font-style: normal;
font-weight: 500;
src: url('../fonts/space-grotesk-v22-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* space-grotesk-600 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Space Grotesk';
font-style: normal;
font-weight: 600;
src: url('../fonts/space-grotesk-v22-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* space-grotesk-700 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Space Grotesk';
font-style: normal;
font-weight: 700;
src: url('../fonts/space-grotesk-v22-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

View file

@ -0,0 +1,144 @@
/* work-sans-100 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Work Sans';
font-style: normal;
font-weight: 100;
src: url('../fonts/work-sans-v24-latin-100.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-100italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Work Sans';
font-style: italic;
font-weight: 100;
src: url('../fonts/work-sans-v24-latin-100italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-200 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Work Sans';
font-style: normal;
font-weight: 200;
src: url('../fonts/work-sans-v24-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-200italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Work Sans';
font-style: italic;
font-weight: 200;
src: url('../fonts/work-sans-v24-latin-200italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-300 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Work Sans';
font-style: normal;
font-weight: 300;
src: url('../fonts/work-sans-v24-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-300italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Work Sans';
font-style: italic;
font-weight: 300;
src: url('../fonts/work-sans-v24-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-regular - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Work Sans';
font-style: normal;
font-weight: 400;
src: url('../fonts/work-sans-v24-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Work Sans';
font-style: italic;
font-weight: 400;
src: url('../fonts/work-sans-v24-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-500 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Work Sans';
font-style: normal;
font-weight: 500;
src: url('../fonts/work-sans-v24-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-500italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Work Sans';
font-style: italic;
font-weight: 500;
src: url('../fonts/work-sans-v24-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-600 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Work Sans';
font-style: normal;
font-weight: 600;
src: url('../fonts/work-sans-v24-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-600italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Work Sans';
font-style: italic;
font-weight: 600;
src: url('../fonts/work-sans-v24-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-700 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Work Sans';
font-style: normal;
font-weight: 700;
src: url('../fonts/work-sans-v24-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-700italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Work Sans';
font-style: italic;
font-weight: 700;
src: url('../fonts/work-sans-v24-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-800 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Work Sans';
font-style: normal;
font-weight: 800;
src: url('../fonts/work-sans-v24-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-800italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Work Sans';
font-style: italic;
font-weight: 800;
src: url('../fonts/work-sans-v24-latin-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-900 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Work Sans';
font-style: normal;
font-weight: 900;
src: url('../fonts/work-sans-v24-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-900italic - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Work Sans';
font-style: italic;
font-weight: 900;
src: url('../fonts/work-sans-v24-latin-900italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

View file

@ -1,5 +1,6 @@
/* markemacht.de — Interaktionen
* - Wirkung-Switch (monolithisch | editorial) + localStorage
* - Komponenten: Header/Footer
* - Wirkung-Switch (monolithisch | editorial) + Persistenz
* - Mobile Drawer
* - Scroll-Reveal (IntersectionObserver, max 400ms, ease-out)
* - Keyboard: ESC schließt Drawer
@ -7,23 +8,84 @@
(function () {
'use strict';
/* ---------- Komponenten ------------------------------------------------ */
const COMPONENTS = [
['[data-site-header]', './assets/components/header.html'],
['[data-site-footer]', './assets/components/footer.html'],
];
async function loadComponent(selector, url) {
const mount = document.querySelector(selector);
if (!mount) return;
try {
const res = await fetch(url, { cache: 'no-cache' });
if (!res.ok) throw new Error(`Component not found: ${url}`);
mount.innerHTML = await res.text();
} catch (err) {
console.error(err);
mount.setAttribute('data-component-error', 'true');
}
}
function initComponents() {
return Promise.all(COMPONENTS.map(([selector, url]) => loadComponent(selector, url)));
}
function getCurrentPage() {
const file = window.location.pathname.split('/').pop() || 'index.html';
if (file === 'index.html') return 'start';
if (file === 'manifest.html') return 'manifest';
if (file === 'methode.html') return 'methode';
if (file === 'denken.html' || file.startsWith('denken-')) return 'denken';
return '';
}
function initActiveNavigation() {
const current = getCurrentPage();
document.querySelectorAll('[data-nav-page]').forEach((link) => {
const isActive = link.getAttribute('data-nav-page') === current;
link.classList.toggle('is-active', isActive);
if (isActive) {
link.setAttribute('aria-current', 'page');
} else {
link.removeAttribute('aria-current');
}
});
}
/* ---------- Wirkung ---------------------------------------------------- */
const STORAGE_KEY = 'mm-wirkung';
const VALID = ['monolith', 'editorial'];
const DEFAULT = 'monolith';
function getCookie() {
const entry = document.cookie
.split('; ')
.find((row) => row.startsWith(`${STORAGE_KEY}=`));
if (!entry) return null;
const v = decodeURIComponent(entry.split('=').slice(1).join('='));
return VALID.includes(v) ? v : null;
}
function setCookie(mode) {
document.cookie = `${STORAGE_KEY}=${encodeURIComponent(mode)}; path=/; max-age=31536000; SameSite=Lax`;
}
function getStored() {
try {
const v = localStorage.getItem(STORAGE_KEY);
return VALID.includes(v) ? v : null;
} catch (_) { return null; }
return VALID.includes(v) ? v : getCookie();
} catch (_) { return getCookie(); }
}
function applyMode(mode) {
if (!VALID.includes(mode)) mode = DEFAULT;
document.documentElement.setAttribute('data-theme', mode);
try { localStorage.setItem(STORAGE_KEY, mode); } catch (_) {}
setCookie(mode);
syncButtons(mode);
}
@ -59,6 +121,7 @@
drawer.classList.add('is-open');
document.body.classList.add('drawer-open');
drawer.setAttribute('aria-hidden', 'false');
openBtns.forEach((btn) => btn.setAttribute('aria-expanded', 'true'));
const firstLink = drawer.querySelector('a, button');
if (firstLink) firstLink.focus();
}
@ -66,6 +129,7 @@
drawer.classList.remove('is-open');
document.body.classList.remove('drawer-open');
drawer.setAttribute('aria-hidden', 'true');
openBtns.forEach((btn) => btn.setAttribute('aria-expanded', 'false'));
}
openBtns.forEach((b) => b.addEventListener('click', open));
@ -117,7 +181,9 @@
/* ---------- Boot ------------------------------------------------------- */
function boot() {
async function boot() {
await initComponents();
initActiveNavigation();
initWirkung();
initDrawer();
initReveal();