/* ============================================================
   Eigenwill — eigenes CSS
   ============================================================

   Hier landet dein handgeschriebenes CSS. Diese Datei wird über
   functions.php eingebunden und liegt im Git-Repo — Änderungen
   gehen also über Staging nach Live.

   Farben und Schriftgrößen nimmst du am besten aus theme.json:
       var(--wp--preset--color--accent)
       var(--wp--preset--font-size--large)

   So bleibt alles an einer Stelle definiert.
   ============================================================ */


/* --- Grundlagen ------------------------------------------- */

:root {
	--eigenwill-radius: 4px;
	--eigenwill-transition: 200ms ease;
}


/* --- Elementor-Bereiche ----------------------------------- */

/* Beispiel: Buttons vereinheitlichen, auch die von Elementor.
   Auskommentiert, damit nichts ungefragt greift. */
/*
.elementor-button,
.wp-block-button__link {
	border-radius: var(--eigenwill-radius);
	transition: background-color var(--eigenwill-transition);
}
*/


/* --- Newsletter-Widget -------------------------------------
   Farben/Schriften bewusst an das Elementor-Kit angeglichen
   (globale Kit-Farben/-Typografie, Kit-ID 8), damit das Widget
   optisch nicht vom vorherigen nativen Elementor-Formular
   abweicht. Werte über wp-admin → Site-Einstellungen → Design
   im Elementor-Kit pflegen, hier nur die Fallback-Hex-Werte
   nachziehen, falls sie sich dort ändern.
   ------------------------------------------------------------ */

.eigenwill-newsletter {
	max-width: 34rem;
	margin-inline: auto;
}

.eigenwill-newsletter__field {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	gap: 0.75rem;
}

.eigenwill-newsletter__group {
	flex: 1 1 14rem;
}

.eigenwill-newsletter__input {
	width: 100%;
	padding: 0.75rem 1rem;
	line-height: 1.6;
	border: 1px solid var(--e-global-color-secondary, #232234);
	border-radius: 0;
	background: var(--e-global-color-background, #000000);
	color: var(--e-global-color-backgroundAccent, #3891A6);
	font-family: "Poppins", sans-serif;
	font-weight: 400;
}

.eigenwill-newsletter__input::placeholder {
	color: rgba(247, 250, 235, 0.45);
}

.eigenwill-newsletter__input:focus-visible {
	outline: 2px solid var(--e-global-color-accent, #F05E54);
	outline-offset: 1px;
}

.eigenwill-newsletter__submit {
	flex: 0 0 auto;
	padding: 12px 24px;
	border: 1px solid var(--e-global-color-accent, #F05E54);
	border-radius: 0;
	background: var(--e-global-color-accent, #F05E54);
	color: var(--e-global-color-background, #000000);
	font-family: "Didact Gothic", sans-serif;
	font-size: 16px;
	font-weight: 500;
	cursor: pointer;
	transition: opacity var(--eigenwill-transition);
}

.eigenwill-newsletter__submit:hover {
	opacity: 0.85;
}

.eigenwill-newsletter__submit[disabled] {
	opacity: 0.5;
	cursor: progress;
}

.eigenwill-newsletter__consent {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 0.75rem;
	color: var(--e-global-color-text, #F7FAEB);
	font-family: "Didact Gothic", sans-serif;
	font-size: 14px;
	line-height: 1.5em;
}

.eigenwill-newsletter__consent input {
	margin-top: 0.2rem;
	accent-color: var(--e-global-color-accent, #F05E54);
}

.eigenwill-newsletter__consent--error {
	outline: 2px solid var(--e-global-color-accent, #F05E54);
	outline-offset: 4px;
}

.eigenwill-newsletter__consent--error input {
	outline: 2px solid var(--e-global-color-accent, #F05E54);
	outline-offset: 2px;
}

.eigenwill-newsletter__consent-error {
	margin-top: 0.5rem;
	color: var(--e-global-color-accent, #F05E54);
	font-family: "Didact Gothic", sans-serif;
	font-size: 13px;
	text-align: center;
}

.eigenwill-newsletter__message {
	margin-top: 0.75rem;
	padding: 0.75rem 1rem;
	color: var(--e-global-color-text, #F7FAEB);
	font-family: "Didact Gothic", sans-serif;
	font-size: 14px;
	text-align: center;
}

.eigenwill-newsletter__message--success {
	border: 1px solid var(--e-global-color-backgroundAccent, #3891A6);
}

.eigenwill-newsletter__message--error {
	border: 1px solid var(--e-global-color-accent, #F05E54);
}


/* --- EPK-Seite -----------------------------------------------
   Eigenes Design-System aus dem Claude-Design-Handover (Scope,
   Material und PDF-Export). Bewusst unter .eigenwill-epk gekapselt,
   damit nichts mit dem Rest der Seite (Elementor-Kit-Farben,
   Homepage-Fonts) kollidiert. Tokens 1:1 aus dem Handover
   übernommen — Farben decken sich größtenteils ohnehin mit dem
   bestehenden Elementor-Kit (siehe Newsletter-Widget-Kommentar
   oben), zwei neue Akzente (--epk-spark, --epk-surface-raised)
   kommen dazu.
   ------------------------------------------------------------ */

.eigenwill-epk {
	--epk-bg-base: #151422;
	--epk-bg-surface: #232234;
	--epk-surface-raised: #343343;
	--epk-bridge: #3891A6;
	--epk-bridge-hover: #57A2B1;
	--epk-text: #F7FAEB;
	--epk-text-muted: #ADAEAB;
	--epk-text-dim: #828386;
	--epk-fire: #F05E54;
	--epk-fire-hover: #D1544D;
	--epk-spark: #F6BD60;
	--epk-border-subtle: #41404E;
	--epk-border-strong: #5A5A64;

	--epk-font-display: "Archivo", "Archivo Fallback", sans-serif;
	--epk-font-text: "Inter Tight", sans-serif;
	--epk-font-mono: "Space Mono", monospace;

	--epk-space-1: 4px;
	--epk-space-2: 8px;
	--epk-space-3: 12px;
	--epk-space-4: 16px;
	--epk-space-6: 24px;
	--epk-space-8: 32px;
	--epk-space-12: 48px;
	--epk-space-16: 64px;
	--epk-space-24: 96px;
	--epk-space-32: 128px;

	background: var(--epk-bg-base);
	color: var(--epk-text);
	font-family: var(--epk-font-text);
	line-height: 1.6;
	position: relative;
}

.eigenwill-epk * {
	box-sizing: border-box;
}

.eigenwill-epk h1,
.eigenwill-epk h2,
.eigenwill-epk h3 {
	font-family: var(--epk-font-display);
	font-weight: 600;
	font-variation-settings: "wdth" 78;
	line-height: 0.9;
	margin: 0;
	text-align: left;
}

.eigenwill-epk p {
	max-width: 68ch;
	margin: 0;
}

.eigenwill-epk a {
	color: var(--epk-bridge);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.eigenwill-epk a:hover {
	color: var(--epk-bridge-hover);
}

.eigenwill-epk ::selection {
	background: var(--epk-fire);
	color: var(--epk-bg-base);
}

/* Film-Grain-Textur — Signature-Element aus dem Design-System. */
.eigenwill-epk::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0.05;
	mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

.eigenwill-epk__wrap {
	max-width: 1280px;
	margin: 0 auto;
	padding: var(--epk-space-16) var(--epk-space-6) var(--epk-space-24);
	position: relative;
}

/* "Der Bruch" — kommt genau einmal pro Seite vor, nie wiederholt. */
.eigenwill-epk__bruch {
	position: relative;
	height: 1px;
	background: var(--epk-bridge);
	width: 100%;
	margin: var(--epk-space-16) 0;
}

.eigenwill-epk__bruch::before {
	content: "";
	position: absolute;
	left: 62%;
	top: 0;
	width: 8%;
	height: 12px;
	background: var(--epk-bg-base);
	transform: translateY(-6px);
}

.eigenwill-epk__bruch::after {
	content: "";
	position: absolute;
	left: 62%;
	top: -11px;
	width: 8%;
	height: 3px;
	background: var(--epk-fire);
}

/* Nav */
.eigenwill-epk__nav {
	position: sticky;
	top: 0;
	z-index: 10;
	background: var(--epk-bg-base);
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: var(--epk-space-4) 0;
	margin-bottom: var(--epk-space-24);
	border-bottom: 1px solid var(--epk-border-subtle);
	flex-wrap: wrap;
	gap: var(--epk-space-4);
}

.eigenwill-epk__nav-links {
	display: flex;
	gap: var(--epk-space-6);
	flex-wrap: wrap;
}

.eigenwill-epk__eyebrow,
.eigenwill-epk__nav-links a,
.eigenwill-epk__label {
	font-family: var(--epk-font-mono);
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-size: 11px;
	text-decoration: none;
	color: var(--epk-text);
}

.eigenwill-epk__nav-links a:hover {
	color: var(--epk-bridge-hover);
}

.eigenwill-epk__wordmark {
	font-family: var(--epk-font-display);
	font-variation-settings: "wdth" 118;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-size: 20px;
	text-decoration: none;
	color: var(--epk-text);
}

/* Sections */
.eigenwill-epk section {
	margin-bottom: var(--epk-space-24);
	scroll-margin-top: var(--epk-space-24);
}

.eigenwill-epk section.eigenwill-epk__narrow {
	max-width: 780px;
}

.eigenwill-epk h2 {
	font-size: 34px;
	margin-bottom: var(--epk-space-6);
}

.eigenwill-epk__section-note {
	font-size: 14px;
	color: var(--epk-text-dim);
	margin-bottom: var(--epk-space-6);
}

/* Hero */
.eigenwill-epk__hero h1 {
	font-size: 64px;
	margin-bottom: var(--epk-space-4);
}

.eigenwill-epk__hero-eyebrow {
	color: var(--epk-spark);
	margin-bottom: var(--epk-space-6);
}

.eigenwill-epk__hero-meta {
	color: var(--epk-text-dim);
	margin-bottom: var(--epk-space-8);
}

.eigenwill-epk__hero-ctas {
	display: flex;
	gap: var(--epk-space-4);
	flex-wrap: wrap;
}

/* Buttons — primary/secondary, exakt nach Button.jsx aus dem Handover. */
.eigenwill-epk__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--epk-font-text);
	font-weight: 600;
	font-size: 16px;
	padding: 18px 32px;
	border: 1px solid transparent;
	border-radius: 0;
	text-decoration: none !important;
	cursor: pointer;
	transition: background 120ms linear, color 120ms linear, border-color 120ms linear;
}

.eigenwill-epk__btn--sm {
	font-size: 13px;
	padding: 8px 16px;
}

.eigenwill-epk__btn--primary {
	background: var(--epk-fire);
	color: var(--epk-bg-base) !important;
}

.eigenwill-epk__btn--primary:hover {
	background: var(--epk-fire-hover);
	color: var(--epk-bg-base) !important;
}

.eigenwill-epk__btn--secondary {
	background: transparent;
	color: var(--epk-text) !important;
	border-color: var(--epk-border-strong);
}

.eigenwill-epk__btn--secondary:hover {
	border-color: var(--epk-bridge);
}

/* Tag — für "Platzhalter folgt"-Hinweise. */
.eigenwill-epk__tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	font-family: var(--epk-font-text);
	font-size: 13px;
	color: var(--epk-text);
	background: var(--epk-bg-surface);
	border: 1px solid var(--epk-border-strong);
}

/* Platzhalter-Boxen (Fotos, Video, Rider). */
.eigenwill-epk__placeholder {
	border: 1px dashed var(--epk-border-strong);
	padding: var(--epk-space-8) var(--epk-space-6);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: var(--epk-text-muted);
	background: var(--epk-bg-surface);
}

.eigenwill-epk__placeholder-label {
	font-family: var(--epk-font-mono);
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-size: 11px;
	color: var(--epk-text-dim);
	margin-bottom: var(--epk-space-2);
}

/* Bio-Tabs */
.eigenwill-epk__tabs {
	display: flex;
	gap: var(--epk-space-2);
	margin-bottom: var(--epk-space-6);
}

.eigenwill-epk__tab {
	font-family: var(--epk-font-mono);
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-size: 11px;
	background: transparent;
	border: 1px solid var(--epk-border-subtle);
	color: var(--epk-text-dim);
	padding: 10px 16px;
	cursor: pointer;
}

.eigenwill-epk__tab[aria-selected="true"] {
	border-color: var(--epk-bridge);
	color: var(--epk-text);
}

.eigenwill-epk__tab-panel {
	display: none;
}

.eigenwill-epk__tab-panel[data-active="true"] {
	display: block;
}

.eigenwill-epk__bio-text {
	font-size: 17px;
}

/* Musik-Grid */
.eigenwill-epk__track-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: var(--epk-space-6);
}

.eigenwill-epk__track-label {
	font-size: 13px;
	color: var(--epk-text-muted);
	margin-bottom: var(--epk-space-2);
}

.eigenwill-epk__video-frame {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin-bottom: var(--epk-space-2);
}

.eigenwill-epk__video-frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Fotos-Grid */
.eigenwill-epk__photo-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: var(--epk-space-4);
}

.eigenwill-epk__photo-grid .eigenwill-epk__placeholder {
	height: 320px;
}

/* Listen (Live-Historie, Rider) */
.eigenwill-epk__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--epk-space-4);
}

.eigenwill-epk__list li {
	border-top: 1px solid var(--epk-border-subtle);
	padding-top: var(--epk-space-3);
	font-size: 15px;
}

.eigenwill-epk__rider-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--epk-space-2);
}

/* Diskografie */
.eigenwill-epk__release {
	border-top: 1px solid var(--epk-border-subtle);
	padding-top: var(--epk-space-4);
}

.eigenwill-epk__release-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	flex-wrap: wrap;
	gap: var(--epk-space-2);
	margin-bottom: var(--epk-space-2);
}

.eigenwill-epk__release-title {
	font-size: 17px;
}

.eigenwill-epk__release-meta {
	font-family: var(--epk-font-mono);
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-size: 11px;
	color: var(--epk-text-dim);
}

/* Kontakt */
.eigenwill-epk__contact-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: var(--epk-space-6);
	border-top: 1px solid var(--epk-border-subtle);
	padding-top: var(--epk-space-6);
}

.eigenwill-epk__contact-mail {
	font-size: 20px;
}

.eigenwill-epk__contact-social {
	display: flex;
	gap: var(--epk-space-4);
}

/* Mobile */
@media (max-width: 680px) {
	.eigenwill-epk__wrap {
		padding: var(--epk-space-8) var(--epk-space-4) var(--epk-space-16);
	}

	.eigenwill-epk section {
		margin-bottom: var(--epk-space-16);
	}

	.eigenwill-epk__hero h1 {
		font-size: 40px;
	}

	.eigenwill-epk h2 {
		font-size: 26px;
	}

	.eigenwill-epk__photo-grid {
		grid-template-columns: 1fr;
	}

	.eigenwill-epk__photo-grid .eigenwill-epk__placeholder {
		height: 220px;
	}
}


/* --- Homepage-Redesign -----------------------------------------
   Eigenes Design-System aus dem zweiten Claude-Design-Handover
   ("Eigenwill Homepage Redesign"). Gleiche Tokens wie bei der
   EPK-Seite (identisches Handover-Bundle), unter .eigenwill-home
   gekapselt. Ersetzt die bisherige Homepage-Gestaltung komplett.
   ------------------------------------------------------------ */

/* Tokens auf allen Wurzel-Elementen — Part A/Footer (.eigenwill-home),
   Join-Container (.eigenwill-home__join, eigener Elementor-Container,
   kein Nachfahre von .eigenwill-home) und Blog-Templates
   (.eigenwill-blog). Bewusst getrennt von den Seiten-Effekten unten
   (Film-Grain etc.), sonst hätten die anderen die auch bekommen, nur
   weil sie die Klasse tragen. */
.eigenwill-home,
.eigenwill-home__join,
.eigenwill-blog,
.eigenwill-links,
.eigenwill-about,
.eigenwill-thankyou,
.eigenwill-music {
	--home-bg-base: #151422;
	--home-bg-surface: #232234;
	--home-surface-raised: #343343;
	--home-bridge: #3891A6;
	--home-bridge-hover: #57A2B1;
	--home-text: #F7FAEB;
	--home-text-muted: #ADAEAB;
	--home-text-dim: #828386;
	--home-fire: #F05E54;
	--home-fire-hover: #D1544D;
	--home-spark: #F6BD60;
	--home-border-subtle: #41404E;
	--home-border-strong: #5A5A64;
	--home-bg-cinder: #0A0910;

	--home-font-display: "Archivo", "Archivo Fallback", sans-serif;
	--home-font-text: "Inter Tight", sans-serif;
	--home-font-mono: "Space Mono", monospace;

	color: var(--home-text);
	font-family: var(--home-font-text);
}

.eigenwill-home {
	background: var(--home-bg-base);
	position: relative;
}

.eigenwill-home *,
.eigenwill-home__join * {
	box-sizing: border-box;
}

/* Verhindert horizontales Scrollen durch die Parallax-Hero-Bilder —
   bewusst auf body (WP-eigene Body-Klasse), nicht auf .eigenwill-home
   selbst: overflow-x dort würde position:sticky im Header brechen
   (bekannter CSS-Fallstrick — overflow auf einer Achse erzeugt einen
   neuen Scroll-Kontext, der sticky auf Nachfahren relativ zu sich
   selbst statt zum Viewport verankert). */
body.page-id-32 {
	overflow-x: hidden;
}

.eigenwill-home a {
	text-decoration: none;
	color: var(--home-text);
}

/* Film-Grain (wie EPK-Seite). */
.eigenwill-home::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0.015;
	mix-blend-mode: overlay;
	z-index: 29;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* Grunge-Layer: Scratches, Dust, Scanlines — "Rohheit"-Atmosphäre,
   nur auf Hintergrund/Bildmaterial, nie auf Bedienelementen. */
.eigenwill-home__grunge {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 30;
}

.eigenwill-home__grunge-scratches {
	position: absolute;
	inset: 0;
	opacity: 0.02;
	mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='s'><feTurbulence type='turbulence' baseFrequency='0.01 0.4' numOctaves='2' seed='7'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23s)'/></svg>");
}

.eigenwill-home__grunge-dust {
	position: absolute;
	inset: 0;
	opacity: 0.02;
	mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260'><filter id='d'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='23'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23d)'/></svg>");
}

.eigenwill-home__grunge-scanlines {
	position: absolute;
	inset: 0;
	opacity: 0.012;
	background: repeating-linear-gradient(to bottom, #000 0px, #000 1px, transparent 1px, transparent 3px);
}

/* Chromatic aberration — nur auf Display-Headlines. */
.eigenwill-home__chromatic {
	text-shadow: 2px 0 rgba(240, 94, 84, .75), -2px 0 rgba(56, 145, 166, .75);
}

/* Header */
.eigenwill-home__header {
	position: sticky;
	top: 0;
	z-index: 20;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 48px;
	border-bottom: 1px solid var(--home-border-subtle);
	background: #000;
	gap: 16px;
	flex-wrap: wrap;
}

.eigenwill-home__navlink {
	font-family: var(--home-font-mono);
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--home-text-dim);
	transition: color 120ms linear;
}

.eigenwill-home__navlink:hover {
	color: var(--home-text);
}

.eigenwill-home__nav {
	display: flex;
	align-items: center;
	gap: 36px;
	flex-wrap: wrap;
}

.eigenwill-home__header-actions {
	display: flex;
	align-items: center;
	gap: 24px;
}

/* Buttons */
.eigenwill-home__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--home-font-text);
	font-weight: 600;
	border: 1px solid transparent;
	border-radius: 0;
	cursor: pointer;
	text-decoration: none !important;
	transition: background 120ms linear, color 120ms linear, border-color 120ms linear;
}

.eigenwill-home__btn--sm {
	font-size: 13px;
	padding: 8px 16px;
}

.eigenwill-home__btn--md {
	font-size: 14px;
	padding: 13px 24px;
}

.eigenwill-home__btn--lg {
	font-size: 16px;
	padding: 18px 32px;
}

.eigenwill-home__btn--primary {
	background: var(--home-fire);
	color: var(--home-bg-base) !important;
}

.eigenwill-home__btn--primary:hover {
	background: var(--home-fire-hover);
	color: var(--home-bg-base) !important;
}

.eigenwill-home__btn--secondary {
	background: transparent;
	color: var(--home-text) !important;
	border-color: var(--home-border-strong);
}

.eigenwill-home__btn--secondary:hover {
	border-color: var(--home-bridge);
}

/* Badge */
.eigenwill-home__badge {
	display: inline-flex;
	align-items: center;
	padding: 3px 10px;
	font-family: var(--home-font-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	background: var(--home-fire);
	color: var(--home-bg-base);
	border: 1px solid var(--home-fire);
}

/* Hero */
.eigenwill-home__hero {
	position: relative;
	background: #000;
	width: 100%;
	overflow: hidden;
}

/* Desktop: Header (77px) + Hero sollen zusammen genau den Viewport
   fuellen, damit vor dem ersten Scroll nichts vom Bereich darunter
   zu sehen ist -- unabhaengig von der Fensterbreite. object-fit:cover
   auf Video/Poster liefert dazu automatisch den passenden Bildausschnitt,
   egal welches Seitenverhaeltnis am Ende herauskommt. min-height ist
   ein Boden gegen extrem kurze Fenster. */
@media (min-width: 861px) {
	.eigenwill-home__hero {
		height: calc(100vh - 78px);
		min-height: 480px;
	}
}

/* Höhere Spezifität als Elementors ".elementor img"-Reset nötig
   (setzt sonst height:auto statt 120% — der Parallax-Puffer bricht
   dann lautlos weg, custom.css lädt vor Elementors frontend.css). */
.eigenwill-home__hero img.eigenwill-home__hero-layer {
	position: absolute;
	left: 0;
	top: -10%;
	width: 100%;
	height: 120%;
	object-fit: cover;
}

/* Video-Loop-Hero — ersetzt die Drei-Ebenen-Parallax-Bilder oben.
   Bewusst kein eigener Scroll-Parallax auf dem Video (Textur statt
   Motiv, ruhige Bewegung) — Scrim/Content bleiben unverändert.
   Quellen bekommen ihre src erst per JS (siehe eigenwill_enqueue-
   Skript im Elementor-Widget) — ab hier nur die Darstellung. */
.eigenwill-home__hero-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 1;
	background: var(--home-bg-base, #151422) center / cover no-repeat;
}

/* Mobil: kein Video, nur das Poster als Hintergrund — die Datei wird
   dank data-src (statt src) auf den <source>-Elementen dort gar nicht
   erst angefragt. */
@media (max-width: 860px) {
	.eigenwill-home__hero-video {
		display: none;
	}

	.eigenwill-home__hero {
		background-image: var( --hero-poster-url );
		background-size: cover;
		background-position: center;
		/* Mindesthöhe -- sonst hat die Box auf schmalen Viewports zu
		   wenig Platz für Badge+H1+Lead+CTAs, die dann oben aus der
		   Box herauslaufen und von overflow:hidden abgeschnitten
		   werden. */
		min-height: 640px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.eigenwill-home__hero-video {
		display: none;
	}

	.eigenwill-home__hero {
		background-image: var( --hero-poster-url );
		background-size: cover;
		background-position: center;
	}
}

.eigenwill-home__hero-scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, .1) 0%, rgba(0, 0, 0, .35) 60%, rgba(0, 0, 0, .75) 100%);
	z-index: 4;
}

.eigenwill-home__hero-content {
	position: absolute;
	z-index: 5;
	inset: 0;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 48px 56px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	gap: 20px;
}

.eigenwill-home__hero-h1 {
	font-family: var(--home-font-display);
	font-variation-settings: "wdth" 78;
	font-weight: 600;
	font-size: 64px;
	line-height: 0.95;
	color: var(--home-text);
	margin: 0;
}

.eigenwill-home__hero-lead {
	font-family: var(--home-font-text);
	font-size: 18px;
	line-height: 1.6;
	color: var(--home-text-muted);
	max-width: 52ch;
	margin: 0;
}

.eigenwill-home__hero-ctas {
	display: flex;
	gap: 16px;
	margin-top: 4px;
	flex-wrap: wrap;
}

/* Der Bruch */
.eigenwill-home__bruch {
	position: relative;
	height: 1px;
	background: var(--home-bridge);
	width: auto;
	margin: 96px 48px;
}

.eigenwill-home__bruch::before {
	content: "";
	position: absolute;
	left: 62%;
	top: 0;
	width: 8%;
	height: 12px;
	background: var(--home-bg-base);
	transform: translateY(-6px);
}

.eigenwill-home__bruch::after {
	content: "";
	position: absolute;
	left: 62%;
	top: -11px;
	width: 8%;
	height: 3px;
	background: var(--home-fire);
}

/* About / Bio */
.eigenwill-home__bio-grid {
	display: grid;
	grid-template-columns: 0.8fr 1.2fr;
	gap: 64px;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 48px 112px;
}

.eigenwill-home__bio-portrait {
	position: relative;
	aspect-ratio: 575 / 1024;
	max-height: 480px;
	overflow: hidden;
	border: 1px solid var(--home-border-subtle);
}

.eigenwill-home__bio-grid .eigenwill-home__bio-portrait img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.eigenwill-home__bio-col {
	display: flex;
	flex-direction: column;
	gap: 24px;
	justify-content: center;
}

.eigenwill-home__h2 {
	font-family: var(--home-font-display);
	font-variation-settings: "wdth" 78;
	font-weight: 600;
	font-size: 40px;
	color: var(--home-text);
	margin: 0;
}

.eigenwill-home__body {
	font-family: var(--home-font-text);
	font-size: 17px;
	line-height: 1.6;
	color: var(--home-text-muted);
	max-width: 60ch;
	margin: 0;
}

.eigenwill-home__quote {
	margin: 8px 0 0;
	padding-left: 24px;
	border-left: 2px solid var(--home-bridge);
	font-family: var(--home-font-text);
	font-size: 20px;
	line-height: 1.6;
	color: var(--home-text);
	max-width: 64ch;
}

.eigenwill-home__quote p {
	margin: 0 0 20px;
}

.eigenwill-home__quote p:last-child {
	margin-bottom: 0;
}

.eigenwill-home__eyebrow {
	font-family: var(--home-font-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--home-text-dim);
}

/* Music / Featured Track */
.eigenwill-home__music-section {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 48px 112px;
}

.eigenwill-home__music-h2 {
	font-family: var(--home-font-display);
	font-variation-settings: "wdth" 78;
	font-weight: 600;
	font-size: 44px;
	color: var(--home-text);
	margin: 14px 0 16px;
}

.eigenwill-home__player {
	position: relative;
	overflow: hidden;
	background: var(--home-bg-base);
	border: 1px solid var(--home-border-subtle);
	padding: 40px 40px 32px;
}

.eigenwill-home__player-grid {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 40px;
	align-items: end;
}

.eigenwill-home__player-cover {
	width: 260px;
	height: 260px;
	object-fit: cover;
	display: block;
	border: 1px solid var(--home-border-subtle);
	box-shadow: 0 0 48px rgba(56, 145, 166, 0.28);
}

.eigenwill-home__player-info {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.eigenwill-home__player-heading {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.eigenwill-home__player-eyebrow {
	font-family: var(--home-font-mono);
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--home-spark);
}

.eigenwill-home__player-title {
	font-family: var(--home-font-display);
	font-variation-settings: "wdth" 78;
	font-weight: 600;
	font-size: 32px;
	line-height: 0.95;
	color: var(--home-text);
	margin: 0;
}

.eigenwill-home__player-meta {
	font-family: var(--home-font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--home-text-dim);
}

.eigenwill-home__player-controls {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

.eigenwill-home__player-btn {
	width: 48px;
	height: 48px;
	flex: 0 0 auto;
	background: transparent;
	border: 1px solid var(--home-border-strong);
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: border-color 120ms linear, box-shadow 120ms linear;
}

.eigenwill-home__player-btn:hover {
	border-color: var(--home-bridge);
	box-shadow: 0 0 48px rgba(56, 145, 166, 0.28);
}

.eigenwill-home__player-icon--pause {
	display: flex;
	gap: 5px;
}

.eigenwill-home__player-icon--pause span {
	display: block;
	width: 3px;
	height: 16px;
	background: var(--home-text);
}

.eigenwill-home__player-icon--play {
	width: 0;
	height: 0;
	margin-left: 3px;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 12px solid var(--home-text);
}

.eigenwill-home__player-links {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
}

.eigenwill-home__player-link {
	font-family: var(--home-font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--home-text);
	border: 1px solid var(--home-border-subtle);
	padding: 9px 14px;
	transition: border-color 120ms linear, color 120ms linear;
}

.eigenwill-home__player-link:hover {
	border-color: var(--home-fire);
	color: var(--home-fire);
}

.eigenwill-home__player-eq {
	margin-top: 32px;
	display: flex;
	align-items: flex-end;
	gap: 2px;
	height: 44px;
	width: 100%;
}

.eigenwill-home__player-eq[hidden] {
	display: none;
}

.eigenwill-home__player-eq-bar {
	flex: 1;
	transform-origin: bottom;
	animation: eigenwill-eq var(--eq-duration, 900ms) ease-in-out infinite;
	animation-delay: var(--eq-delay, 0ms);
}

@keyframes eigenwill-eq {
	0%, 100% { transform: scaleY(0.18); }
	50% { transform: scaleY(1); }
}

@media (prefers-reduced-motion: reduce) {
	.eigenwill-home__player-eq-bar {
		animation: none;
		transform: scaleY(0.5);
	}
}

.eigenwill-home__player-progress {
	margin-top: 16px;
	position: relative;
	height: 1px;
	background: var(--home-bridge);
}

.eigenwill-home__player-progress-fill {
	position: absolute;
	left: 0;
	top: 0;
	height: 1px;
	width: 0%;
	background: var(--home-text);
}

.eigenwill-home__player-progress-marker {
	position: absolute;
	left: 0%;
	top: -2px;
	width: 3px;
	height: 5px;
	background: var(--home-fire);
}

/* Feines Rauschen ueber dunklen Flaechen -- Claude-Design-Utility */
.film-grain::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0.05;
	mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

@media (max-width: 700px) {
	.eigenwill-home__player-grid {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.eigenwill-home__player-cover {
		width: 100%;
		max-width: 320px;
		height: auto;
		aspect-ratio: 1;
	}
}

/* Join-Sektion */
.eigenwill-home__join {
	position: relative;
	padding: 112px 48px;
	overflow: hidden;
}

.eigenwill-home__join-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.eigenwill-home__join-scrim {
	position: absolute;
	inset: 0;
	background: var(--home-bg-base);
	opacity: 0.72;
	z-index: 1;
}

.eigenwill-home__join-content {
	position: relative;
	z-index: 2;
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
}

.eigenwill-home__join-h2 {
	font-family: var(--home-font-display);
	font-variation-settings: "wdth" 78;
	font-weight: 600;
	font-size: 48px;
	color: var(--home-text);
	margin: 0;
}

.eigenwill-home__join .eigenwill-home__body {
	max-width: 56ch;
}

/* Echtes Newsletter-Widget im neuen Look — Klassen des Widgets aus
   der Brevo-Anbindung (nicht umbenennen, gehören zum PHP-Widget). */
.eigenwill-home__join .eigenwill-newsletter {
	max-width: none;
	margin-inline: 0;
}

.eigenwill-home__join .eigenwill-newsletter__field {
	justify-content: flex-start;
	gap: 12px;
}

.eigenwill-home__join .eigenwill-newsletter__group {
	flex: 0 1 220px;
}

.eigenwill-home__join .eigenwill-newsletter__input {
	border: 1px solid var(--home-border-strong);
	border-radius: 2px;
	background: transparent;
	color: var(--home-text);
	font-family: var(--home-font-text);
	padding: 12px 16px;
	height: 44px;
}

.eigenwill-home__join .eigenwill-newsletter__input::placeholder {
	color: var(--home-text-dim);
}

.eigenwill-home__join .eigenwill-newsletter__input:focus-visible {
	outline: 2px solid var(--home-bridge);
	outline-offset: 1px;
}

.eigenwill-home__join .eigenwill-newsletter__submit {
	border-radius: 0;
	background: var(--home-fire);
	color: var(--home-bg-base);
	font-family: var(--home-font-text);
	font-weight: 600;
	font-size: 14px;
	padding: 13px 24px;
	height: 44px;
	border: 1px solid transparent;
}

.eigenwill-home__join .eigenwill-newsletter__submit:hover {
	background: var(--home-fire-hover);
	opacity: 1;
}

.eigenwill-home__join .eigenwill-newsletter__consent {
	justify-content: flex-start;
	color: var(--home-text-dim);
	font-family: var(--home-font-mono);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 11px;
}

.eigenwill-home__join .eigenwill-newsletter__consent input {
	accent-color: var(--home-fire);
}

/* Footer */
.eigenwill-home__footer {
	border-top: 1px solid var(--home-border-subtle);
	padding: 48px 48px 32px;
}

.eigenwill-home__footer-row {
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 32px;
	padding-bottom: 32px;
}

.eigenwill-home__footer-row--legal {
	align-items: center;
	padding-bottom: 0;
	padding-top: 24px;
	border-top: 1px solid var(--home-border-subtle);
}

.eigenwill-home__footer-nav,
.eigenwill-home__footer-social,
.eigenwill-home__footer-legal {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}

.eigenwill-home__footer-nav {
	gap: 28px;
}

.eigenwill-home__social,
.eigenwill-home__legal {
	font-family: var(--home-font-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--home-text-dim);
}

.eigenwill-home__social:hover {
	color: var(--home-bridge-hover);
}

.eigenwill-home__legal:hover {
	color: var(--home-text);
}

.eigenwill-home__copyright {
	font-family: var(--home-font-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--home-text-dim);
}

/* Mobile */
@media (max-width: 860px) {
	.eigenwill-home__bio-grid {
		grid-template-columns: 1fr;
	}

	.eigenwill-home__bio-portrait {
		order: -1;
		max-height: 320px;
	}

	.eigenwill-home__hero-h1 {
		font-size: 56px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.eigenwill-home__hero-layer {
		transform: none !important;
	}
}


/* --- Blog (native Block-Templates, kein Elementor) --------------
   Gleiche Design-Tokens wie Home/EPK (siehe .eigenwill-blog oben in
   der gemeinsamen Token-Regel). Header/Footer nutzen bewusst die
   bestehenden .eigenwill-home__header/__footer-Klassen wieder, für
   optische Konsistenz ohne Duplikation.
   ------------------------------------------------------------ */

.eigenwill-blog {
	background: var(--home-bg-base);
	min-height: 100vh;
}

.eigenwill-blog * {
	box-sizing: border-box;
}

.eigenwill-blog a {
	color: var(--home-bridge);
	text-decoration: none;
}

.eigenwill-blog a:hover {
	color: var(--home-bridge-hover);
}

.eigenwill-blog__main {
	max-width: 1280px;
	margin: 0 auto;
	padding: 96px 48px 128px;
}

.eigenwill-blog__eyebrow {
	display: block;
	font-family: var(--home-font-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--home-text-dim);
	margin-bottom: 12px;
}

.eigenwill-blog__title {
	font-family: var(--home-font-display);
	font-variation-settings: "wdth" 78;
	font-weight: 600;
	font-size: 48px;
	line-height: 0.95;
	color: var(--home-text);
	margin: 0 0 64px;
}

/* Listing (home.html) */
.eigenwill-blog__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 48px;
}

.eigenwill-blog__card {
	border-top: 1px solid var(--home-border-subtle);
	padding-top: 24px;
}

.eigenwill-blog__card-thumb {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--home-bg-surface);
	margin-bottom: 20px;
}

.eigenwill-blog__card .eigenwill-blog__card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.eigenwill-blog__card-date {
	font-family: var(--home-font-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--home-text-dim);
	margin-bottom: 8px;
}

.eigenwill-blog__card-title {
	font-family: var(--home-font-display);
	font-variation-settings: "wdth" 78;
	font-weight: 600;
	font-size: 24px;
	line-height: 1.15;
	color: var(--home-text);
	margin: 0 0 12px;
}

.eigenwill-blog__card-title a {
	color: var(--home-text);
}

.eigenwill-blog__card-title a:hover {
	color: var(--home-bridge-hover);
}

.eigenwill-blog__card-excerpt {
	font-family: var(--home-font-text);
	font-size: 15px;
	line-height: 1.6;
	color: var(--home-text-muted);
	margin: 0;
}

.eigenwill-blog__empty {
	font-family: var(--home-font-text);
	color: var(--home-text-muted);
	font-size: 17px;
}

/* Pagination */
.eigenwill-blog .wp-block-query-pagination {
	margin-top: 64px;
	display: flex;
	justify-content: space-between;
	gap: 16px;
	font-family: var(--home-font-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
}

.eigenwill-blog .wp-block-query-pagination-previous,
.eigenwill-blog .wp-block-query-pagination-next {
	color: var(--home-text-dim);
}

.eigenwill-blog .wp-block-query-pagination-previous:hover,
.eigenwill-blog .wp-block-query-pagination-next:hover {
	color: var(--home-bridge-hover);
}

/* Single-Post */
.eigenwill-blog__post-header {
	max-width: 780px;
	margin: 0 auto 48px;
}

.eigenwill-blog__post-title {
	font-family: var(--home-font-display);
	font-variation-settings: "wdth" 78;
	font-weight: 600;
	font-size: 44px;
	line-height: 1;
	color: var(--home-text);
	margin: 12px 0 0;
}

.eigenwill-blog__post-featured {
	max-width: 1280px;
	margin: 0 auto 48px;
	aspect-ratio: 16 / 8;
	overflow: hidden;
	background: var(--home-bg-surface);
}

.eigenwill-blog__main .eigenwill-blog__post-featured img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.eigenwill-blog__post-content {
	max-width: 780px;
	margin: 0 auto;
	font-family: var(--home-font-text);
	font-size: 17px;
	line-height: 1.7;
	color: var(--home-text-muted);
}

.eigenwill-blog__post-content > * {
	max-width: 100%;
}

.eigenwill-blog__post-content h2,
.eigenwill-blog__post-content h3 {
	font-family: var(--home-font-display);
	font-variation-settings: "wdth" 78;
	font-weight: 600;
	color: var(--home-text);
	margin: 40px 0 16px;
}

.eigenwill-blog__post-content p {
	margin: 0 0 24px;
}

.eigenwill-blog__post-content a {
	color: var(--home-bridge);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.eigenwill-blog__post-content img {
	max-width: 100%;
	height: auto;
}

.eigenwill-blog__post-terms {
	max-width: 780px;
	margin: 48px auto 0;
	font-family: var(--home-font-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--home-text-dim);
	border-top: 1px solid var(--home-border-subtle);
	padding-top: 24px;
}

.eigenwill-blog__post-nav {
	max-width: 780px;
	margin: 48px auto 0;
	display: flex;
	justify-content: space-between;
	gap: 16px;
	font-family: var(--home-font-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	border-top: 1px solid var(--home-border-subtle);
	padding-top: 24px;
}

@media (max-width: 680px) {
	.eigenwill-blog__main {
		padding: 64px 24px 96px;
	}

	.eigenwill-blog__title {
		font-size: 34px;
	}

	.eigenwill-blog__post-title {
		font-size: 30px;
	}
}


/* --- Links-Seite (Linktree-Stil) --------------------------------
   Gleiche Tokens wie Home/Blog (.eigenwill-home Token-Regel), reuse
   der bestehenden Header/Footer-Klassen für Konsistenz.
   ------------------------------------------------------------ */

.eigenwill-links {
	background: var(--home-bg-base);
	min-height: 100vh;
}

.eigenwill-links * {
	box-sizing: border-box;
}

.eigenwill-links__main {
	max-width: 480px;
	margin: 0 auto;
	padding: 96px 24px 128px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.eigenwill-links__logo {
	width: 96px;
	height: auto;
	margin-bottom: 24px;
}

.eigenwill-links__name {
	font-family: var(--home-font-display);
	font-variation-settings: "wdth" 118;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 22px;
	color: var(--home-text);
	margin: 0 0 8px;
}

.eigenwill-links__tagline {
	font-family: var(--home-font-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--home-text-dim);
	margin: 0 0 40px;
}

.eigenwill-links__list {
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.eigenwill-links__item a {
	display: block;
	width: 100%;
	padding: 16px 24px;
	border: 1px solid var(--home-border-strong);
	color: var(--home-text) !important;
	font-family: var(--home-font-text);
	font-weight: 600;
	font-size: 15px;
	text-decoration: none !important;
	transition: border-color 120ms linear, background 120ms linear;
}

.eigenwill-links__item a:hover {
	border-color: var(--home-bridge);
	background: var(--home-bg-surface);
}

.eigenwill-links__item--primary a {
	background: var(--home-fire);
	border-color: var(--home-fire);
	color: var(--home-bg-base) !important;
}

.eigenwill-links__item--primary a:hover {
	background: var(--home-fire-hover);
	border-color: var(--home-fire-hover);
}

/* Glow-Verlauf hinter dem Kopfbereich, wie im Referenz-Handover
   (radial-gradient mit --ew-glow, hier bridge-farben). */
.eigenwill-links {
	position: relative;
	overflow: hidden;
}

.eigenwill-links::before {
	content: "";
	position: absolute;
	width: 130vw;
	height: 60vh;
	left: 50%;
	top: 0;
	transform: translate(-50%, -35%);
	pointer-events: none;
	background: radial-gradient(ellipse at center, rgba(56, 145, 166, .28) 0%, transparent 62%);
	z-index: 0;
}

.eigenwill-links__main {
	position: relative;
	z-index: 1;
}

/* Höhere Spezifität nötig als Elementors ".elementor img"-Reset
   (border-radius:0, height:auto, max-width:100%), sonst gewinnt
   dessen Regel trotz Ladereihenfolge. */
.eigenwill-links img.eigenwill-links__avatar {
	width: 288px;
	height: 288px;
	max-width: 80vw;
	border-radius: 50%;
	object-fit: cover;
	border: 1px solid var(--home-border-strong);
	margin-bottom: 20px;
}

.eigenwill-links__logo {
	width: 72px;
	height: auto;
	margin-bottom: 16px;
}

/* "Der Bruch" — Signatur-Element, einmal pro Seite. */
.eigenwill-links__bruch {
	position: relative;
	height: 26px;
	width: 100%;
	max-width: 260px;
	margin: 8px 0 32px;
}

.eigenwill-links__bruch::before,
.eigenwill-links__bruch::after {
	content: "";
	position: absolute;
	height: 1px;
	background: var(--home-bridge);
}

.eigenwill-links__bruch::before {
	left: 0;
	width: 38%;
	top: 0;
}

.eigenwill-links__bruch::after {
	left: 38%;
	width: 62%;
	top: 13px;
}

.eigenwill-links__bruch span {
	position: absolute;
	left: 38%;
	top: 0;
	width: 3px;
	height: 14px;
	background: var(--home-fire);
}


/* ------------------------------------------------------------
   About-Seite (drittes Claude-Design-Handover, "Eigenwill About").
   Fließtext-Biografie, eine Spalte, 640px Lesebreite. Bewusst
   eigene __-Klassen statt Wiederverwendung von .eigenwill-home__h2
   etc. — andere Bildsprache (ruhige h2 statt Display-Typo, Song-
   Zitate ohne Border-Left), gemeinsam sind nur die Tokens oben.
   ------------------------------------------------------------ */

.eigenwill-about {
	background: var(--home-bg-base);
	min-height: 100vh;
	position: relative;
}

.eigenwill-about a {
	color: var(--home-bridge);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.eigenwill-about a:hover {
	color: var(--home-bridge-hover);
}

.eigenwill-about__progress {
	position: fixed;
	top: 0;
	left: 0;
	height: 3px;
	background: var(--home-bridge);
	z-index: 50;
	width: 0%;
}

.eigenwill-about__main {
	padding: clamp(56px, 10vw, 96px) clamp(20px, 6vw, 64px) clamp(64px, 10vw, 120px) !important;
}

.eigenwill-about__wordmark {
	display: block;
	max-width: 640px;
	margin: 0 auto 72px;
	font-family: "Esthoria Demo 72", "Esthoria Demo 48", "Esthoria Demo", serif;
	font-size: 22px;
	color: var(--home-text);
	letter-spacing: .06em;
}

.eigenwill-about__intro {
	max-width: 640px;
	margin: 0 auto 24px;
	font-family: var(--home-font-text);
	font-size: clamp(19px, 1.4vw + 15px, 23px);
	line-height: 1.6;
	color: var(--home-text);
}

.eigenwill-about__p {
	max-width: 640px;
	margin: 0 auto 28px;
	font-family: var(--home-font-text);
	font-size: clamp(17px, 1.1vw + 14px, 19px);
	line-height: 1.7;
	color: var(--home-text);
}

.eigenwill-about__p--tight {
	margin-bottom: 8px;
}

.eigenwill-about__p--last {
	margin-bottom: 0;
}

.eigenwill-about h2.eigenwill-about__h2 {
	max-width: 640px;
	margin: 0 auto 24px;
	font-family: var(--home-font-display);
	font-weight: 600;
	font-size: clamp(18px, 1vw + 15px, 21px);
	color: var(--home-bridge);
}

.eigenwill-about__quote {
	max-width: 820px;
	margin: 88px auto;
}

.eigenwill-about__quote-lines {
	font-family: var(--home-font-display);
	font-variation-settings: "wdth" 78;
	font-weight: 600;
	font-size: clamp(32px, 3.2vw + 24px, 48px);
	line-height: .98;
	letter-spacing: -.01em;
	color: var(--home-bridge);
}

.eigenwill-about__quote-credit {
	margin-top: 28px;
	font-family: var(--home-font-mono);
	text-transform: uppercase;
	letter-spacing: .18em;
	font-size: 12px;
	color: var(--home-text-dim);
}

.eigenwill-about__figure {
	max-width: 800px;
	margin: 0 auto 56px !important;
}

.eigenwill-about__figure img {
	width: 100%;
	height: auto;
	display: block;
	filter: grayscale(1) contrast(1.05);
}

.eigenwill-about__figure figcaption {
	margin-top: 10px;
	font-family: var(--home-font-mono);
	text-transform: uppercase;
	letter-spacing: .18em;
	font-size: 11px;
	color: var(--home-text-dim);
}

.eigenwill-about__bruch {
	position: relative;
	height: 1px;
	background: var(--home-bridge);
	max-width: 820px;
	margin: 96px auto;
}

.eigenwill-about__bruch::before {
	content: "";
	position: absolute;
	left: 62%;
	top: 0;
	width: 8%;
	height: 12px;
	background: var(--home-bg-base);
	transform: translateY(-6px);
}

.eigenwill-about__bruch::after {
	content: "";
	position: absolute;
	left: 62%;
	top: -11px;
	width: 8%;
	height: 3px;
	background: var(--home-fire);
}

.eigenwill-about__newsletter {
	max-width: 480px;
	margin: 112px auto 0 !important;
	padding-top: 48px;
	border-top: 1px solid var(--home-border-subtle);
}

.eigenwill-about__newsletter-pitch {
	margin: 0 0 24px;
	font-family: var(--home-font-text);
	font-size: 16px;
	line-height: 1.6;
	color: var(--home-text-muted);
}

.eigenwill-about__newsletter-note {
	margin: 20px 0 0;
	font-family: var(--home-font-text);
	font-size: 12px;
	line-height: 1.5;
	color: var(--home-text-dim);
}

/* ------------------------------------------------------------
   Danke-/Download-Seite (/thankyou/) — Redirect-Ziel nach der
   Newsletter-Bestätigung. Kurz und funktional, kein eigenes
   Handoff-Bundle dafür, deshalb eigene schlanke Klassen statt
   Wiederverwendung von .eigenwill-about (andere, kürzere Struktur).
   ------------------------------------------------------------ */

.eigenwill-thankyou {
	background: var(--home-bg-base);
	min-height: 100vh;
}

.eigenwill-thankyou__main {
	max-width: 560px;
	margin: 0 auto;
	padding: clamp(64px, 12vw, 120px) clamp(20px, 6vw, 64px);
	text-align: center;
}

.eigenwill-thankyou__eyebrow {
	font-family: var(--home-font-mono);
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--home-bridge);
	margin-bottom: 16px;
}

.eigenwill-thankyou__h1 {
	font-family: var(--home-font-display);
	font-weight: 600;
	font-size: clamp(32px, 4vw + 20px, 48px);
	line-height: 1.1;
	color: var(--home-text);
	margin: 0 0 24px;
}

.eigenwill-thankyou__body {
	font-family: var(--home-font-text);
	font-size: 17px;
	line-height: 1.6;
	color: var(--home-text-muted);
	margin: 0 0 40px;
}

.eigenwill-thankyou__bruch {
	position: relative;
	height: 1px;
	background: var(--home-bridge);
	max-width: 200px;
	margin: 0 auto 40px;
}

.eigenwill-thankyou__bruch::before {
	content: "";
	position: absolute;
	left: 62%;
	top: 0;
	width: 8%;
	height: 12px;
	background: var(--home-bg-base);
	transform: translateY(-6px);
}

.eigenwill-thankyou__bruch::after {
	content: "";
	position: absolute;
	left: 62%;
	top: -11px;
	width: 8%;
	height: 3px;
	background: var(--home-fire);
}

.eigenwill-thankyou__meta {
	margin-top: 20px;
	font-family: var(--home-font-mono);
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--home-text-dim);
}

/* --- Homepage: "Die letzten drei"-Teaser (Releases-Vorschau) ---
   Design-Handover "Releases Teaser" — sitzt zwischen Hero und dem
   bestehenden .eigenwill-home__bruch (der bleibt der Divider davor
   zur Bio-Section, kein zweiter Bruch hier — "erscheint genau einmal
   pro Seite" laut Handover). ------------------------------------- */

.eigenwill-home__releases {
	max-width: 1280px;
	margin: 0 auto;
	padding: 96px 48px 112px;
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.eigenwill-home__releases-head {
	display: flex;
	flex-direction: column;
	gap: 16px;
	text-align: left;
}

.eigenwill-home__releases-h2 {
	font-family: var(--home-font-display);
	font-variation-settings: "wdth" 78;
	font-weight: 600;
	/* 44px statt der in der Vorlage vorgesehenen 56px -- das Modul
	   sitzt jetzt direkt unter "Noise for the Silent"
	   (.eigenwill-home__music-h2, ebenfalls 44px) und beide Ueber-
	   schriften sollen dort gleich groß wirken. */
	font-size: 44px;
	line-height: 0.9;
	color: var(--home-text);
	margin: 0;
}

.eigenwill-home__releases-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}

.eigenwill-home__release-card {
	display: flex;
	flex-direction: column;
	gap: 20px;
	background: var(--home-bg-surface);
	border: 1px solid var(--home-border-subtle);
	padding: 24px;
	transition: border-color 120ms, box-shadow 120ms;
}

.eigenwill-home__release-card:hover {
	border-color: var(--home-border-strong);
	box-shadow: 0 0 48px rgba(56, 145, 166, 0.28);
}

.eigenwill-home__release-cover {
	position: relative;
	aspect-ratio: 1;
	width: 100%;
}

.eigenwill-home__release-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.eigenwill-home__release-badge {
	position: absolute;
	top: 12px;
	right: 12px;
	pointer-events: none;
	background: var(--home-fire);
	color: var(--home-bg-base);
	font-family: var(--home-font-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	padding: 2px 8px;
}

.eigenwill-home__release-meta {
	font-family: var(--home-font-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--home-text-dim);
	white-space: nowrap;
	min-height: 16px;
}

.eigenwill-home__release-title {
	font-family: var(--home-font-display);
	font-variation-settings: "wdth" 78;
	font-weight: 600;
	font-size: 32px;
	line-height: 0.95;
	color: var(--home-text);
	margin: 0;
	min-height: 61px;
	text-wrap: pretty;
}

.eigenwill-home__release-desc {
	font-family: var(--home-font-text);
	font-size: 15px;
	line-height: 1.6;
	color: var(--home-text-muted);
	margin: 0;
	min-height: 48px;
	text-wrap: pretty;
}

.eigenwill-home__release-link {
	margin-top: auto;
	border-top: 1px solid var(--home-border-subtle);
	padding-top: 16px;
	font-family: var(--home-font-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--home-bridge);
	text-decoration: none;
	transition: color 120ms;
}

.eigenwill-home__release-link:hover {
	color: var(--home-bridge-hover);
}

@media (max-width: 1023px) {
	.eigenwill-home__releases-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 639px) {
	.eigenwill-home__releases {
		padding: 64px 24px 0;
		gap: 32px;
	}

	.eigenwill-home__releases-grid {
		grid-template-columns: 1fr;
	}

	.eigenwill-home__releases-h2 {
		font-size: 40px;
	}
}

/* --- Music/Diskografie-Seite (/music/) --------------------
   Design-Handover "Releases" — eigener .eigenwill-music-Namespace,
   Header/Footer sind die geteilten .eigenwill-home__header/__footer
   (siehe Impressum/About fürs gleiche Muster). ------------- */

.eigenwill-music {
	position: relative;
	overflow: hidden;
	background: var(--home-bg-cinder);
	min-height: 100vh;
	color: var(--home-text);
	font-family: var(--home-font-text);
}

.eigenwill-music * {
	box-sizing: border-box;
}

/* "Fehldruck"-Oberflaeche (Claude-Design-Handoff 2c): Tintenverlauf an
   den Raendern + verdoppeltes Filmkorn, hinter dem eigentlichen Inhalt. */
.eigenwill-music::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(48% 26% at 0% 14%, rgba(56, 145, 166, 0.24), transparent 72%),
		radial-gradient(44% 22% at 100% 58%, rgba(240, 94, 84, 0.20), transparent 72%),
		radial-gradient(60% 24% at 50% 100%, rgba(56, 145, 166, 0.14), transparent 76%);
}

.eigenwill-music::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0.1;
	mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

.eigenwill-music > * {
	position: relative;
}

.eigenwill-music__page-head {
	max-width: 1280px;
	margin: 0 auto;
	padding: 96px 48px 0;
}

.eigenwill-music__eyebrow {
	font-family: var(--home-font-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--home-text-dim);
	text-shadow: 1px 0 0 rgba(240, 94, 84, 0.4);
}

.eigenwill-music__h1 {
	font-family: var(--home-font-display);
	font-variation-settings: "wdth" 78;
	font-weight: 700;
	font-size: 64px;
	line-height: 0.9;
	letter-spacing: -0.01em;
	margin: 16px 0 0;
	color: var(--home-text);
	text-shadow: 3px 2px 0 rgba(240, 94, 84, 0.6), -3px -1px 0 rgba(56, 145, 166, 0.5);
}

.eigenwill-music__list {
	max-width: 1280px;
	margin: 0 auto;
	padding: 64px 48px 128px;
	display: flex;
	flex-direction: column;
	gap: 96px;
}

.eigenwill-music__row {
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: 64px;
	align-items: start;
	padding-bottom: 96px;
	border-bottom: 1px solid var(--home-border-subtle);
	scroll-margin-top: 96px;
}

.eigenwill-music__row:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.eigenwill-music__cover {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1;
	background: var(--home-bg-surface);
	border: 1px solid var(--home-border-subtle);
}

.eigenwill-music__cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.85);
	display: block;
}

.eigenwill-music__cover::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
	opacity: 0.05;
	mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

.eigenwill-music__cover::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: radial-gradient(90% 90% at 50% 50%, transparent 55%, rgba(10, 9, 16, 0.75));
}

.eigenwill-music__player {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 16px;
}

.eigenwill-music__play-btn {
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: 1px solid var(--home-border-strong);
	color: var(--home-fire);
	cursor: pointer;
	transition: color 120ms, border-color 120ms;
	padding: 0;
	box-shadow: 2px 2px 0 rgba(56, 145, 166, 0.35);
}

.eigenwill-music__play-btn:hover {
	border-color: var(--home-fire);
	color: var(--home-fire-hover);
}

.eigenwill-music__play-icon {
	display: block;
	width: 0;
	height: 0;
	border-left: 13px solid currentColor;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	margin-left: 3px;
}

.eigenwill-music__pause-icon {
	display: none;
	gap: 4px;
}

.eigenwill-music__pause-icon span {
	display: block;
	width: 3px;
	height: 14px;
	background: currentColor;
}

.eigenwill-music__play-btn.is-playing .eigenwill-music__play-icon {
	display: none;
}

.eigenwill-music__play-btn.is-playing .eigenwill-music__pause-icon {
	display: flex;
}

.eigenwill-music__progress-wrap {
	flex: 1 1 auto;
}

.eigenwill-music__progress-track {
	height: 1px;
	background: var(--home-border-subtle);
	position: relative;
}

.eigenwill-music__progress-fill {
	position: absolute;
	left: 0;
	top: 0;
	height: 1px;
	background: var(--home-fire);
	width: 0%;
}

.eigenwill-music__timecode {
	display: flex;
	justify-content: flex-end;
	margin-top: 8px;
	font-family: var(--home-font-mono);
	font-size: 10px;
	letter-spacing: 0.18em;
	color: var(--home-text-dim);
}

.eigenwill-music__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	font-family: var(--home-font-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
}

.eigenwill-music__badge-new {
	color: var(--home-spark);
	border: 1px solid var(--home-spark);
	padding: 2px 8px;
	box-shadow: 2px 2px 0 rgba(240, 94, 84, 0.5);
}

.eigenwill-music__kind {
	color: var(--home-text-muted);
}

.eigenwill-music__date,
.eigenwill-music__duration {
	color: var(--home-text-dim);
}

.eigenwill-music__title {
	font-family: var(--home-font-display);
	font-variation-settings: "wdth" 78;
	font-weight: 600;
	font-size: 56px;
	line-height: 0.9;
	margin: 12px 0 24px;
	color: var(--home-text);
	text-shadow: 2px 1px 0 rgba(240, 94, 84, 0.45), -2px 0 0 rgba(56, 145, 166, 0.38);
}

.eigenwill-music__desc {
	font-family: var(--home-font-text);
	font-size: 16px;
	line-height: 1.6;
	max-width: 56ch;
	color: var(--home-text-muted);
	margin: 0;
	text-wrap: pretty;
}

.eigenwill-music__lyrics {
	margin-top: 24px;
	border-top: 1px solid var(--home-border-subtle);
	max-width: 56ch;
}

.eigenwill-music__lyrics-toggle {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: none;
	border: none;
	padding: 16px 0;
	cursor: pointer;
	font-family: var(--home-font-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--home-text-dim);
	transition: color 120ms;
}

.eigenwill-music__lyrics-toggle:hover {
	color: var(--home-bridge-hover);
}

.eigenwill-music__lyrics-body {
	display: none;
	flex-direction: column;
	gap: 24px;
	padding-bottom: 32px;
}

.eigenwill-music__lyrics-body.is-open {
	display: flex;
}

.eigenwill-music__lyrics-label {
	display: block;
	font-family: var(--home-font-mono);
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--home-text-dim);
	margin-bottom: 8px;
}

.eigenwill-music__lyrics-text {
	font-family: var(--home-font-display);
	font-variation-settings: "wdth" 78;
	font-size: 20px;
	line-height: 1.45;
	white-space: pre-line;
	color: var(--home-text-muted);
	margin: 0;
}

.eigenwill-music__platforms {
	margin-top: 32px;
}

.eigenwill-music__platforms-label {
	font-family: var(--home-font-mono);
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--home-text-dim);
}

.eigenwill-music__platform-links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 12px;
}

.eigenwill-music__platform-link {
	font-family: var(--home-font-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--home-text-muted);
	border: 1px solid var(--home-border-subtle);
	padding: 10px 14px;
	transition: color 120ms, border-color 120ms;
	text-decoration: none;
	box-shadow: 1px 1px 0 rgba(56, 145, 166, 0.28);
}

.eigenwill-music__platform-link:hover {
	color: var(--home-bridge-hover);
	border-color: var(--home-bridge);
}

/* Der Bruch loescht seine Luecke normalerweise mit der Seitenhinter-
   grundfarbe (--home-bg-base) -- hier ist der Hintergrund aber dunkler
   (--home-bg-cinder), sonst bliebe ein helles Rechteck sichtbar. */
.eigenwill-music .eigenwill-home__bruch::before {
	background: var(--home-bg-cinder);
}

@media (max-width: 900px) {
	.eigenwill-music__page-head {
		padding: 64px 24px 0;
	}

	.eigenwill-music__list {
		padding: 48px 24px 96px;
		gap: 64px;
	}

	.eigenwill-music__row {
		grid-template-columns: 1fr;
		gap: 24px;
		padding-bottom: 64px;
	}

	.eigenwill-music__cover {
		max-width: 320px;
	}

	.eigenwill-music__h1 {
		font-size: 40px;
	}

	.eigenwill-music__title {
		font-size: 36px;
	}
}

/* --- Barrierefreiheit ------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	* {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}
