/*
Theme Name: dvoimeni
Theme URI: https://dvoimeni.rs
Author: dvoimeni
Author URI: https://dvoimeni.rs
Description: Minimalist-brutalist personal diary theme for content creators. Light/dark mode, RS | EN, Journal, Stream, Podcast, Telegram integrations. Optimized for Hostinger PHP 8.3.
Version: 3.27.2
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 8.3
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dvoimeni
Tags: blog, custom-menu, custom-logo, featured-images, translation-ready, one-column, two-columns, flexible-header
*/

/* Dark-first shield — never paint a white canvas before theme applies */
html {
	--safe-zone-mobile: 120px;
	--safe-zone-desktop: 160px;
	--header-height: 72px;
	--header-clearance: 40px;
	--header-gap: 20px;
	--header-offset: calc(var(--header-height) + var(--header-clearance) + var(--header-gap));
}

html,
html:not([data-theme]),
html[data-theme="dark"] {
	background-color: #1a1a1a !important;
	color-scheme: dark;
}

html:not([data-theme]) body,
html[data-theme="dark"] body {
	background-color: #1a1a1a !important;
	color: #ffffff;
}

html:not([data-theme]) .site-header,
html[data-theme="dark"] .site-header,
html:not([data-theme]) #masthead,
html[data-theme="dark"] #masthead {
	background-color: #1a1a1a !important;
	background: #1a1a1a !important;
}

html[data-theme="light"] {
	background-color: #fafafa !important;
	color-scheme: light;
}

html[data-theme="light"] body {
	background-color: #fafafa !important;
	color: #1a1a1a;
}

html[data-theme="light"] .site-header,
html[data-theme="light"] #masthead {
	background-color: #fafafa !important;
	background: #fafafa !important;
}

/* ==========================================================================
   CSS Custom Properties — Soft Modern Gray (Light)
   ========================================================================== */
:root {
	--color-primary: #5c5c5c;
	--color-primary-dark: #3d3d3d;
	--color-accent: #008080;
	--color-accent-soft: #e0f2f2;
	--color-accent-glow: rgba(0, 128, 128, 0.32);
	--color-accent-light: #00a3a3;
	--color-warm: #9aada8;
	--color-cute: #00a3a3;
	--color-bg: #f0f0f0;
	--color-bg-alt: #e8e8e8;
	--color-surface: #f5f5f5;
	--color-text: #2e2e2e;
	--color-text-muted: #525252;
	--color-border: #3a3a3a;
	--color-border-soft: #cfcfcf;
	--color-dark: #2e2e2e;
	--color-dark-soft: #404040;
	--color-hero-text: #f8f8f8;
	--color-hero-muted: rgba(248, 248, 248, 0.8);
	--color-header-bg: rgba(245, 245, 245, 0.94);
	--color-footer-bg: #2e2e2e;
	--color-footer-text: rgba(248, 248, 248, 0.88);
	--color-input-bg: #fafafa;
	--font-sans: 'IBM Plex Sans', 'Space Grotesk', system-ui, sans-serif;
	--font-display: 'Space Grotesk', var(--font-sans);
	--radius-sm: 4px;
	--radius-md: 6px;
	--radius-lg: 8px;
	--radius-xl: 10px;
	--radius-pill: 0;
	--shadow-sm: 3px 3px 0 rgba(0, 0, 0, 0.12);
	--shadow-md: 5px 5px 0 rgba(0, 0, 0, 0.16);
	--shadow-lg: 7px 7px 0 rgba(0, 0, 0, 0.18);
	--shadow-glow: 4px 4px 0 rgba(0, 0, 0, 0.2);
	--transition: 0.18s ease;
	--container: 1200px;
	--header-height: 72px;
	--header-clearance: 40px;
	--header-gap: 20px;
	--header-offset: calc(var(--header-height) + var(--header-clearance) + var(--header-gap));
	--safe-zone-mobile: 120px;
	--safe-zone-desktop: 160px;
	--soft-border: 2px solid var(--color-border-soft);
}

/* ==========================================================================
   Dark Theme
   ========================================================================== */
[data-theme="dark"] {
	--color-primary: #d4d4d4;
	--color-primary-dark: #f0f0f0;
	--color-accent: #20b2aa;
	--color-accent-soft: #1a3333;
	--color-accent-glow: rgba(32, 178, 170, 0.28);
	--color-accent-light: #4dd0c7;
	--color-warm: #7a8f8c;
	--color-cute: #4dd0c7;
	--color-bg: #1a1a1a;
	--color-bg-alt: #242424;
	--color-surface: #2d2d2d;
	--color-text: #ececec;
	--color-text-muted: #a3a3a3;
	--color-border: #ececec;
	--color-border-soft: #555555;
	--color-dark: #121212;
	--color-dark-soft: #1f1f1f;
	--color-hero-text: #f7f7f7;
	--color-hero-muted: rgba(247, 247, 247, 0.75);
	--color-header-bg: rgba(29, 29, 29, 0.96);
	--color-footer-bg: #121212;
	--color-footer-text: rgba(236, 236, 236, 0.85);
	--color-input-bg: #1f1f1f;
	--shadow-sm: 3px 3px 0 rgba(0, 0, 0, 0.35);
	--shadow-md: 5px 5px 0 rgba(0, 0, 0, 0.4);
	--shadow-lg: 7px 7px 0 rgba(0, 0, 0, 0.45);
	--shadow-glow: 4px 4px 0 rgba(0, 0, 0, 0.45);
}

/* ==========================================================================
   Reset & Base
   ========================================================================== */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
	color-scheme: dark;
	background-color: #1a1a1a;
	scroll-padding-top: var(--header-offset);
	scrollbar-gutter: stable;
	overflow-x: clip;
}

html {
	scroll-padding-top: 180px;
}

html[data-theme="light"] {
	color-scheme: light;
	background-color: #f4f4f4;
}

html[data-theme="dark"] {
	color-scheme: dark;
	background-color: #1a1a1a;
}

body {
	margin: 0;
	font-family: var(--font-sans);
	font-size: 1rem;
	line-height: 1.65;
	color: var(--color-text);
	background-color: #1a1a1a;
	background-image: none;
	-webkit-font-smoothing: antialiased;
	transition: none;
}

html[data-theme="light"] body {
	background-color: #f4f4f4;
	background-image:
		repeating-linear-gradient(
			0deg,
			transparent,
			transparent 3px,
			rgba(0, 0, 0, 0.015) 3px,
			rgba(0, 0, 0, 0.015) 4px
		);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--color-primary);
	text-decoration: none;
	transition: color var(--transition);
}

a:hover {
	color: var(--color-accent);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-display);
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 0.75em;
	color: var(--color-text);
}

p {
	margin: 0 0 1rem;
}

ul, ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* ==========================================================================
   Layout Utilities
   ========================================================================== */
.container {
	width: 100%;
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 1.25rem;
}

.section {
	padding: 4.5rem 0;
}

.section--alt {
	background: var(--color-bg-alt);
}

.section__header {
	text-align: center;
	margin-bottom: 2.5rem;
}

.section__eyebrow {
	display: inline-flex;
	align-items: center;
	position: relative;
	z-index: 1;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #3d4f4f;
	background: var(--color-accent-soft);
	border: var(--soft-border);
	padding: 0.35rem 0.85rem;
	margin-top: 0;
	margin-bottom: 1rem;
	border-radius: var(--radius-pill);
}

.section__title {
	font-size: clamp(1.75rem, 4vw, 2.5rem);
}

.section__subtitle {
	color: #4a4a4a;
	max-width: 600px;
	margin: 0.5rem auto 0;
	font-size: 1.05rem;
}

.grid {
	display: grid;
	gap: 1.5rem;
}

.grid--2 {
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.grid--3 {
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.grid--4 {
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

/* ==========================================================================
   Buttons
   ========================================================================== */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.8rem 1.4rem;
	font-family: var(--font-sans);
	font-size: 0.92rem;
	font-weight: 600;
	border-radius: var(--radius-sm);
	border: 3px solid var(--color-text);
	cursor: pointer;
	transition: transform var(--transition), box-shadow var(--transition), background var(--transition);
	text-decoration: none;
	white-space: nowrap;
	box-shadow: var(--shadow-sm);
	text-transform: lowercase;
}

.btn:hover {
	transform: translate(-2px, -2px);
	box-shadow: var(--shadow-md);
}

.btn--primary {
	background: var(--color-accent);
	color: #fff;
}

.btn--primary:hover {
	background: var(--color-accent-light);
	color: #fff;
}

.btn--secondary {
	background: rgba(255, 255, 255, 0.08);
	color: var(--color-hero-text);
	border-color: rgba(255, 255, 255, 0.35);
}

.btn--secondary:hover {
	background: rgba(255, 255, 255, 0.12);
	color: var(--color-hero-text);
	border-color: var(--color-hero-text);
}

.btn--outline {
	background: var(--color-surface);
	color: var(--color-text);
	border-color: var(--color-border);
}

.btn--outline:hover {
	background: var(--color-accent-soft);
	color: var(--color-text);
}

.btn--discord {
	background: #5865f2;
	color: #fff;
	border-color: #3c45a5;
}

.btn--discord:hover {
	background: #4752c4;
	color: #fff;
}

.btn-group {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

/* ==========================================================================
   Cards
   ========================================================================== */
.card {
	background: var(--color-surface);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	border: var(--soft-border);
	transition: transform var(--transition), box-shadow var(--transition);
}

.card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-md);
}

.card__image {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--color-bg-alt);
}

.card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.card:hover .card__image img {
	transform: scale(1.05);
}

.card__body {
	padding: 1.25rem;
}

.card__meta {
	font-size: 0.8rem;
	color: var(--color-text-muted);
	margin-bottom: 0.5rem;
}

.card__title {
	font-size: 1.1rem;
	margin-bottom: 0.5rem;
}

.card__title a {
	color: var(--color-text);
}

.card__title a:hover {
	color: var(--color-cute);
}

.card__excerpt {
	font-size: 0.9rem;
	color: var(--color-text-muted);
	margin: 0;
}

/* ==========================================================================
   Header
   ========================================================================== */
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	height: var(--header-height);
	min-height: var(--header-height);
	background: #1a1a1a;
	background-color: #1a1a1a;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border-bottom: var(--soft-border);
	transition: none;
	isolation: isolate;
}

html[data-theme="light"] .site-header {
	background: #fafafa;
	background-color: #fafafa;
}

html[data-theme="dark"] .site-header {
	background: #1a1a1a;
	background-color: #1a1a1a;
}

.site-header.is-scrolled {
	box-shadow: var(--shadow-md);
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: var(--header-height);
	gap: 1rem;
	min-width: 0;
	width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.site-branding {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-shrink: 0;
}

.site-branding__link {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	color: var(--color-text);
	text-decoration: none;
}

.site-branding__logo {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.site-logo__image {
	display: block;
	width: 48px;
	height: 48px;
	object-fit: contain;
	border-radius: var(--radius-md);
	border: var(--soft-border);
	box-shadow: var(--shadow-sm);
	background: var(--color-surface);
}

.site-logo__image--placeholder {
	padding: 2px;
}

.site-branding__tagline {
	font-size: 0.72rem;
	font-weight: 600;
	color: #4a4a4a;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	word-wrap: normal !important;
}

.site-tagline {
	font-size: 0.7rem;
	color: var(--color-text-muted);
	letter-spacing: 0.05em;
}

/* Navigation — fixed flex shrink so logo+menu do not jump on reveal */
.header-center-group {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	margin: 0;
	padding: 0;
	flex: 1 1 auto;
}

.site-header__nav {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin: 0;
	padding: 0;
	min-width: 0;
	flex-shrink: 0;
}

.header-actions {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	flex-shrink: 0;
}

@media (max-width: 1024px) {
	.site-header__inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.header-actions {
		margin-left: 0;
	}
}

@media (min-width: 1025px) {
	.site-header__inner {
		display: grid !important;
		grid-template-columns: 1fr auto 1fr;
		align-items: center;
		justify-content: stretch;
		width: 100%;
		max-width: var(--container);
		margin-left: auto;
		margin-right: auto;
		gap: 0;
	}

	.site-branding {
		margin-right: 40px;
	}

	.header-center-group {
		display: flex;
		align-items: center;
		grid-column: 2;
		justify-self: center;
		flex: 0 1 auto;
		min-width: 0;
	}

	.header-actions {
		grid-column: 3;
		justify-self: end;
		margin-left: 0 !important;
		display: flex;
		align-items: center;
		gap: 15px;
		flex-shrink: 0;
	}

	.menu-toggle {
		display: none;
	}
}

.nav-menu {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.nav-menu a {
	display: block;
	padding: 0.5rem 0.85rem;
	font-size: 0.88rem;
	font-weight: 500;
	color: var(--color-text);
	border-radius: var(--radius-md);
	transition: all var(--transition);
}

.nav-menu a:hover,
.nav-menu .current-menu-item > a,
.nav-menu .current_page_item > a {
	color: var(--color-text);
	background: var(--color-accent-soft);
}

.nav-menu .menu-item-has-children {
	position: relative;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.15rem;
}

.nav-menu .sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 12rem;
	margin: 0.35rem 0 0;
	padding: 0.5rem;
	list-style: none;
	background: var(--color-surface);
	border: var(--soft-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-md);
	z-index: 100;
}

.nav-menu .menu-item-has-children.is-open > .sub-menu,
.nav-menu .menu-item-has-children:hover > .sub-menu,
.nav-menu .menu-item-has-children:focus-within > .sub-menu {
	display: block;
}

@media (min-width: 1025px) {
	.nav-menu .menu-item-has-children:hover > .sub-menu,
	.nav-menu .menu-item-has-children:focus-within > .sub-menu {
		display: block;
	}
}

@media (max-width: 1024px) {
	.nav-menu .menu-item-has-children:hover > .sub-menu,
	.nav-menu .menu-item-has-children:focus-within > .sub-menu {
		display: none;
	}

	.nav-menu .menu-item-has-children.is-open > .sub-menu {
		display: block;
	}

	.nav-menu .menu-item-has-children > a,
	.nav-dropdown__toggle {
		min-height: 44px;
		min-width: 44px;
	}
}

.nav-menu .sub-menu a {
	white-space: nowrap;
}

.nav-dropdown__toggle {
	appearance: none;
	border: none;
	background: transparent;
	color: var(--color-text-muted);
	padding: 0.35rem 0.5rem;
	border-radius: var(--radius-sm);
	cursor: pointer;
	line-height: 1;
}

.nav-dropdown__toggle:hover,
.nav-dropdown__toggle:focus-visible {
	color: var(--color-text);
	background: var(--color-accent-soft);
}

.nav-dropdown__caret {
	display: inline-block;
	width: 0.45rem;
	height: 0.45rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-1px);
	margin-left: 0.15rem;
}

.stream-live-cta {
	margin-top: 2rem;
	padding: 1.5rem;
	background: var(--color-surface);
	border: var(--soft-border);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-sm);
	text-align: center;
}

.stream-live-cta__text {
	font-size: 1.05rem;
	margin-bottom: 1rem;
}

.stream-channels-cta {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
	max-width: 36rem;
	margin: 0 auto;
}

.stream-channels-cta__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-height: 5.5rem;
	padding: 0.85rem 0.5rem;
	border: var(--soft-border);
	border-radius: var(--radius-md);
	background: var(--color-bg);
	color: var(--color-text);
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

a.stream-channels-cta__item:hover,
a.stream-channels-cta__item:focus-visible {
	transform: translate(-2px, -2px);
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.2);
	color: var(--color-text);
}

.stream-channels-cta__item--soon {
	color: var(--color-text-muted);
	cursor: default;
}

.stream-channels-cta__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
}

.stream-channels-cta__label {
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.stream-channels-cta__soon {
	font-size: 0.65rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	opacity: 0.75;
}

.stream-live-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
	align-items: center;
}

.stream-live-cta__discord {
	font-size: 0.9rem;
	color: var(--color-text-muted);
}

.stream-live-cta__discord small {
	display: block;
	font-size: 0.75rem;
}

.overwatch-profile {
	margin-bottom: 2rem;
	padding: 1.25rem 1.5rem;
	background: var(--color-surface);
	border: var(--soft-border);
	border-radius: var(--radius-xl);
}

.overwatch-profile__hero,
.overwatch-profile__rank {
	margin: 0 0 0.5rem;
}

.coming-soon-page {
	text-align: center;
	padding: 2rem 0 3rem;
}

.coming-soon__badge--large {
	font-size: 0.85rem;
	padding: 0.45rem 1rem;
}

.community-cta--soon {
	text-align: center;
	margin: 2rem 0;
	padding: 1.5rem;
	background: var(--color-surface);
	border: var(--soft-border);
	border-radius: var(--radius-xl);
}

.newsletter-block {
	margin-top: 2rem;
	text-align: center;
}

.newsletter-block--brutal {
	margin-top: 0;
	text-align: left;
}

.newsletter-block__inner {
	min-height: 11rem;
	padding: 2rem 1.75rem;
	background: var(--color-surface);
	border: 2px solid var(--color-border-soft);
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-sm);
}

.newsletter-block__title {
	font-family: var(--font-display);
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
	font-weight: 700;
	margin: 0 0 0.65rem;
	color: var(--color-text);
}

.newsletter-block__desc {
	margin: 0 0 1.25rem;
	color: var(--color-text-muted);
	max-width: 36rem;
	line-height: 1.6;
}

.newsletter-block__form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: stretch;
	max-width: 32rem;
}

.community-newsletter--home {
	max-width: 36rem;
	margin: 2rem auto 0;
	padding-top: 0;
	border-top: none;
}

.newsletter-block--home .newsletter-block__inner {
	text-align: center;
}

.newsletter-block--home .newsletter-block__desc {
	margin-left: auto;
	margin-right: auto;
}

.newsletter-block--home .newsletter-block__form {
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
	align-items: center;
}

.newsletter-block__desc--soon {
	font-style: italic;
}

.newsletter-block__input {
	flex: 1 1 14rem;
	min-width: 0;
	min-height: 3rem;
	padding: 0.85rem 1rem;
	font-family: var(--font-sans);
	font-size: 1rem;
	color: var(--color-text);
	background: var(--color-input-bg);
	border: 2px solid var(--color-border-soft);
	border-radius: var(--radius-sm);
	box-sizing: border-box;
}

.newsletter-block__input:focus {
	outline: 2px solid var(--color-accent);
	outline-offset: 2px;
	border-color: var(--color-accent);
}

.newsletter-block__btn {
	flex-shrink: 0;
	min-height: 3rem;
	align-self: stretch;
}

@media (max-width: 540px) {
	.newsletter-block__form {
		flex-direction: column;
		align-items: stretch;
		max-width: 100%;
	}

	.newsletter-block__input,
	.newsletter-block__btn {
		width: 100%;
		flex: 1 1 auto;
	}
}

.section--newsletter-home {
	padding-top: 2rem;
	padding-bottom: 4rem;
}

#dvoimeni-newsletter-form,
#dvoimeni-newsletter-form-footer,
#footer-newsletter,
#home-newsletter,
#community-newsletter,
#stream-newsletter {
	scroll-margin-top: calc(var(--safe-zone-mobile) + 1rem);
}

@media (min-width: 1025px) {
	#dvoimeni-newsletter-form,
	#dvoimeni-newsletter-form-footer,
	#footer-newsletter,
	#home-newsletter,
	#community-newsletter,
	#stream-newsletter {
		scroll-margin-top: calc(var(--safe-zone-desktop) + 1rem);
	}
}

.newsletter-block__body {
	min-height: 3.25rem;
}

.newsletter-block__body--footer {
	min-height: 2.25rem;
}

.newsletter-status-message {
	display: none;
	margin: 0;
	padding: 0.85rem 1rem;
	font-size: 0.95rem;
	line-height: 1.5;
	border: 2px solid var(--color-border-soft);
	border-radius: var(--radius-sm);
	background: var(--color-surface);
	transition: opacity 0.2s ease;
}

.newsletter-status-message.is-visible {
	display: block;
}

.newsletter-status-message--success {
	color: var(--color-accent);
	border-color: var(--color-accent);
	background: var(--color-accent-soft);
}

.newsletter-status-message--error {
	color: #9b3b3b;
	border-color: rgba(155, 59, 59, 0.45);
	background: rgba(155, 59, 59, 0.08);
}

[data-theme="dark"] .newsletter-status-message--success {
	color: var(--color-cute);
	border-color: rgba(77, 208, 199, 0.45);
	background: rgba(32, 178, 170, 0.12);
}

[data-theme="dark"] .newsletter-status-message--error {
	color: #f0a0a0;
	border-color: rgba(240, 160, 160, 0.35);
	background: rgba(155, 59, 59, 0.18);
}

.newsletter-block__btn.is-loading,
.footer-newsletter__btn.is-loading {
	opacity: 0.75;
	cursor: wait;
}

.newsletter-block--community {
	margin-top: 2.5rem;
}

.newsletter-block--stream {
	margin-top: 2rem;
}

[data-theme="dark"] .newsletter-block__inner {
	background: var(--color-surface);
	border-color: var(--color-border-soft);
}

[data-theme="dark"] .newsletter-block__input,
[data-theme="dark"] .footer-newsletter__input {
	background: var(--color-input-bg);
	color: var(--color-text);
	border-color: var(--color-border-soft);
}

[data-theme="dark"] .newsletter-block__input::placeholder,
[data-theme="dark"] .footer-newsletter__input::placeholder {
	color: var(--color-text-muted);
	opacity: 1;
}

/* Language Switcher */
/* Theme Toggle */
.theme-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.35rem 0.6rem;
	background: var(--color-surface);
	border: 1px solid var(--color-border-soft);
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-sm);
	cursor: pointer;
	font-family: var(--font-sans);
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-text);
	transition: box-shadow var(--transition), background-color var(--transition), border-color var(--transition);
	flex-shrink: 0;
	box-sizing: border-box;
	margin: 0;
	min-width: 44px;
	min-height: 44px;
}

.theme-toggle:hover {
	box-shadow: var(--shadow-md);
}

.theme-toggle__track {
	position: relative;
	width: 44px;
	height: 22px;
	background: var(--color-bg-alt);
	border: 2px solid var(--color-border);
	border-radius: var(--radius-pill);
	flex-shrink: 0;
}

.theme-toggle__thumb {
	position: absolute;
	top: 2px;
	left: 2px;
	width: 14px;
	height: 14px;
	background: var(--color-accent);
	border: 2px solid var(--color-accent);
	border-radius: 50%;
	transition: transform var(--transition), background var(--transition);
}

.theme-toggle.is-dark .theme-toggle__thumb {
	transform: translateX(22px);
	background: var(--color-accent-light);
}

.theme-toggle__label--dark {
	display: none;
}

.theme-toggle.is-dark .theme-toggle__label--light {
	display: none;
}

.theme-toggle.is-dark .theme-toggle__label--dark {
	display: inline;
}

.lang-switcher {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	font-size: 0.8rem;
	font-weight: 700;
	background: var(--color-surface);
	border-radius: var(--radius-sm);
	padding: 0.2rem;
	border: 1px solid var(--color-border-soft);
	box-sizing: border-box;
	margin: 0;
	flex-shrink: 0;
	box-shadow: var(--shadow-sm);
}

.lang-switcher a,
.lang-switcher span {
	padding: 0.35rem 0.6rem;
	border-radius: 0.35rem;
	color: var(--color-text-muted);
	text-decoration: none;
	transition: all var(--transition);
}

.lang-switcher a:hover {
	color: var(--color-primary);
}

.lang-switcher .is-active {
	background: var(--color-accent);
	color: #fff;
	border: 2px solid var(--color-accent);
}

.lang-switcher__sep {
	color: var(--color-border);
	padding: 0;
}

/* Mobile menu toggle */
.menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	padding: 8px;
	background: var(--color-surface);
	border: 1px solid var(--color-border-soft);
	box-shadow: var(--shadow-sm);
	cursor: pointer;
	border-radius: var(--radius-sm);
	box-sizing: border-box;
	margin: 0;
	flex-shrink: 0;
}

.menu-toggle span {
	display: block;
	width: 100%;
	height: 2px;
	background: var(--color-text);
	border-radius: 2px;
	transition: all var(--transition);
}

.menu-toggle.is-active span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.menu-toggle.is-active span:nth-child(2) {
	opacity: 0;
}

.menu-toggle.is-active span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

/* ==========================================================================
   Hero Section
   ========================================================================== */
.hero {
	position: relative;
	min-height: 100vh;
	display: flex;
	align-items: center;
	padding-top: var(--header-height);
	overflow: hidden;
}

.hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.hero__bg-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero__overlay {
	position: absolute;
	inset: 0;
	background: rgba(26, 26, 26, 0.82);
}

[data-theme="dark"] .hero__overlay {
	background: rgba(18, 18, 18, 0.88);
}

.hero__pattern {
	position: absolute;
	inset: 0;
	opacity: 0.35;
	background:
		repeating-linear-gradient(
			90deg,
			transparent,
			transparent 11px,
			rgba(255, 255, 255, 0.03) 11px,
			rgba(255, 255, 255, 0.03) 12px
		);
}

.hero__content {
	position: relative;
	z-index: 1;
	padding: 4rem 0;
	max-width: 720px;
	contain: layout style;
	min-height: clamp(18rem, 48vh, 22rem);
}

.hero__status {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0 0 1.35rem;
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
	font-family: var(--font-sans);
	font-size: 0.85rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	color: var(--color-hero-muted);
	text-transform: lowercase;
}

.hero__status-dot {
	width: 8px;
	height: 8px;
	flex-shrink: 0;
	background: var(--color-cute);
	border: 0;
	border-radius: 50%;
	box-shadow: none;
	animation: pulse 2s ease-in-out infinite;
}

.hero__status-label {
	color: var(--color-hero-text);
	font-weight: 600;
	letter-spacing: 0.06em;
}

@media (prefers-reduced-motion: reduce) {
	.hero__status-dot {
		animation: none;
	}
}

@keyframes pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50% { opacity: 0.45; transform: scale(0.85); }
}

.hero__title {
	font-family: var(--font-display);
	font-size: clamp(2.25rem, 6vw, 3.75rem);
	font-weight: 700;
	color: var(--color-hero-text);
	margin-bottom: 0.65rem;
	line-height: 1.08;
	letter-spacing: -0.02em;
	font-synthesis: none;
	min-height: calc(2 * 1.08em);
	text-transform: lowercase;
}

.hero__title-rotator {
	position: relative;
	display: block;
	width: 100%;
	height: 2.5em;
	min-height: 2.5em;
	max-height: 2.5em;
	contain: layout style;
	overflow: hidden;
}

.hero__title-phrase {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	color: var(--color-hero-text);
	-webkit-text-fill-color: var(--color-hero-text);
	font-weight: 700;
	transition: opacity 0.42s ease, transform 0.42s ease;
}

.hero__title-phrase.is-exiting {
	opacity: 0;
	transform: translateY(-10px);
}

.hero__title-phrase.is-entering {
	opacity: 0;
	transform: translateY(10px);
}

.hero__title-phrase--brand {
	color: var(--color-cute);
	-webkit-text-fill-color: var(--color-cute);
}

.hero__cta {
	font-family: var(--font-display);
	font-size: clamp(1.15rem, 2.8vw, 1.55rem);
	font-weight: 500;
	color: var(--color-hero-muted);
	margin-bottom: 2rem;
	letter-spacing: 0.01em;
	font-synthesis: none;
	min-height: 1.35em;
	text-transform: lowercase;
}

.hero__btns .btn {
	text-transform: lowercase;
}

.hero__subtitle {
	font-size: clamp(1rem, 2.5vw, 1.2rem);
	color: var(--color-hero-muted);
	margin-bottom: 2rem;
	max-width: 560px;
}

.hero__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 2px solid rgba(247, 247, 247, 0.2);
}

.hero__stat-value {
	font-family: var(--font-display);
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--color-hero-text);
}

.hero__stat-label {
	font-size: 0.75rem;
	color: var(--color-hero-muted);
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

/* ==========================================================================
   About — Minimalist
   ========================================================================== */
.section--about {
	background: var(--color-surface);
	border-top: var(--soft-border);
	border-bottom: var(--soft-border);
}

.about-minimal {
	max-width: 640px;
	margin: 0 auto;
}

.about-minimal__photo {
	width: 88px;
	height: 88px;
	border-radius: var(--radius-pill);
	overflow: hidden;
	margin-bottom: 1.5rem;
	border: var(--soft-border);
	box-shadow: var(--shadow-sm);
}

.about-minimal__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-minimal__hero {
	margin-bottom: 1.75rem;
}

.about-minimal__headline {
	font-family: var(--font-display);
	font-size: clamp(2.5rem, 6vw, 3.5rem);
	font-weight: 700;
	line-height: 1.05;
	margin: 0 0 1rem;
	color: var(--color-text);
	letter-spacing: -0.03em;
}

.about-minimal__tagline {
	font-size: 1.05rem;
	line-height: 1.65;
	color: var(--color-text-muted);
	margin: 0;
}

.about-minimal__labels {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1.5rem;
	padding: 0;
	list-style: none;
}

.about-minimal__labels li {
	font-size: 0.82rem;
	color: var(--color-text-muted);
	padding: 0.35rem 0.75rem;
	border: var(--soft-border);
	border-radius: var(--radius-pill);
	background: var(--color-bg-alt);
	font-style: italic;
}

.about-minimal__bio {
	font-size: 1rem;
	line-height: 1.7;
	color: var(--color-text);
	margin: 0 0 1.5rem;
}

.ea-about-block {
	margin: 3rem 0;
	padding: 0 0 0 1rem;
	border-left: 2px solid #8a2be2;
	text-transform: lowercase;
}

.ea-about-block--above-social {
	margin-top: 4rem;
	margin-bottom: 3rem;
}

.ea-about-block__headline {
	margin: 0 0 0.85rem;
	font-family: var(--font-display);
	font-size: 0.85rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.06em;
	color: var(--color-accent);
	text-transform: lowercase;
}

.ea-about-block__text {
	margin: 0 0 1.15rem;
	font-size: 1rem;
	line-height: 1.6;
	color: var(--color-text-muted);
}

.ea-about-block__link {
	display: inline-block;
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--color-accent);
	text-decoration: underline;
	text-underline-offset: 0.2em;
	border-bottom: none;
	transition: color 0.3s ease, opacity 0.3s ease;
}

.ea-about-block__link:hover,
.ea-about-block__link:focus-visible {
	color: var(--color-accent-light);
	opacity: 0.92;
	outline: none;
}

.ea-about-block__heart {
	color: #8a2be2 !important;
	-webkit-text-fill-color: #8a2be2;
	font-weight: 600;
}

.about-minimal__sep {
	border: none;
	border-top: 1px solid var(--color-border-soft);
	margin: 2rem 0;
}

.about-minimal__block {
	margin-bottom: 0.5rem;
}

.about-minimal__heading {
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--color-accent);
	margin: 0 0 0.85rem;
}

.about-minimal__list {
	margin: 0;
	padding: 0 0 0 1.1rem;
	color: var(--color-text);
	line-height: 1.8;
}

.about-minimal__list li {
	margin-bottom: 0.15rem;
}

.about-minimal__muted {
	font-size: 0.95rem;
	color: var(--color-text-muted);
	margin: 0 0 0.75rem;
	font-style: italic;
}

.about-minimal__link {
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--color-accent);
	text-decoration: none;
	transition: color var(--transition);
}

.about-minimal__link:hover {
	color: var(--color-accent-light);
}

.about-minimal__status {
	margin: 0;
}

.about-minimal__status-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.35rem 1rem;
	padding: 0.65rem 0;
	border-bottom: 1px solid var(--color-border-soft);
}

.about-minimal__status-row:last-child {
	border-bottom: none;
}

.about-minimal__status dt {
	font-size: 0.88rem;
	color: var(--color-text-muted);
	margin: 0;
}

.about-minimal__status dd {
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--color-text);
	margin: 0;
	text-align: right;
}

.about-minimal__links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.about-minimal__block--links .about-minimal__heading--links {
	text-transform: lowercase;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--color-accent);
}

.about-minimal__links--cards {
	gap: 0.75rem;
}

.about-social-links {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.about-social-links li {
	list-style: none;
	margin: 0;
}

.about-minimal__links--cards a {
	display: block;
	padding: 1rem;
	color: var(--color-text);
	font-weight: 600;
	text-transform: lowercase;
	text-decoration: none;
	background: var(--color-input-bg);
	border: 2px solid var(--color-text);
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.1);
	transition: color var(--transition), border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.about-minimal__links--cards a:hover,
.about-minimal__links--cards a:focus-visible {
	color: var(--color-accent);
	border-color: var(--color-accent);
	box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.22);
	transform: translate(-1px, -1px);
	outline: none;
}

[data-theme="dark"] .about-minimal__links--cards a {
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.28);
}

@media (max-width: 1024px) {
	.about-minimal__links--cards {
		gap: 1rem;
		width: 100%;
		justify-content: center;
	}

	.about-social-links {
		display: flex;
		flex-wrap: wrap;
		gap: 1rem;
		justify-content: center;
		width: 100%;
	}

	.about-social-links li {
		flex: 1 1 calc(50% - 0.5rem);
		max-width: 100%;
	}

	.about-minimal__links--cards a {
		min-height: 48px;
		padding: 1rem 1.15rem;
		font-size: 1rem;
		line-height: 1.4;
		text-align: center;
		width: 100%;
		box-sizing: border-box;
	}
}

@media (max-width: 480px) {
	.about-social-links li {
		flex: 1 1 100%;
	}
}

.about-minimal__links a {
	color: var(--color-text);
	font-weight: 500;
	text-decoration: none;
	transition: color var(--transition);
}

.about-minimal__links a:hover {
	color: var(--color-accent);
}

.about-minimal__soon {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--color-text-muted);
	font-weight: 500;
}

.about-minimal__soon small {
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--color-accent);
}

.about-minimal__more {
	margin-top: 1.5rem;
}

.about-minimal__list--interactive {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.about-minimal__fun-list {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.about-minimal__fun-list .about-minimal__chip {
	display: inline-block;
	font-size: 0.82rem;
	font-weight: 500;
}

.about-minimal__chip {
	padding: 0.55rem 0.85rem;
	border: var(--soft-border);
	border-radius: var(--radius-sm);
	background: var(--color-bg-alt);
	transition: transform 0.22s ease, border-color 0.22s ease, background 0.22s ease, box-shadow 0.22s ease;
}

.about-minimal__chip:hover {
	transform: translateX(5px);
	border-color: var(--color-accent);
	background: var(--color-surface);
	box-shadow: var(--shadow-sm);
}

.about-minimal__block--archive {
	padding: 1.35rem 1.4rem;
	border: 1px dashed var(--color-border-soft);
	border-radius: var(--radius-md);
	background-color: var(--color-bg-alt);
	background-image: repeating-linear-gradient(
		-12deg,
		transparent,
		transparent 6px,
		rgba(128, 128, 128, 0.05) 6px,
		rgba(128, 128, 128, 0.05) 12px
	);
}

.about-minimal__heading--archive {
	font-family: Georgia, 'Times New Roman', serif;
	font-style: italic;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0.02em;
	font-size: 1rem;
	color: var(--color-text-muted);
}

.about-minimal__archive-text {
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 0.98rem;
	color: var(--color-text-muted);
	margin: 0 0 0.85rem;
	font-style: italic;
	line-height: 1.65;
}

.about-minimal__link--archive {
	font-family: var(--font-display);
}

.about-minimal__status--interactive .about-minimal__status-row {
	border-radius: var(--radius-sm);
	padding-inline: 0.5rem;
	margin-inline: -0.5rem;
	transition: background 0.22s ease, transform 0.22s ease;
}

.about-minimal__status--interactive .about-minimal__status-row:hover {
	background: var(--color-bg-alt);
	transform: translateX(3px);
}

.about-minimal__rank--dynamic {
	position: relative;
	font-style: italic;
	color: var(--color-text-muted);
}

.about-minimal__rank--dynamic::after {
	content: '~';
	margin-left: 0.15em;
	opacity: 0.5;
	animation: about-rank-pulse 2.8s ease-in-out infinite;
}

@keyframes about-rank-pulse {
	0%, 100% { opacity: 0.35; }
	50% { opacity: 1; }
}

.about-minimal__outro {
	margin-top: 2.25rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--color-border-soft);
	text-align: center;
}

.about-minimal__outro-tagline {
	font-family: var(--font-display);
	font-size: clamp(1.1rem, 2.5vw, 1.35rem);
	font-weight: 700;
	color: var(--color-accent);
	margin: 0 0 0.65rem;
}

.about-minimal__outro-link {
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--color-text-muted);
	text-decoration: none;
	transition: color 0.2s ease;
}

.about-minimal__outro-link:hover {
	color: var(--color-accent);
}

@media (prefers-reduced-motion: reduce) {
	.about-minimal__chip,
	.about-minimal__status--interactive .about-minimal__status-row {
		transition: none;
	}

	.about-minimal__chip:hover,
	.about-minimal__status--interactive .about-minimal__status-row:hover {
		transform: none;
	}

	.about-minimal__links--cards a:hover,
	.about-minimal__links--cards a:focus-visible {
		transform: none;
	}

	.ea-about-block__link {
		transition: none;
	}

	.about-minimal__rank--dynamic::after {
		animation: none;
	}
}

/* ==========================================================================
   Icons — unified SVG system
   ========================================================================== */
.icon-svg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 0;
}

.icon-svg__graphic,
.icon-svg svg {
	width: 1.25rem;
	height: 1.25rem;
	display: block;
}

.footer-social .icon-svg__graphic,
.footer-social .icon-svg svg,
.footer-support__icon .icon-svg__graphic,
.footer-support__icon .icon-svg svg,
.podcast-platform .icon-svg__graphic,
.podcast-platform .icon-svg svg,
.social-card__icon .icon-svg__graphic,
.social-card__icon .icon-svg svg {
	width: 1.15rem;
	height: 1.15rem;
}

/* ==========================================================================
   Content Grid / Latest
   ========================================================================== */
.content-tabs {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	margin-bottom: 2rem;
	flex-wrap: wrap;
}

.content-tab {
	padding: 0.5rem 1.15rem;
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--color-text-muted);
	background: var(--color-surface);
	border: var(--soft-border);
	border-radius: var(--radius-sm);
	cursor: pointer;
	transition: all var(--transition);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	box-shadow: var(--shadow-sm);
}

.content-tab.is-active,
.content-tab:hover {
	background: var(--color-accent);
	color: var(--color-text);
	border-color: var(--color-border);
	transform: translate(-2px, -2px);
	box-shadow: var(--shadow-md);
}

/* ==========================================================================
   Twitch Section
   ========================================================================== */
.twitch-section {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 2rem;
	align-items: start;
}

.twitch-embed {
	border-radius: var(--radius-sm);
	overflow: hidden;
	background: var(--color-dark);
	border: var(--soft-border);
	aspect-ratio: 16 / 9;
	box-shadow: var(--shadow-lg);
}

.twitch-embed iframe {
	width: 100%;
	height: 100%;
	border: none;
}

.twitch-info {
	padding: 1.5rem;
	background: var(--color-surface);
	border-radius: var(--radius-sm);
	border: var(--soft-border);
	box-shadow: var(--shadow-sm);
}

.twitch-info__status {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.35rem 0.75rem;
	background: rgba(34, 197, 94, 0.1);
	color: #16a34a;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 600;
	margin-bottom: 1rem;
}

.twitch-info__status--offline {
	background: rgba(100, 116, 139, 0.1);
	color: var(--color-text-muted);
}

/* ==========================================================================
   Podcast Section
   ========================================================================== */
.podcast-card {
	display: flex;
	gap: 1.25rem;
	padding: 1.25rem;
	background: var(--color-surface);
	border-radius: var(--radius-sm);
	border: var(--soft-border);
	box-shadow: var(--shadow-sm);
	transition: all var(--transition);
}

.podcast-card:hover {
	transform: translate(-2px, -2px);
	box-shadow: var(--shadow-md);
}

.podcast-card__art {
	width: 80px;
	height: 80px;
	border-radius: var(--radius-pill);
	background: var(--color-accent);
	border: var(--soft-border);
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-text);
	font-size: 1.5rem;
	box-shadow: var(--shadow-sm);
}

.podcast-card__platforms {
	display: flex;
	gap: 0.5rem;
	margin-top: 0.75rem;
	flex-wrap: wrap;
}

.podcast-platform {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.35rem 0.75rem;
	font-size: 0.8rem;
	font-weight: 600;
	background: var(--color-bg-alt);
	border-radius: var(--radius-sm);
	color: var(--color-text);
	transition: all var(--transition);
}

.podcast-platform:hover {
	background: var(--color-accent);
	color: var(--color-text);
	border: 2px solid var(--color-border);
}

/* ==========================================================================
   Community / Social
   ========================================================================== */
.social-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 1rem;
}

.social-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
	padding: 1.35rem 1rem;
	background: var(--color-surface);
	border-radius: var(--radius-sm);
	border: var(--soft-border);
	box-shadow: var(--shadow-sm);
	text-align: center;
	transition: all var(--transition);
	color: var(--color-text);
}

.social-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-md);
	color: var(--color-text);
	background: var(--color-accent-soft);
}

.social-card__icon {
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-pill);
	border: 2px solid var(--color-border-soft);
	background: var(--color-bg-alt);
	color: var(--color-text);
	font-size: 1.5rem;
	box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.08);
}

.social-card__name {
	font-size: 0.9rem;
	font-weight: 600;
}

.community-cta {
	text-align: center;
	margin-top: 2.5rem;
	padding: 2.5rem;
	background: var(--color-dark-soft);
	border: var(--soft-border);
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-lg);
	color: var(--color-hero-text);
}

.community-cta h3 {
	color: var(--color-hero-text);
	margin-bottom: 0.75rem;
}

.community-cta p {
	color: var(--color-hero-muted);
	margin-bottom: 1.5rem;
}

/* ==========================================================================
   Newsletter
   ========================================================================== */
.newsletter {
	background: var(--color-dark-soft);
	border: var(--soft-border);
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-lg);
	padding: 3rem 2rem;
	text-align: center;
	color: var(--color-hero-text);
	position: relative;
	overflow: hidden;
}

.newsletter::before {
	content: '';
	position: absolute;
	top: -30%;
	right: -15%;
	width: 280px;
	height: 280px;
	background: var(--color-accent);
	border: var(--soft-border);
	border-radius: var(--radius-pill);
	opacity: 0.25;
}

.newsletter h2 {
	color: var(--color-hero-text);
}

.newsletter p {
	color: var(--color-hero-muted);
	max-width: 500px;
	margin: 0 auto 1.5rem;
}

.newsletter__form {
	display: flex;
	gap: 0.75rem;
	max-width: 480px;
	margin: 0 auto;
	flex-wrap: wrap;
	justify-content: center;
}

.newsletter__input {
	flex: 1;
	min-width: 220px;
	padding: 0.85rem 1.25rem;
	border: var(--soft-border);
	border-radius: var(--radius-sm);
	font-size: 1rem;
	outline: none;
	background: var(--color-input-bg);
	color: var(--color-text);
	box-shadow: var(--shadow-sm);
}

.newsletter__input:focus {
	box-shadow: var(--shadow-md);
	outline: 2px solid var(--color-cute);
	outline-offset: 2px;
}

/* ==========================================================================
   Partners
   ========================================================================== */
.partners {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 2rem;
	opacity: 0.7;
}

.partner-logo {
	padding: 1rem 1.5rem;
	background: var(--color-surface);
	border-radius: var(--radius-sm);
	border: var(--soft-border);
	box-shadow: var(--shadow-sm);
	font-weight: 700;
	font-size: 0.85rem;
	color: var(--color-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	transition: transform var(--transition), box-shadow var(--transition);
}

.partner-logo:hover {
	transform: translate(-2px, -2px);
	box-shadow: var(--shadow-md);
}

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer {
	background: var(--color-footer-bg);
	color: var(--color-footer-text);
	padding: 3.5rem 0 1.5rem;
	border-top: var(--soft-border);
}

.footer-grid,
.footer-top {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	align-items: start;
	margin-bottom: 0;
	padding-bottom: 2rem;
	border-bottom: 1px solid rgba(247, 247, 247, 0.12);
}

.footer-col {
	min-width: 0;
}

@media (min-width: 768px) {
	.footer-grid,
	.footer-top {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1025px) {
	.footer-grid,
	.footer-top {
		grid-template-columns: repeat(4, 1fr);
		gap: 2rem;
	}
}

.footer-brand .site-title,
.footer-col--brand .site-title {
	color: var(--color-hero-text);
	margin-bottom: 0.5rem;
}

.footer-brand__tagline,
.footer-col--brand .footer-brand__tagline,
.footer-brand p {
	font-size: 0.9rem;
	line-height: 1.6;
	margin: 0;
}

.footer-brand .footer-journal-link,
.footer-col--brand .footer-journal-link {
	margin-top: 0.5rem;
}

.footer-journal-link {
	margin: 0.65rem 0 0;
}

.footer-journal-link a {
	font-size: 0.72rem;
	line-height: 1.45;
	color: rgba(248, 248, 248, 0.3);
	text-decoration: none;
	transition: color var(--transition);
}

.footer-journal-link a:hover {
	color: rgba(248, 248, 248, 0.52);
}

.footer-heading {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: lowercase;
	font-variant: all-small-caps;
	letter-spacing: 0.12em;
	color: var(--color-hero-text);
	margin-bottom: 1rem;
}

.footer-heading--info {
	letter-spacing: 0.14em;
}

.footer-menu,
.footer-menu--info {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-menu a,
.footer-menu--info a {
	display: block;
	padding: 0.35rem 0;
	font-size: 0.9rem;
	color: var(--color-footer-text);
	text-decoration: none;
	transition: color var(--transition);
}

.footer-menu--info a {
	text-transform: lowercase;
}

.footer-menu a:hover,
.footer-menu--info a:hover {
	color: var(--color-cute);
	background: transparent !important;
	box-shadow: none !important;
	outline: none !important;
}

.site-footer .current-menu-item > a,
.site-footer .current_page_item > a,
.site-footer .current-menu-item > a:hover,
.site-footer .current_page_item > a:hover,
.site-footer .current-menu-item > a:focus-visible,
.site-footer .current_page_item > a:focus-visible,
.site-footer a.active,
.site-footer a.active:hover {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	outline: none !important;
	border: none !important;
	color: var(--color-accent) !important;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.2em;
	text-decoration-color: var(--color-accent);
}

.footer-social {
	display: grid;
	grid-template-columns: repeat(4, 40px);
	gap: 0.65rem;
	justify-content: start;
}

.footer-col--social .footer-social {
	max-width: 100%;
}

.footer-social a {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color-dark-soft);
	border: 2px solid var(--color-border-soft);
	border-radius: var(--radius-pill);
	color: var(--color-hero-text);
	font-size: 1.1rem;
	transition: all var(--transition);
	box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.3);
}

.footer-social a:hover {
	background: var(--color-accent);
	color: var(--color-text);
	transform: translate(-2px, -2px);
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.35);
}

.footer-bottom {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 1rem;
	padding-top: 1.5rem;
	border-top: 2px solid rgba(247, 247, 247, 0.15);
	font-size: 0.85rem;
}

.footer-bottom__row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	width: 100%;
}

.footer-copyright {
	margin: 0;
	flex: 1 1 auto;
	min-width: 0;
}

.footer-back-top {
	flex: 0 0 auto;
	font-size: 0.85rem;
	text-transform: lowercase;
	color: var(--color-footer-text);
	text-decoration: none;
	transition: color var(--transition);
}

.footer-back-top:hover,
.footer-back-top:focus-visible {
	color: var(--color-cute);
	outline: none;
}

.footer-legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.35rem 0.5rem;
	flex: 0 0 auto;
}

.footer-legal__sep {
	opacity: 0.45;
}

.footer-newsletter {
	min-height: 2.25rem;
}

.footer-newsletter__form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	max-width: 28rem;
}

.footer-newsletter__prompt {
	color: var(--color-footer-text);
	white-space: nowrap;
}

.footer-newsletter__input {
	flex: 1 1 10rem;
	min-width: 8rem;
	max-width: 14rem;
	padding: 0.35rem 0.6rem;
	font-family: inherit;
	font-size: 0.85rem;
	color: var(--color-footer-text);
	background: transparent;
	border: 1px solid rgba(247, 247, 247, 0.25);
	border-radius: var(--radius-sm);
}

.footer-newsletter__input:focus {
	outline: none;
	border-color: var(--color-cute);
}

.footer-newsletter__btn {
	flex-shrink: 0;
	padding: 0.35rem 0.65rem;
	font-family: inherit;
	font-size: 0.85rem;
	color: var(--color-footer-text);
	background: transparent;
	border: 1px solid rgba(247, 247, 247, 0.25);
	border-radius: var(--radius-sm);
	cursor: pointer;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.footer-newsletter__btn:hover,
.footer-newsletter__btn:focus-visible {
	border-color: var(--color-cute);
	color: var(--color-cute);
}

[data-theme="dark"] .footer-newsletter__input,
[data-theme="dark"] .footer-newsletter__btn {
	background: transparent;
	border-color: rgba(247, 247, 247, 0.18);
}

[data-theme="dark"] .footer-newsletter__input::placeholder {
	color: rgba(247, 247, 247, 0.45);
}

.footer-bottom a {
	color: var(--color-footer-text);
}

.footer-bottom a:hover {
	color: var(--color-cute);
}

.footer-secondary {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.5rem;
	margin-bottom: 2rem;
	margin-top: 2rem;
	padding-top: 0.25rem;
	width: 100%;
	border-top: 1px solid rgba(247, 247, 247, 0.08);
}

.footer-secondary .footer-podcast,
.footer-secondary .footer-support {
	width: 100%;
	margin-bottom: 0;
}

/* ==========================================================================
   Blog / Index
   ========================================================================== */
/* Safe Zone — global buffer below sticky header (all templates) */
body:not(.home) #main-content,
.site-main,
.site-main--media,
.site-main--now,
.site-main--legal,
main.legal-document {
	position: relative;
	z-index: 1;
	padding-top: var(--safe-zone-mobile) !important;
	padding-bottom: 3rem;
	min-height: 60vh;
}

@media (min-width: 1025px) {
	body:not(.home) #main-content,
	.site-main,
	.site-main--media,
	.site-main--now,
	.site-main--legal,
	main.legal-document,
	body.legal-document-page .legal-document {
		padding-top: var(--safe-zone-desktop) !important;
	}
}

.page-header {
	position: relative;
	z-index: 1;
	margin: 0 0 2.5rem;
	padding-top: 0;
	text-align: center;
	scroll-margin-top: var(--header-offset);
}

.page-header .section__eyebrow,
.section__header .section__eyebrow,
.legal-document__eyebrow {
	display: inline-flex;
	margin-top: 0;
}

.single-post .page-header--minimal {
	padding-top: 0;
}

.single-post .page-header--minimal .card__meta {
	margin-top: 0;
	position: relative;
	z-index: 1;
}

.page-header__title--lowercase {
	font-family: var(--font-display);
	text-transform: lowercase;
}

.single-highlight__media {
	margin: 1.25rem 0 0;
}

.single-post__media {
	margin: 1.25rem 0 0;
}

.single-post__media--portrait,
.single-highlight__media--portrait {
	display: flex;
	justify-content: center;
}

.single-post__media--portrait .media-brutal-frame--portrait,
.single-highlight__media--portrait .media-brutal-frame--portrait {
	width: 100%;
	max-width: min(100%, 400px);
}

.single-post__media .media-brutal-frame,
.single-highlight__media .media-brutal-frame {
	transition: border-color var(--transition), box-shadow var(--transition);
}

@media (hover: hover) {
	.single-post__media .media-brutal-frame:hover,
	.single-highlight__media .media-brutal-frame:hover {
		border-color: var(--color-text);
		box-shadow: 8px 8px 0 rgba(0, 0, 0, 0.18);
	}

	[data-theme="dark"] .single-post__media .media-brutal-frame:hover,
	[data-theme="dark"] .single-highlight__media .media-brutal-frame:hover {
		box-shadow: 8px 8px 0 rgba(0, 0, 0, 0.45);
	}
}

.single-highlight__content,
.single-post__content--after-media {
	margin-top: 2rem;
}

.page-header__title {
	position: relative;
	z-index: 1;
	line-height: 1.15;
}

/* Standalone legal document pages — plain unstyled text only */
.legal-document-page {
	background: var(--color-bg);
}

.legal-document-page .legal-document,
main.legal-document.site-main--legal {
	max-width: 40rem;
	margin: 0 auto;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	background: none;
	border: none;
	box-shadow: none;
	border-radius: 0;
}

.legal-document__eyebrow {
	margin-bottom: 1rem;
}

.legal-document__title {
	font-family: inherit;
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color-text);
	margin: 0 0 1.5rem;
	padding-top: 0;
	line-height: 1.3;
	letter-spacing: normal;
	text-align: left;
	scroll-margin-top: var(--safe-zone-desktop);
}

.legal-document__content {
	font-size: 1rem;
	line-height: 1.75;
	color: var(--color-text);
	max-width: none;
}

.legal-document__content h2 {
	font-family: inherit;
	font-size: 1rem;
	font-weight: 700;
	color: var(--color-text);
	margin: 1.75rem 0 0.5rem;
	padding: 0;
	border: none;
	background: none;
	box-shadow: none;
	text-transform: none;
	letter-spacing: normal;
}

.legal-document__content p {
	margin: 0 0 1rem;
	color: var(--color-text);
}

.legal-document__content ul {
	margin: 0 0 1rem;
	padding-left: 1.35rem;
	list-style: disc;
}

.legal-document__content li {
	margin-bottom: 0.35rem;
	color: var(--color-text);
}

.legal-document-page .comments-area,
.legal-document-page .post-navigation,
.legal-document-page .entry-meta,
.legal-document-page .entry-footer,
.legal-document-page .wp-block-post-author,
.legal-document-page .wp-block-post-date {
	display: none !important;
}

/* Discord bot legal — minimal private pages */
.bot-legal-page {
	background: var(--color-bg);
	color: var(--color-text);
	min-height: 100vh;
}

.bot-legal {
	max-width: 40rem;
	margin: 0 auto;
	padding: 1.5rem 1.25rem 2.5rem;
}

.bot-legal__back {
	display: inline-block;
	margin-bottom: 1.5rem;
	font-size: 0.82rem;
	color: var(--color-text-muted);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color var(--transition), border-color var(--transition);
}

.bot-legal__back:hover {
	color: var(--color-text);
	border-bottom-color: var(--color-border-soft);
}

.bot-legal__document {
	padding: 1.75rem 1.5rem;
	border: 2px solid var(--color-border-soft);
	border-radius: var(--radius-md);
	background: var(--color-surface);
	box-shadow: var(--shadow-sm);
}

.bot-legal__title {
	font-family: inherit;
	font-size: 1.35rem;
	font-weight: 700;
	margin: 0 0 1.25rem;
	line-height: 1.3;
	text-transform: none;
}

.bot-legal__content {
	font-size: 0.92rem;
	line-height: 1.65;
	color: var(--color-text);
}

.bot-legal__content h2 {
	font-size: 1rem;
	font-weight: 700;
	margin: 1.35rem 0 0.5rem;
}

.bot-legal__content p,
.bot-legal__content li {
	margin: 0 0 0.75rem;
}

.bot-legal__content ul {
	margin: 0 0 1rem;
	padding-left: 1.25rem;
}

.bot-legal__foot {
	margin-top: 1.5rem;
	padding-top: 1rem;
	border-top: 1px solid var(--color-border-soft);
}

.bot-legal__copyright {
	margin: 0;
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

/* Bot legal hubs — bilingual private pages (Soft Brutalism) */
.dj-bot-legal-page,
.tg-bot-legal-page {
	background: var(--color-bg);
	color: var(--color-text);
	min-height: 100vh;
}

.dj-bot-legal,
.tg-bot-legal {
	max-width: 800px;
	margin: 0 auto;
	padding: 4rem 2rem;
	box-sizing: border-box;
}

.dj-bot-legal__header,
.tg-bot-legal__header {
	text-align: center;
	margin-bottom: 2rem;
}

.dj-bot-legal__back,
.tg-bot-legal__back {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	text-transform: lowercase;
	color: var(--color-text-muted);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color var(--transition), border-color var(--transition);
}

.dj-bot-legal__back:hover,
.tg-bot-legal__back:hover {
	color: var(--color-text);
	border-bottom-color: var(--color-border-soft);
}

.dj-bot-legal__radio,
.tg-bot-legal__radio {
	display: none !important;
}

.dj-bot-legal__lang-root,
.tg-bot-legal__lang-root {
	position: relative;
	text-align: center;
}

.dj-bot-legal__switcher,
.tg-bot-legal__switcher {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-height: 2.5rem;
	width: 100%;
	margin: 0 0 2rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.dj-bot-legal__lang-btn,
.tg-bot-legal__lang-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	padding: 0.45rem 0.85rem;
	border-radius: var(--radius-sm);
	color: var(--color-text-muted);
	background: var(--color-surface);
	cursor: pointer;
	transition: color var(--transition), background var(--transition), border-color var(--transition), box-shadow var(--transition);
	border: 2px solid var(--color-border-soft);
	box-shadow: var(--shadow-sm);
	user-select: none;
}

.dj-bot-legal__lang-btn:hover,
.tg-bot-legal__lang-btn:hover {
	color: var(--color-accent);
	border-color: var(--color-accent);
}

.dj-bot-legal__sep,
.tg-bot-legal__sep {
	color: var(--color-border);
	padding: 0 0.1rem;
	font-weight: 400;
	user-select: none;
}

.dj-bot-legal__lang-root > #dj-legal-lang-sr:checked ~ .dj-bot-legal__switcher .dj-bot-legal__lang-btn[for="dj-legal-lang-sr"],
.dj-bot-legal__lang-root > #dj-legal-lang-en:checked ~ .dj-bot-legal__switcher .dj-bot-legal__lang-btn[for="dj-legal-lang-en"] {
	background: var(--color-accent);
	color: #fff;
	border-color: var(--color-accent);
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.18);
}

.tg-bot-legal__lang-root > #tg-legal-lang-sr:checked ~ .tg-bot-legal__switcher .tg-bot-legal__lang-btn[for="tg-legal-lang-sr"],
.tg-bot-legal__lang-root > #tg-legal-lang-en:checked ~ .tg-bot-legal__switcher .tg-bot-legal__lang-btn[for="tg-legal-lang-en"] {
	background: var(--color-accent);
	color: #fff;
	border-color: var(--color-accent);
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.18);
}

.dj-bot-legal__lang-root > .dj-legal-content-en {
	display: none;
}

.dj-bot-legal__lang-root > #dj-legal-lang-en:checked ~ .dj-legal-content-sr {
	display: none;
}

.dj-bot-legal__lang-root > #dj-legal-lang-en:checked ~ .dj-legal-content-en {
	display: block;
}

.tg-bot-legal__lang-root > .tg-legal-content-en {
	display: none;
}

.tg-bot-legal__lang-root > #tg-legal-lang-en:checked ~ .tg-legal-content-sr {
	display: none;
}

.tg-bot-legal__lang-root > #tg-legal-lang-en:checked ~ .tg-legal-content-en {
	display: block;
}

.dj-legal-content-sr,
.dj-legal-content-en,
.tg-legal-content-sr,
.tg-legal-content-en {
	min-height: 32rem;
}

.dj-bot-legal__document,
.tg-bot-legal__document {
	padding: 2rem 2.25rem;
	border: 2px solid var(--color-border-soft);
	border-radius: var(--radius-md);
	background: var(--color-surface);
	box-shadow: var(--shadow-sm);
}

.dj-bot-legal__title,
.tg-bot-legal__title {
	font-family: inherit;
	font-size: clamp(1.5rem, 3vw, 1.85rem);
	font-weight: 700;
	margin: 0 0 2rem;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: var(--color-text);
	text-align: center;
}

.tg-bot-legal__title {
	text-transform: lowercase;
}

.dj-bot-legal__section,
.tg-bot-legal__section {
	margin-bottom: 2.5rem;
}

.dj-bot-legal__section:last-child,
.tg-bot-legal__section:last-child {
	margin-bottom: 0;
}

.dj-bot-legal__section-title,
.tg-bot-legal__section-title {
	font-size: 1rem;
	font-weight: 700;
	margin: 0 0 1rem;
	line-height: 1.35;
	color: var(--color-accent);
	letter-spacing: 0.01em;
}

.tg-bot-legal__intro {
	margin: 0 0 1.25rem;
	font-size: 0.94rem;
	line-height: 1.6;
	color: var(--color-text-muted);
}

.dj-bot-legal__list,
.tg-bot-legal__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.dj-bot-legal__list li,
.tg-bot-legal__list li {
	position: relative;
	margin: 0 0 0.85rem;
	padding-left: 1.35rem;
	font-size: 0.94rem;
	line-height: 1.6;
	color: var(--color-text);
}

.dj-bot-legal__list li:last-child,
.tg-bot-legal__list li:last-child {
	margin-bottom: 0;
}

.dj-bot-legal__list li::before,
.tg-bot-legal__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.62em;
	width: 0.42rem;
	height: 0.42rem;
	background: var(--color-accent);
	border-radius: 1px;
	transform: translateY(-50%);
}

.dj-bot-legal__foot,
.tg-bot-legal__foot {
	margin-top: 2.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--color-border-soft);
	text-align: center;
}

.dj-bot-legal__copyright,
.tg-bot-legal__copyright {
	margin: 0;
	font-size: 0.8rem;
	color: var(--color-text-muted);
	line-height: 1.5;
}

@media (max-width: 640px) {
	.dj-bot-legal,
	.tg-bot-legal,
	.dc-bot-legal {
		padding: 2.5rem 1.25rem;
	}

	.dj-bot-legal__document,
	.tg-bot-legal__document,
	.dc-bot-legal__document {
		padding: 1.5rem 1.25rem;
	}
}

/* Discord Bot legal hub — shares hub layout, inline-flex badge toggle */
.dc-bot-legal-page {
	background: var(--color-bg);
	color: var(--color-text);
	min-height: 100vh;
}

.dc-bot-legal {
	max-width: 800px;
	margin: 0 auto;
	padding: 4rem 2rem;
	box-sizing: border-box;
}

.dc-bot-legal__header {
	text-align: center;
	margin-bottom: 2rem;
}

.dc-bot-legal__back {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	text-transform: lowercase;
	color: var(--color-text-muted);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color var(--transition), border-color var(--transition);
}

.dc-bot-legal__back:hover {
	color: var(--color-text);
	border-bottom-color: var(--color-border-soft);
}

.dc-bot-legal__radio {
	display: none !important;
}

.dc-bot-legal__lang-root {
	position: relative;
	text-align: center;
}

.dc-bot-legal__switcher {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-height: 2.5rem;
	width: auto;
	margin: 0 auto 2rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.dc-bot-legal__lang-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	padding: 0.45rem 0.85rem;
	border-radius: var(--radius-sm);
	color: var(--color-text-muted);
	background: var(--color-surface);
	cursor: pointer;
	transition: color var(--transition), background var(--transition), border-color var(--transition), box-shadow var(--transition);
	border: 2px solid var(--color-border-soft);
	box-shadow: var(--shadow-sm);
	user-select: none;
}

.dc-bot-legal__lang-btn:hover {
	color: var(--color-accent);
	border-color: var(--color-accent);
}

.dc-bot-legal__sep {
	color: var(--color-border);
	padding: 0 0.1rem;
	font-weight: 400;
	user-select: none;
}

.dc-bot-legal__lang-root > #dc-legal-lang-sr:checked ~ .dc-bot-legal__switcher .dc-bot-legal__lang-btn[for="dc-legal-lang-sr"],
.dc-bot-legal__lang-root > #dc-legal-lang-en:checked ~ .dc-bot-legal__switcher .dc-bot-legal__lang-btn[for="dc-legal-lang-en"] {
	background: var(--color-accent);
	color: #fff;
	border-color: var(--color-accent);
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.18);
}

.dc-bot-legal__lang-root > .dc-legal-content-en {
	display: none;
}

.dc-bot-legal__lang-root > #dc-legal-lang-en:checked ~ .dc-legal-content-sr {
	display: none;
}

.dc-bot-legal__lang-root > #dc-legal-lang-en:checked ~ .dc-legal-content-en {
	display: block;
}

.dc-legal-content-sr,
.dc-legal-content-en {
	min-height: 32rem;
}

.dc-bot-legal__document {
	padding: 2rem 2.25rem;
	border: 2px solid var(--color-border-soft);
	border-radius: var(--radius-md);
	background: var(--color-surface);
	box-shadow: var(--shadow-sm);
}

.dc-bot-legal__title {
	font-family: inherit;
	font-size: clamp(1.5rem, 3vw, 1.85rem);
	font-weight: 700;
	margin: 0 0 2rem;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: var(--color-text);
	text-align: center;
	text-transform: lowercase;
}

.dc-bot-legal__section {
	margin-bottom: 2.5rem;
}

.dc-bot-legal__section:last-child {
	margin-bottom: 0;
}

.dc-bot-legal__section-title {
	font-size: 1rem;
	font-weight: 700;
	margin: 0 0 1rem;
	line-height: 1.35;
	color: var(--color-accent);
	letter-spacing: 0.01em;
}

.dc-bot-legal__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.dc-bot-legal__list li {
	position: relative;
	margin: 0 0 0.85rem;
	padding-left: 1.35rem;
	font-size: 0.94rem;
	line-height: 1.6;
	color: var(--color-text);
}

.dc-bot-legal__list li:last-child {
	margin-bottom: 0;
}

.dc-bot-legal__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.62em;
	width: 0.42rem;
	height: 0.42rem;
	background: var(--color-accent);
	border-radius: 1px;
	transform: translateY(-50%);
}

.dc-bot-legal__section-body,
.dj-bot-legal__section-body,
.tg-bot-legal__section-body {
	font-size: 0.94rem;
	line-height: 1.6;
	color: var(--color-text);
}

.dc-bot-legal__section-body p,
.dj-bot-legal__section-body p,
.tg-bot-legal__section-body p {
	margin: 0 0 0.85rem;
}

.dc-bot-legal__section-body p:last-child,
.dj-bot-legal__section-body p:last-child,
.tg-bot-legal__section-body p:last-child {
	margin-bottom: 0;
}

.dc-bot-legal__section-body ul,
.dj-bot-legal__section-body ul,
.tg-bot-legal__section-body ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.dc-bot-legal__section-body li,
.dj-bot-legal__section-body li,
.tg-bot-legal__section-body li {
	position: relative;
	margin: 0 0 0.85rem;
	padding-left: 1.35rem;
}

.dc-bot-legal__section-body li:last-child,
.dj-bot-legal__section-body li:last-child,
.tg-bot-legal__section-body li:last-child {
	margin-bottom: 0;
}

.dc-bot-legal__section-body li::before,
.dj-bot-legal__section-body li::before,
.tg-bot-legal__section-body li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.62em;
	width: 0.42rem;
	height: 0.42rem;
	background: var(--color-accent);
	border-radius: 1px;
	transform: translateY(-50%);
}

.dc-bot-legal__foot {
	margin-top: 2.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--color-border-soft);
	text-align: center;
}

.dc-bot-legal__copyright {
	margin: 0;
	font-size: 0.8rem;
	color: var(--color-text-muted);
	line-height: 1.5;
}

/* Logo Story — hidden bilingual storytelling hub */
.logo-story-page {
	background: var(--color-bg);
	color: var(--color-text);
	min-height: 100vh;
}

.logo-story {
	max-width: 800px;
	margin: 0 auto;
	padding: var(--safe-zone-mobile) 2rem 4rem;
	box-sizing: border-box;
}

@media (min-width: 901px) {
	.logo-story {
		padding-top: var(--safe-zone-desktop);
	}
}

.logo-story__header {
	text-align: left;
	margin-bottom: 1.5rem;
}

.logo-story__back {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	text-transform: lowercase;
	color: var(--color-text-muted);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color var(--transition), border-color var(--transition);
}

.logo-story__back:hover {
	color: var(--color-text);
	border-bottom-color: var(--color-border-soft);
}

.logo-story__radio {
	display: none !important;
}

.logo-story__lang-root {
	position: relative;
	text-align: center;
}

.logo-story__switcher {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-height: 2.5rem;
	width: auto;
	margin: 0 auto 2rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.logo-story__lang-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	padding: 0.45rem 0.85rem;
	border-radius: var(--radius-sm);
	color: var(--color-text-muted);
	background: var(--color-surface);
	cursor: pointer;
	transition: color var(--transition), background var(--transition), border-color var(--transition), box-shadow var(--transition);
	border: 2px solid var(--color-border-soft);
	box-shadow: var(--shadow-sm);
	user-select: none;
}

.logo-story__lang-btn:hover {
	color: var(--color-accent);
	border-color: var(--color-accent);
}

.logo-story__sep {
	color: var(--color-border);
	padding: 0 0.1rem;
	font-weight: 400;
	user-select: none;
}

.logo-story__lang-root > #logo-story-lang-sr:checked ~ .logo-story__switcher .logo-story__lang-btn[for="logo-story-lang-sr"],
.logo-story__lang-root > #logo-story-lang-en:checked ~ .logo-story__switcher .logo-story__lang-btn[for="logo-story-lang-en"] {
	background: var(--color-accent);
	color: #fff;
	border-color: var(--color-accent);
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.18);
}

.logo-story__lang-root > .logo-story-content-en {
	display: none;
}

.logo-story__lang-root > #logo-story-lang-en:checked ~ .logo-story-content-sr {
	display: none;
}

.logo-story__lang-root > #logo-story-lang-en:checked ~ .logo-story-content-en {
	display: block;
}

.logo-story-content-sr,
.logo-story-content-en {
	min-height: 28rem;
}

.logo-story__document {
	padding: 2rem 2.25rem;
	border: 2px solid var(--color-border-soft);
	border-radius: var(--radius-md);
	background: var(--color-surface);
	box-shadow: var(--shadow-sm);
}

.logo-story__logo-wrap {
	display: flex;
	justify-content: center;
	margin: 0 0 1.75rem;
}

.logo-story__image {
	display: block;
	width: auto;
	max-width: min(160px, 40vw);
	height: auto;
	border-radius: var(--radius-sm);
}

.logo-story__title {
	font-family: inherit;
	font-size: clamp(1.5rem, 3vw, 1.85rem);
	font-weight: 700;
	margin: 0 0 1.5rem;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: var(--color-text);
	text-align: center;
}

.logo-story__body p {
	margin: 0 0 1.25rem;
	font-size: 0.98rem;
	line-height: 1.65;
	color: var(--color-text);
}

.logo-story__body p:last-child {
	margin-bottom: 0;
}

.logo-story__foot {
	margin-top: 2.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--color-border-soft);
	text-align: center;
}

.logo-story__copyright {
	margin: 0;
	font-size: 0.8rem;
	color: var(--color-text-muted);
	line-height: 1.5;
}

@media (max-width: 640px) {
	.logo-story {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
		padding-bottom: 2.5rem;
	}

	.logo-story__document {
		padding: 1.5rem 1.25rem;
	}
}

.page-header__title {
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	margin-top: 0;
}

.posts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 1.5rem;
}

.pagination {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 2.5rem;
}

.pagination a,
.pagination span {
	padding: 0.5rem 1rem;
	border-radius: var(--radius-sm);
	background: var(--color-surface);
	border: var(--soft-border);
	box-shadow: var(--shadow-sm);
	font-size: 0.9rem;
	color: var(--color-text);
}

.pagination .current {
	background: var(--color-accent);
	color: var(--color-text);
	border-color: var(--color-border);
}

.no-posts {
	text-align: center;
	padding: 3rem;
	color: var(--color-text-muted);
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (min-width: 768px) and (max-width: 1024px) {
	.posts-grid,
	.posts-grid--highlights,
	.featured-media-grid,
	.media-hub,
	.journal-timeline--preview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.media-page {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.5rem;
	}

	.media-page > .media-section {
		margin: 0;
	}
}

@media (max-width: 1024px) {
	.twitch-section {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	:root {
		--header-height: 72px;
		--safe-zone-mobile: 120px;
	}

	.page-header,
	.page-header .section__eyebrow,
	.section__header,
	.section__header .section__eyebrow,
	.about-minimal__hero,
	.legal-document__eyebrow,
	.legal-document__title {
		text-align: center;
	}

	.legal-document__title {
		text-align: center;
	}

	.about-minimal__hero .section__eyebrow {
		display: inline-flex;
	}

	.site-branding__tagline {
		display: none;
	}

	.site-logo__image {
		width: 40px;
		height: 40px;
	}

	.header-actions {
		flex-shrink: 0;
		gap: 0.5rem;
	}

	.site-header__inner {
		gap: 0.5rem;
	}

	.theme-toggle {
		padding: 0.35rem 0.5rem;
		gap: 0.35rem;
		flex-shrink: 0;
	}

	.lang-switcher {
		font-size: 0.72rem;
		padding: 0.2rem;
		flex-shrink: 0;
	}

	.lang-switcher a,
	.lang-switcher span {
		padding: 0.35rem 0.5rem;
		min-height: 36px;
		display: inline-flex;
		align-items: center;
	}

	.hero__content {
		min-height: clamp(20rem, 58vh, 26rem);
	}

	.hero__title {
		height: 3.24em;
		min-height: 3.24em;
		max-height: 3.24em;
	}

	.hero__title-rotator {
		height: 3.24em;
		min-height: 3.24em;
		max-height: 3.24em;
	}

	.posts-grid,
	.posts-grid--highlights,
	.featured-media-grid,
	.media-page {
		grid-template-columns: 1fr;
	}

	.btn,
	.nav-menu a,
	.theme-toggle {
		min-height: 44px;
	}

	.theme-toggle__label {
		display: none;
	}

	.menu-toggle {
		display: flex;
	}

	.site-header__nav .nav-menu {
		position: fixed;
		top: var(--header-height);
		left: 0;
		right: 0;
		z-index: 999;
		max-height: calc(100dvh - var(--header-height));
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		background: var(--color-surface);
		flex-direction: column;
		padding: 1rem;
		border-bottom: 1px solid var(--color-border);
		box-shadow: var(--shadow-md);
		transform: translateY(-110%);
		opacity: 0;
		visibility: hidden;
		transition: all var(--transition);
	}

	.site-header__nav .nav-menu.is-open {
		transform: translateY(0);
		opacity: 1;
		visibility: visible;
	}

	.site-header__nav .nav-menu,
	.site-header__nav .nav-menu > .menu-item {
		align-items: center;
		text-align: center;
	}

	.nav-menu a {
		width: 100%;
		max-width: 20rem;
		margin-left: auto;
		margin-right: auto;
		padding: 0.85rem 1rem;
		text-align: center;
		justify-content: center;
	}

	.nav-menu .menu-item-has-children {
		position: relative;
		flex-direction: column;
		align-items: center;
		width: 100%;
	}

	.nav-menu .sub-menu {
		position: static;
		display: none;
		width: 100%;
		max-width: 20rem;
		max-height: min(42vh, 16rem);
		overflow-y: auto;
		margin: 0.25rem auto 0.5rem;
		padding: 0.35rem 0 0.5rem;
		border: none;
		box-shadow: none;
		background: transparent;
	}

	.nav-menu .sub-menu a {
		font-size: 0.92rem;
		padding: 0.65rem 0.85rem;
	}

	.nav-menu .menu-item-has-children.is-open > .sub-menu {
		display: block;
	}

	.nav-menu .menu-item-has-children > a {
		padding-right: 3rem;
	}

	.nav-dropdown__toggle {
		position: absolute;
		top: 0.35rem;
		right: 0.35rem;
		align-self: auto;
		margin: 0;
	}

	.hero__stats {
		gap: 1.25rem;
	}

	.section {
		padding: 3rem 0;
	}
}

@media (max-width: 480px) {
	.header-actions {
		gap: 0.4rem;
	}

	.theme-toggle,
	.lang-switcher,
	.menu-toggle {
		flex-shrink: 0;
	}

	.btn-group {
		flex-direction: column;
	}

	.btn-group .btn {
		width: 100%;
	}

	.newsletter__form {
		flex-direction: column;
	}

	.newsletter__input {
		width: 100%;
	}
}

/* ==========================================================================
   Accessibility & Reduced Motion
   ========================================================================== */
:focus-visible {
	outline: 2px solid var(--color-cute);
	outline-offset: 2px;
}

[data-theme="dark"] body {
	background-color: var(--color-bg);
	background-image: none;
}

/* ==========================================================================
   Exclusive Early Access Podcast Player
   ========================================================================== */
.section--podcast {
	position: relative;
}

.exclusive-player {
	background: var(--color-surface);
	border: var(--soft-border);
	border-radius: var(--radius-xl);
	padding: 1.5rem;
	box-shadow: var(--shadow-sm);
	transition: transform var(--transition), box-shadow var(--transition);
}

.exclusive-player:hover {
	box-shadow: var(--shadow-md);
}

.exclusive-player--featured {
	padding: 2rem;
	border: 3px solid var(--color-text);
	box-shadow: var(--shadow-md);
	background: var(--color-surface);
	margin-bottom: 1.25rem;
}

.exclusive-player__header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem;
	margin-bottom: 0.75rem;
}

.exclusive-player__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: lowercase;
	letter-spacing: 0.06em;
	background: var(--color-accent);
	color: #fff;
	padding: 0.35rem 0.85rem;
	border: 2px solid var(--color-text);
	border-radius: 0;
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.2);
}

.exclusive-player--featured .exclusive-player__badge {
	font-size: 0.78rem;
	padding: 0.4rem 1rem;
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.25);
}

.exclusive-player__episode {
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--color-text-muted);
}

.exclusive-player__title {
	font-size: 1.2rem;
	margin: 0 0 0.5rem;
	color: var(--color-text);
}

.exclusive-player--featured .exclusive-player__title {
	font-size: clamp(1.35rem, 3vw, 1.75rem);
}

.exclusive-player__desc {
	font-size: 0.92rem;
	color: var(--color-text-muted);
	margin: 0 0 1rem;
}

.exclusive-player__cta-label {
	font-size: 0.88rem;
	font-weight: 700;
	color: var(--color-accent);
	margin-bottom: 0.75rem;
	letter-spacing: 0.02em;
}

.exclusive-player--featured .exclusive-player__cta-label {
	font-size: 1rem;
}

.exclusive-player__audio,
.exclusive-player__wp-audio audio {
	width: 100%;
	border-radius: var(--radius-md);
	margin-bottom: 0.75rem;
}

.exclusive-player__wp-audio {
	margin-bottom: 0.75rem;
}

.exclusive-player__wp-audio .wp-block-audio {
	margin: 0;
}

.exclusive-player__audio::-webkit-media-controls-panel {
	background: var(--color-accent-soft);
}

.exclusive-player__hint {
	font-size: 0.78rem;
	color: var(--color-text-muted);
	margin: 0;
	font-style: italic;
}

.episodes-flow--compact {
	margin-top: 0.5rem;
}

.podcast-empty {
	text-align: center;
	padding: 2.5rem 1.5rem;
	background: var(--color-surface);
	border: var(--soft-border);
	border-radius: var(--radius-xl);
}

.podcast-page__exclusive {
	margin-bottom: 2.5rem;
}

.podcast-page__heading {
	font-size: 1.35rem;
	margin-bottom: 0.5rem;
	color: var(--color-accent);
}

.podcast-page__lead {
	color: var(--color-text-muted);
	margin-bottom: 1.5rem;
}

.podcast-page__platforms {
	padding: 1.75rem;
	background: var(--color-bg-alt);
	border-radius: var(--radius-xl);
	border: var(--soft-border);
}

.podcast-page__subheading {
	font-size: 1.05rem;
	margin-bottom: 0.5rem;
}

.podcast-platforms {
	margin-top: 1rem;
}

.podcast-platforms--centered {
	justify-content: center;
	margin-top: 1.25rem;
}

.podcast-platform .icon-svg {
	flex-shrink: 0;
}

.footer-legal {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.5rem;
}

/* ==========================================================================
   Fluid Layouts (replacing rigid grids)
   ========================================================================== */
.container--narrow {
	max-width: 720px;
}

.section-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
	text-align: center;
	margin-top: 2rem;
}

.episodes-flow {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.episode-card {
	display: flex;
	gap: 1.25rem;
	padding: 1.5rem;
	background: var(--color-surface);
	border: var(--soft-border);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-sm);
	transition: transform var(--transition), box-shadow var(--transition);
}

.episode-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow-md);
}

.episode-card__art {
	width: 72px;
	height: 72px;
	border-radius: 0;
	background: var(--color-accent-soft);
	border: 3px solid var(--color-text);
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.15);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.6rem;
	flex-shrink: 0;
}

.episode-card__badge {
	display: inline-block;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	background: var(--color-cute);
	color: var(--color-text);
	padding: 0.2rem 0.55rem;
	border-radius: var(--radius-pill);
	margin-bottom: 0.35rem;
}

.episode-card__platforms {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.75rem;
}

.podcast-platform--ghost {
	background: transparent;
	border: 1px dashed var(--color-border-soft);
}

.social-flow {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: center;
}

.social-flow .social-card {
	flex: 1 1 130px;
	max-width: 160px;
}

.partners-flow {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: center;
}

/* STREAM — multi-platform live player */
.stream-featured {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.stream-tabs {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: stretch;
	gap: 0.625rem;
	margin: 0 auto 0.5rem;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.stream-tabs::-webkit-scrollbar {
	display: none;
}

.stream-tab {
	flex: 0 0 auto;
	padding: 0.45rem 1.1rem;
	border: 3px solid var(--color-text);
	background: var(--color-surface);
	color: var(--color-text);
	border-radius: 0;
	font-family: var(--font-display);
	font-size: 0.85rem;
	font-weight: 600;
	text-transform: lowercase;
	cursor: pointer;
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.12);
	transition: background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.stream-tab:hover,
.stream-tab.is-active {
	background: var(--color-accent);
	color: #fff;
	border-color: var(--color-text);
	box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.2);
	transform: translate(-1px, -1px);
}

.stream-tab.is-active {
	font-weight: 700;
}

.stream-panel {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	align-items: start;
}

.stream-panel[hidden] {
	display: none !important;
}

.stream-panel__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1rem;
}

.stream-panel__channel {
	font-size: 0.85rem;
	color: var(--color-text-muted);
	margin: 0.75rem 0 0;
}

.stream-panel__channel--pretty {
	text-transform: lowercase;
	letter-spacing: 0.01em;
}

.stream-panel__channel-link {
	color: var(--color-text-muted);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color var(--transition), border-color var(--transition);
}

@media (hover: hover) {
	.stream-panel__channel-link:hover {
		color: var(--color-accent);
		border-bottom-color: var(--color-accent);
	}
}

.stream-youtube-chat__panel {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.25rem;
	min-height: 420px;
	padding: 2rem 1.5rem;
	text-align: center;
}

.stream-youtube-chat__note {
	margin: 0;
	max-width: 26ch;
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--color-text-muted);
	text-transform: lowercase;
}

.stream-youtube-chat__btn {
	text-transform: lowercase;
	font-family: var(--font-display);
	font-weight: 700;
	padding: 0.85rem 1.75rem;
	border: 2px solid var(--color-text);
	box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.1);
	transition: transform var(--transition), box-shadow var(--transition);
}

@media (hover: hover) {
	.stream-youtube-chat__btn:hover {
		transform: translate(-1px, -1px);
		box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.14);
	}
}

.stream-youtube-chat__btn:active {
	transform: translate(1px, 1px);
	box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.1);
}

.stream-panel__player--solo {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
}

.stream-platform-notice {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 280px;
	padding: 2rem 1.5rem;
	background: var(--color-surface);
	border: var(--soft-border);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-sm);
	text-align: center;
}

.stream-platform-notice p {
	margin: 0;
	max-width: 28ch;
	color: var(--color-text-muted);
	font-size: 0.95rem;
	line-height: 1.5;
}

/* Platform offline facades — YouTube + TikTok */
.video-container--platform-facade,
.video-container--tiktok-facade,
.video-container--youtube-facade {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	min-height: 0;
	background: #1a1a1a;
	color: rgba(255, 255, 255, 0.94);
	box-sizing: border-box;
}

.video-container--platform-facade .stream-platform-facade {
	flex: 1 1 auto;
	align-self: stretch;
}

.video-container--platform-facade .stream-platform-facade__icon,
.video-container--platform-facade .stream-platform-facade__text {
	color: inherit;
}

.stream-platform-facade {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	min-height: 100%;
	max-width: 100%;
	overflow: hidden;
	isolation: isolate;
	text-align: center;
}

.stream-platform-facade::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #1a1a1a;
	pointer-events: none;
}

.stream-youtube-facade::before {
	background: #1a1a1a;
}

[data-theme="dark"] .stream-platform-facade::before {
	background: #121212;
}

.stream-platform-facade__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 1.35rem;
	padding: 2rem 1.75rem;
	text-align: center;
	max-width: min(24rem, 100%);
	width: 100%;
	flex: 0 0 auto;
	margin: auto;
	box-sizing: border-box;
	place-self: center;
}

.stream-platform-facade__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 5rem;
	height: 5rem;
	color: var(--color-text);
	flex-shrink: 0;
}

.stream-platform-facade__icon svg {
	display: block;
	width: 5rem;
	height: 5rem;
}

.stream-platform-facade__text {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.2rem;
	font-weight: 700;
	text-transform: lowercase;
	line-height: 1.35;
	color: var(--color-text);
	letter-spacing: -0.01em;
	max-width: 22ch;
	overflow-wrap: anywhere;
}

.stream-platform-facade__btn {
	margin-top: 0.15rem;
	padding: 0.85rem 1.85rem;
	font-family: var(--font-display);
	font-size: 1rem;
	font-weight: 700;
	text-transform: lowercase;
	border: 2px solid var(--color-text);
	box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.1);
	transition: transform var(--transition), box-shadow var(--transition), background var(--transition);
	max-width: calc(100% - 2rem);
	box-sizing: border-box;
}

@media (hover: hover) {
	.stream-platform-facade__btn:hover {
		transform: translate(-1px, -1px);
		box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.14);
	}
}

.stream-platform-facade__btn:active {
	transform: translate(1px, 1px);
	box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.1);
}

.stream-chat-offline {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 420px;
	padding: 2rem 1.5rem;
	text-align: center;
}

.stream-chat-offline p {
	margin: 0;
	max-width: 24ch;
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--color-text-muted);
	text-transform: lowercase;
}

.stream-panel__chat,
.stream-chat {
	background: var(--color-surface);
	border: var(--soft-border);
	border-radius: var(--radius-xl);
	padding: 1rem;
	box-shadow: var(--shadow-sm);
	min-height: 500px;
}

.stream-panel__chat-title {
	font-size: 0.95rem;
	margin: 0 0 0.75rem;
	color: var(--color-text-muted);
}

.dvoimeni-live-hub-manual {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin: 0.5rem 0 0.75rem;
}

.dvoimeni-live-hub-manual label {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 12px;
	text-transform: lowercase;
}

.stream-panel__chat--tiktok .stream-chat {
	min-height: 500px;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.stream-tiktok-chat-facade {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	min-height: 500px;
	padding: 1.5rem 1.25rem;
	text-align: center;
	background: var(--color-surface);
	border: 3px solid var(--color-text);
	border-radius: var(--radius-md);
	box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.12);
}

.stream-tiktok-chat-facade__btn,
#load-tiktok-chat {
	text-transform: lowercase;
	border: 3px solid var(--color-text);
	box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.12);
}

.stream-tiktok-chat-facade__btn:hover,
#load-tiktok-chat:hover {
	box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.12);
}

.stream-tiktok-chat-facade__note {
	margin: 0;
	font-size: 0.78rem;
	line-height: 1.45;
	color: var(--color-text-muted);
	text-transform: lowercase;
	max-width: 18rem;
}

.stream-tiktok-chat__frame {
	position: relative;
	width: 100%;
	min-height: 500px;
	height: 100%;
	overflow: hidden;
	background: #111;
	border-radius: var(--radius-md);
	border: 3px solid var(--color-text);
	box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.12);
}

.stream-tiktok-chat__frame iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 500px;
	border: 0;
}

/* Intrinsic ratio wrapper — Twitch/video embeds */
.video-container {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #111;
	border-radius: var(--radius-md);
	border: 3px solid var(--color-text);
	box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.12);
}

.stream-panel__player .video-container {
	border: 3px solid var(--color-text);
	border-radius: var(--radius-md);
	box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.12);
}

.video-container--chat {
	aspect-ratio: auto;
	min-height: 500px;
}

.video-container .stream-embed {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	min-height: 0;
	aspect-ratio: auto;
	border: 0;
	border-radius: 0;
}

.stream-embed {
	position: relative;
	width: 100%;
	background: #111;
	border-radius: var(--radius-md);
	overflow: hidden;
	border: var(--soft-border);
}

.stream-embed iframe {
	position: absolute;
	inset: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	border: 0;
}

.stream-embed--large {
	aspect-ratio: 16 / 9;
	min-height: 0;
}

.stream-embed--chat {
	min-height: 500px;
}

.video-container--chat .stream-embed--chat {
	position: relative;
	min-height: 500px;
	height: 100%;
}

/* Embed facade — defers Twitch JS until interaction */
.stream-embed-facade {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: #1a1a1a;
	border: 3px solid var(--color-text);
	cursor: pointer;
}

.stream-embed-facade__trigger {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
	padding: 1.5rem;
	background: transparent;
	border: none;
	color: #f5f5f5;
	font-family: var(--font-sans);
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	text-transform: lowercase;
}

.stream-embed-facade__icon {
	display: block;
	width: 64px;
	height: 64px;
	border-radius: 0;
	background: var(--color-accent);
	border: 3px solid #fff;
	box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.35);
	position: relative;
}

.stream-embed-facade__icon::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 54%;
	transform: translate(-50%, -50%);
	border-style: solid;
	border-width: 12px 0 12px 20px;
	border-color: transparent transparent transparent #fff;
}

.stream-embed-facade__label {
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-size: 0.78rem;
	color: rgba(248, 248, 248, 0.95);
}

.stream-embed-facade--loaded {
	cursor: default;
	background: #111;
}

.stream-embed-facade--loaded .stream-embed-facade__trigger {
	display: none;
}

[data-theme="dark"] .section__eyebrow {
	color: #c5e8e8;
}

[data-theme="dark"] .section__subtitle,
[data-theme="dark"] .site-branding__tagline {
	color: #b8b8b8;
}

/* Header controls — identical box model in light/dark (no layout shift) */
[data-theme="dark"] .site-header,
.site-header {
	border-bottom-width: 1px;
	border-bottom-style: solid;
}

[data-theme="dark"] .menu-toggle,
[data-theme="dark"] .theme-toggle,
[data-theme="dark"] .lang-switcher,
.menu-toggle,
.theme-toggle,
.lang-switcher {
	border-width: 1px;
	border-style: solid;
	box-sizing: border-box;
}

@media (max-width: 1024px) {
	.header-actions {
		flex-shrink: 0;
		gap: 0.5rem;
	}

	.theme-toggle {
		width: 44px;
		min-width: 44px;
		max-width: 44px;
		padding: 0.35rem;
		justify-content: center;
	}

	.theme-toggle__label,
	.theme-toggle.is-dark .theme-toggle__label--dark,
	.theme-toggle.is-dark .theme-toggle__label--light {
		display: none !important;
		width: 0;
		max-width: 0;
		overflow: hidden;
		margin: 0;
		padding: 0;
	}

	.menu-toggle {
		width: 44px;
		min-width: 44px;
		max-width: 44px;
	}
}

[data-theme="dark"] .coming-soon__badge {
	color: #e8f4f4;
}

[data-theme="dark"] .footer-heading--subtle {
	color: rgba(236, 236, 236, 0.9);
}

[data-theme="dark"] .footer-support__item--soon {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

[data-theme="dark"] .footer-support__item--soon small {
	color: rgba(236, 236, 236, 0.5);
	background: transparent !important;
}

[data-theme="dark"] .site-footer .current-menu-item > a,
[data-theme="dark"] .site-footer .current_page_item > a {
	background: transparent !important;
	color: var(--color-accent) !important;
	box-shadow: none !important;
}

@media (min-width: 900px) {
	.stream-panel {
		grid-template-columns: 1.6fr 1fr;
	}

	.stream-panel:not(:has(.stream-panel__chat)) {
		grid-template-columns: 1fr;
	}

	.stream-panel__chat,
	.stream-chat {
		min-height: 500px;
	}
}

@media (max-width: 767px) {
	.stream-panel__chat--tiktok {
		display: none !important;
	}

	.stream-panel[data-platform="tiktok"] {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 640px) {
	.stream-platform-facade__icon svg {
		width: 5rem;
		height: 5rem;
	}

	.stream-platform-facade__text {
		font-size: 1.3rem;
	}
}

@media (max-width: 768px) {
	.video-container--platform-facade,
	.video-container--tiktok-facade,
	.video-container--youtube-facade {
		aspect-ratio: 1 / 1.2;
	}

	.stream-platform-facade__inner {
		gap: 0.9rem;
		padding: 1.15rem 0.85rem;
	}

	.stream-platform-facade__text {
		font-size: 1rem;
		max-width: 18ch;
		line-height: 1.4;
	}

	.stream-platform-facade__icon svg {
		width: 3.75rem;
		height: 3.75rem;
	}

	.stream-platform-facade__btn {
		padding: 0.75rem 1.25rem;
		font-size: 0.92rem;
		min-height: 44px;
	}
}

@media (max-width: 480px) {
	.stream-tabs {
		justify-content: flex-start;
		padding-bottom: 0.15rem;
	}

	.stream-tab {
		padding: 0.4rem 0.85rem;
		font-size: 0.8rem;
	}

	.stream-platform-facade__inner {
		gap: 1rem;
		padding: 1.25rem 1rem;
	}

	.stream-platform-facade__icon svg {
		width: 4rem;
		height: 4rem;
	}

	.stream-platform-facade__text {
		font-size: 1.05rem;
	}

	.stream-platform-facade__btn {
		padding: 0.7rem 1.35rem;
		font-size: 0.92rem;
	}
}

/* Twitch — legacy layout (backward compatible) */
.twitch-featured {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.twitch-featured__player {
	flex: 1;
}

.twitch-embed--large {
	min-height: 420px;
	aspect-ratio: 16 / 9;
}

.twitch-embed--chat {
	min-height: 360px;
	height: 100%;
}

.twitch-featured__channel {
	font-size: 0.85rem;
	color: var(--color-text-muted);
	margin: 0.75rem 0 0;
}

.twitch-featured__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1rem;
}

.twitch-featured__chat {
	background: var(--color-surface);
	border: var(--soft-border);
	border-radius: var(--radius-xl);
	padding: 1rem;
	box-shadow: var(--shadow-sm);
	display: flex;
	flex-direction: column;
	min-height: 420px;
}

.twitch-featured__chat-title {
	font-size: 0.95rem;
	margin: 0 0 0.75rem;
	color: var(--color-text-muted);
}

@media (min-width: 900px) {
	.twitch-featured {
		flex-direction: row;
		align-items: stretch;
	}

	.twitch-featured__player {
		flex: 1.6;
	}

	.twitch-featured__chat {
		flex: 1;
		max-width: 380px;
	}

	.twitch-embed--large {
		min-height: 480px;
	}
}

/* Coming Soon */
.coming-soon {
	text-align: center;
	padding: 3rem 1.5rem;
	background: var(--color-surface);
	border: var(--soft-border);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-md);
}

.coming-soon__badge {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	background: var(--color-accent-soft);
	color: #2e3d3d;
	padding: 0.35rem 0.9rem;
	border-radius: var(--radius-pill);
	margin-bottom: 1.25rem;
}

.coming-soon__title {
	font-size: clamp(1.75rem, 4vw, 2.25rem);
	margin-bottom: 1rem;
}

.coming-soon__text {
	color: var(--color-text-muted);
	max-width: 520px;
	margin: 0 auto 1rem;
}

.coming-soon__hint {
	font-size: 0.9rem;
	color: var(--color-text-muted);
	margin-bottom: 1.5rem;
}

/* Contact Form */
.contact-page {
	background: var(--color-surface);
	border: var(--soft-border);
	border-radius: var(--radius-xl);
	padding: 2rem;
	box-shadow: var(--shadow-sm);
}

.contact-form {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.contact-form__notice {
	margin: 0;
	font-size: 0.88rem;
	color: var(--color-text-muted);
	line-height: 1.5;
}

.contact-form__honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.contact-form__field label {
	display: block;
	font-size: 0.88rem;
	font-weight: 600;
	margin-bottom: 0.4rem;
	color: var(--color-text);
}

.contact-form__field input,
.contact-form__field textarea {
	width: 100%;
	padding: 0.85rem 1rem;
	border: var(--soft-border);
	border-radius: var(--radius-md);
	background: var(--color-input-bg);
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 1rem;
	transition: box-shadow var(--transition), border-color var(--transition);
}

.contact-form__field input:focus,
.contact-form__field textarea:focus {
	outline: none;
	border-color: var(--color-cute);
	box-shadow: var(--shadow-glow);
}

.contact-notice {
	padding: 0.85rem 1rem;
	border-radius: var(--radius-md);
	margin-bottom: 1.25rem;
	font-size: 0.9rem;
}

.contact-notice--success {
	background: rgba(34, 197, 94, 0.12);
	color: #15803d;
	border: 1px solid rgba(34, 197, 94, 0.3);
}

.contact-notice--error {
	background: rgba(239, 68, 68, 0.1);
	color: #b91c1c;
	border: 1px solid rgba(239, 68, 68, 0.25);
}

[data-theme="dark"] .contact-notice--success {
	color: #86efac;
}

[data-theme="dark"] .contact-notice--error {
	color: #fca5a5;
}

/* Footer Podcast Platforms */
.footer-podcast {
	margin-bottom: 0;
}

.podcast-platforms--footer {
	justify-content: flex-start;
}

/* Footer Support — low prominence */
.footer-support {
	margin-bottom: 1.25rem;
	padding: 0;
	background: transparent;
	border: none;
	border-radius: 0;
}

.footer-support--subtle {
	opacity: 1;
}

.footer-heading--subtle {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: lowercase;
	font-variant: all-small-caps;
	color: rgba(248, 248, 248, 0.9);
	opacity: 1;
	margin-bottom: 0.5rem;
}

.footer-support__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 0.85rem;
}

.footer-support__text {
	color: var(--color-footer-text);
	font-size: 0.78rem;
}

.footer-support__item {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0;
	background: transparent;
	border: none;
	border-radius: 0;
	color: var(--color-footer-text);
	text-decoration: none;
	font-size: 0.78rem;
	font-weight: 500;
	transition: color var(--transition);
}

.footer-support__item:hover {
	background: transparent;
	color: var(--color-accent-light);
	transform: none;
}

.footer-support__item--soon {
	opacity: 1;
	cursor: default;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.footer-support__item--soon small {
	display: inline;
	margin-left: 0.35rem;
	padding: 0;
	font-size: 0.68rem;
	font-weight: 600;
	text-transform: lowercase;
	letter-spacing: 0.04em;
	color: rgba(248, 248, 248, 0.55);
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	opacity: 1;
}

.footer-support__icon {
	display: flex;
	align-items: center;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.footer-support__icon .icon-svg,
.footer-support__icon .icon-svg__graphic,
.footer-support__icon svg {
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
}

.newsletter__eyebrow {
	color: var(--color-hero-muted) !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}

.community-cta .coming-soon__badge {
	margin-bottom: 0.75rem;
}

/* ==========================================================================
   Home Intro & Journal Timeline
   ========================================================================== */
.home-intro {
	font-size: 1.1rem;
	line-height: 1.75;
	color: var(--color-text-muted);
	text-align: center;
	margin: 0;
}

.journal-timeline {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.journal-entry {
	padding: 1.25rem 0;
	border-bottom: 2px solid var(--color-border-soft);
}

.journal-entry:last-child {
	border-bottom: none;
}

.journal-entry__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem;
	margin-bottom: 0.35rem;
	font-size: 0.8rem;
	color: var(--color-text-muted);
}

.journal-entry__badge {
	display: inline-block;
	padding: 0.15rem 0.55rem;
	border: 1px solid var(--color-border-soft);
	border-radius: var(--radius-pill);
	font-size: 0.7rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.journal-entry__badge--fitness {
	border-color: var(--color-accent);
	color: var(--color-accent);
}

.journal-entry__badge--life {
	border-color: var(--color-warm);
	color: var(--color-primary);
}

.journal-entry__badge--razmisljanja {
	border-color: var(--color-primary);
	color: var(--color-text);
}

.journal-entry__title {
	font-family: var(--font-display);
	font-size: 1.15rem;
	margin: 0 0 0.35rem;
}

.journal-entry__media {
	margin: 0.75rem 0 1rem;
}

.journal-entry__media--portrait {
	display: flex;
	justify-content: center;
}

.journal-entry__media--portrait .media-brutal-frame {
	width: 100%;
	max-width: min(100%, 360px);
}

.journal-entry__excerpt {
	color: var(--color-text-muted);
	margin: 0 0 0.5rem;
	font-size: 0.95rem;
}

/* ==========================================================================
   Featured Media & Media Page
   ========================================================================== */
.featured-media-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.5rem;
}

.featured-media-item__label {
	display: block;
	font-weight: 700;
	font-size: 0.85rem;
	margin-bottom: 0.75rem;
}

.media-page {
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

/* Media Hub landing — soft brutalism cards */
.media-hub {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: 1.25rem;
	margin-top: 0.5rem;
}

.media-hub-card {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	min-height: 100%;
	padding: 1.35rem 1.25rem;
	background: var(--color-surface);
	border: 2px solid var(--color-border-soft);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-sm);
	color: var(--color-text);
	text-decoration: none;
	transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}

.media-hub-card:hover,
.media-hub-card:focus-visible {
	transform: translateY(-2px);
	box-shadow: var(--shadow-md);
	border-color: var(--color-accent);
	color: var(--color-text);
}

.media-hub-card__icon {
	font-size: 1.75rem;
	line-height: 1;
}

.media-hub-card__title {
	font-family: var(--font-display);
	font-size: 1.2rem;
	margin: 0;
	line-height: 1.2;
}

.media-hub-card__desc {
	margin: 0;
	font-size: 0.92rem;
	color: var(--color-text-muted);
	line-height: 1.5;
	flex: 1;
}

.media-hub-card__cta {
	margin-top: 0.75rem;
	font-size: 0.82rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--color-accent);
}

.media-section {
	padding: 2rem 0;
	border-top: 2px solid var(--color-border-soft);
}

.media-section:first-child {
	border-top: none;
	padding-top: 0;
}

.media-section__title {
	font-family: var(--font-display);
	font-size: 1.5rem;
	margin: 0 0 1.25rem;
}

.media-section__subtitle {
	font-size: 1rem;
	font-weight: 600;
	margin: 1.5rem 0 1rem;
}

.media-section__hiatus {
	margin-bottom: 1rem;
}

.media-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.25rem;
}

.media-card {
	border: 2px solid var(--color-border-soft);
	border-radius: var(--radius-md);
	padding: 1rem;
	background: var(--color-surface);
}

.media-card__title {
	font-size: 1rem;
	margin: 0 0 0.75rem;
}

.media-card__embed iframe {
	max-width: 100%;
	border-radius: var(--radius-sm);
}

.media-season__list {
	list-style: none;
	padding: 1rem 1.25rem;
	margin: 0;
	border: 2px solid var(--color-border-soft);
	border-radius: var(--radius-md);
	background: var(--color-surface);
}

.media-season__list li {
	padding: 0.35rem 0;
}

.media-season__list span {
	color: var(--color-text-muted);
	margin-right: 0.35rem;
}

.community-discord--home {
	margin-top: 2rem;
	padding-top: 0;
	border-top: none;
}

/* Homepage Discord card — soft brutalist, aligned with newsletter */
.discord-card-wrap {
	max-width: 36rem;
	margin: 2rem auto 0;
}

.discord-card {
	text-align: center;
}

.discord-card__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.85rem;
	padding: 2rem 1.75rem;
	background: var(--color-surface);
	border: 2px solid rgba(88, 101, 242, 0.35);
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-sm);
}

.discord-card .section__eyebrow {
	display: inline-flex !important;
	width: auto;
	margin: 0 auto 1rem auto;
}

.discord-card__title {
	font-family: var(--font-display);
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
	font-weight: 700;
	text-transform: lowercase;
	margin: 0;
	line-height: 1.35;
	max-width: 36rem;
}

.discord-card__btn {
	margin-top: 0.25rem;
	text-transform: lowercase;
	font-weight: 700;
	letter-spacing: 0.03em;
}

/* Legacy discord-feature (community page) */
.section--discord {
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
}

.discord-feature {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 0.85rem;
	max-width: 32rem;
	margin: 0 auto;
	padding: 2rem 1.75rem;
	border: 2px solid rgba(88, 101, 242, 0.4);
	border-radius: var(--radius-md);
	background: var(--color-surface);
	box-shadow: 4px 4px 0 rgba(88, 101, 242, 0.12);
}

.discord-invite__eyebrow {
	display: inline-flex !important;
	width: auto;
	margin: 0 0 0.35rem;
	text-transform: lowercase;
}

.discord-feature__title {
	font-family: var(--font-display);
	font-size: 1.45rem;
	font-weight: 700;
	text-transform: lowercase;
	margin: 0;
	letter-spacing: 0.02em;
	line-height: 1.35;
}

.discord-feature__btn {
	margin-top: auto;
	align-self: flex-start;
	text-transform: lowercase;
	font-weight: 700;
	letter-spacing: 0.03em;
}

.community-hub__block--discord .coming-soon__badge {
	display: none !important;
}

.discord-invite--home {
	max-width: 28rem;
	margin-left: auto;
	margin-right: auto;
	padding: 1.35rem 1.5rem;
	border: 2px solid rgba(88, 101, 242, 0.35);
	border-radius: var(--radius-md);
	background: var(--color-surface);
}

/* ==========================================================================
   Home Community CTA & Community Hub
   ========================================================================== */
.home-community-cta {
	text-align: center;
	padding: 2rem;
	border: 2px solid var(--color-border-soft);
	border-radius: var(--radius-lg);
	background: var(--color-surface);
}

.home-community-cta__lead {
	font-size: 1.05rem;
	line-height: 1.6;
	margin: 0 0 1.25rem;
}

.home-community-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
	align-items: center;
}

.newsletter__form--inline {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	justify-content: center;
}

.community-tagline {
	font-style: italic;
	color: var(--color-text-muted);
	margin-top: 0.5rem;
}

.community-hub {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.community-hub--pillars {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: 1.25rem;
	max-width: 42rem;
	margin-left: auto;
	margin-right: auto;
}

.community-hub__block,
.community-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	text-align: center;
	min-height: 100%;
	padding: 1.5rem;
	border: 2px solid var(--color-border-soft);
	border-radius: var(--radius-md);
	background: var(--color-surface);
}

.community-card .section__eyebrow,
.social-card .section__eyebrow {
	display: inline-flex !important;
	width: auto;
	max-width: none;
	margin: 0 auto 1rem auto;
}

.community-card__title,
.community-hub__block h2 {
	font-family: var(--font-display);
	font-size: 1.2rem;
	margin: 0 0 0.5rem;
	text-transform: lowercase;
}

.community-card__text {
	margin: 0 0 1rem;
	font-size: 0.92rem;
	color: var(--color-text-muted);
	line-height: 1.55;
	flex: 1;
}

.community-hub__block > .btn,
.community-hub__block > a.btn,
.community-card > .btn,
.community-card > a.btn,
.community-card__btn,
.community-card .discord-card__btn {
	margin-top: auto;
	align-self: center;
}

.community-hub__block.discord-card .discord-card__inner {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	flex: 1;
	width: 100%;
	min-height: 100%;
	gap: 0.65rem;
	padding: 0;
	border: none;
	box-shadow: none;
	background: transparent;
}

.community-hub__icon {
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 0.75rem;
	border-radius: var(--radius-md);
	border: var(--soft-border);
	background: var(--color-bg-alt);
	color: var(--color-text);
}

@media (max-width: 768px) {
	.stream-channels-cta {
		grid-template-columns: 1fr;
		max-width: 14rem;
	}

	.community-hub--pillars {
		grid-template-columns: 1fr;
	}
}

.community-hub__block--soon .coming-soon__badge {
	margin-top: 0.75rem;
}

.community-hub__block--discord {
	border-color: rgba(88, 101, 242, 0.35);
}

.community-hub__icon--discord {
	color: #5865f2;
}

/* Discord invite — community page */
.discord-invite {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex: 1;
	gap: 0.75rem;
	min-height: 100%;
}

.discord-invite__body {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex: 1;
	gap: 0.65rem;
}

.discord-invite__title {
	font-family: var(--font-display);
	font-size: 1.2rem;
	font-weight: 700;
	text-transform: lowercase;
	margin: 0;
	letter-spacing: 0.02em;
}

.discord-invite__text {
	margin: 0;
	font-size: 0.92rem;
	color: var(--color-text-muted);
	line-height: 1.55;
	text-transform: lowercase;
}

.discord-invite__btn {
	margin-top: auto;
	align-self: flex-start;
	text-transform: lowercase;
	font-weight: 700;
	letter-spacing: 0.03em;
}

/* ==========================================================================
   Latest Content Tabs (legacy)
   ========================================================================== */
.latest-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
}

.latest-tabs__btn {
	padding: 0.45rem 1rem;
	border: 2px solid var(--color-border-soft);
	background: var(--color-surface);
	color: var(--color-text);
	border-radius: var(--radius-pill);
	font-family: var(--font-display);
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
	transition: background var(--transition), border-color var(--transition), color var(--transition);
}

.latest-tabs__btn:hover,
.latest-tabs__btn.is-active {
	background: var(--color-accent);
	color: var(--color-text);
	border-color: var(--color-border);
}

.latest-tabs__panel[hidden] {
	display: none;
}

.content-card__badge {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 0.2rem 0.55rem;
	margin-bottom: 0.5rem;
	border-radius: var(--radius-pill);
	background: var(--color-accent-soft);
	color: var(--color-accent);
}

.card__link {
	display: inline-block;
	margin-top: 0.5rem;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--color-accent);
}

.no-posts-inline {
	color: var(--color-text-muted);
	padding: 1rem 0;
}

/* ==========================================================================
   Fitness Journey
   ========================================================================== */
.fitness-card__period {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--color-accent);
	margin-bottom: 0.35rem;
}

.fitness-card__weights {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	font-size: 0.85rem;
	color: var(--color-text-muted);
	margin: 0.5rem 0;
}

.fitness-timeline {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.fitness-timeline__content {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: var(--soft-border);
}

/* ==========================================================================
   Overwatch
   ========================================================================== */
.overwatch-status {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.65rem 1rem;
	margin-bottom: 2rem;
	border: 2px solid var(--color-border-soft);
	border-radius: var(--radius-md);
	background: var(--color-surface);
}

.overwatch-status__label {
	font-weight: 600;
	color: var(--color-text-muted);
}

.overwatch-status__value {
	font-family: var(--font-display);
	font-weight: 700;
	color: var(--color-accent);
}

/* ==========================================================================
   Video Highlights — native uploads, embeds, Video Block
   ========================================================================== */
.highlights-hub {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.highlights-filter {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.55rem;
	margin: 0 0 1.25rem;
	padding: 0;
	list-style: none;
}

.highlights-filter__input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.highlights-filter__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.35rem 0.85rem;
	font-size: 0.72rem;
	font-family: var(--font-body);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: lowercase;
	color: #2e3d3d;
	background: var(--color-accent-soft);
	border: var(--soft-border);
	border-radius: var(--radius-pill);
	cursor: pointer;
	box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.08);
	transition: color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.highlights-filter__btn:hover {
	color: var(--color-accent);
	transform: translateY(-1px);
}

.highlights-filter__input:focus-visible + .highlights-filter__btn {
	outline: 2px solid var(--color-accent);
	outline-offset: 3px;
}

.highlights-filter__input:checked + .highlights-filter__btn {
	color: #fff;
	background: var(--color-accent);
	border-color: var(--color-accent);
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.14);
}

.posts-grid--highlights-hub {
	margin-top: 0;
}

.section__subtitle--lowercase {
	text-transform: lowercase;
}

.highlight-card__type {
	order: 0;
	margin: 0;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: lowercase;
	color: var(--color-accent);
}

.posts-grid--highlights,
.posts-grid--highlights-hub {
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	align-items: start;
}

.highlight-card {
	display: flex;
	flex-direction: column;
	height: auto;
	width: 100%;
	box-shadow: none;
	border: 0;
	background: transparent;
	overflow: visible;
	transition: none;
}

.posts-grid--highlights .highlight-card.card:hover,
.posts-grid--highlights-hub .highlight-card.card:hover {
	transform: none;
	box-shadow: none;
}

.highlight-card--landscape {
	width: 100%;
}

.highlight-card--portrait {
	width: 100%;
	max-width: min(400px, 90vw);
	justify-self: center;
}

.highlight-card__link {
	display: flex;
	flex-direction: column;
	height: auto;
	width: 100%;
	gap: 0.85rem;
	color: inherit;
	text-decoration: none;
}

@media (hover: hover) {
	.highlight-card__link:hover .media-brutal-frame {
		border-color: var(--color-text);
		box-shadow: 8px 8px 0 rgba(0, 0, 0, 0.18);
	}

	[data-theme="dark"] .highlight-card__link:hover .media-brutal-frame {
		box-shadow: 8px 8px 0 rgba(0, 0, 0, 0.45);
	}
}

.highlight-card__thumb {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
	overflow: hidden;
	border-radius: var(--radius-md) var(--radius-md) 0 0;
	background: transparent;
}

.highlight-card__thumb--landscape .media-brutal-frame {
	width: 100%;
}

.highlight-card__thumb--portrait {
	width: 100%;
	background: transparent;
}

.highlight-card__thumb--portrait .media-brutal-frame--portrait {
	width: 100%;
	max-width: 100%;
	max-height: min(70vh, calc(400px * 16 / 9));
	margin-inline: auto;
}

.highlight-card__thumb .media-brutal-frame {
	border-radius: var(--radius-md) var(--radius-md) 0 0;
}

.posts-grid--highlights-hub .media-brutal-frame--video,
.posts-grid--highlights-hub .media-brutal-frame--portrait {
	background: #000;
}

.highlight-card .card__title {
	font-family: var(--font-display);
	font-size: 1.05rem;
	font-weight: 600;
	text-transform: lowercase;
	letter-spacing: -0.01em;
	line-height: 1.35;
}

.highlight-card .card__meta {
	font-size: 0.78rem;
	color: var(--color-text-muted);
}

@media (max-width: 767px) {
	.highlight-card--portrait {
		max-width: 90%;
	}
}

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

/* Soft Brutalism media frame — Journal + Highlights */
.media-brutal-frame {
	display: block;
	width: 100%;
	overflow: hidden;
	background: transparent;
	border: 3px solid var(--color-text);
	border-radius: var(--radius-md);
	box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.12);
	transition: border-color var(--transition), box-shadow var(--transition);
}

.media-brutal-frame--landscape {
	aspect-ratio: 16 / 9;
}

.media-brutal-frame--portrait {
	aspect-ratio: 9 / 16;
	width: auto;
	max-width: min(100%, 400px);
	max-height: 70vh;
	margin-inline: auto;
	padding: 0;
	overflow: hidden;
	line-height: 0;
	background: #000;
}

.posts-grid--highlights-hub .media-brutal-frame--portrait {
	width: 100%;
	max-width: 100%;
}

.media-brutal-frame .highlight-card__media,
.media-brutal-frame .highlight-card__media-item,
.media-brutal-frame .wp-block-video,
.media-brutal-frame .wp-block-embed,
.media-brutal-frame video,
.media-brutal-frame iframe {
	width: 100%;
	height: 100%;
	min-height: 0;
	display: block;
	margin: 0;
	padding: 0;
}

.media-brutal-frame--landscape video,
.media-brutal-frame--landscape img {
	object-fit: cover;
}

.media-brutal-frame--portrait video,
.media-brutal-frame--portrait img,
.media-brutal-frame--portrait iframe,
.media-brutal-frame--portrait .wp-block-video video {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center center;
	display: block;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.media-brutal-frame--portrait .highlight-card__media,
.media-brutal-frame--portrait .highlight-card__media-item,
.media-brutal-frame--portrait .wp-block-video,
.media-brutal-frame--portrait .wp-block-embed,
.media-brutal-frame--portrait .wp-block-embed__wrapper,
.media-brutal-frame--portrait figure {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.media-brutal-frame--portrait .wp-block-embed__wrapper {
	position: relative;
}

.media-brutal-frame--portrait .wp-block-embed__wrapper::before {
	display: none;
}

.media-brutal-frame--portrait .wp-block-embed__wrapper iframe {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.media-brutal-frame video {
	background: transparent;
}

.media-brutal-frame img {
	width: 100%;
	height: 100%;
	display: block;
}

.media-brutal-frame--video video::-webkit-media-controls-panel,
.media-brutal-frame .wp-block-video video::-webkit-media-controls-panel,
.media-brutal-frame--portrait.media-brutal-frame--video video::-webkit-media-controls-panel {
	background: transparent !important;
	background-image: none !important;
	filter: none !important;
}

.media-brutal-frame--video video::-webkit-media-controls-timeline,
.media-brutal-frame .wp-block-video video::-webkit-media-controls-timeline,
.media-brutal-frame--portrait.media-brutal-frame--video video::-webkit-media-controls-timeline {
	background: rgba(255, 255, 255, 0.22);
	border-radius: 999px;
}

.media-brutal-frame--video video::-webkit-media-controls-current-time-display,
.media-brutal-frame--video video::-webkit-media-controls-time-remaining-display,
.media-brutal-frame--portrait.media-brutal-frame--video video::-webkit-media-controls-current-time-display,
.media-brutal-frame--portrait.media-brutal-frame--video video::-webkit-media-controls-time-remaining-display {
	color: #f0f0f0;
}

.media-brutal-frame--video video::-webkit-media-controls-play-button,
.media-brutal-frame--video video::-webkit-media-controls-mute-button,
.media-brutal-frame--portrait.media-brutal-frame--video video::-webkit-media-controls-play-button,
.media-brutal-frame--portrait.media-brutal-frame--video video::-webkit-media-controls-mute-button {
	filter: none !important;
}

/* ==========================================================================
   Video overlay termination — force natural color on all browsers
   ========================================================================== */
.media-brutal-frame::before,
.media-brutal-frame::after,
.highlight-card::before,
.highlight-card::after,
.highlight-card__thumb::before,
.highlight-card__thumb::after {
	display: none !important;
	content: none !important;
	background: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	filter: none !important;
	opacity: 1 !important;
}

.media-brutal-frame video,
.media-brutal-frame iframe,
.highlight-card__media video,
.highlight-card__media iframe,
.single-post__media video,
.single-highlight__media video,
.journal-entry__media video,
.entry-content .wp-block-video video,
.entry-content video.wp-video-shortcode,
video,
iframe {
	filter: none !important;
	-webkit-filter: none !important;
	background-color: transparent !important;
	mix-blend-mode: normal !important;
}

video::-webkit-media-controls-panel,
.media-brutal-frame video::-webkit-media-controls-panel,
.highlight-card__media video::-webkit-media-controls-panel {
	background-image: none !important;
	background: transparent !important;
	filter: none !important;
	-webkit-filter: none !important;
}

video::-webkit-media-controls-enclosure {
	background: transparent !important;
	background-image: none !important;
}

.highlight-card__thumb--media {
	aspect-ratio: 16 / 9;
	border-radius: var(--radius-md) var(--radius-md) 0 0;
}

.card-media-frame {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: var(--radius-md) var(--radius-md) 0 0;
	background: var(--color-bg-alt);
	border: var(--soft-border);
}

.card-media-frame img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.highlight-card__thumb--media .highlight-card__media,
.highlight-card__thumb--media .highlight-card__media-item {
	height: 100%;
	min-height: 0;
}

.highlight-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	flex: 1;
	padding: 0 0.15rem 0.25rem;
}

.highlight-card__body .card__title {
	order: 1;
	margin: 0;
}

.highlight-card__body .card__meta {
	order: 2;
	margin: 0;
}

.highlight-card__media {
	margin-top: 0.35rem;
}

.highlight-card__media--below {
	padding: 0 1.15rem 1.15rem;
}

.highlight-card__media-item + .highlight-card__media-item {
	margin-top: 0.75rem;
}

.highlight-card__excerpt {
	margin-top: 0.25rem;
}

.highlight-card__thumb--portrait .highlight-card__media,
.highlight-card__thumb--portrait .highlight-card__media-item {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	line-height: 0;
}

.highlight-card__thumb--portrait .highlight-card__media video,
.highlight-card__thumb--portrait .highlight-card__media .wp-block-video,
.highlight-card__thumb--portrait .highlight-card__media .wp-block-video video {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center center;
}

.highlight-card__media .wp-block-video,
.highlight-card__media .wp-block-embed,
.entry-content .wp-block-video,
.entry-content .wp-block-embed {
	margin: 0;
}

.highlight-card__media video,
.highlight-card__media .wp-block-video video,
.entry-content .wp-block-video video,
.entry-content video.wp-video-shortcode {
	width: 100%;
	max-width: 100%;
	height: auto;
	display: block;
	border-radius: var(--radius-sm);
	background: transparent;
}

.highlight-card__media iframe,
.highlight-card__media .wp-block-embed iframe,
.entry-content .wp-block-embed iframe,
.highlight-card__media--legacy iframe {
	width: 100%;
	max-width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border: 0;
	border-radius: var(--radius-sm);
}

.highlight-card__media .wp-block-embed__wrapper,
.entry-content .wp-block-embed__wrapper {
	position: relative;
	width: 100%;
}

.highlight-card__media .wp-block-embed__wrapper::before,
.entry-content .wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper::before {
	content: '';
	display: block;
	padding-top: 56.25%;
}

.highlight-card__media .wp-block-embed__wrapper iframe,
.entry-content .wp-block-embed__wrapper iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.no-posts--highlights {
	padding: 2rem 0;
}

.overwatch-card__content {
	margin-top: 0.75rem;
	font-size: 0.9rem;
}

.overwatch-card__content iframe {
	max-width: 100%;
	border-radius: var(--radius-sm);
}

/* ==========================================================================
   Telegram CTA
   ========================================================================== */
.telegram-cta {
	display: flex;
	align-items: flex-start;
	gap: 1.25rem;
	padding: 2rem;
	border: 2px solid var(--color-border-soft);
	border-radius: var(--radius-lg);
	background: var(--color-surface);
}

.telegram-cta__icon {
	flex-shrink: 0;
	width: 3rem;
	height: 3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-md);
	border: var(--soft-border);
	background: var(--color-bg-alt);
	color: var(--color-text);
}

.telegram-cta__icon .icon-svg svg {
	width: 1.5rem;
	height: 1.5rem;
}

.telegram-cta__title {
	font-family: var(--font-display);
	font-size: 1.35rem;
	margin: 0.25rem 0 0.5rem;
}

.telegram-cta__text {
	color: var(--color-text-muted);
	margin-bottom: 1rem;
}

/* ==========================================================================
   Podcast Hiatus & /now
   ========================================================================== */
.page-header--podcast {
	text-align: center;
}

.podcast-hiatus {
	margin-top: 0.75rem;
}

.podcast-hiatus__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px 16px;
	margin: 0 auto 0.75rem;
	border: 2px dashed var(--color-border-soft);
	border-radius: 50px;
	font-size: 0.85rem;
	font-weight: 600;
}

.podcast-page__archive {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 2px solid var(--color-border-soft);
}

/* Podcast hub — clean Soft Brutalism layout */
.podcast-hiatus--minimal {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.65rem;
	margin-top: 0.5rem;
	text-align: center;
}

.podcast-hiatus__text {
	margin: 0 auto;
	text-align: center;
	color: var(--color-text-muted);
	font-size: 0.95rem;
	max-width: 42rem;
}

.podcast-hub {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.podcast-hub__here-first {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.podcast-hub__here-first .podcast-featured {
	width: 100%;
	max-width: 720px;
	margin-inline: auto;
}

.podcast-hub__section-title,
.podcast-hub__listen-heading,
.podcast-archive__heading {
	font-size: 1.2rem;
	margin: 0 0 0.75rem;
	color: var(--color-accent);
	text-transform: lowercase;
}

.podcast-hub__listen {
	padding: 1.75rem;
	background: var(--color-bg-alt);
	border: var(--soft-border);
	border-radius: var(--radius-xl);
	min-height: 12rem;
}

.podcast-hub__listen--home {
	margin-top: 2rem;
}

.section--podcast .podcast-empty + .podcast-hub__listen--home {
	margin-top: 1.5rem;
}

.podcast-hub__listen-lead,
.podcast-archive__lead {
	margin: 0 0 1rem;
	color: var(--color-text-muted);
	font-size: 0.92rem;
	text-transform: lowercase;
}

.podcast-hub__empty {
	min-height: 4.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	color: var(--color-text-muted);
	font-size: 0.95rem;
	text-align: center;
	max-width: 42rem;
}

.podcast-featured__player {
	min-height: 54px;
}

.podcast-archive-row__player {
	min-height: 54px;
}

.podcast-platforms--hub {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 0.75rem;
	margin-top: 0.5rem;
	min-height: 7.5rem;
	align-content: start;
}

@media (max-width: 480px) {
	.podcast-platforms--hub {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.podcast-platforms--hub .podcast-platform {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.85rem 1rem;
	background: var(--color-surface);
	border: var(--soft-border);
	border-radius: var(--radius-md);
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: none;
	color: var(--color-text);
	transition: transform var(--transition), box-shadow var(--transition);
}

.podcast-platforms--hub .podcast-platform:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-sm);
}

.podcast-featured {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr);
	gap: 1.5rem;
	padding: 1.5rem;
	background: var(--color-surface);
	border: 2px solid var(--color-accent);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-md);
}

.podcast-featured__art {
	border-radius: var(--radius-md);
}

.podcast-featured__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
}

.podcast-featured__badge {
	display: inline-flex;
	align-items: center;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	background: var(--color-accent);
	color: #fff;
	padding: 0.35rem 0.85rem;
	border-radius: var(--radius-pill);
}

.podcast-featured__site-tag {
	display: inline-flex;
	align-items: center;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--color-accent);
	padding: 0.3rem 0.75rem;
	border: var(--soft-border);
	border-radius: var(--radius-pill);
	background: var(--color-accent-soft);
}

.podcast-featured__title {
	margin: 0 0 0.5rem;
	font-size: clamp(1.35rem, 3vw, 1.85rem);
}

.podcast-featured__desc {
	margin: 0 0 1rem;
	color: var(--color-text-muted);
	font-size: 0.95rem;
}

.podcast-featured__player audio,
.podcast-featured__player .wp-block-audio {
	width: 100%;
}

.podcast-archive {
	padding-top: 1.5rem;
	border-top: 2px solid var(--color-border-soft);
}

.podcast-archive__list {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.podcast-archive-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
	gap: 1rem;
	align-items: center;
	padding: 1rem 1.15rem;
	background: var(--color-surface);
	border: var(--soft-border);
	border-radius: var(--radius-md);
}

.podcast-archive-row__title {
	margin: 0 0 0.2rem;
	font-size: 1rem;
}

.podcast-archive-row__date {
	font-size: 0.82rem;
	color: var(--color-text-muted);
}

.podcast-archive-row__player audio,
.podcast-archive-row__player .wp-block-audio {
	width: 100%;
	margin: 0;
}

@media (max-width: 768px) {
	.podcast-featured {
		grid-template-columns: 1fr;
	}

	.podcast-archive-row {
		grid-template-columns: 1fr;
	}
}

.site-main--now .now-page {
	padding: 1.5rem 0;
	font-size: 1.05rem;
	line-height: 1.7;
}

.now-page__back {
	margin-top: 2rem;
}

.now-page__back a {
	font-weight: 600;
	color: var(--color-accent);
}

@media (max-width: 640px) {
	.telegram-cta {
		flex-direction: column;
		align-items: stretch;
	}
}

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

	html {
		scroll-behavior: auto;
	}
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	word-wrap: normal !important;
}

/* ==========================================================================
   dvoimeni's accessibility hub — floating soft brutalism
   ========================================================================== */

.a11y-hub {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 9998;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.75rem;
	pointer-events: none;
}

.a11y-hub__trigger {
	pointer-events: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	min-width: 44px;
	min-height: 44px;
	border-radius: 999px;
	border: 3px solid var(--color-text);
	background: var(--color-bg);
	color: var(--color-text);
	box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.18);
	cursor: pointer;
	transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.a11y-hub__trigger:hover,
.a11y-hub__trigger:focus-visible {
	background: var(--color-accent);
	color: var(--color-bg);
	box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.22);
	transform: translate(-1px, -1px);
	outline: none;
}

[data-theme="dark"] .a11y-hub__trigger {
	box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.6);
}

[data-theme="dark"] .a11y-hub__trigger:hover,
[data-theme="dark"] .a11y-hub__trigger:focus-visible {
	box-shadow: 5px 5px 0 rgba(77, 208, 199, 0.35);
}

.a11y-hub__icon-svg {
	width: 1.4rem;
	height: 1.4rem;
	fill: currentColor;
}

.a11y-hub__panel {
	pointer-events: auto;
	min-width: 260px;
	max-width: 320px;
	background: var(--color-bg);
	color: var(--color-text);
	border: 3px solid var(--color-text);
	box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.22);
	border-radius: 12px;
	padding: 0.85rem 1rem 0.9rem;
	transform-origin: 100% 100%;
	transform: translateY(8px) scale(0.98);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.a11y-hub__panel.is-open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0) scale(1);
}

.a11y-hub__inner {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.a11y-hub__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.25rem;
}

.a11y-hub__title {
	margin: 0;
	font-size: 0.88rem;
	font-weight: 700;
	text-transform: lowercase;
	letter-spacing: 0.04em;
	line-height: 1.35;
	flex: 1;
}

.a11y-hub__close {
	border: none;
	background: transparent;
	color: inherit;
	padding: 0.15rem;
	line-height: 1;
	cursor: pointer;
	font-size: 1.25rem;
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.a11y-hub__close:hover,
.a11y-hub__close:focus-visible {
	color: var(--color-accent);
	outline: none;
}

.a11y-hub__group {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

.a11y-hub__label {
	margin: 0;
	font-size: 0.8rem;
	text-transform: lowercase;
	letter-spacing: 0.06em;
	color: var(--color-text-muted);
}

.a11y-hub__controls {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.a11y-hub__controls--inline {
	flex-direction: row;
	flex-wrap: wrap;
}

.a11y-hub__footer {
	margin-top: 0.25rem;
	display: flex;
	justify-content: flex-start;
}

.a11y-hub__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.55rem 0.85rem;
	min-height: 44px;
	border-radius: 999px;
	border: 2px solid var(--color-text);
	background: var(--color-bg);
	color: var(--color-text);
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: lowercase;
	letter-spacing: 0.04em;
	cursor: pointer;
	transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.a11y-hub__btn--pill {
	flex: 1 1 auto;
}

.a11y-hub__btn--toggle {
	width: 100%;
	justify-content: flex-start;
}

.a11y-hub__btn--ghost {
	background: transparent;
	border-style: dashed;
}

.a11y-hub__btn:hover,
.a11y-hub__btn:focus-visible {
	background: var(--color-accent-soft);
	border-color: var(--color-accent);
	color: var(--color-text);
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.16);
	transform: translate(-1px, -1px);
	outline: none;
}

.a11y-hub__btn.is-active {
	background: var(--color-accent);
	color: var(--color-bg);
	border-color: var(--color-accent);
	box-shadow: 3px 3px 0 var(--color-accent-glow);
}

[data-theme="dark"] .a11y-hub__panel {
	box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.7);
}

[data-theme="dark"] .a11y-hub__btn:hover,
[data-theme="dark"] .a11y-hub__btn:focus-visible {
	box-shadow: 3px 3px 0 rgba(77, 208, 199, 0.35);
}

@media (max-width: 767px) {
	.a11y-hub {
		right: 20px;
		bottom: 20px;
		left: auto;
	}

	.a11y-hub__panel {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		min-width: 0;
		max-width: none;
		width: 100%;
		border-radius: 12px 12px 0 0;
		padding: 1rem 1.25rem calc(1rem + env(safe-area-inset-bottom, 0px));
		transform: translateY(100%);
		transform-origin: 50% 100%;
	}

	.a11y-hub__panel.is-open {
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.a11y-hub__panel {
		transition: none;
	}

	.a11y-hub__btn,
	.a11y-hub__trigger {
		transition: none;
	}
}

html.font-accessible {
	line-height: 1.6;
}

/* High contrast — dark theme (pitch black / pure white) */
html[data-theme="dark"].high-contrast-mode {
	--color-bg: #000000;
	--color-bg-alt: #000000;
	--color-surface: #000000;
	--color-text: #ffffff;
	--color-text-muted: #ffffff;
	--color-border: #ffffff;
	--color-border-soft: #ffffff;
	--color-accent: #ffffff;
	--color-header-bg: #000000;
	--color-input-bg: #000000;
}

html[data-theme="dark"].high-contrast-mode,
html[data-theme="dark"].high-contrast-mode body {
	background-color: #000000 !important;
	color: #ffffff !important;
}

html[data-theme="dark"].high-contrast-mode a {
	color: #ffffff !important;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.15em;
}

html[data-theme="dark"].high-contrast-mode a:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

/* High contrast hero buttons — dark: black fill / white text + border */
html[data-theme="dark"].high-contrast-mode .hero__btns .btn,
html[data-theme="dark"].high-contrast-mode .hero__btns .btn--primary,
html[data-theme="dark"].high-contrast-mode .hero__btns .btn--outline,
html[data-theme="dark"].high-contrast-mode .hero__btns .btn--secondary,
html[data-theme="dark"].high-contrast-mode .btn.btn--primary {
	background: #000000 !important;
	color: #ffffff !important;
	border: 3px solid #ffffff !important;
	box-shadow: 3px 3px 0 #ffffff !important;
	font-weight: 700;
	-webkit-text-fill-color: #ffffff !important;
}

html[data-theme="dark"].high-contrast-mode .hero__btns .btn:hover,
html[data-theme="dark"].high-contrast-mode .hero__btns .btn:focus-visible,
html[data-theme="dark"].high-contrast-mode .hero__btns .btn--primary:hover,
html[data-theme="dark"].high-contrast-mode .hero__btns .btn--primary:focus-visible,
html[data-theme="dark"].high-contrast-mode .btn.btn--primary:hover,
html[data-theme="dark"].high-contrast-mode .btn.btn--primary:focus-visible {
	background: #ffffff !important;
	color: #000000 !important;
	border-color: #ffffff !important;
	-webkit-text-fill-color: #000000 !important;
}

/* High contrast hero buttons — light: white fill / black text + border */
html[data-theme="light"].high-contrast-mode .hero__btns .btn,
html[data-theme="light"].high-contrast-mode .hero__btns .btn--primary,
html[data-theme="light"].high-contrast-mode .hero__btns .btn--outline,
html[data-theme="light"].high-contrast-mode .hero__btns .btn--secondary {
	background: #ffffff !important;
	color: #000000 !important;
	border: 3px solid #000000 !important;
	box-shadow: 3px 3px 0 #000000 !important;
	font-weight: 700;
	-webkit-text-fill-color: #000000 !important;
}

html[data-theme="light"].high-contrast-mode .hero__btns .btn:hover,
html[data-theme="light"].high-contrast-mode .hero__btns .btn:focus-visible,
html[data-theme="light"].high-contrast-mode .hero__btns .btn--primary:hover,
html[data-theme="light"].high-contrast-mode .hero__btns .btn--primary:focus-visible {
	background: #000000 !important;
	color: #ffffff !important;
	border-color: #000000 !important;
	-webkit-text-fill-color: #ffffff !important;
}

html[data-theme="dark"].high-contrast-mode .hero__status,
html[data-theme="dark"].high-contrast-mode .hero__status-label,
html[data-theme="dark"].high-contrast-mode .hero__title,
html[data-theme="dark"].high-contrast-mode .hero__title-phrase,
html[data-theme="dark"].high-contrast-mode .hero__cta {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

html[data-theme="dark"].high-contrast-mode .hero__status-dot {
	background: #ffffff !important;
}

html[data-theme="light"].high-contrast-mode .hero__status-dot {
	background: #000000 !important;
}

/* High contrast — light theme (paper white / pure black) */
html[data-theme="light"].high-contrast-mode {
	--hc-paper: #fafafa;
	--color-bg: var(--hc-paper);
	--color-bg-alt: var(--hc-paper);
	--color-surface: var(--hc-paper);
	--color-text: #000000;
	--color-text-muted: #000000;
	--color-border: #000000;
	--color-border-soft: #000000;
	--color-accent: #000000;
	--color-accent-soft: var(--hc-paper);
	--color-accent-light: #000000;
	--color-accent-glow: #000000;
	--color-header-bg: var(--hc-paper);
	--color-input-bg: var(--hc-paper);
	--shadow-sm: 2px 2px 0 #000000;
	--shadow-md: 3px 3px 0 #000000;
	--shadow-lg: 3px 3px 0 #000000;
	--shadow-glow: 3px 3px 0 #000000;
}

html[data-theme="light"].high-contrast-mode,
html[data-theme="light"].high-contrast-mode body {
	background-color: #fafafa !important;
	color: #000000 !important;
}

html[data-theme="light"].high-contrast-mode * {
	transition: background-color 0s, color 0s, border-color 0s, box-shadow 0s !important;
}

html[data-theme="light"].high-contrast-mode a {
	color: #000000 !important;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.15em;
}

html[data-theme="light"].high-contrast-mode a:hover,
html[data-theme="light"].high-contrast-mode a:focus-visible {
	background-color: #000000 !important;
	color: #ffffff !important;
	outline: 3px solid #000000;
	outline-offset: 2px;
}

html[data-theme="light"].high-contrast-mode .site-header,
html[data-theme="light"].high-contrast-mode .cookie-banner,
html[data-theme="light"].high-contrast-mode .a11y-hub__panel {
	background: #fafafa !important;
	background-color: #fafafa !important;
	color: #000000 !important;
	border-color: #000000 !important;
	box-shadow: 3px 3px 0 #000000 !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

html[data-theme="light"].high-contrast-mode .site-footer {
	background: #fafafa !important;
	background-color: #fafafa !important;
	color: #000000 !important;
	border-top: 3px solid #000000 !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

html[data-theme="light"].high-contrast-mode .nav-menu a {
	color: #000000 !important;
	font-weight: 700;
	opacity: 1;
	background: transparent !important;
	text-decoration: none;
	border-bottom: 3px solid transparent;
	border-radius: 0;
}

html[data-theme="light"].high-contrast-mode .nav-menu a:hover,
html[data-theme="light"].high-contrast-mode .nav-menu a:focus-visible {
	background: transparent !important;
	color: #000000 !important;
	border-bottom-color: #000000;
	text-decoration: none;
	outline: none;
	box-shadow: none;
}

html[data-theme="light"].high-contrast-mode .nav-menu .current-menu-item > a,
html[data-theme="light"].high-contrast-mode .nav-menu .current_page_item > a {
	background: #000000 !important;
	color: #ffffff !important;
	border: 2px solid #000000 !important;
	border-bottom: 2px solid #000000 !important;
	font-weight: 700;
}

html[data-theme="light"].high-contrast-mode .nav-menu .current-menu-item > a:hover,
html[data-theme="light"].high-contrast-mode .nav-menu .current_page_item > a:hover,
html[data-theme="light"].high-contrast-mode .nav-menu .current-menu-item > a:focus-visible,
html[data-theme="light"].high-contrast-mode .nav-menu .current_page_item > a:focus-visible {
	background: #000000 !important;
	color: #ffffff !important;
}

html[data-theme="light"].high-contrast-mode .site-header a:hover,
html[data-theme="light"].high-contrast-mode .site-header a:focus-visible {
	background-color: transparent !important;
}

html[data-theme="light"].high-contrast-mode .site-header .current-menu-item > a:hover,
html[data-theme="light"].high-contrast-mode .site-header .current_page_item > a:hover,
html[data-theme="light"].high-contrast-mode .site-header .lang-switcher a.is-active:hover,
html[data-theme="light"].high-contrast-mode .site-header .lang-switcher a.is-active:focus-visible {
	background-color: #000000 !important;
	color: #ffffff !important;
}

html[data-theme="light"].high-contrast-mode .lang-switcher {
	background: #fafafa !important;
	border: 3px solid #000000 !important;
	box-shadow: 3px 3px 0 #000000 !important;
}

html[data-theme="light"].high-contrast-mode .lang-switcher a,
html[data-theme="light"].high-contrast-mode .lang-switcher span {
	background: transparent !important;
	color: #000000 !important;
	text-decoration: none !important;
	border: 2px solid transparent !important;
	border-radius: 0;
}

html[data-theme="light"].high-contrast-mode .lang-switcher a:hover,
html[data-theme="light"].high-contrast-mode .lang-switcher a:focus-visible {
	background: transparent !important;
	color: #000000 !important;
	border-bottom: 3px solid #000000 !important;
	outline: none;
}

html[data-theme="light"].high-contrast-mode .lang-switcher .is-active,
html[data-theme="light"].high-contrast-mode .lang-switcher a.is-active {
	background: #000000 !important;
	color: #ffffff !important;
	border: 3px solid #000000 !important;
	box-shadow: none !important;
}

html[data-theme="light"].high-contrast-mode .lang-switcher .is-active:hover,
html[data-theme="light"].high-contrast-mode .lang-switcher .is-active:focus-visible,
html[data-theme="light"].high-contrast-mode .lang-switcher a.is-active:hover,
html[data-theme="light"].high-contrast-mode .lang-switcher a.is-active:focus-visible {
	background: #000000 !important;
	color: #ffffff !important;
	border-bottom-color: #000000 !important;
}

html[data-theme="light"].high-contrast-mode .lang-switcher__sep {
	color: #000000 !important;
}

html[data-theme="light"].high-contrast-mode .theme-toggle {
	background: #fafafa !important;
	color: #000000 !important;
	border: 3px solid #000000 !important;
	box-shadow: 3px 3px 0 #000000 !important;
}

html[data-theme="light"].high-contrast-mode .theme-toggle__track {
	background: #fafafa !important;
	border: 2px solid #000000 !important;
}

html[data-theme="light"].high-contrast-mode .theme-toggle__thumb {
	background: #000000 !important;
	border-color: #000000 !important;
}

html[data-theme="light"].high-contrast-mode .nav-menu .sub-menu {
	background: #fafafa !important;
	border: 3px solid #000000 !important;
	box-shadow: 3px 3px 0 #000000 !important;
}

html[data-theme="light"].high-contrast-mode .card,
html[data-theme="light"].high-contrast-mode .media-hub-card,
html[data-theme="light"].high-contrast-mode .journal-entry,
html[data-theme="light"].high-contrast-mode .podcast-card,
html[data-theme="light"].high-contrast-mode .podcast-featured,
html[data-theme="light"].high-contrast-mode .podcast-archive-row,
html[data-theme="light"].high-contrast-mode .ea-hub .press-card {
	background: #fafafa !important;
	color: #000000 !important;
	border: 3px solid #000000 !important;
	box-shadow: 3px 3px 0 #000000 !important;
}

html[data-theme="light"].high-contrast-mode .media-hub-card,
html[data-theme="light"].high-contrast-mode a.media-hub-card {
	text-decoration: none !important;
}

html[data-theme="light"].high-contrast-mode .media-hub-card__icon,
html[data-theme="light"].high-contrast-mode .media-hub-card__title,
html[data-theme="light"].high-contrast-mode .media-hub-card__desc,
html[data-theme="light"].high-contrast-mode .media-hub-card__cta {
	color: #000000 !important;
}

html[data-theme="light"].high-contrast-mode .media-hub-card:hover,
html[data-theme="light"].high-contrast-mode .media-hub-card:focus-visible {
	background: #000000 !important;
	color: #ffffff !important;
	border-color: #000000 !important;
	box-shadow: 3px 3px 0 #000000 !important;
	transform: none;
}

html[data-theme="light"].high-contrast-mode .media-hub-card:hover .media-hub-card__icon,
html[data-theme="light"].high-contrast-mode .media-hub-card:hover .media-hub-card__title,
html[data-theme="light"].high-contrast-mode .media-hub-card:hover .media-hub-card__desc,
html[data-theme="light"].high-contrast-mode .media-hub-card:hover .media-hub-card__cta,
html[data-theme="light"].high-contrast-mode .media-hub-card:focus-visible .media-hub-card__icon,
html[data-theme="light"].high-contrast-mode .media-hub-card:focus-visible .media-hub-card__title,
html[data-theme="light"].high-contrast-mode .media-hub-card:focus-visible .media-hub-card__desc,
html[data-theme="light"].high-contrast-mode .media-hub-card:focus-visible .media-hub-card__cta {
	color: #ffffff !important;
}

html[data-theme="light"].high-contrast-mode .newsletter__input,
html[data-theme="light"].high-contrast-mode .footer-newsletter__input,
html[data-theme="light"].high-contrast-mode .newsletter-block__input,
html[data-theme="light"].high-contrast-mode input,
html[data-theme="light"].high-contrast-mode textarea,
html[data-theme="light"].high-contrast-mode select {
	background: #fafafa !important;
	color: #000000 !important;
	border: 3px solid #000000 !important;
	box-shadow: none !important;
}

html[data-theme="light"].high-contrast-mode .newsletter__input:focus,
html[data-theme="light"].high-contrast-mode .footer-newsletter__input:focus,
html[data-theme="light"].high-contrast-mode input:focus,
html[data-theme="light"].high-contrast-mode textarea:focus {
	outline: 3px solid #000000;
	outline-offset: 2px;
}

html[data-theme="light"].high-contrast-mode .btn,
html[data-theme="light"].high-contrast-mode .newsletter__btn,
html[data-theme="light"].high-contrast-mode .footer-newsletter__btn,
html[data-theme="light"].high-contrast-mode .cookie-banner__btn {
	background: #fafafa !important;
	color: #000000 !important;
	border: 3px solid #000000 !important;
	box-shadow: 3px 3px 0 #000000 !important;
	font-weight: 700;
}

html[data-theme="light"].high-contrast-mode .btn:hover,
html[data-theme="light"].high-contrast-mode .btn:focus-visible,
html[data-theme="light"].high-contrast-mode .newsletter__btn:hover,
html[data-theme="light"].high-contrast-mode .footer-newsletter__btn:hover,
html[data-theme="light"].high-contrast-mode .cookie-banner__btn:hover {
	background: #000000 !important;
	color: #ffffff !important;
}

html[data-theme="light"].high-contrast-mode .exclusive-player__audio::-webkit-media-controls-panel,
html[data-theme="light"].high-contrast-mode .podcast-featured__player audio::-webkit-media-controls-panel,
html[data-theme="light"].high-contrast-mode .podcast-archive-row__player audio::-webkit-media-controls-panel {
	background: #fafafa !important;
	filter: grayscale(1) contrast(2);
}

html[data-theme="light"].high-contrast-mode .exclusive-player,
html[data-theme="light"].high-contrast-mode .exclusive-player__badge {
	background: #fafafa !important;
	color: #000000 !important;
	border: 3px solid #000000 !important;
	box-shadow: 3px 3px 0 #000000 !important;
}

html[data-theme="light"].high-contrast-mode .a11y-hub__trigger,
html[data-theme="light"].high-contrast-mode .a11y-hub__btn {
	background: #fafafa !important;
	color: #000000 !important;
	border: 3px solid #000000 !important;
	box-shadow: 3px 3px 0 #000000 !important;
}

html[data-theme="light"].high-contrast-mode .a11y-hub__btn:hover,
html[data-theme="light"].high-contrast-mode .a11y-hub__btn:focus-visible,
html[data-theme="light"].high-contrast-mode .a11y-hub__trigger:hover,
html[data-theme="light"].high-contrast-mode .a11y-hub__trigger:focus-visible {
	background: #000000 !important;
	color: #ffffff !important;
}

html[data-theme="light"].high-contrast-mode .a11y-hub__btn.is-active {
	background: #000000 !important;
	color: #ffffff !important;
	border-color: #000000 !important;
	box-shadow: 3px 3px 0 #000000 !important;
}

html[data-theme="light"].high-contrast-mode .a11y-hub__title,
html[data-theme="light"].high-contrast-mode .a11y-hub__label,
html[data-theme="light"].high-contrast-mode .a11y-hub__close {
	color: #000000 !important;
}

html[data-theme="light"].high-contrast-mode .a11y-hub__btn,
html[data-theme="light"].high-contrast-mode .a11y-hub__trigger {
	min-width: 44px;
	min-height: 44px;
}

html[data-theme="light"].high-contrast-mode .menu-toggle {
	background: #fafafa !important;
	border: 3px solid #000000 !important;
	box-shadow: 3px 3px 0 #000000 !important;
}

html[data-theme="light"].high-contrast-mode .menu-toggle span {
	background: #000000 !important;
	height: 3px;
}

@media (max-width: 1024px) {
	html[data-theme="light"].high-contrast-mode .site-header__nav .nav-menu,
	html[data-theme="light"].high-contrast-mode .site-header__nav .nav-menu.is-open {
		background: #fafafa !important;
		color: #000000 !important;
		border-bottom: 3px solid #000000 !important;
		box-shadow: 3px 3px 0 #000000 !important;
	}

	html[data-theme="light"].high-contrast-mode .site-header__nav .nav-menu a,
	html[data-theme="light"].high-contrast-mode .site-header__nav .nav-menu .sub-menu a {
		color: #000000 !important;
		background: transparent !important;
	}

	html[data-theme="light"].high-contrast-mode .site-header__nav .nav-menu .sub-menu {
		background: #fafafa !important;
		border: 3px solid #000000 !important;
		box-shadow: 3px 3px 0 #000000 !important;
	}

	html[data-theme="light"].high-contrast-mode .nav-dropdown__toggle {
		color: #000000 !important;
		background: transparent !important;
		border: 2px solid #000000 !important;
		min-width: 44px;
		min-height: 44px;
	}
}

html[data-theme="light"].high-contrast-mode.highlight-links .site-header a:hover,
html[data-theme="light"].high-contrast-mode.highlight-links .site-header a:focus-visible,
html[data-theme="light"].high-contrast-mode.highlight-links .nav-menu a:hover,
html[data-theme="light"].high-contrast-mode.highlight-links .nav-menu a:focus-visible {
	background-color: transparent !important;
	color: #000000 !important;
}

html[data-theme="light"].high-contrast-mode.highlight-links .lang-switcher a.is-active {
	background: #000000 !important;
	color: #ffffff !important;
}

html[data-theme="light"].high-contrast-mode.highlight-links a {
	text-decoration-color: #000000 !important;
	background-color: transparent !important;
}

html[data-theme="light"].high-contrast-mode.highlight-links a:hover,
html[data-theme="light"].high-contrast-mode.highlight-links a:focus-visible {
	background-color: #000000 !important;
	color: #ffffff !important;
}

html[data-theme="light"].high-contrast-mode .legal-document,
html[data-theme="light"].high-contrast-mode .legal-document__content,
html[data-theme="light"].high-contrast-mode .legal-document__title,
html[data-theme="light"].high-contrast-mode .legal-document__eyebrow,
html[data-theme="light"].high-contrast-mode .bot-legal,
html[data-theme="light"].high-contrast-mode .bot-legal__document,
html[data-theme="light"].high-contrast-mode .bot-legal__content,
html[data-theme="light"].high-contrast-mode .bot-legal__title,
html[data-theme="light"].high-contrast-mode .dc-bot-legal,
html[data-theme="light"].high-contrast-mode .dc-bot-legal__document,
html[data-theme="light"].high-contrast-mode .dj-bot-legal,
html[data-theme="light"].high-contrast-mode .dj-bot-legal__document,
html[data-theme="light"].high-contrast-mode .tg-bot-legal,
html[data-theme="light"].high-contrast-mode .tg-bot-legal__document,
html[data-theme="light"].high-contrast-mode body.legal-document-page,
html[data-theme="light"].high-contrast-mode body.bot-legal-page,
html[data-theme="light"].high-contrast-mode body.dc-bot-legal-page,
html[data-theme="light"].high-contrast-mode body.dj-bot-legal-page,
html[data-theme="light"].high-contrast-mode body.tg-bot-legal-page {
	background: #fafafa !important;
	background-color: #fafafa !important;
	color: #000000 !important;
}

html[data-theme="light"].high-contrast-mode .legal-document h1,
html[data-theme="light"].high-contrast-mode .legal-document h2,
html[data-theme="light"].high-contrast-mode .legal-document h3,
html[data-theme="light"].high-contrast-mode .legal-document p,
html[data-theme="light"].high-contrast-mode .legal-document li,
html[data-theme="light"].high-contrast-mode .legal-document span,
html[data-theme="light"].high-contrast-mode .legal-document__content h1,
html[data-theme="light"].high-contrast-mode .legal-document__content h2,
html[data-theme="light"].high-contrast-mode .legal-document__content h3,
html[data-theme="light"].high-contrast-mode .legal-document__content p,
html[data-theme="light"].high-contrast-mode .legal-document__content li,
html[data-theme="light"].high-contrast-mode .legal-document__content span,
html[data-theme="light"].high-contrast-mode .legal-document__title,
html[data-theme="light"].high-contrast-mode .legal-document__eyebrow,
html[data-theme="light"].high-contrast-mode .bot-legal__title,
html[data-theme="light"].high-contrast-mode .bot-legal__content,
html[data-theme="light"].high-contrast-mode .bot-legal__content h2,
html[data-theme="light"].high-contrast-mode .bot-legal__content p,
html[data-theme="light"].high-contrast-mode .bot-legal__content li,
html[data-theme="light"].high-contrast-mode .bot-legal__copyright,
html[data-theme="light"].high-contrast-mode .dc-bot-legal__title,
html[data-theme="light"].high-contrast-mode .dc-bot-legal__section-title,
html[data-theme="light"].high-contrast-mode .dc-bot-legal__section-body,
html[data-theme="light"].high-contrast-mode .dc-bot-legal__section-body p,
html[data-theme="light"].high-contrast-mode .dc-bot-legal__section-body li,
html[data-theme="light"].high-contrast-mode .dc-bot-legal__copyright,
html[data-theme="light"].high-contrast-mode .dj-bot-legal__title,
html[data-theme="light"].high-contrast-mode .dj-bot-legal__section-title,
html[data-theme="light"].high-contrast-mode .dj-bot-legal__section-body,
html[data-theme="light"].high-contrast-mode .dj-bot-legal__section-body p,
html[data-theme="light"].high-contrast-mode .dj-bot-legal__section-body li,
html[data-theme="light"].high-contrast-mode .dj-bot-legal__copyright,
html[data-theme="light"].high-contrast-mode .tg-bot-legal__title,
html[data-theme="light"].high-contrast-mode .tg-bot-legal__section-title,
html[data-theme="light"].high-contrast-mode .tg-bot-legal__section-body,
html[data-theme="light"].high-contrast-mode .tg-bot-legal__section-body p,
html[data-theme="light"].high-contrast-mode .tg-bot-legal__section-body li,
html[data-theme="light"].high-contrast-mode .tg-bot-legal__intro,
html[data-theme="light"].high-contrast-mode .tg-bot-legal__copyright {
	color: #000000 !important;
}

html[data-theme="light"].high-contrast-mode .legal-document a,
html[data-theme="light"].high-contrast-mode .legal-document__content a,
html[data-theme="light"].high-contrast-mode .bot-legal a,
html[data-theme="light"].high-contrast-mode .dc-bot-legal a,
html[data-theme="light"].high-contrast-mode .dj-bot-legal a,
html[data-theme="light"].high-contrast-mode .tg-bot-legal a,
html[data-theme="light"].high-contrast-mode .bot-legal__back,
html[data-theme="light"].high-contrast-mode .dc-bot-legal__back,
html[data-theme="light"].high-contrast-mode .dj-bot-legal__back,
html[data-theme="light"].high-contrast-mode .tg-bot-legal__back {
	color: #000000 !important;
	background: transparent !important;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.15em;
}

html[data-theme="light"].high-contrast-mode .dc-bot-legal__lang-btn,
html[data-theme="light"].high-contrast-mode .dj-bot-legal__lang-btn,
html[data-theme="light"].high-contrast-mode .tg-bot-legal__lang-btn {
	background: #fafafa !important;
	color: #000000 !important;
	border: 2px solid #000000 !important;
	box-shadow: none !important;
}

html[data-theme="light"].high-contrast-mode .dc-bot-legal__lang-root > #dc-legal-lang-sr:checked ~ .dc-bot-legal__switcher .dc-bot-legal__lang-btn[for="dc-legal-lang-sr"],
html[data-theme="light"].high-contrast-mode .dc-bot-legal__lang-root > #dc-legal-lang-en:checked ~ .dc-bot-legal__switcher .dc-bot-legal__lang-btn[for="dc-legal-lang-en"],
html[data-theme="light"].high-contrast-mode .dj-bot-legal__lang-root > #dj-legal-lang-sr:checked ~ .dj-bot-legal__switcher .dj-bot-legal__lang-btn[for="dj-legal-lang-sr"],
html[data-theme="light"].high-contrast-mode .dj-bot-legal__lang-root > #dj-legal-lang-en:checked ~ .dj-bot-legal__switcher .dj-bot-legal__lang-btn[for="dj-legal-lang-en"],
html[data-theme="light"].high-contrast-mode .tg-bot-legal__lang-root > #tg-legal-lang-sr:checked ~ .tg-bot-legal__switcher .tg-bot-legal__lang-btn[for="tg-legal-lang-sr"],
html[data-theme="light"].high-contrast-mode .tg-bot-legal__lang-root > #tg-legal-lang-en:checked ~ .tg-bot-legal__switcher .tg-bot-legal__lang-btn[for="tg-legal-lang-en"] {
	background: #000000 !important;
	color: #ffffff !important;
	border-color: #000000 !important;
}

html[data-theme="light"].high-contrast-mode .dc-bot-legal__sep,
html[data-theme="light"].high-contrast-mode .dj-bot-legal__sep,
html[data-theme="light"].high-contrast-mode .tg-bot-legal__sep {
	color: #000000 !important;
}

html[data-theme="light"].high-contrast-mode .dc-bot-legal__section-body li::before,
html[data-theme="light"].high-contrast-mode .dj-bot-legal__section-body li::before,
html[data-theme="light"].high-contrast-mode .tg-bot-legal__section-body li::before {
	background: #000000 !important;
}

html[data-theme="dark"].high-contrast-mode .legal-document,
html[data-theme="dark"].high-contrast-mode .legal-document__content,
html[data-theme="dark"].high-contrast-mode .legal-document__title,
html[data-theme="dark"].high-contrast-mode .dc-bot-legal,
html[data-theme="dark"].high-contrast-mode .dj-bot-legal,
html[data-theme="dark"].high-contrast-mode .tg-bot-legal {
	background: #000000 !important;
	color: #ffffff !important;
}

html[data-theme="dark"].high-contrast-mode .legal-document__content h2,
html[data-theme="dark"].high-contrast-mode .legal-document__content p,
html[data-theme="dark"].high-contrast-mode .legal-document__content li,
html[data-theme="dark"].high-contrast-mode .dc-bot-legal__section-title,
html[data-theme="dark"].high-contrast-mode .dc-bot-legal__section-body,
html[data-theme="dark"].high-contrast-mode .dj-bot-legal__section-title,
html[data-theme="dark"].high-contrast-mode .dj-bot-legal__section-body,
html[data-theme="dark"].high-contrast-mode .tg-bot-legal__section-title,
html[data-theme="dark"].high-contrast-mode .tg-bot-legal__section-body {
	color: #ffffff !important;
}

html[data-theme="dark"].high-contrast-mode .dc-bot-legal__section-body li::before,
html[data-theme="dark"].high-contrast-mode .dj-bot-legal__section-body li::before,
html[data-theme="dark"].high-contrast-mode .tg-bot-legal__section-body li::before {
	background: #ffffff !important;
}

/* Stream switcher — strict B&W pill inversion */
html[data-theme="light"].high-contrast-mode .stream-tabs {
	gap: 0.75rem;
}

html[data-theme="light"].high-contrast-mode .stream-tab {
	background: #fafafa !important;
	color: #000000 !important;
	border: 3px solid #000000 !important;
	box-shadow: none !important;
}

html[data-theme="light"].high-contrast-mode .stream-tab:hover,
html[data-theme="light"].high-contrast-mode .stream-tab:focus-visible {
	background: #000000 !important;
	color: #ffffff !important;
	border-color: #000000 !important;
	box-shadow: 3px 3px 0 #000000 !important;
	outline: none;
}

html[data-theme="light"].high-contrast-mode .stream-tab.is-active {
	background: #000000 !important;
	color: #ffffff !important;
	border: 3px solid #000000 !important;
	box-shadow: 3px 3px 0 #000000 !important;
	font-weight: 700;
}

/* Footer — ultra-crisp B&W inversion */
html[data-theme="light"].high-contrast-mode .site-footer .footer-heading,
html[data-theme="light"].high-contrast-mode .site-footer .site-title,
html[data-theme="light"].high-contrast-mode .site-footer .footer-brand__tagline,
html[data-theme="light"].high-contrast-mode .site-footer .footer-copyright,
html[data-theme="light"].high-contrast-mode .site-footer .footer-newsletter__prompt,
html[data-theme="light"].high-contrast-mode .site-footer .footer-support__text,
html[data-theme="light"].high-contrast-mode .site-footer p,
html[data-theme="light"].high-contrast-mode .site-footer small,
html[data-theme="light"].high-contrast-mode .site-footer .footer-legal__sep {
	color: #000000 !important;
	opacity: 1 !important;
}

html[data-theme="light"].high-contrast-mode .site-footer a,
html[data-theme="light"].high-contrast-mode .site-footer .footer-menu a,
html[data-theme="light"].high-contrast-mode .site-footer .footer-menu--info a,
html[data-theme="light"].high-contrast-mode .site-footer .footer-journal-link a,
html[data-theme="light"].high-contrast-mode .site-footer .footer-back-top,
html[data-theme="light"].high-contrast-mode .site-footer .footer-legal a {
	color: #000000 !important;
	background: transparent !important;
	text-decoration: underline;
	text-decoration-thickness: 2px;
}

html[data-theme="light"].high-contrast-mode .site-footer a:hover,
html[data-theme="light"].high-contrast-mode .site-footer a:focus-visible {
	background: transparent !important;
	color: #000000 !important;
	text-decoration: underline;
	text-decoration-thickness: 2px;
}

html[data-theme="light"].high-contrast-mode .footer-grid,
html[data-theme="light"].high-contrast-mode .footer-top,
html[data-theme="light"].high-contrast-mode .footer-bottom,
html[data-theme="light"].high-contrast-mode .footer-secondary {
	border-color: #000000 !important;
}

html[data-theme="light"].high-contrast-mode .footer-social a,
html[data-theme="light"].high-contrast-mode .footer-social__link {
	background: #fafafa !important;
	color: #000000 !important;
	border: 3px solid #000000 !important;
	box-shadow: 3px 3px 0 #000000 !important;
	text-decoration: none !important;
}

html[data-theme="light"].high-contrast-mode .footer-social a:hover,
html[data-theme="light"].high-contrast-mode .footer-social a:focus-visible,
html[data-theme="light"].high-contrast-mode .footer-social__link:hover,
html[data-theme="light"].high-contrast-mode .footer-social__link:focus-visible {
	background: #000000 !important;
	color: #ffffff !important;
	transform: none;
}

html[data-theme="light"].high-contrast-mode .footer-social a svg,
html[data-theme="light"].high-contrast-mode .footer-social a .icon-svg,
html[data-theme="light"].high-contrast-mode .footer-social__link svg,
html[data-theme="light"].high-contrast-mode .footer-social__link .icon-svg {
	fill: currentColor !important;
	color: inherit !important;
}

html[data-theme="light"].high-contrast-mode .footer-support__item {
	background: transparent !important;
	color: #000000 !important;
	border: none !important;
	box-shadow: none !important;
	text-decoration: none !important;
}

html[data-theme="light"].high-contrast-mode .footer-support__item:hover,
html[data-theme="light"].high-contrast-mode .footer-support__item:focus-visible {
	background: transparent !important;
	color: #000000 !important;
	text-decoration: underline;
}

html[data-theme="light"].high-contrast-mode .footer-support__item--soon {
	color: #000000 !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
}

html[data-theme="light"].high-contrast-mode .footer-support__item--soon small {
	color: #000000 !important;
	opacity: 0.55;
	background: transparent !important;
}

html[data-theme="light"].high-contrast-mode .footer-newsletter__input {
	background: #fafafa !important;
	color: #000000 !important;
	border: 3px solid #000000 !important;
	box-shadow: none !important;
}

html[data-theme="light"].high-contrast-mode .site-footer .podcast-platform {
	background: #fafafa !important;
	color: #000000 !important;
	border: 3px solid #000000 !important;
	box-shadow: 3px 3px 0 #000000 !important;
	text-decoration: none !important;
}

html[data-theme="light"].high-contrast-mode .site-footer .podcast-platform:hover,
html[data-theme="light"].high-contrast-mode .site-footer .podcast-platform:focus-visible {
	background: #000000 !important;
	color: #ffffff !important;
}

@media (max-width: 767px) {
	html[data-theme="light"].high-contrast-mode .footer-grid,
	html[data-theme="light"].high-contrast-mode .footer-top {
		gap: 1.5rem;
	}

	html[data-theme="light"].high-contrast-mode .footer-col {
		min-width: 0;
		width: 100%;
	}

	html[data-theme="light"].high-contrast-mode .footer-bottom__row {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* Global active-state shield — black fill must mean white text (header / UI only, never footer) */
html.high-contrast-mode .site-header .current-menu-item > a,
html.high-contrast-mode .site-header .current_page_item > a,
html.high-contrast-mode .button--active,
html.high-contrast-mode .stream-tab.is-active,
html.high-contrast-mode .a11y-hub__btn.is-active,
html.high-contrast-mode .a11y-hub__btn[aria-pressed="true"],
html.high-contrast-mode .a11y-hub__state-btn.is-active,
html.high-contrast-mode .a11y-hub__state-btn[aria-pressed="true"],
html.high-contrast-mode .lang-switcher a.is-active {
	background-color: #000000 !important;
	color: #ffffff !important;
	border: 2px solid #000000 !important;
}

/* Footer: never solid blobs for active/hover — accent underline only */
html.high-contrast-mode .site-footer .current-menu-item > a,
html.high-contrast-mode .site-footer .current_page_item > a,
html.high-contrast-mode .site-footer a.active,
html.high-contrast-mode .site-footer .footer-menu a:hover,
html.high-contrast-mode .site-footer .footer-menu--info a:hover,
html.high-contrast-mode .site-footer .footer-legal a:hover,
html.high-contrast-mode .site-footer .footer-back-top:hover,
html.high-contrast-mode .site-footer .footer-journal-link a:hover {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	outline: none !important;
	border: none !important;
	color: #000000 !important;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.2em;
}

html[data-theme="dark"].high-contrast-mode .site-footer .current-menu-item > a,
html[data-theme="dark"].high-contrast-mode .site-footer .current_page_item > a,
html[data-theme="dark"].high-contrast-mode .site-footer a.active,
html[data-theme="dark"].high-contrast-mode .site-footer .footer-menu a:hover {
	color: #ffffff !important;
	background: transparent !important;
}

html[data-theme="light"].high-contrast-mode .site-footer a:hover,
html[data-theme="light"].high-contrast-mode .site-footer a:focus-visible {
	background: transparent !important;
	color: #000000 !important;
	text-decoration: underline;
	text-decoration-thickness: 2px;
}

html[data-theme="light"].high-contrast-mode .footer-support__item,
html[data-theme="light"].high-contrast-mode .footer-support__item--soon {
	background: transparent !important;
	box-shadow: none !important;
}

html[data-theme="light"].high-contrast-mode .footer-support__item:hover,
html[data-theme="light"].high-contrast-mode .footer-support__item:focus-visible {
	background: transparent !important;
	color: #000000 !important;
	text-decoration: underline;
}

html.high-contrast-mode .a11y-hub__btn.is-active:hover,
html.high-contrast-mode .a11y-hub__btn.is-active:focus-visible,
html.high-contrast-mode .a11y-hub__btn[aria-pressed="true"]:hover,
html.high-contrast-mode .a11y-hub__btn[aria-pressed="true"]:focus-visible,
html.high-contrast-mode .a11y-hub__state-btn.is-active:hover,
html.high-contrast-mode .a11y-hub__state-btn[aria-pressed="true"]:hover,
html.high-contrast-mode .stream-tab.is-active:hover,
html.high-contrast-mode .stream-tab.is-active:focus-visible {
	background-color: #000000 !important;
	color: #ffffff !important;
}

html[data-theme="light"].high-contrast-mode.dyslexic-mode body,
html[data-theme="light"].high-contrast-mode.font-accessible body {
	word-wrap: break-word;
	overflow-wrap: break-word;
	hyphens: auto;
}

html.dyslexic-mode body {
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-weight: 500;
	letter-spacing: 0.04em;
	word-spacing: 0.08em;
}

html.highlight-links a {
	text-decoration: underline;
	text-decoration-thickness: 3px;
	text-decoration-color: var(--color-accent);
	text-underline-offset: 0.18em;
	font-weight: 600;
}

html.highlight-links a:hover,
html.highlight-links a:focus-visible {
	background-color: var(--color-accent-soft);
}

/* ==========================================================================
   Cookie consent banner — floating soft brutalism (mobile-first)
   ========================================================================== */
#dvoimeni-cookie-banner.cookie-banner {
	position: fixed;
	left: 1rem;
	bottom: 1rem;
	z-index: 10000;
	width: calc(100% - 2rem);
	max-width: none;
	margin: 0;
	padding: 1rem 1.5rem;
	padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
	background: var(--color-bg);
	color: var(--color-text);
	border: 3px solid var(--color-text);
	border-radius: 0;
	box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.2);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(200px);
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.6s ease, box-shadow 0.25s ease;
	will-change: transform, opacity;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

#dvoimeni-cookie-banner.cookie-banner.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

#dvoimeni-cookie-banner.cookie-banner.is-dismissing {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(200px);
}

@media (min-width: 1025px) {
	#dvoimeni-cookie-banner.cookie-banner {
		left: 2.5rem;
		bottom: 2.5rem;
		width: auto;
		max-width: 480px;
		padding: 1.25rem 1.75rem;
		padding-bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px));
		transform: translateY(150px);
	}

	#dvoimeni-cookie-banner.cookie-banner.is-dismissing {
		transform: translateY(150px);
	}
}

[data-theme="dark"] #dvoimeni-cookie-banner.cookie-banner {
	box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.45);
}

[data-theme="dark"] #dvoimeni-cookie-banner.cookie-banner.is-visible:hover {
	box-shadow: 8px 8px 0 rgba(0, 0, 0, 0.55);
}

#dvoimeni-cookie-banner.cookie-banner.is-visible:hover {
	box-shadow: 8px 8px 0 rgba(0, 0, 0, 0.24);
}

.cookie-banner__inner {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 1rem;
}

@media (min-width: 1025px) {
	.cookie-banner__inner {
		flex-direction: row;
		align-items: center;
		gap: 1.25rem;
	}
}

.cookie-banner__text {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.55;
	text-transform: lowercase;
	color: var(--color-text);
	flex: 1 1 auto;
	min-width: 0;
}

@media (min-width: 1025px) {
	.cookie-banner__text {
		font-size: 0.875rem;
	}
}

.cookie-banner__link {
	color: var(--color-accent);
	text-decoration: underline;
	text-underline-offset: 0.18em;
	margin-left: 0.25rem;
	transition: color 0.2s ease;
}

.cookie-banner__link:hover {
	color: var(--color-accent-light);
}

.cookie-banner__btn {
	align-self: flex-start;
	flex-shrink: 0;
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 2px solid var(--color-accent);
	color: var(--color-text);
	text-transform: lowercase;
	font-family: var(--font-display);
	font-size: 0.8125rem;
	font-weight: 600;
	padding: 0.5rem 1.4rem;
	cursor: pointer;
	border-radius: 0;
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.15);
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

@media (min-width: 1025px) {
	.cookie-banner__btn {
		align-self: center;
		min-width: auto;
		min-height: auto;
		padding: 0.45rem 1.4rem;
	}
}

.cookie-banner__btn:hover,
.cookie-banner__btn:focus-visible {
	background: var(--color-accent);
	color: var(--color-bg);
	transform: translate(-2px, -2px);
	box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.2);
	outline: none;
}

[data-theme="dark"] .cookie-banner__btn:hover,
[data-theme="dark"] .cookie-banner__btn:focus-visible {
	box-shadow: 5px 5px 0 rgba(77, 208, 199, 0.35);
}

@media (prefers-reduced-motion: reduce) {
	#dvoimeni-cookie-banner.cookie-banner {
		transition: opacity 0.2s ease;
	}
}

/* ==========================================================================
   404 page
   ========================================================================== */
.site-main--404 {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 50vh;
}

.error-404 {
	text-align: center;
	padding: 2rem 0 4rem;
}

.error-404__code {
	font-family: var(--font-display);
	font-size: clamp(4rem, 14vw, 8rem);
	font-weight: 700;
	line-height: 1;
	margin: 0 0 1rem;
	letter-spacing: -0.04em;
}

.error-404__text {
	margin: 0 0 2rem;
	font-size: 1.05rem;
	line-height: 1.5;
	text-transform: lowercase;
	color: var(--color-text-muted);
}

.error-404__home {
	text-transform: lowercase;
}

/* ==========================================================================
   Epilepsy Awareness hub
   ========================================================================== */
.site-main--ea {
	padding-bottom: 4rem;
}

.ea-hub__inner {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.page-header--ea {
	text-align: center;
	max-width: 42rem;
	margin-left: auto;
	margin-right: auto;
}

.ea-hub__lead {
	max-width: 36rem;
	margin-left: auto;
	margin-right: auto;
	text-transform: lowercase;
}

.ea-hub__section-title {
	font-family: var(--font-display);
	font-size: clamp(1.25rem, 3vw, 1.5rem);
	font-weight: 700;
	text-transform: lowercase;
	margin: 0 0 0.75rem;
	letter-spacing: -0.02em;
}

.ea-hub__section-lead {
	margin: 0 0 1.5rem;
	color: var(--color-text-muted);
	text-transform: lowercase;
	font-size: 0.95rem;
	line-height: 1.55;
}

.ea-hub__film {
	margin-bottom: 3.5rem;
}

.ea-hub__media {
	margin-bottom: 3rem;
}

.ea-hub__media--articles {
	margin-bottom: 0;
}

.ea-film {
	width: 100%;
}

.ea-film__lang-root {
	text-align: center;
}

.ea-film__radio,
input[type="radio"].ea-language-toggle,
input[type="radio"].ea-film__radio,
input[type="radio"].dj-legal-toggle,
input[type="radio"].dj-bot-legal__radio,
input[type="radio"].dc-bot-legal__radio,
input[type="radio"].tg-bot-legal__radio {
	position: absolute !important;
	opacity: 0 !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	pointer-events: none !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
}

.ea-film__switcher {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-height: 2.5rem;
	margin: 0 auto 1.25rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: lowercase;
}

.ea-film__lang-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	padding: 0.45rem 0.85rem;
	border-radius: var(--radius-sm);
	color: var(--color-text-muted);
	background: var(--color-surface);
	cursor: pointer;
	transition: color var(--transition), background var(--transition), border-color var(--transition), box-shadow var(--transition);
	border: 2px solid var(--color-border-soft);
	box-shadow: var(--shadow-sm);
	user-select: none;
}

.ea-film__lang-btn:hover {
	color: var(--color-accent);
	border-color: var(--color-accent);
}

.ea-film__sep {
	color: var(--color-border);
	padding: 0 0.1rem;
	font-weight: 400;
	user-select: none;
}

.ea-film__lang-root > #ea-film-lang-sr:checked ~ .ea-film__switcher .ea-film__lang-btn[for="ea-film-lang-sr"],
.ea-film__lang-root > #ea-film-lang-en:checked ~ .ea-film__switcher .ea-film__lang-btn[for="ea-film-lang-en"] {
	background: var(--color-accent) !important;
	color: #fff !important;
	border-color: var(--color-accent) !important;
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.18);
}

.ea-film .media-brutal-frame {
	width: 100%;
	margin: 0;
	position: relative;
}

.ea-film .media-brutal-frame--landscape .ea-film__iframe,
.ea-film .media-brutal-frame--landscape iframe,
.ea-film__player .ea-film__iframe,
.ea-film__player iframe {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.ea-film__player.video-container {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #111;
	border: 3px solid var(--color-text);
	border-radius: var(--radius-md);
	box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.12);
	min-height: 0;
}

.ea-film__empty,
.ea-press-grid__empty {
	margin: 0;
	padding: 1.25rem 1.5rem;
	border: 2px dashed var(--color-border-soft);
	background: var(--color-bg-alt);
	color: var(--color-text-muted);
	text-transform: lowercase;
	font-size: 0.95rem;
	line-height: 1.5;
}

.ea-hub .ea-press-grid,
.ea-hub .press-grid {
	display: flex !important;
	flex-direction: column !important;
	gap: 1rem !important;
	width: 100% !important;
}

@media (min-width: 768px) {
	.ea-hub .ea-press-grid,
	.ea-hub .press-grid {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 2rem !important;
	}
}

@media (max-width: 767px) {
	.ea-hub .ea-press-grid,
	.ea-hub .press-grid {
		align-items: stretch;
		max-width: 100%;
		margin-inline: auto;
	}

	.ea-hub .press-card {
		align-items: center;
		text-align: center;
		min-height: 5.5rem;
		padding: 1.25rem 1.35rem;
	}

	.ea-hub .press-card__cta,
	.ea-hub .press-card__meta {
		justify-content: center;
	}
}

.ea-hub .press-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	box-sizing: border-box;
	min-height: 7.5rem;
	padding: 1.5rem;
	background: var(--color-input-bg);
	border: 3px solid var(--color-text);
	box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.1);
	text-transform: lowercase;
}

[data-theme="dark"] .ea-hub .press-card {
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.28);
}

.ea-hub .press-card--disabled {
	opacity: 0.72;
}

.ea-hub .press-card__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	color: var(--color-text);
	text-transform: lowercase;
}

.ea-hub .press-card__btn {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	margin-top: auto;
	min-height: 44px;
	padding: 0.5rem 1rem;
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--color-accent);
	text-decoration: none;
	text-transform: lowercase;
	background: var(--color-surface);
	border: 2px solid var(--color-text);
	box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.08);
	transition: color 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

.ea-hub .press-card__btn:hover,
.ea-hub .press-card__btn:focus-visible {
	color: var(--color-accent-light);
	border-color: var(--color-accent);
	box-shadow: 3px 3px 0 var(--color-accent-glow);
	outline: none;
}

@media (prefers-reduced-motion: reduce) {
	.ea-film__lang-btn,
	.press-card__btn {
		transition: none;
	}
}
