/* ============================================================
   PADERkiLL∞AI — Global Stylesheet
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&family=Bebas+Neue&family=Exo+2:wght@900&display=swap');

/* ── Reset ─────────────────────────────────────────────────── */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* ── Variables ──────────────────────────────────────────────── */
:root {
	/* Core palette */
	--neon: #FF2D55;
	--acid: #CCFF00;
	--void: #0A0A0A;
	--grau: #141414;
	--text: #F0EDE0;
	--blut: #FF0033;
	--lila: #B44FFF;
	--teal: #00FFD1;
	--orange: #FF6B00;
	--gold: #FFD200;
	--dim: rgba(240, 237, 224, 0.45);
	/* aliases for compatibility */
	--purple: var(--lila);
	--cyan: var(--teal);

	/* Page accent — overridden per page via body class */
	--accent: var(--neon);

	/* Copy font scale — change this one value to scale all body text */
	--copy: 24px;
}

/* Per-page accent overrides */
body.page-fakten {
	--accent: var(--acid);
}

body.page-stimmen {
	--accent: var(--lila);
}

body.page-places {
	--accent: var(--orange);
}

/* ── Base ───────────────────────────────────────────────────── */
body {
	background: var(--void);
	color: var(--text);
	font-family: 'Space Mono', monospace;
	overflow-x: hidden;
}

/* ── Animations ─────────────────────────────────────────────── */
@keyframes ticker {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

@keyframes blink {
	50% {
		opacity: 0;
	}
}

@keyframes glitch1 {
	0%, 85%, 100% {
		transform: translateX(0);
		opacity: 0;
	}
	86% {
		transform: translateX(-3px);
		opacity: 1;
	}
	88% {
		transform: translateX(3px);
		opacity: 1;
	}
	90% {
		transform: translateX(0);
		opacity: 0;
	}
}

@keyframes glitch2 {
	0%, 87%, 100% {
		transform: translateX(0);
		opacity: 0;
	}
	88% {
		transform: translateX(4px);
		opacity: 1;
	}
	91% {
		transform: translateX(-2px);
		opacity: 1;
	}
	93% {
		transform: translateX(0);
		opacity: 0;
	}
}

@keyframes stampflicker {
	0%, 100% {
		opacity: 0.82;
	}
	47% {
		opacity: 0.82;
	}
	50% {
		opacity: 0.3;
	}
	53% {
		opacity: 0.82;
	}
	80% {
		opacity: 0.82;
	}
	82% {
		opacity: 0.55;
	}
	84% {
		opacity: 0.82;
	}
}

@keyframes marqueev {
	from {
		transform: translateY(0);
	}
	to {
		transform: translateY(-75%);
	}
}

@keyframes pulse-opacity {
	0%, 100% {
		opacity: 1;
	}
	50% {
		opacity: 0.4;
	}
}

@keyframes dots {
	0%, 20% {
		content: '';
	}
	40% {
		content: '.';
	}
	60% {
		content: '..';
	}
	80%, 100% {
		content: '...';
	}
}

@keyframes kipulse {
	0%, 100% {
		background: #FF2D55;
		box-shadow: 0 0 0 rgba(255, 45, 85, 0);
	}
	50% {
		background: #ff0033;
		box-shadow: 0 0 28px rgba(255, 45, 85, 0.55), 0 0 60px rgba(255, 45, 85, 0.2);
	}
}

/* ── Layout ─────────────────────────────────────────────────── */
body.page-index main {
	padding: 2rem;
	display: grid;
	gap: 2px;
}

body.page-places main {
	padding: 0 2rem 3rem;
}

.grid-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
}

.grid-3 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 2px;
}

.grid-2-wide {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 2px;
}

.grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
	padding: 2px;
}

/* ── Navigation ─────────────────────────────────────────────── */
.nav-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.9rem 2rem;
	border-bottom: 1px solid rgba(255, 45, 85, 0.3);
	background: rgba(10, 10, 10, 0.95);
	position: sticky;
	top: 0;
	z-index: 100;
	backdrop-filter: blur(4px);
}

body.page-places .nav-bar {
	border-bottom-color: rgba(255, 107, 0, 0.35);
}

body.page-stimmen .nav-bar {
	border-bottom-color: rgba(255, 45, 85, 0.3);
}

.nav-back {
	font-size: var(--copy);
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--accent);
	text-decoration: none;
	border: 1px solid var(--accent);
	padding: 5px 14px;
	transition: all 0.15s;
}

.nav-back:hover {
	background: var(--accent);
	color: var(--void);
}

.nav-title {
	font-family: 'Bebas Neue', sans-serif;
	font-size: var(--copy);
	letter-spacing: 0.08em;
	color: rgba(240, 237, 224, 0.4);
}

.nav-tag {
	font-size: var(--copy);
	letter-spacing: 0.3em;
	color: var(--accent);
	text-transform: uppercase;
}

body.page-places .nav-tag {
	color: var(--gold);
}

/* ── Header (index + stimmen) ───────────────────────────────── */
header {
	border-bottom: 3px solid var(--accent);
	padding: 2rem 2rem 1.5rem;
	position: relative;
	overflow: hidden;
}

.header-bg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: repeating-linear-gradient(
		-45deg,
		transparent 0px, transparent 20px,
		rgba(255, 45, 85, 0.04) 20px, rgba(255, 45, 85, 0.04) 40px
	);
	pointer-events: none;
}

body.page-stimmen .header-bg {
	background: repeating-linear-gradient(
		-45deg,
		transparent 0, transparent 20px,
		rgba(180, 79, 255, 0.04) 20px, rgba(180, 79, 255, 0.04) 40px
	);
}

.kicker {
	font-family: 'Space Mono', monospace;
	font-size: calc(var(--copy) * 0.75);
	letter-spacing: 0.3em;
	color: var(--accent);
	text-transform: uppercase;
	margin-bottom: 0.5rem;
	position: relative;
}

h1 {
	font-family: 'Bebas Neue', sans-serif;
	font-size: clamp(3rem, 8vw, 6rem);
	line-height: 0.9;
	letter-spacing: 0.02em;
	color: var(--text);
	position: relative;
}

h1 .highlight {
	color: var(--acid);
	text-shadow: 0 0 30px rgba(204, 255, 0, 0.4);
}

h1 .neon {
	color: var(--neon);
}

.subtitle {
	font-size: calc(var(--copy) * 0.75);
	color: rgba(240, 237, 224, 0.5);
	letter-spacing: 0.1em;
	margin-top: 1rem;
	text-transform: uppercase;
}

/* ── Hero (fakten + places) ─────────────────────────────────── */
.page-hero {
	padding: 3rem 2rem 2rem;
	border-bottom: 3px solid rgba(204, 255, 0, 0.3);
	position: relative;
	overflow: hidden;
}

body.page-places .page-hero {
	border-bottom-color: rgba(255, 107, 0, 0.4);
	padding-bottom: 2.5rem;
}

.hero-bg-text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-family: 'Bebas Neue', sans-serif;
	font-size: 12rem;
	color: rgba(204, 255, 0, 0.03);
	white-space: nowrap;
	pointer-events: none;
	line-height: 1;
}

body.page-places .hero-bg-text {
	font-size: 14rem;
	color: rgba(255, 107, 0, 0.04);
}

.hero-eyebrow {
	font-size: 9px;
	letter-spacing: 0.4em;
	color: var(--accent);
	text-transform: uppercase;
	margin-bottom: 0.75rem;
}

.hero-h1 {
	font-family: 'Bebas Neue', sans-serif;
	font-size: clamp(2.5rem, 6vw, 4.5rem);
	line-height: 0.95;
	color: var(--text);
}

.hero-h1 em {
	color: var(--acid);
	font-style: normal;
}

.hero-h1 span {
	color: var(--orange);
}

body.page-places .hero-h1 em {
	color: var(--gold);
}

.hero-sub {
	font-size: calc(var(--copy) * 0.917);
	color: var(--dim);
	line-height: 1.8;
	margin-top: 1rem;
	max-width: 560px;
}

body.page-places .hero-sub {
	margin-top: 1.25rem;
	max-width: 600px;
	line-height: 1.85;
}

body.page-places .hero-sub strong {
	color: var(--orange);
}

/* ── Ticker ──────────────────────────────────────────────────── */
.ticker {
	background: var(--accent);
	color: var(--void);
	font-size: calc(var(--copy) * 0.75);
	font-weight: 700;
	letter-spacing: 0.15em;
	padding: 0.4rem 0;
	overflow: hidden;
	white-space: nowrap;
}

.ticker-inner {
	display: inline-block;
	animation: ticker 30s linear infinite;
}

body.page-stimmen .ticker-inner {
	animation-duration: 28s;
}

body.page-places .ticker-inner {
	animation-duration: 35s;
}

.ticker-mini {
	background: var(--grau);
	border-top: 1px solid rgba(240, 237, 224, 0.1);
	padding: 0.5rem 0;
	overflow: hidden;
	white-space: nowrap;
	font-size: 10px;
	letter-spacing: 0.15em;
	color: rgba(240, 237, 224, 0.3);
	margin: 2px 0;
}

.ticker-mini-inner {
	display: inline-block;
	animation: ticker 25s linear infinite;
}

/* ── Brutalist Blocks ────────────────────────────────────────── */
.brutalist-block {
	border: 2px solid rgba(240, 237, 224, 0.1);
	padding: 1.5rem;
	position: relative;
	transition: border-color 0.1s;
}

.brutalist-block:hover {
	border-color: var(--neon);
}

.brutalist-block.acid-block {
	background: var(--acid);
	color: var(--void);
	border-color: var(--acid);
}

.brutalist-block.acid-block:hover {
	border-color: var(--void);
}

.block-label {
	font-size: calc(var(--copy) * 0.5);
	letter-spacing: 0.4em;
	text-transform: uppercase;
	opacity: 0.5;
	margin-bottom: 0.75rem;
}

.acid-block .block-label {
	opacity: 0.6;
	color: var(--void);
}

.big-stat {
	font-family: 'Bebas Neue', sans-serif;
	font-size: 5rem;
	line-height: 1;
	color: var(--acid);
}

.acid-block .big-stat {
	color: var(--void);
}

.stat-label {
	font-size: calc(var(--copy) * 0.75);
	opacity: 0.7;
	margin-top: 0.5rem;
	line-height: 1.6;
}

.acid-block .stat-label {
	color: var(--void);
	opacity: 0.8;
}

/* ── Fact Cards ──────────────────────────────────────────────── */
.fact-card {
	border: 1px solid rgba(240, 237, 224, 0.08);
	padding: 1.5rem;
	margin-bottom: 2px;
	position: relative;
	transition: border-color 0.15s;
}

.fact-card:hover {
	border-color: rgba(240, 237, 224, 0.2);
}

.fact-card.hot {
	border-color: rgba(255, 45, 85, 0.3);
}

.fact-card.hot:hover {
	border-color: var(--neon);
}

.fact-card.acid-card {
	border-color: rgba(204, 255, 0, 0.2);
}

.fact-card.acid-card:hover {
	border-color: var(--acid);
}

.fact-number {
	font-family: 'Bebas Neue', sans-serif;
	font-size: 5rem;
	line-height: 1;
	float: left;
	margin-right: 1.5rem;
	margin-bottom: 0.5rem;
	color: rgba(240, 237, 224, 0.07);
}

.fact-card.hot .fact-number {
	color: rgba(255, 45, 85, 0.15);
}

.fact-card.acid-card .fact-number {
	color: rgba(204, 255, 0, 0.12);
}

.fact-label {
	font-size: 9px;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	color: var(--dim);
	margin-bottom: 0.4rem;
}

.fact-card.hot .fact-label {
	color: rgba(255, 45, 85, 0.7);
}

.fact-card.acid-card .fact-label {
	color: rgba(204, 255, 0, 0.6);
}

.fact-headline {
	font-family: 'Bebas Neue', sans-serif;
	font-size: clamp(1.4rem, 3vw, 2rem);
	line-height: 1.1;
	color: var(--text);
	margin-bottom: 0.75rem;
}

.fact-headline .accent {
	color: var(--neon);
}

.fact-headline .acid {
	color: var(--acid);
}

.fact-headline .purple {
	color: var(--lila);
}

.fact-headline .teal {
	color: var(--teal);
}

.fact-body {
	font-size: var(--copy);
	line-height: 1.85;
	color: rgba(240, 237, 224, 0.75);
	clear: both;
}

.fact-body strong {
	color: var(--text);
	font-weight: 700;
}

.clearfix::after {
	content: '';
	display: table;
	clear: both;
}

/* ── Absurd Blocks ───────────────────────────────────────────── */
.absurd-block {
	margin: 2px 0;
	padding: 2rem;
	background: var(--grau);
	border: 2px solid var(--lila);
	position: relative;
	overflow: hidden;
}

.absurd-block::before {
	content: 'ABSURD';
	position: absolute;
	top: 0.5rem;
	right: 0.75rem;
	font-size: 8px;
	letter-spacing: 0.4em;
	color: var(--lila);
	opacity: 0.5;
}

.absurd-label {
	font-size: 9px;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	color: var(--lila);
	margin-bottom: 0.75rem;
}

.absurd-headline {
	font-family: 'Bebas Neue', sans-serif;
	font-size: clamp(1.4rem, 3vw, 2rem);
	line-height: 1.1;
	color: var(--lila);
	margin-bottom: 0.75rem;
}

.absurd-body {
	font-size: var(--copy);
	line-height: 1.85;
	color: rgba(240, 237, 224, 0.75);
}

.absurd-body strong {
	color: var(--lila);
}

/* ── Queer Blocks ────────────────────────────────────────────── */
.queer-block {
	margin: 2px 0;
	padding: 2rem;
	border: 0;
	position: relative;
	overflow: hidden;
}

.queer-bg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(
		135deg,
		rgba(255, 45, 85, 0.12) 0%,
		rgba(180, 79, 255, 0.12) 33%,
		rgba(0, 255, 209, 0.12) 66%,
		rgba(204, 255, 0, 0.12) 100%
	);
}

.queer-label {
	font-size: 9px;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	color: var(--teal);
	margin-bottom: 0.75rem;
	position: relative;
}

.queer-headline {
	font-family: 'Bebas Neue', sans-serif;
	font-size: clamp(1.4rem, 3vw, 2rem);
	line-height: 1.1;
	color: var(--teal);
	margin-bottom: 0.75rem;
	position: relative;
}

.queer-body {
	font-size: var(--copy);
	line-height: 1.85;
	color: rgba(240, 237, 224, 0.8);
	position: relative;
}

.queer-body strong {
	color: var(--teal);
}

/* ── Hope/Fear Matrix ────────────────────────────────────────── */
.hope-fear-strip {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
	margin: 2px 0;
}

.fear-side {
	background: #1a0505;
	border: 1px solid rgba(255, 45, 85, 0.3);
	padding: 1.5rem;
}

.hope-side {
	background: #051a0e;
	border: 1px solid rgba(0, 255, 209, 0.3);
	padding: 1.5rem;
}

.side-label {
	font-size: 9px;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	margin-bottom: 1rem;
}

.fear-side .side-label {
	color: var(--neon);
}

.hope-side .side-label {
	color: var(--teal);
}

.side-item {
	font-size: calc(var(--copy) * 0.917);
	line-height: 1.7;
	color: rgba(240, 237, 224, 0.7);
	padding: 0.5rem 0;
	border-bottom: 1px solid rgba(240, 237, 224, 0.05);
}

.side-item:last-child {
	border-bottom: none;
}

.side-item::before {
	display: inline-block;
	width: 16px;
	margin-right: 6px;
	font-weight: 700;
	font-size: 10px;
}

.fear-side .side-item::before {
	content: '↓';
	color: var(--neon);
}

.hope-side .side-item::before {
	content: '↑';
	color: var(--teal);
}

/* ── Manifesto ───────────────────────────────────────────────── */
.manifesto {
	border-top: 3px solid var(--neon);
	border-bottom: 3px solid var(--neon);
	padding: 2rem;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.manifesto-bg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-family: 'Bebas Neue', sans-serif;
	font-size: 20rem;
	color: rgba(255, 45, 85, 0.04);
	white-space: nowrap;
	pointer-events: none;
	line-height: 1;
}

.manifesto p {
	font-family: 'Bebas Neue', sans-serif;
	font-size: clamp(1.5rem, 4vw, 2.5rem);
	line-height: 1.3;
	position: relative;
}

.manifesto p span {
	color: var(--neon);
}

.manifesto-strip {
	margin: 3px 0;
	border-top: 3px solid var(--orange);
	border-bottom: 3px solid var(--orange);
	padding: 2.5rem 2rem;
	text-align: center;
	background: rgba(255, 107, 0, 0.04);
	position: relative;
	overflow: hidden;
}

.manifesto-strip-bg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-family: 'Bebas Neue', sans-serif;
	font-size: 16rem;
	color: rgba(255, 107, 0, 0.04);
	pointer-events: none;
	line-height: 1;
	white-space: nowrap;
}

.manifesto-strip p {
	font-family: 'Bebas Neue', sans-serif;
	font-size: clamp(1.5rem, 4vw, 2.8rem);
	line-height: 1.25;
	position: relative;
}

.manifesto-strip .o {
	color: var(--orange);
}

.manifesto-strip .g {
	color: var(--gold);
}

/* ── AI Chat ─────────────────────────────────────────────────── */
.ai-chat {
	background: var(--grau);
	border: 2px solid rgba(240, 237, 224, 0.1);
	padding: 1.5rem;
}

.chat-header {
	font-size: calc(var(--copy) * 0.75);
	letter-spacing: 0.4em;
	text-transform: uppercase;
	color: var(--neon);
	margin-bottom: 1rem;
	border-bottom: 1px solid rgba(255, 45, 85, 0.3);
	padding-bottom: 0.5rem;
}

.msg {
	margin-bottom: 1rem;
	font-size: var(--copy);
	line-height: 1.7;
}

.msg-user {
	color: rgba(240, 237, 224, 0.6);
	font-style: italic;
}

.msg-user::before {
	content: "HEINZ-WERNER > ";
	color: rgba(240, 237, 224, 0.3);
	font-style: normal;
	letter-spacing: 0.1em;
}

.msg-ai {
	color: var(--acid);
	border-left: 2px solid var(--acid);
	padding-left: 0.75rem;
}

.msg-ai::before {
	display: block;
	content: "KI_SYSTEM_v∞ > ";
	color: rgba(204, 255, 0, 0.5);
	letter-spacing: 0.1em;
	margin-bottom: 0.25rem;
}

.blink {
	animation: blink 1s step-end infinite;
}

/* ── Input / Prompt ──────────────────────────────────────────── */
.input-wrapper {
	display: flex;
	border: 2px solid rgba(240, 237, 224, 0.2);
	margin-top: 1rem;
	transition: border-color 0.2s;
}

.input-wrapper:focus-within {
	border-color: var(--acid);
}

.prompt-input {
	flex: 1;
	background: transparent;
	border: none;
	color: var(--text);
	font-family: 'Space Mono', monospace;
	font-size: var(--copy);
	padding: 0.75rem 1rem;
	outline: none;
}

.prompt-input::placeholder {
	color: rgba(240, 237, 224, 0.3);
	font-style: italic;
}

.prompt-btn {
	background: var(--acid);
	color: var(--void);
	border: none;
	font-family: 'Space Mono', monospace;
	font-size: var(--copy);
	font-weight: 700;
	letter-spacing: 0.1em;
	padding: 0 1.25rem;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.1s;
}

.prompt-btn:hover {
	background: var(--neon);
	color: var(--text);
}

.response-area {
	margin-top: 1rem;
	font-size: var(--copy);
	line-height: 1.8;
	color: var(--acid);
	border-left: 2px solid var(--acid);
	padding-left: 0.75rem;
	min-height: 0;
	transition: min-height 0.3s;
}

.loading-dots::after {
	content: '...';
	animation: dots 1.5s steps(4, end) infinite;
}

/* ── Live Counter ────────────────────────────────────────────── */
.live-counter {
	border: 2px solid var(--neon);
	padding: 1.5rem;
	text-align: center;
	background: rgba(255, 45, 85, 0.05);
}

.counter-num {
	font-family: 'Bebas Neue', sans-serif;
	font-size: 3.5rem;
	color: var(--neon);
	letter-spacing: 0.05em;
	font-variant-numeric: tabular-nums;
}

.counter-label {
	font-size: calc(var(--copy) * 0.75);
	letter-spacing: 0.3em;
	text-transform: uppercase;
	opacity: 0.5;
	margin-top: 0.25rem;
}

.pulse-number {
	display: inline-block;
	font-family: 'Bebas Neue', sans-serif;
	font-size: 3rem;
	color: var(--neon);
	animation: pulse-opacity 2s ease-in-out infinite;
}

/* ── Poll Bars ───────────────────────────────────────────────── */
.interactive-bar {
	background: var(--grau);
	border: 2px solid rgba(240, 237, 224, 0.1);
	padding: 1.5rem;
}

.bar-question {
	font-size: var(--copy);
	margin-bottom: 1rem;
	line-height: 1.6;
	color: rgba(240, 237, 224, 0.8);
}

.bar-option {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 0.75rem;
	padding: 0.4rem 0;
	transition: opacity 0.2s;
}

.bar-option:hover .bar-fill {
	filter: brightness(1.2);
}

.bar-text {
	font-size: calc(var(--copy) * 0.5);
	letter-spacing: 0.05em;
	width: 160px;
	flex-shrink: 0;
	line-height: 1.4;
}

.bar-track {
	flex: 1;
	height: 20px;
	background: rgba(240, 237, 224, 0.05);
	position: relative;
	border: 1px solid rgba(240, 237, 224, 0.1);
}

.bar-fill {
	height: 100%;
	background: var(--neon);
	transition: width 0.6s ease;
}

.bar-fill.acid {
	background: var(--acid);
}

.bar-fill.dim {
	background: rgba(240, 237, 224, 0.3);
}

.bar-pct {
	font-family: 'Bebas Neue', sans-serif;
	font-size: calc(var(--copy) * 0.75);
	width: 40px;
	text-align: right;
	color: var(--neon);
}

/* ── Stimmen Cards ───────────────────────────────────────────── */
.intro-block {
	padding: 2rem;
	font-size: var(--copy);
	line-height: 1.9;
	color: rgba(240, 237, 224, 0.65);
	border-bottom: 1px solid rgba(240, 237, 224, 0.06);
	max-width: 700px;
}

.card {
	background: var(--grau);
	border: 1px solid rgba(240, 237, 224, 0.06);
	padding: 1.75rem;
	position: relative;
	overflow: hidden;
	transition: border-color 0.15s;
}

.card:hover {
	border-color: rgba(180, 79, 255, 0.4);
}

.card-top {
	display: flex;
	gap: 1.25rem;
	align-items: flex-start;
	margin-bottom: 1.25rem;
}

.portrait {
	width: 110px;
	height: 133px;
	flex-shrink: 0;
	border: 1px solid rgba(240, 237, 224, 0.12);
	overflow: hidden;
	position: relative;
}

.portrait svg {
	display: block;
	width: 100%;
	height: 100%;
}

.person-meta-wrap {
	flex: 1;
	min-width: 0;
}

.person-name {
	font-family: 'Bebas Neue', sans-serif;
	font-size: var(--copy);
	letter-spacing: 0.04em;
	line-height: 1.1;
	word-break: break-word;
}

.person-meta {
	font-size: calc(var(--copy) * 0.75);
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--lila);
	margin-top: 0.4rem;
	line-height: 1.75;
	opacity: 0.85;
}

.quote {
	font-size: var(--copy);
	line-height: 1.95;
	color: rgba(240, 237, 224, 0.82);
	border-left: 2px solid var(--acid);
	padding-left: 0.85rem;
	font-style: italic;
}

.quote-tag {
	font-style: normal;
	font-size: calc(var(--copy) * 0.5);
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--acid);
	opacity: 0.55;
	display: block;
	margin-bottom: 0.45rem;
}

.ai-badge {
	position: absolute;
	top: 0.6rem;
	right: 0.6rem;
	font-size: calc(var(--copy) * 0.5);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(180, 79, 255, 0.35);
	text-align: right;
	line-height: 1.6;
}

/* ── Fakten Section ──────────────────────────────────────────── */
.facts-section {
	padding: 0 2rem 2rem;
}

.section-divider {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.5rem 0 1rem;
}

.divider-label {
	font-size: 9px;
	letter-spacing: 0.4em;
	text-transform: uppercase;
	color: var(--dim);
	white-space: nowrap;
}

.divider-line {
	flex: 1;
	height: 1px;
	background: rgba(240, 237, 224, 0.1);
}

/* ── Source / Meta ───────────────────────────────────────────── */
.source-strip {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.5rem 0;
	margin-top: 0.5rem;
	border-top: 1px solid rgba(240, 237, 224, 0.05);
}

.source-text {
	font-size: 9px;
	letter-spacing: 0.15em;
	color: rgba(240, 237, 224, 0.25);
	font-style: italic;
}

/* ── Places ──────────────────────────────────────────────────── */
.section-label {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 2rem 0 1.25rem;
}

.section-label-text {
	font-size: 9px;
	letter-spacing: 0.4em;
	text-transform: uppercase;
	color: rgba(255, 107, 0, 0.6);
	white-space: nowrap;
}

.section-label-line {
	flex: 1;
	height: 1px;
	background: rgba(255, 107, 0, 0.15);
}

.place-card {
	margin-bottom: 3px;
	border: 1px solid rgba(255, 107, 0, 0.15);
	position: relative;
	overflow: hidden;
	transition: border-color 0.15s;
}

.place-card:hover {
	border-color: rgba(255, 107, 0, 0.45);
}

.place-header {
	padding: 1.75rem 1.75rem 1rem;
	display: grid;
	grid-template-columns: 5rem 1fr;
	gap: 1.5rem;
	align-items: start;
}

.place-num {
	font-family: 'Bebas Neue', sans-serif;
	font-size: 5.5rem;
	line-height: 1;
	color: rgba(255, 107, 0, 0.12);
	flex-shrink: 0;
}

.place-eyebrow {
	font-size: 9px;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	color: rgba(255, 107, 0, 0.6);
	margin-bottom: 0.4rem;
}

.place-name {
	font-family: 'Bebas Neue', sans-serif;
	font-size: clamp(1.6rem, 3.5vw, 2.4rem);
	line-height: 1.05;
	color: var(--text);
	margin-bottom: 0.6rem;
}

.place-name .o {
	color: var(--orange);
}

.place-name .g {
	color: var(--gold);
}

.place-desc {
	font-size: calc(var(--copy) * 0.917);
	line-height: 1.8;
	color: rgba(240, 237, 224, 0.6);
	max-width: 640px;
}

.place-desc strong {
	color: rgba(240, 237, 224, 0.85);
}

.godmode-block {
	margin: 0 1.75rem 1.75rem;
	background: linear-gradient(135deg, rgba(255, 107, 0, 0.08) 0%, rgba(255, 210, 0, 0.04) 100%);
	border: 1px solid rgba(255, 107, 0, 0.3);
	border-left: 3px solid var(--orange);
	padding: 1.25rem 1.5rem;
	position: relative;
}

.godmode-block::before {
	content: '⚡ GOD MODE PROMPT';
	display: block;
	font-size: 8px;
	letter-spacing: 0.45em;
	text-transform: uppercase;
	color: var(--orange);
	opacity: 0.7;
	margin-bottom: 0.75rem;
}

.godmode-text {
	font-size: var(--copy);
	line-height: 1.9;
	color: rgba(240, 237, 224, 0.85);
}

.godmode-text strong {
	color: var(--gold);
}

.godmode-text em {
	color: var(--orange);
	font-style: normal;
}

.impact-strip {
	display: flex;
	gap: 0.5rem;
	align-items: center;
	margin-top: 0.9rem;
	padding-top: 0.75rem;
	border-top: 1px solid rgba(255, 107, 0, 0.15);
	flex-wrap: wrap;
}

.impact-tag {
	font-size: 8px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	padding: 2px 8px;
	border: 1px solid currentColor;
}

.t-orange {
	color: var(--orange);
}

.t-gold {
	color: var(--gold);
}

.t-acid {
	color: var(--acid);
}

.t-neon {
	color: var(--neon);
}

.t-dim {
	color: rgba(240, 237, 224, 0.3);
}

.impact-level {
	margin-left: auto;
	font-family: 'Bebas Neue', sans-serif;
	font-size: 0.9rem;
	letter-spacing: 0.1em;
	color: rgba(255, 107, 0, 0.5);
}

.absurd-interlude {
	margin: 3px 0;
	padding: 2rem;
	background: var(--grau);
	border: 1px solid rgba(255, 210, 0, 0.2);
	border-left: 3px solid var(--gold);
}

.absurd-interlude-label {
	font-size: 8px;
	letter-spacing: 0.45em;
	text-transform: uppercase;
	color: rgba(255, 210, 0, 0.55);
	margin-bottom: 0.75rem;
}

.absurd-interlude-text {
	font-family: 'Bebas Neue', sans-serif;
	font-size: clamp(1.1rem, 2.5vw, 1.6rem);
	line-height: 1.2;
	color: var(--gold);
}

.absurd-interlude-body {
	font-size: calc(var(--copy) * 0.917);
	line-height: 1.8;
	color: rgba(240, 237, 224, 0.65);
	margin-top: 0.75rem;
}

.absurd-interlude-body strong {
	color: rgba(255, 210, 0, 0.85);
}

/* ── Tags / Pills ────────────────────────────────────────────── */
.tag {
	display: inline-block;
	font-size: calc(var(--copy) * 0.5);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	padding: 3px 8px;
	border: 1px solid currentColor;
	margin-right: 0.5rem;
	margin-bottom: 0.5rem;
}

.tag-neon {
	color: var(--neon);
}

.tag-acid {
	color: var(--acid);
}

.tag-dim {
	color: rgba(240, 237, 224, 0.4);
}

.tag-pill {
	display: inline-block;
	font-size: 8px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	padding: 2px 8px;
	margin-right: 6px;
	margin-bottom: 4px;
	border: 1px solid currentColor;
}

.pill-neon {
	color: var(--neon);
}

.pill-acid {
	color: var(--acid);
}

.pill-purple {
	color: var(--lila);
}

.pill-teal {
	color: var(--teal);
}

/* ── Back Buttons ────────────────────────────────────────────── */
.btn-back {
	font-size: 9px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--acid);
	border: 1px solid var(--acid);
	padding: 5px 14px;
	transition: all 0.15s;
	background: transparent;
	font-family: 'Space Mono', monospace;
	cursor: pointer;
}

.btn-back:hover {
	background: var(--acid);
	color: var(--void);
}

.btn-back-footer {
	font-size: 9px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--orange);
	border: 1px solid var(--orange);
	padding: 5px 14px;
	transition: all 0.15s;
	background: transparent;
	font-family: 'Space Mono', monospace;
	text-decoration: none;
	display: inline-block;
	cursor: pointer;
}

.btn-back-footer:hover {
	background: var(--orange);
	color: var(--void);
}

/* ── Footer ──────────────────────────────────────────────────── */
.footer-strip {
	border-top: 2px solid rgba(240, 237, 224, 0.1);
	padding: 1rem 2rem;
	font-size: calc(var(--copy) * 0.5);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(240, 237, 224, 0.3);
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.footer-bar {
	border-top: 2px solid rgba(240, 237, 224, 0.08);
	padding: 1rem 2rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: calc(var(--copy) * 0.5);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(240, 237, 224, 0.25);
	margin-top: 1rem;
}

/* ── Glitch ──────────────────────────────────────────────────── */
.glitch {
	position: relative;
	display: inline-block;
}

.glitch::before {
	content: attr(data-text);
	position: absolute;
	left: 2px;
	top: 0;
	color: var(--neon);
	clip-path: polygon(0 30%, 100% 30%, 100% 50%, 0 50%);
	animation: glitch1 3s infinite;
}

.glitch::after {
	content: attr(data-text);
	position: absolute;
	left: -2px;
	top: 0;
	color: var(--acid);
	clip-path: polygon(0 60%, 100% 60%, 100% 80%, 0 80%);
	animation: glitch2 3s infinite;
}

/* ── Scanlines ───────────────────────────────────────────────── */
.scanlines {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: repeating-linear-gradient(
		0deg,
		transparent, transparent 2px,
		rgba(0, 0, 0, 0.08) 2px, rgba(0, 0, 0, 0.08) 4px
	);
	pointer-events: none;
	z-index: 9999;
}

/* ── Marquee Vertical ────────────────────────────────────────── */
.marquee-vertical {
	height: 80px;
	overflow: hidden;
	font-family: 'Bebas Neue', sans-serif;
	font-size: 3rem;
	line-height: 1;
	color: rgba(240, 237, 224, 0.15);
}

.marquee-v-inner {
	animation: marqueev 8s linear infinite;
}

/* ── Kunstfreiheit Stamp ─────────────────────────────────────── */
.kunstfreiheit-stamp {
	position: fixed;
	bottom: 2rem;
	right: 2rem;
	width: 148px;
	height: 148px;
	border: 3px solid var(--acid);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	transform: rotate(-17deg);
	z-index: 9000;
	pointer-events: none;
	padding: 1rem;
	animation: stampflicker 4s ease-in-out infinite;
}

.kunstfreiheit-stamp::before {
	content: '';
	position: absolute;
	inset: 6px;
	border: 1px dashed var(--acid);
	border-radius: 50%;
	opacity: 0.45;
}

.kunstfreiheit-stamp::after {
	content: '§';
	position: absolute;
	font-family: 'Bebas Neue', sans-serif;
	font-size: 3.5rem;
	color: var(--acid);
	opacity: 0.06;
}

.kunstfreiheit-text {
	font-family: 'Bebas Neue', sans-serif;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	color: var(--acid);
	text-transform: uppercase;
	line-height: 1.55;
	position: relative;
}

/* ── Media Queries ───────────────────────────────────────────── */
@media (max-width: 600px) {
	.grid-2, .grid-3, .grid-2-wide, .hope-fear-strip, .grid {
		grid-template-columns: 1fr;
	}

	.bar-text {
		width: 100px;
		font-size: 9px;
	}

	.place-header {
		grid-template-columns: 3rem 1fr;
		gap: 1rem;
	}

	.place-num {
		font-size: 3.5rem;
	}

	body.page-places main {
		padding: 0 1rem 2rem;
	}

	.nav-bar {
		padding: 0.75rem 1rem;
	}

	.page-hero {
		padding: 2rem 1rem 1.5rem;
	}

	.godmode-block {
		margin: 0 1rem 1.25rem;
	}
}

/* ── Header Nav Links ────────────────────────────────────────── */
.header-link {
	display: inline-block;
	margin-top: 1.25rem;
	font-size: calc(var(--copy) * 0.75);
	letter-spacing: 0.25em;
	text-transform: uppercase;
	text-decoration: none;
	padding-bottom: 2px;
	opacity: 0.55;
	transition: opacity 0.2s;
	color: var(--text);
	border-bottom: 1px solid rgba(240,237,224,0.4);
}
.header-link:hover { opacity: 1; }
.header-link + .header-link { margin-left: 2rem; }
.header-link.places  { color: var(--orange); border-bottom-color: rgba(255,107,0,0.4); }
.header-link.stimmen { color: var(--lila);   border-bottom-color: rgba(180,79,255,0.4); }

/* ── Logo Section ────────────────────────────────────────────── */
.logo-section {
	padding: 3rem 2rem 2.5rem;
	border-bottom: 1px solid rgba(240,237,224,0.06);
	position: relative;
	overflow: hidden;
}
.logo-section-bg {
	position: absolute; top: 0; left: 0; right: 0; bottom: 0;
	background: repeating-linear-gradient(0deg, transparent, transparent 3px, rgba(255,45,85,0.015) 3px, rgba(255,45,85,0.015) 4px);
	pointer-events: none;
}
.logo-eyebrow {
	font-size: calc(var(--copy) * 0.75);
	letter-spacing: 0.4em;
	text-transform: uppercase;
	color: rgba(240,237,224,0.25);
	margin-bottom: 1.75rem;
}
.logo-wordmark {
	font-family: 'Bebas Neue', sans-serif;
	font-size: clamp(4.5rem, 16vw, 10rem);
	line-height: 0.9;
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	margin-bottom: 2.5rem;
	gap: 0;
}
.logo-wordmark-part {
	color: var(--text);
	letter-spacing: -0.01em;
	text-shadow: -3px 0 0 rgba(255,45,85,0.35), 3px 0 0 rgba(0,255,209,0.2);
}
.logo-wordmark-ki {
	display: inline-flex;
	align-items: center;
	background: var(--neon);
	color: var(--void);
	padding: 0 0.08em;
	position: relative;
	transform: skewX(-2deg);
	animation: kipulse 3.5s ease-in-out infinite;
}
.logo-copy { max-width: 620px; }
.logo-text {
	font-size: var(--copy);
	line-height: 1.95;
	color: rgba(240,237,224,0.55);
}
.logo-text + .logo-text { margin-top: 1rem; }
.logo-text em     { color: rgba(240,237,224,0.9); font-style: normal; }
.logo-text strong { color: var(--neon); }
.logo-meta {
	margin-top: 1.5rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(240,237,224,0.07);
	font-size: calc(var(--copy) * 0.5);
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: rgba(240,237,224,0.2);
	line-height: 2;
}

/* ── Fakten Hint Link ────────────────────────────────────────── */
.fakten-hint {
	display: block;
	text-decoration: none;
	padding: 0.6rem 1rem;
	background: transparent;
	font-size: calc(var(--copy) * 0.5);
	letter-spacing: 0.08em;
	color: rgba(204,255,0,0.45);
	line-height: 1.9;
	cursor: crosshair;
	transition: color 0.15s, background 0.15s;
}
.fakten-hint:hover { color: rgba(204,255,0,0.9); background: rgba(204,255,0,0.04); }

/* ── Block border variants ───────────────────────────────────── */
.brutalist-block.neon-border { border-color: var(--neon); }

/* ── Bar pct color variants ──────────────────────────────────── */
.bar-pct.acid { color: var(--acid); }
.bar-pct.dim  { color: rgba(240,237,224,0.4); }

/* ── Tag cloud wrapper ───────────────────────────────────────── */
.tag-cloud { margin-top: 0.5rem; }

/* ── Inline text link ────────────────────────────────────────── */
.inline-link {
	display: inline-block;
	margin-top: 1.25rem;
	font-size: calc(var(--copy) * 0.5);
	letter-spacing: 0.25em;
	text-transform: uppercase;
	text-decoration: none;
	border-bottom: 1px solid rgba(240,237,224,0.2);
	padding-bottom: 2px;
	transition: color 0.2s;
	color: rgba(240,237,224,0.45);
}
.inline-link:hover { color: var(--text); }

/* ── Stat label spacing ──────────────────────────────────────── */
.stat-label.mt { margin-top: 1rem; }

/* ── Faded inline element ────────────────────────────────────── */
.faded { opacity: 0.5; }

/* ── Manifesto acid variant ──────────────────────────────────── */
.manifesto.manifesto-acid { border-color: var(--acid); }
.manifesto.manifesto-acid .manifesto-bg { color: rgba(204,255,0,0.04); }
.manifesto-sm {
	font-size: clamp(1rem, 3vw, 1.5rem);
	color: rgba(240,237,224,0.8);
}
.manifesto-sm .c-acid { color: var(--acid); }
.manifesto-sm .c-neon  { color: var(--neon); }

/* ── Stimmen CTA Banner ──────────────────────────────────────── */
.stimmen-cta {
	display: block;
	text-decoration: none;
	background: linear-gradient(135deg, rgba(180,79,255,0.12) 0%, rgba(180,79,255,0.04) 100%);
	border-top: 3px solid var(--lila);
	border-bottom: 3px solid var(--lila);
	padding: 2.5rem 2rem;
	text-align: center;
	position: relative;
	overflow: hidden;
	transition: background 0.2s;
}
.stimmen-cta:hover {
	background: linear-gradient(135deg, rgba(180,79,255,0.22) 0%, rgba(180,79,255,0.08) 100%);
}
.stimmen-cta-kicker {
	font-size: calc(var(--copy) * 0.75);
	letter-spacing: 0.45em;
	text-transform: uppercase;
	color: var(--lila);
	opacity: 0.6;
	margin-bottom: 0.9rem;
}
.stimmen-cta-headline {
	font-family: 'Bebas Neue', sans-serif;
	font-size: clamp(1.8rem, 5.5vw, 3.2rem);
	letter-spacing: 0.08em;
	color: var(--lila);
	line-height: 1.1;
	text-shadow: 0 0 30px rgba(180,79,255,0.5);
}
.stimmen-cta-sub {
	font-size: calc(var(--copy) * 0.75);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(180,79,255,0.5);
	margin-top: 1rem;
}

/* ── Counter label highlight ─────────────────────────────────── */
.counter-label-highlight {
	margin-top: 0.5rem;
	color: var(--neon);
	opacity: 1;
}

/* ── Warning Block (DO NOT ENTER) ────────────────────────────── */
.warning-block {
	border: 3px solid var(--blut);
	background: rgba(255,0,51,0.06);
	padding: 1.75rem 2rem;
	text-align: center;
	position: relative;
	overflow: hidden;
}
.warning-bg {
	position: absolute; top: 0; left: 0; right: 0; bottom: 0;
	background: repeating-linear-gradient(45deg, transparent, transparent 8px, rgba(255,0,51,0.04) 8px, rgba(255,0,51,0.04) 16px);
	pointer-events: none;
}
.warning-label {
	font-size: calc(var(--copy) * 0.75);
	letter-spacing: 0.4em;
	color: var(--blut);
	text-transform: uppercase;
	margin-bottom: 0.75rem;
	opacity: 0.7;
}
.warning-link {
	font-family: 'Bebas Neue', sans-serif;
	font-size: clamp(1.8rem, 5vw, 2.8rem);
	color: var(--blut);
	text-decoration: none;
	letter-spacing: 0.12em;
	display: block;
	text-shadow: 0 0 20px rgba(255,0,51,0.5);
	transition: text-shadow 0.2s;
}
.warning-link:hover { text-shadow: 0 0 40px rgba(255,0,51,0.9); }
.warning-sub {
	font-size: calc(var(--copy) * 0.75);
	letter-spacing: 0.2em;
	color: rgba(255,0,51,0.5);
	text-transform: uppercase;
	margin-top: 0.75rem;
}

/* ── Map CTA ─────────────────────────────────────────────────── */
.map-cta {
	display: block;
	text-decoration: none;
	border: 3px solid var(--orange);
	background: var(--void);
	position: relative;
	overflow: hidden;
}
.map-cta:hover .map-cta-btn { background: var(--acid); color: var(--void); }
.map-cta-header {
	background: var(--orange);
	padding: 0.55rem 1.25rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.map-cta-title {
	font-family: 'Bebas Neue', sans-serif;
	font-size: var(--copy);
	letter-spacing: 0.25em;
	color: var(--void);
}
.map-cta-tag {
	font-family: 'Space Mono', monospace;
	font-size: 8px;
	color: rgba(10,10,10,0.55);
	letter-spacing: 0.15em;
	text-transform: uppercase;
}
.map-cta-svg { display: block; width: 100%; height: auto; }
.map-cta-footer {
	background: #0d0d00;
	border-top: 2px solid rgba(255,107,0,0.3);
	padding: 1.25rem 1.5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem;
}
.map-cta-sub {
	font-size: calc(var(--copy) * 0.75);
	letter-spacing: 0.35em;
	text-transform: uppercase;
	color: rgba(255,107,0,0.6);
	margin-bottom: 0.4rem;
}
.map-cta-headline {
	font-family: 'Bebas Neue', sans-serif;
	font-size: clamp(1.4rem, 4vw, 2rem);
	letter-spacing: 0.08em;
	color: var(--orange);
	line-height: 1.1;
}
.map-cta-btn {
	font-family: 'Bebas Neue', sans-serif;
	font-size: calc(var(--copy) * 0.75);
	letter-spacing: 0.2em;
	background: var(--orange);
	color: var(--void);
	padding: 0.6rem 1.5rem;
	transition: background 0.15s, color 0.15s;
	white-space: nowrap;
}

/* ── Interview Teaser ────────────────────────────────────────── */
.interview-teaser {
	border: 3px solid var(--acid);
	background: rgba(204,255,0,0.03);
	padding: 2rem;
	position: relative;
	overflow: hidden;
}
.interview-teaser-bg {
	position: absolute; top: 0; left: 0; right: 0; bottom: 0;
	background: repeating-linear-gradient(-60deg, transparent, transparent 12px, rgba(204,255,0,0.025) 12px, rgba(204,255,0,0.025) 24px);
	pointer-events: none;
}
.interview-coming-soon {
	position: absolute;
	top: 1.5rem; right: 1.5rem;
	border: 2px solid var(--acid);
	padding: 0.3rem 0.8rem;
	font-size: calc(var(--copy) * 0.75);
	letter-spacing: 0.35em;
	color: var(--acid);
	text-transform: uppercase;
	transform: rotate(3deg);
	opacity: 0.85;
}
.interview-kicker {
	font-size: calc(var(--copy) * 0.75);
	letter-spacing: 0.4em;
	color: var(--acid);
	text-transform: uppercase;
	margin-bottom: 0.75rem;
	opacity: 0.7;
}
.interview-title {
	font-family: 'Bebas Neue', sans-serif;
	font-size: clamp(2rem, 7vw, 4.5rem);
	line-height: 0.88;
	letter-spacing: 0.03em;
	margin-bottom: 1.2rem;
}
.interview-title .sep      { color: rgba(240,237,224,0.2); }
.interview-title .city     { color: var(--text); }
.interview-title .ki       { color: var(--acid); }
.interview-title .ki-ll    { color: var(--neon); }
.interview-body {
	font-size: calc(var(--copy) * 0.917);
	color: rgba(240,237,224,0.6);
	letter-spacing: 0.06em;
	line-height: 1.8;
	margin-bottom: 1.5rem;
	max-width: 640px;
}
.interview-body .highlight { color: var(--acid); opacity: 0.85; }
.interview-quote-block {
	border-left: 3px solid var(--acid);
	padding: 0.8rem 1.1rem;
	background: rgba(204,255,0,0.05);
	margin-bottom: 1.5rem;
	font-size: calc(var(--copy) * 0.75);
	font-style: italic;
	line-height: 1.7;
}
.interview-quote-label {
	color: rgba(240,237,224,0.35);
	font-size: calc(var(--copy) * 0.75);
	letter-spacing: 0.25em;
	margin-bottom: 0.5rem;
	font-style: normal;
	display: block;
}
.interview-speaker        { color: rgba(240,237,224,0.5); }
.interview-speaker.ki     { color: var(--acid); }
.interview-meta {
	font-size: calc(var(--copy) * 0.5);
	letter-spacing: 0.2em;
	color: rgba(240,237,224,0.3);
	text-transform: uppercase;
}
