/* ==========================================================================
   1TV Eurasia — Main Stylesheet
   ========================================================================== */

/* ===== FONTS ===== */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&family=Arimo:wght@400;500;600;700&display=swap');

/* ==========================================================================
   CSS Variables
   ========================================================================== */
:root {
	/* Colors */
	--color-background: #f6f7fb;
	--color-foreground: #0f172a;
	--color-surface: #ffffff;
	--color-surface-muted: #eef1f7;
	--color-surface-strong: #e2e8f0;
	--color-line: rgba(15, 23, 42, 0.08);
	--color-glow: rgba(59, 130, 246, 0.14);
	--color-brand: #111827;
	--color-brand-strong: #0f172a;
	--color-accent: #3b82f6;
	--color-accent-soft: #bfdbfe;
	--color-accent-strong: #2563eb;
	--color-slate-100: #f1f5f9;
	--color-slate-200: #e2e8f0;
	--color-slate-400: #94a3b8;
	--color-slate-500: #64748b;
	--color-slate-600: #475569;
	--color-slate-700: #334155;
	--color-slate-900: #0f172a;
	--color-white: #ffffff;
	--color-red-400: #f87171;
	--color-red-500: #ef4444;
	--color-red-600: #dc2626;
	--color-emerald-500: #10b981;
	--color-emerald-600: #059669;
	--color-amber-950: #451a03;

	/* Fonts */
	--font-primary: 'Manrope', 'Space Grotesk', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
	--font-secondary: 'Arimo', system-ui, sans-serif;

	/* Spacing */
	--spacing-xs: 0.25rem;
	--spacing-sm: 0.5rem;
	--spacing-md: 0.75rem;
	--spacing-base: 1rem;
	--spacing-lg: 1.25rem;
	--spacing-xl: 1.5rem;
	--spacing-2xl: 2rem;
	--spacing-3xl: 2.5rem;
	--spacing-4xl: 3rem;

	/* Border radius */
	--radius-sm: 0.5rem;
	--radius-md: 0.75rem;
	--radius-lg: 1rem;
	--radius-xl: 1.5rem;
	--radius-2xl: 1.75rem;
	--radius-pill: 9999px;

	/* Shadows */
	--shadow-soft: 0 18px 45px -30px rgba(15, 23, 42, 0.3);
	--shadow-glow: 0 0 0 1px rgba(59, 130, 246, 0.2), 0 0 30px rgba(59, 130, 246, 0.2);
	--shadow-card: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);

	/* Layout */
	--container-max: 80rem;
	--container-padding: 1.5rem;
}

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

html {
	color-scheme: light;
	scroll-behavior: smooth;
}

body {
	color: var(--color-foreground);
	background:
		radial-gradient(circle at 20% 10%, rgba(56, 189, 248, 0.14), transparent 55%),
		radial-gradient(circle at 80% 0%, rgba(14, 165, 233, 0.08), transparent 45%),
		var(--color-background);
	font-family: var(--font-primary);
	font-size: 1rem;
	line-height: 1.6;
	letter-spacing: -0.01em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-primary);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

a {
	color: inherit;
	text-decoration: none;
	transition: color 0.25s ease;
}

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

button {
	cursor: pointer;
	border: none;
	font-family: inherit;
	background: none;
}

ul, ol {
	list-style: none;
}

::selection {
	background: rgba(59, 130, 246, 0.18);
}

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(15, 23, 42, 0.2); border-radius: var(--radius-pill); }
::-webkit-scrollbar-thumb:hover { background: rgba(15, 23, 42, 0.35); }

button:focus-visible,
a:focus-visible {
	outline: 2px solid var(--color-accent-strong);
	outline-offset: 3px;
	border-radius: var(--radius-pill);
}

/* ==========================================================================
   Layout
   ========================================================================== */
.container {
	max-width: var(--container-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--container-padding);
	padding-right: var(--container-padding);
}

/* ==========================================================================
   Animations
   ========================================================================== */
@keyframes live-pulse-glow {
	0%, 100% {
		opacity: 1;
		transform: translateY(-50%) scale(1);
		box-shadow: 0 0 4px 1px rgba(255, 255, 255, 0.8), 0 0 8px 2px rgba(255, 255, 255, 0.4);
	}
	50% {
		opacity: 0.7;
		transform: translateY(-50%) scale(0.85);
		box-shadow: 0 0 6px 2px rgba(255, 255, 255, 0.9), 0 0 12px 4px rgba(255, 255, 255, 0.5);
	}
}

@keyframes float-soft {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-8px); }
}

/* ==========================================================================
   Liquid Glass System
   ========================================================================== */

/* Noise overlay (used on glass containers) */
.liquid-glass-noise {
	position: relative;
}

.liquid-glass-noise::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
	opacity: 0.02;
	mix-blend-mode: overlay;
	pointer-events: none;
	border-radius: inherit;
}

/* Glass pill container (nav menu wrapper, buttons) */
.liquid-glass-pill {
	position: relative;
	padding: 5px;
	border-radius: 16px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.2) 100%);
	backdrop-filter: blur(20px) saturate(180%);
	-webkit-backdrop-filter: blur(20px) saturate(180%);
	box-shadow:
		inset 0 1px 1px rgba(255, 255, 255, 0.8),
		inset 0 2px 4px rgba(255, 255, 255, 0.4),
		inset 0 -1px 2px rgba(0, 0, 0, 0.06),
		0 0 0 1px rgba(255, 255, 255, 0.5),
		0 8px 32px -8px rgba(0, 0, 0, 0.2),
		0 4px 16px -4px rgba(0, 0, 0, 0.1);
	transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.liquid-glass-pill::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0.1) 100%);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
}

.liquid-glass-pill:hover {
	transform: translateY(-2px);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.25) 100%);
	box-shadow:
		inset 0 1px 1px rgba(255, 255, 255, 0.9),
		inset 0 2px 6px rgba(255, 255, 255, 0.5),
		inset 0 -1px 2px rgba(0, 0, 0, 0.06),
		0 0 0 1px rgba(255, 255, 255, 0.6),
		0 0 20px rgba(255, 255, 255, 0.3),
		0 12px 40px -10px rgba(0, 0, 0, 0.25),
		0 6px 20px -6px rgba(0, 0, 0, 0.15);
}

/* Glass nav item */
.liquid-glass-item {
	position: relative;
	display: inline-block;
	overflow: hidden;
	border-radius: 16px;
	padding: 0.625rem 1rem;
	font-size: 13px;
	font-weight: 500;
	color: rgba(31, 41, 55, 0.9);
	letter-spacing: -0.01em;
	transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.liquid-glass-item::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, transparent 50%);
	opacity: 0;
	transition: opacity 0.25s ease;
	pointer-events: none;
}

.liquid-glass-item::after {
	content: '';
	position: absolute;
	inset: -2px;
	border-radius: inherit;
	background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.4), transparent 70%);
	opacity: 0;
	transition: opacity 0.25s ease;
	pointer-events: none;
	z-index: -1;
}

.liquid-glass-item:hover {
	color: var(--color-foreground);
	background: rgba(255, 255, 255, 0.45);
	transform: scale(1.02);
	box-shadow:
		inset 0 1px 2px rgba(255, 255, 255, 0.8),
		0 0 0 1px rgba(255, 255, 255, 0.5),
		0 4px 12px -4px rgba(0, 0, 0, 0.15);
}

.liquid-glass-item:hover::before,
.liquid-glass-item:hover::after {
	opacity: 1;
}

.liquid-glass-item:active {
	transform: scale(0.96);
	transition-duration: 0.1s;
}

/* Live button (red pulsing) */
.liquid-glass-live {
	position: relative;
	display: inline-block;
	overflow: hidden;
	border-radius: 22px;
	padding: 0.625rem 1.25rem 0.625rem 2rem;
	font-size: 13px;
	font-weight: 600;
	color: var(--color-white);
	letter-spacing: -0.01em;
	background: linear-gradient(180deg, var(--color-red-400) 0%, var(--color-red-500) 30%, var(--color-red-600) 100%);
	box-shadow:
		inset 0 1px 1px rgba(255, 255, 255, 0.4),
		inset 0 2px 4px rgba(255, 200, 200, 0.3),
		0 0 0 1px rgba(239, 68, 68, 0.5),
		0 0 20px rgba(239, 68, 68, 0.4),
		0 4px 16px -4px rgba(220, 38, 38, 0.6);
	transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.liquid-glass-live::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.35) 0%, transparent 50%);
	pointer-events: none;
}

.liquid-glass-live::after {
	content: '';
	position: absolute;
	width: 6px;
	height: 6px;
	background: white;
	border-radius: 50%;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	animation: live-pulse-glow 1.5s ease-in-out infinite;
	box-shadow: 0 0 4px 1px rgba(255, 255, 255, 0.8), 0 0 8px 2px rgba(255, 255, 255, 0.4);
}

.liquid-glass-live:hover {
	transform: translateY(-2px) scale(1.03);
	background: linear-gradient(180deg, #fca5a5 0%, var(--color-red-400) 30%, var(--color-red-500) 100%);
	box-shadow:
		inset 0 1px 1px rgba(255, 255, 255, 0.5),
		inset 0 2px 6px rgba(255, 200, 200, 0.4),
		0 0 0 1px rgba(248, 113, 113, 0.6),
		0 0 30px rgba(239, 68, 68, 0.5),
		0 8px 24px -6px rgba(220, 38, 38, 0.7);
}

.liquid-glass-live:active {
	transform: scale(0.96);
	transition-duration: 0.1s;
}

.liquid-glass-live--small {
	padding: 0.5rem 1rem 0.5rem 1.75rem;
	font-size: 12px;
}

/* ==========================================================================
   Site Navigation
   ========================================================================== */
.site-nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 50;
	padding: 0.75rem 0;
	background: transparent;
	transition: all 0.5s ease-out;
}

.site-nav.scrolled {
	padding: 0.5rem 0;
}

.site-nav__inner {
	width: 100%;
	padding: 0 var(--container-padding);
}

.site-nav__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.site-nav__logo img {
	width: auto;
	max-width: 140px;
	height: 2.5rem;
	object-fit: contain;
	transition: all 0.5s;
}

/* Desktop menu */
.site-nav__menu {
	display: none;
	gap: 0.25rem;
}

/* Mobile controls */
.site-nav__mobile {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.site-nav__burger {
	padding: 0.625rem;
}

.site-nav__burger-icon {
	width: 1.5rem;
	height: 1.5rem;
	color: var(--color-slate-700);
}

/* Mobile menu overlay */
.mobile-menu {
	position: fixed;
	inset: 0;
	z-index: 40;
	display: none;
}

.mobile-menu__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.2);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.mobile-menu__panel {
	position: absolute;
	top: 5rem;
	left: 1rem;
	right: 1rem;
	border-radius: var(--radius-xl);
	border: 1px solid rgba(255, 255, 255, 0.7);
	background: rgba(255, 255, 255, 0.95);
	padding: var(--spacing-xl);
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
	backdrop-filter: blur(24px);
	-webkit-backdrop-filter: blur(24px);
}

.mobile-menu__nav {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.mobile-menu__link {
	display: block;
	border-radius: var(--radius-md);
	padding: 0.75rem 1rem;
	font-size: 1rem;
	font-weight: 500;
	color: var(--color-slate-700);
	transition: background-color 0.15s ease;
}

.mobile-menu__link:hover {
	background: var(--color-slate-100);
}

@media (min-width: 768px) {
	.site-nav__logo img {
		height: 3rem;
	}
}

@media (min-width: 1024px) {
	.site-nav__menu {
		display: flex;
	}

	.site-nav__mobile {
		display: none;
	}

	.mobile-menu {
		display: none !important;
	}
}

/* WordPress admin bar fix */
.admin-bar .site-nav {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar .site-nav {
		top: 46px;
	}
}

/* ==========================================================================
   Page Wrapper
   ========================================================================== */
.page-wrapper {
	position: relative;
	isolation: isolate;
	width: 100%;
	min-height: 100vh;
	background: transparent;
}

/* Fixed background logo */
.page-wrapper__bg-logo {
	pointer-events: none;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
	display: flex;
	align-items: flex-start;
}

.page-wrapper__bg-logo img {
	height: 100vh;
	width: auto;
	max-width: none;
	object-fit: contain;
	opacity: 0.7;
}

/* ==========================================================================
   Hero Slider
   ========================================================================== */
.hero-slider {
	position: relative;
	z-index: 10;
	width: 100%;
	height: 100vh;
	overflow: hidden;
}

.hero-slider__track {
	display: flex;
	height: 100%;
	transition: transform 0.7s ease-out;
}

.hero-slider__slide {
	position: relative;
	min-width: 100%;
	height: 100vh;
}

.hero-slider__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero-slider__overlay-dark {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom right, rgba(15, 23, 42, 0.6), rgba(15, 23, 42, 0.2), transparent);
}

.hero-slider__overlay-bottom {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(15, 23, 42, 0.7), rgba(15, 23, 42, 0.1), transparent);
}

.hero-slider__content {
	position: absolute;
	bottom: 8rem;
	left: var(--container-padding);
	right: var(--container-padding);
	color: var(--color-white);
	max-width: 36rem;
}

.hero-slider__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, 0.15);
	padding: 0.5rem 1rem;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.35em;
	color: rgba(255, 255, 255, 0.7);
}

.hero-slider__title {
	margin-top: var(--spacing-lg);
	font-size: 2.25rem;
	font-weight: 600;
	letter-spacing: -0.025em;
	color: var(--color-white);
}

.hero-slider__actions {
	margin-top: var(--spacing-xl);
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.hero-slider__btn-primary {
	border-radius: var(--radius-lg);
	background: var(--color-white);
	padding: 0.5rem 1.25rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-slate-900);
	box-shadow: var(--shadow-soft);
	transition: transform 0.25s ease;
}

.hero-slider__btn-primary:hover {
	transform: translateY(-2px);
}

.hero-slider__btn-secondary {
	border-radius: var(--radius-lg);
	border: 1px solid rgba(255, 255, 255, 0.4);
	background: rgba(255, 255, 255, 0.1);
	padding: 0.5rem 1.25rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-white);
	transition: background-color 0.25s ease;
}

.hero-slider__btn-secondary:hover {
	background: rgba(255, 255, 255, 0.2);
}

/* Preview thumbnails */
.hero-slider__previews {
	position: absolute;
	bottom: 2rem;
	right: var(--container-padding);
	display: flex;
	gap: 1rem;
	z-index: 30;
}

.hero-slider__preview {
	position: relative;
	overflow: hidden;
	border-radius: var(--radius-lg);
	width: 96px;
	height: 144px;
	cursor: pointer;
	padding: 0;
	background: none;
	border: none;
	transition: all 0.3s ease;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.6);
}

.hero-slider__preview img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero-slider__preview--active {
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.9);
	transform: scale(1.05);
}

@media (min-width: 768px) {
	.hero-slider__content {
		left: 4rem;
		right: auto;
	}

	.hero-slider__title {
		font-size: 3rem;
	}

	.hero-slider__previews {
		right: 2.5rem;
	}
}

/* ==========================================================================
   Main Content
   ========================================================================== */
.main-content {
	position: relative;
	z-index: 10;
	background: transparent;
}

/* ==========================================================================
   Section Header (reusable)
   ========================================================================== */
.section-header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
}

.section-header__subtitle {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.45em;
	color: var(--color-slate-400);
}

.section-header__title {
	margin-top: 0.75rem;
	font-size: 1.875rem;
	font-weight: 600;
	color: var(--color-slate-900);
	text-wrap: balance;
}

.section-header__link {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-slate-600);
	transition: color 0.15s ease;
}

.section-header__link:hover {
	color: var(--color-slate-900);
}

/* ==========================================================================
   Section (reusable spacing)
   ========================================================================== */
.section {
	max-width: var(--container-max);
	margin-left: auto;
	margin-right: auto;
	padding: 0 var(--container-padding) var(--spacing-3xl);
}

.section--first {
	margin-top: var(--spacing-xl);
}

.section__body {
	margin-top: var(--spacing-xl);
}

/* ==========================================================================
   Online Broadcast Section
   ========================================================================== */
.broadcast {
	display: grid;
	align-items: stretch;
	gap: var(--spacing-xl);
}

.broadcast__player {
	position: relative;
	aspect-ratio: 16 / 9;
	height: 100%;
	width: 100%;
	overflow: hidden;
	border-radius: var(--radius-xl);
	background: var(--color-slate-900);
	box-shadow: var(--shadow-soft);
}

.broadcast__player-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top right, rgba(15, 23, 42, 0.8), rgba(15, 23, 42, 0.3), rgba(30, 41, 59, 0.2));
}

.broadcast__player-logo {
	position: absolute;
	left: 1.5rem;
	top: 1.5rem;
}

.broadcast__player-logo img {
	height: 2.5rem;
	width: auto;
	max-width: 140px;
	opacity: 0.9;
}

.broadcast__player-cta {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	color: var(--color-white);
}

.broadcast__play-icon {
	display: flex;
	width: 4rem;
	height: 4rem;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-pill);
	border: 1px solid rgba(255, 255, 255, 0.4);
	background: rgba(255, 255, 255, 0.1);
	transition: background 0.2s ease;
}

.broadcast__play-icon:hover {
	background: rgba(255, 255, 255, 0.2);
}

.broadcast__play-icon span {
	font-size: 1.5rem;
}

.broadcast__play-label {
	text-align: center;
}

.broadcast__play-label-sub {
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.35em;
	color: rgba(255, 255, 255, 0.7);
}

.broadcast__play-label-main {
	margin-top: 0.5rem;
	font-size: 1.5rem;
	font-weight: 600;
}

/* Schedule sidebar */
.broadcast__schedule {
	display: flex;
	height: 100%;
	flex-direction: column;
	gap: 1rem;
	align-self: stretch;
	border-radius: var(--radius-xl);
	border: 1px solid rgba(226, 232, 240, 0.7);
	background: rgba(255, 255, 255, 0.7);
	padding: var(--spacing-xl);
	box-shadow: var(--shadow-soft);
}

.schedule-item {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
}

.schedule-item__label {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: var(--color-slate-400);
}

.schedule-item__label--live {
	color: var(--color-emerald-500);
}

.schedule-item__title {
	margin-top: 0.5rem;
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--color-slate-900);
}

.schedule-item__time {
	margin-top: 0.25rem;
	font-size: 0.875rem;
	color: var(--color-slate-500);
}

.schedule-item__badge {
	border-radius: var(--radius-pill);
	padding: 0.25rem 0.75rem;
	font-size: 0.75rem;
	font-weight: 600;
	white-space: nowrap;
}

.schedule-item__badge--done {
	background: var(--color-slate-100);
	color: var(--color-slate-500);
}

.schedule-item__badge--live {
	background: #d1fae5;
	color: var(--color-emerald-600);
}

.schedule-item__badge--next {
	background: var(--color-slate-100);
	color: var(--color-slate-500);
}

.schedule-divider {
	height: 1px;
	background: rgba(226, 232, 240, 0.7);
}

.broadcast__schedule-link {
	display: block;
	margin-top: auto;
	border-radius: var(--radius-pill);
	background: var(--color-slate-900);
	padding: 0.75rem 1.25rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-white);
	text-align: center;
	transition: background 0.15s ease;
}

.broadcast__schedule-link:hover {
	background: #1e293b;
	color: var(--color-white);
}

@media (min-width: 1024px) {
	.broadcast {
		grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.5fr);
	}
}

/* ==========================================================================
   News Section (Newspaper Layout)
   ========================================================================== */
.news-block {
	border: 1px solid rgba(253, 230, 138, 0.7);
	background: #e6f1fb;
	padding: var(--spacing-xl);
	box-shadow: 0 35px 80px -55px rgba(148, 163, 184, 0.35);
}

.news-block__header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	text-align: center;
	justify-content: space-between;
	gap: 1rem;
}

.news-block__title {
	margin-top: 0.75rem;
	font-family: var(--font-secondary);
	font-size: 3rem;
	font-weight: 700;
	letter-spacing: -0.025em;
	color: var(--color-amber-950);
}

.news-block__all-link {
	font-family: var(--font-secondary);
	font-size: 0.75rem;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: var(--color-amber-950);
}

.news-layout {
	margin-top: var(--spacing-xl);
	display: grid;
	gap: 2.5rem;
}

/* Featured article */
.news-featured {
	display: block;
	border-bottom: 1px solid rgba(0, 0, 0, 0.2);
	padding-bottom: 2rem;
}

.news-featured__image-wrap {
	overflow: hidden;
	border: 1px solid rgba(0, 0, 0, 0.25);
	background: rgba(0, 0, 0, 0.05);
}

.news-featured__image {
	height: 20rem;
	width: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.news-featured:hover .news-featured__image {
	transform: scale(1.05);
}

.news-featured__date {
	margin-top: 0.75rem;
	font-family: var(--font-secondary);
	font-size: 11px;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.35em;
	color: rgba(0, 0, 0, 0.7);
}

.news-featured__category {
	margin-top: 1.25rem;
	font-family: var(--font-secondary);
	font-size: 11px;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.35em;
	color: #000;
}

.news-featured__title {
	margin-top: 0.75rem;
	font-family: var(--font-secondary);
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.25;
	color: #000;
	transition: color 0.15s ease;
}

.news-featured:hover .news-featured__title {
	color: var(--color-slate-700);
}

/* Secondary news grid */
.news-secondary {
	display: grid;
	gap: var(--spacing-xl);
}

.news-secondary__item {
	display: block;
	border-top: 1px solid rgba(0, 0, 0, 0.2);
	padding-top: 1rem;
}

.news-secondary__category {
	font-family: var(--font-secondary);
	font-size: 10px;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: #000;
}

.news-secondary__title {
	margin-top: 0.75rem;
	font-family: var(--font-secondary);
	font-size: 1.125rem;
	font-weight: 700;
	color: #000;
	transition: color 0.15s ease;
}

.news-secondary__item:hover .news-secondary__title {
	color: var(--color-slate-700);
}

.news-secondary__date {
	margin-top: 1rem;
	font-family: var(--font-secondary);
	font-size: 11px;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: rgba(0, 0, 0, 0.6);
}

/* News sidebar */
.news-sidebar {
	border-left: 1px solid rgba(0, 0, 0, 0.25);
	padding-left: var(--spacing-xl);
}

.news-sidebar__list {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-xl);
}

.news-sidebar__item {
	display: block;
	width: 100%;
	border-bottom: 1px solid rgba(0, 0, 0, 0.2);
	padding-bottom: 1.25rem;
}

.news-sidebar__category {
	font-family: var(--font-secondary);
	font-size: 10px;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.35em;
	color: #000;
}

.news-sidebar__title {
	margin-top: 0.75rem;
	font-family: var(--font-secondary);
	font-size: 1rem;
	font-weight: 700;
	color: #000;
	transition: color 0.15s ease;
}

.news-sidebar__item:hover .news-sidebar__title {
	color: var(--color-slate-700);
}

.news-sidebar__date {
	margin-top: 1rem;
	font-family: var(--font-secondary);
	font-size: 10px;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: rgba(0, 0, 0, 0.6);
}

@media (min-width: 640px) {
	.news-block {
		padding: 2rem;
	}

	.news-secondary {
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 1024px) {
	.news-layout {
		grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr);
	}
}

/* ==========================================================================
   Section Slider (reusable horizontal scroll)
   ========================================================================== */
.section-slider {
	position: relative;
}

.section-slider__track {
	display: flex;
	gap: var(--spacing-xl);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	padding: 0 3rem 0.75rem;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.section-slider__track::-webkit-scrollbar {
	display: none;
}

.section-slider__btn {
	position: absolute;
	top: 50%;
	z-index: 20;
	display: flex;
	width: 2.75rem;
	height: 2.75rem;
	transform: translateY(-50%);
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-pill);
	border: 1px solid rgba(226, 232, 240, 0.8);
	background: rgba(255, 255, 255, 0.9);
	color: var(--color-slate-900);
	box-shadow: var(--shadow-soft);
	cursor: pointer;
	transition: background 0.2s ease;
}

.section-slider__btn:hover {
	background: var(--color-white);
}

.section-slider__btn--left {
	left: 0;
}

.section-slider__btn--right {
	right: 0;
}

.section-slider__btn svg {
	width: 1.25rem;
	height: 1.25rem;
}

/* ==========================================================================
   Project Card
   ========================================================================== */
.project-card {
	position: relative;
	display: block;
	flex-shrink: 0;
	scroll-snap-align: start;
	overflow: hidden;
	border-radius: 28px;
	border: 1px solid rgba(255, 255, 255, 0.7);
	background: rgba(255, 255, 255, 0.8);
	box-shadow: var(--shadow-soft);
	backdrop-filter: blur(24px);
	-webkit-backdrop-filter: blur(24px);
	width: 240px;
	min-width: 240px;
	height: 360px;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

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

.project-card__image-wrap {
	height: 100%;
	width: 100%;
	overflow: hidden;
	background: var(--color-slate-100);
}

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

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

.project-card__overlay {
	pointer-events: none;
	position: absolute;
	inset: 0;
	z-index: 20;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	background: rgba(0, 0, 0, 0.1);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.project-card:hover .project-card__overlay {
	opacity: 1;
}

.project-card__info {
	width: 86%;
	margin-bottom: 1.25rem;
	border-radius: var(--radius-lg);
	border: 1px solid rgba(255, 255, 255, 0.6);
	background: rgba(255, 255, 255, 0.85);
	padding: 1rem;
	box-shadow: 0 18px 45px -30px rgba(15, 23, 42, 0.3);
	backdrop-filter: blur(24px);
}

.project-card__tag {
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: var(--color-slate-400);
}

.project-card__title {
	margin-top: 0.75rem;
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-slate-900);
}

.project-card__desc {
	margin-top: 0.5rem;
	font-size: 0.875rem;
	color: var(--color-slate-500);
}

.project-card__cta {
	display: block;
	margin-top: 1rem;
	width: 100%;
	border-radius: var(--radius-pill);
	background: var(--color-slate-900);
	padding: 0.5rem 1rem;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: var(--color-white);
	text-align: center;
	transition: background 0.15s ease;
}

.project-card__cta:hover {
	background: #1e293b;
	color: var(--color-white);
}

/* ==========================================================================
   Shorts Section
   ========================================================================== */
.shorts-header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0 0.5rem;
	margin-bottom: var(--spacing-xl);
}

.shorts-header__icon {
	display: flex;
	width: 2.5rem;
	height: 2.5rem;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-md);
	background: linear-gradient(to bottom right, var(--color-red-600), #f59e0b);
	box-shadow: var(--shadow-card);
}

.shorts-header__icon svg {
	width: 1.25rem;
	height: 1.25rem;
	color: var(--color-white);
	fill: currentColor;
}

.shorts-header__title {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	color: var(--color-slate-900);
}

.shorts-header__label {
	margin-top: 0.25rem;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--color-slate-500);
}

/* Shorts card */
.shorts-card {
	position: relative;
	flex-shrink: 0;
	scroll-snap-align: center;
	overflow: hidden;
	border-radius: 24px;
	box-shadow: var(--shadow-card);
	width: 160px;
	height: 280px;
	transition: box-shadow 0.3s ease;
}

.shorts-card:hover {
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}

.shorts-card__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.7s ease;
}

.shorts-card:hover .shorts-card__bg {
	transform: scale(1.1);
}

.shorts-card__iframe {
	pointer-events: none;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transform: scale(1.35);
}

.shorts-card__gradient {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), transparent, rgba(0, 0, 0, 0.9));
}

.shorts-card__link {
	position: absolute;
	inset: 0;
	z-index: 20;
}

.shorts-card__menu {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	border-radius: var(--radius-pill);
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: rgba(0, 0, 0, 0.2);
	padding: 0.5rem;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.shorts-card__menu svg {
	width: 1rem;
	height: 1rem;
	color: var(--color-white);
}

.shorts-card__bottom {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 1.25rem;
}

.shorts-card__title {
	margin-bottom: 0.75rem;
	font-family: var(--font-secondary);
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.375;
	color: var(--color-white);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07));
}

.shorts-card__views {
	display: flex;
	align-items: center;
	gap: 0.375rem;
	font-family: var(--font-secondary);
	font-size: 11px;
	font-weight: 300;
	color: var(--color-slate-200);
}

.shorts-card__views svg {
	width: 0.875rem;
	height: 0.875rem;
}

.shorts-card__play-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.shorts-card:hover .shorts-card__play-overlay {
	opacity: 1;
}

.shorts-card__play-btn {
	display: flex;
	width: 3.5rem;
	height: 3.5rem;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-pill);
	border: 1px solid rgba(255, 255, 255, 0.4);
	background: rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(12px);
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.shorts-card__play-btn svg {
	width: 1.75rem;
	height: 1.75rem;
	margin-left: 0.25rem;
	color: var(--color-white);
	fill: currentColor;
}

@media (min-width: 768px) {
	.shorts-card {
		width: 220px;
		height: 380px;
	}

	.shorts-card__title {
		font-size: 1rem;
	}
}

/* ==========================================================================
   Social Subscribe
   ========================================================================== */
.social-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	border-radius: 28px;
	border: 1px solid rgba(255, 255, 255, 0.7);
	background: rgba(255, 255, 255, 0.75);
	padding: var(--spacing-xl);
	box-shadow: var(--shadow-soft);
	backdrop-filter: blur(24px);
	-webkit-backdrop-filter: blur(24px);
}

.social-bar__icon {
	display: flex;
	width: 3.5rem;
	height: 3.5rem;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-soft);
	transition: transform 0.3s ease;
}

.social-bar__icon:hover {
	transform: translateY(-4px);
}

.social-bar__icon svg {
	width: 1.25rem;
	height: 1.25rem;
	fill: currentColor;
}

.social-bar__icon--instagram {
	background: #E4405F;
	color: var(--color-white);
}

.social-bar__icon--tiktok {
	background: #000;
	color: var(--color-white);
}

.social-bar__icon--youtube {
	background: #FF0000;
	color: var(--color-white);
}

.social-bar__icon--telegram {
	background: #229ED9;
	color: var(--color-white);
}

.social-bar__icon--vk {
	background: #0077FF;
	color: var(--color-white);
}

/* ==========================================================================
   Doc Films Card
   ========================================================================== */
.doc-card {
	position: relative;
	display: block;
	flex-shrink: 0;
	scroll-snap-align: start;
	overflow: hidden;
	border-radius: 28px;
	border: 1px solid rgba(255, 255, 255, 0.7);
	background: rgba(255, 255, 255, 0.8);
	box-shadow: var(--shadow-soft);
	backdrop-filter: blur(24px);
	-webkit-backdrop-filter: blur(24px);
	width: 260px;
	min-width: 260px;
	height: 340px;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

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

.doc-card__image-wrap {
	position: absolute;
	inset: 0;
}

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

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

.doc-card__gradient {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.2), transparent);
}

.doc-card__content {
	position: relative;
	z-index: 10;
	display: flex;
	height: 100%;
	flex-direction: column;
	justify-content: flex-end;
	padding: 1.25rem;
	color: var(--color-white);
}

.doc-card__tag {
	font-family: var(--font-secondary);
	font-size: 10px;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.28em;
	color: rgba(255, 255, 255, 0.8);
}

.doc-card__title {
	margin-top: 0.75rem;
	font-family: var(--font-secondary);
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.375;
	color: var(--color-white);
}

.doc-card__meta {
	margin-top: 0.5rem;
	font-family: var(--font-secondary);
	font-size: 0.75rem;
	font-weight: 300;
	color: rgba(255, 255, 255, 0.8);
}

.doc-card__cta {
	display: block;
	margin-top: 1rem;
	width: 100%;
	border-radius: var(--radius-pill);
	background: var(--color-white);
	padding: 0.5rem 1rem;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: var(--color-slate-900);
	text-align: center;
	transition: background 0.15s ease;
}

.doc-card:hover .doc-card__cta {
	background: var(--color-slate-100);
}

/* ==========================================================================
   Showcase Block
   ========================================================================== */
.showcase {
	display: grid;
	gap: 2rem;
	border-radius: 40px;
	border: 1px solid rgba(255, 255, 255, 0.7);
	background: rgba(255, 255, 255, 0.8);
	padding: 2.5rem;
	box-shadow: var(--shadow-soft);
	backdrop-filter: blur(24px);
	-webkit-backdrop-filter: blur(24px);
}

.showcase__subtitle {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.4em;
	color: var(--color-slate-400);
}

.showcase__title {
	margin-top: 1rem;
	font-size: 1.875rem;
	font-weight: 600;
	color: var(--color-slate-900);
	text-wrap: balance;
}

.showcase__desc {
	margin-top: 1rem;
	font-size: 0.875rem;
	color: var(--color-slate-500);
}

.showcase__tags {
	margin-top: var(--spacing-xl);
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.showcase__tag {
	border-radius: var(--radius-pill);
	background: var(--color-slate-100);
	padding: 0.25rem 0.75rem;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-slate-600);
}

.showcase__btn {
	margin-top: 2rem;
	display: inline-block;
	border-radius: var(--radius-pill);
	background: var(--color-slate-900);
	padding: 0.75rem 1.5rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-white);
	box-shadow: var(--shadow-soft);
	transition: transform 0.25s ease, background 0.15s ease;
}

.showcase__btn:hover {
	transform: translateY(-2px);
	background: #1e293b;
	color: var(--color-white);
}

.showcase__visual {
	border-radius: 32px;
	background: linear-gradient(to bottom right, #0f172a, #334155, #94a3b8);
	box-shadow: inset 0 2px 4px rgba(255, 255, 255, 0.1);
	min-height: 200px;
	animation: float-soft 4s ease-in-out infinite;
}

@media (min-width: 1024px) {
	.showcase {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
	}
}

/* ==========================================================================
   Site Footer
   ========================================================================== */
.site-footer {
	position: relative;
	z-index: 10;
	border-top: 1px solid rgba(255, 255, 255, 0.7);
	background: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(24px);
	-webkit-backdrop-filter: blur(24px);
}

.site-footer__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	padding: 3rem var(--container-padding);
}

.site-footer__top {
	display: grid;
	gap: 2.5rem;
}

/* Company info */
.site-footer__company-logo img {
	height: 3rem;
	width: auto;
	max-width: 180px;
	object-fit: contain;
}

.site-footer__copyright {
	margin-top: 0.5rem;
	font-size: 0.875rem;
	color: var(--color-slate-500);
}

.site-footer__about {
	margin-top: 1.25rem;
	font-size: 0.875rem;
	line-height: 1.625;
	color: var(--color-slate-600);
}

.site-footer__contacts {
	margin-top: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	font-size: 0.875rem;
	color: var(--color-slate-600);
}

/* Footer nav columns */
.site-footer__nav {
	display: grid;
	gap: 2rem;
}

.site-footer__nav-heading {
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: var(--color-slate-500);
}

.site-footer__nav-list {
	margin-top: 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.site-footer__nav-link {
	display: block;
	font-size: 0.875rem;
	color: var(--color-slate-600);
}

.site-footer__nav-link:hover {
	color: var(--color-slate-900);
}

/* Footer bottom bar */
.site-footer__bottom {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	border-top: 1px solid rgba(226, 232, 240, 0.7);
	padding-top: 1.5rem;
}

.site-footer__links {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.site-footer__link {
	font-size: 0.875rem;
	color: var(--color-slate-500);
	transition: color 0.15s ease;
}

.site-footer__link:hover {
	color: var(--color-slate-900);
}

.site-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.site-footer__social-link {
	font-size: 0.875rem;
	color: var(--color-slate-500);
	transition: color 0.15s ease;
}

.site-footer__social-link:hover {
	color: var(--color-slate-900);
}

@media (min-width: 640px) {
	.site-footer__nav {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 768px) {
	.site-footer__bottom {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

@media (min-width: 1024px) {
	.site-footer__top {
		grid-template-columns: 1.1fr 2fr;
	}

	.site-footer__nav {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* ==========================================================================
   Blog / Archive — Posts Grid
   ========================================================================== */
.site-main {
	max-width: var(--container-max);
	margin: 6rem auto 3rem;
	padding: 0 var(--container-padding);
}

.posts-grid {
	display: grid;
	gap: var(--spacing-xl);
}

.post-card {
	border-radius: var(--radius-xl);
	border: 1px solid rgba(226, 232, 240, 0.7);
	background: rgba(255, 255, 255, 0.7);
	overflow: hidden;
	box-shadow: var(--shadow-soft);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.post-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-glow);
}

.post-card__image img {
	width: 100%;
	height: 200px;
	object-fit: cover;
}

.post-card__content {
	padding: var(--spacing-xl);
}

.post-card__title {
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--color-slate-900);
}

.post-card__title a:hover {
	color: var(--color-accent-strong);
}

.post-card__meta {
	margin-top: var(--spacing-sm);
	font-size: 0.875rem;
	color: var(--color-slate-500);
}

.post-card__excerpt {
	margin-top: var(--spacing-md);
	font-size: 0.875rem;
	color: var(--color-slate-600);
	line-height: 1.6;
}

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

@media (min-width: 1024px) {
	.posts-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* ==========================================================================
   Single Post / Page
   ========================================================================== */
.entry-header {
	margin-bottom: var(--spacing-2xl);
}

.entry-title {
	font-size: 2.25rem;
	font-weight: 700;
	color: var(--color-slate-900);
	text-wrap: balance;
}

.entry-meta {
	margin-top: var(--spacing-md);
	font-size: 0.875rem;
	color: var(--color-slate-500);
}

.entry-thumbnail {
	margin-bottom: var(--spacing-2xl);
	border-radius: var(--radius-xl);
	overflow: hidden;
}

.entry-thumbnail img {
	width: 100%;
	height: auto;
}

.entry-content {
	font-size: 1.0625rem;
	line-height: 1.8;
	color: var(--color-slate-700);
}

.entry-content h2 { font-size: 1.75rem; margin-top: 2rem; margin-bottom: 1rem; }
.entry-content h3 { font-size: 1.375rem; margin-top: 1.5rem; margin-bottom: 0.75rem; }
.entry-content p { margin-bottom: 1rem; }
.entry-content ul, .entry-content ol { margin-bottom: 1rem; padding-left: 1.5rem; list-style: disc; }
.entry-content ol { list-style: decimal; }
.entry-content blockquote { border-left: 3px solid var(--color-accent); padding-left: 1rem; margin: 1.5rem 0; font-style: italic; color: var(--color-slate-600); }
.entry-content img { border-radius: var(--radius-md); margin: 1.5rem 0; }

/* Post navigation */
.post-navigation {
	margin-top: var(--spacing-3xl);
	padding-top: var(--spacing-2xl);
	border-top: 1px solid rgba(226, 232, 240, 0.7);
}

/* ==========================================================================
   Archive Header
   ========================================================================== */
.archive-header {
	margin-bottom: var(--spacing-2xl);
}

.archive-title {
	font-size: 2rem;
	font-weight: 700;
	color: var(--color-slate-900);
}

.archive-description {
	margin-top: var(--spacing-md);
	font-size: 1rem;
	color: var(--color-slate-600);
}

/* ==========================================================================
   Search
   ========================================================================== */
.search-header {
	margin-bottom: var(--spacing-2xl);
}

.search-title {
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--color-slate-900);
}

.search-title span {
	color: var(--color-accent-strong);
}

/* ==========================================================================
   404
   ========================================================================== */
.error-404 {
	text-align: center;
	padding: 4rem 0;
}

.error-404 h1 {
	font-size: 2.5rem;
	font-weight: 700;
	color: var(--color-slate-900);
}

.error-404 p {
	margin-top: 1rem;
	font-size: 1.125rem;
	color: var(--color-slate-500);
}

.error-404 .search-form {
	margin-top: 2rem;
}

/* ==========================================================================
   Widget Area / Sidebar
   ========================================================================== */
.widget-area {
	margin-top: var(--spacing-2xl);
}

.widget {
	margin-bottom: var(--spacing-2xl);
	padding: var(--spacing-xl);
	border-radius: var(--radius-xl);
	border: 1px solid rgba(226, 232, 240, 0.7);
	background: rgba(255, 255, 255, 0.7);
}

.widget-title {
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-slate-900);
	margin-bottom: var(--spacing-base);
}

/* ==========================================================================
   Pagination
   ========================================================================== */
.pagination,
.nav-links {
	margin-top: var(--spacing-2xl);
	display: flex;
	justify-content: center;
	gap: var(--spacing-sm);
}

.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.75rem;
	border-radius: var(--radius-md);
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--color-slate-600);
	background: rgba(255, 255, 255, 0.7);
	border: 1px solid rgba(226, 232, 240, 0.7);
	transition: background 0.15s ease, color 0.15s ease;
}

.page-numbers:hover {
	background: var(--color-white);
	color: var(--color-slate-900);
}

.page-numbers.current {
	background: var(--color-slate-900);
	color: var(--color-white);
	border-color: var(--color-slate-900);
}

/* ==========================================================================
   Shared Page Components
   ========================================================================== */

/* --- Glass Card --- */
.glass-card {
	border-radius: var(--radius-xl);
	border: 1px solid rgba(255, 255, 255, 0.7);
	background: rgba(255, 255, 255, 0.8);
	box-shadow: var(--shadow-soft);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	padding: 1.5rem;
}

/* --- Dark Card --- */
.dark-card {
	border-radius: var(--radius-2xl);
	background: linear-gradient(135deg, var(--color-slate-900), #1e293b);
	color: var(--color-white);
	padding: 2rem;
}

@media (min-width: 768px) {
	.dark-card { padding: 3rem; }
}

/* --- Buttons --- */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 9999px;
	font-size: 0.875rem;
	font-weight: 600;
	padding: 0.625rem 1.5rem;
	transition: background 0.2s, color 0.2s, transform 0.2s;
	border: none;
	cursor: pointer;
	text-decoration: none;
}

.btn--sm { padding: 0.5rem 1.25rem; font-size: 0.8125rem; }

.btn--primary {
	background: var(--color-slate-900);
	color: var(--color-white);
}
.btn--primary:hover { background: #1e293b; }

.btn--success {
	background: var(--color-emerald-500);
	color: var(--color-white);
}
.btn--success:hover { background: var(--color-emerald-600); }

.btn--outline {
	background: rgba(255, 255, 255, 0.8);
	color: var(--color-slate-700);
	border: 1px solid var(--color-slate-200);
}
.btn--outline:hover { background: var(--color-slate-100); }

.btn--white {
	background: var(--color-white);
	color: var(--color-slate-900);
}
.btn--white:hover { background: var(--color-slate-100); }

.btn--outline-white {
	background: rgba(255, 255, 255, 0.1);
	color: var(--color-white);
	border: 1px solid rgba(255, 255, 255, 0.3);
}
.btn--outline-white:hover { background: rgba(255, 255, 255, 0.2); }

/* --- Section Subtitle --- */
.section-subtitle {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: var(--color-slate-400);
}

/* --- Page Hero --- */
.page-hero {
	padding: 0 1.5rem 2rem;
	max-width: var(--max-width);
	margin: 0 auto;
}

.page-hero__inner { padding-top: 2rem; }

.page-hero__title {
	margin-top: 1rem;
	font-family: var(--font-secondary);
	font-size: clamp(2.5rem, 5vw, 3.75rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--color-slate-900);
}

.page-hero__desc {
	margin-top: 1.5rem;
	max-width: 48rem;
	font-size: 1.25rem;
	line-height: 1.7;
	color: var(--color-slate-600);
}

/* --- Breadcrumb --- */
.breadcrumb-section {
	max-width: var(--max-width);
	margin: 0 auto;
	padding: 1rem 1.5rem;
}

.breadcrumb-section__inner { display: flex; }

.breadcrumb {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	color: var(--color-slate-500);
}

.breadcrumb a {
	color: var(--color-slate-500);
	text-decoration: none;
}
.breadcrumb a:hover { color: var(--color-slate-900); }

.breadcrumb__sep { color: var(--color-slate-400); }

/* --- Filter Buttons --- */
.filter-btn {
	display: inline-flex;
	padding: 0.625rem 1.25rem;
	border-radius: 9999px;
	font-size: 0.875rem;
	font-weight: 500;
	border: 1px solid var(--color-slate-200);
	background: rgba(255, 255, 255, 0.8);
	color: var(--color-slate-600);
	cursor: pointer;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
}
.filter-btn:hover { background: var(--color-slate-100); }
.filter-btn--active {
	background: var(--color-slate-900);
	color: var(--color-white);
	border-color: var(--color-slate-900);
}

/* --- No Results --- */
.no-results {
	text-align: center;
	padding: 3rem 0;
	color: var(--color-slate-500);
	font-size: 1.125rem;
}

/* ==========================================================================
   About Page
   ========================================================================== */

.about-hero {
	padding: 0 1.5rem 2rem;
	max-width: var(--max-width);
	margin: 0 auto;
}
.about-hero__inner { padding-top: 2rem; }
.about-hero__title {
	margin-top: 1rem;
	font-family: var(--font-secondary);
	font-size: clamp(2.5rem, 5vw, 3.75rem);
	font-weight: 700;
	color: var(--color-slate-900);
}
.about-hero__desc {
	margin-top: 1.5rem;
	max-width: 48rem;
	font-size: 1.25rem;
	line-height: 1.7;
	color: var(--color-slate-600);
}

.about-stats { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }
.about-stats__inner { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
@media (min-width: 768px) { .about-stats__inner { grid-template-columns: repeat(4, 1fr); } }
.about-stats__card { text-align: center; }
.about-stats__value { font-family: var(--font-secondary); font-size: 2.5rem; font-weight: 700; color: var(--color-slate-900); }
.about-stats__label { margin-top: 0.5rem; font-size: 0.875rem; color: var(--color-slate-500); }

.about-mission { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }
.about-mission__inner {}
.about-mission__grid { margin-top: 2rem; display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .about-mission__grid { grid-template-columns: repeat(3, 1fr); } }
.about-mission__card-title { font-family: var(--font-secondary); font-size: 1.25rem; font-weight: 700; color: var(--color-slate-900); }
.about-mission__card-text { margin-top: 0.75rem; font-size: 0.9375rem; color: var(--color-slate-600); line-height: 1.6; }

.about-timeline { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }
.about-timeline__list { margin-top: 2rem; display: flex; flex-direction: column; gap: 1.5rem; }
.about-timeline__item { display: flex; gap: 1.5rem; align-items: flex-start; }
.about-timeline__year { flex-shrink: 0; width: 4rem; font-family: var(--font-secondary); font-size: 1.5rem; font-weight: 700; color: var(--color-slate-900); }
.about-timeline__content h3 { font-family: var(--font-secondary); font-size: 1.125rem; font-weight: 700; color: var(--color-slate-900); }
.about-timeline__content p { margin-top: 0.5rem; font-size: 0.9375rem; color: var(--color-slate-600); line-height: 1.6; }

.about-leadership { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }
.about-leadership__grid { margin-top: 2rem; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
@media (min-width: 768px) { .about-leadership__grid { grid-template-columns: repeat(4, 1fr); } }
.about-leadership__avatar { width: 5rem; height: 5rem; border-radius: 50%; background: var(--color-slate-200); margin-bottom: 1rem; }
.about-leadership__name { font-family: var(--font-secondary); font-weight: 700; color: var(--color-slate-900); }
.about-leadership__role { margin-top: 0.25rem; font-size: 0.875rem; color: var(--color-slate-500); }

.about-cta { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }
.about-cta__grid { display: grid; gap: 2rem; align-items: center; }
@media (min-width: 768px) { .about-cta__grid { grid-template-columns: 1fr auto; } }
.about-cta__title { font-family: var(--font-secondary); font-size: 1.875rem; font-weight: 700; }
.about-cta__text { margin-top: 1rem; font-size: 1.125rem; color: rgba(255, 255, 255, 0.7); }
.about-cta__actions { display: flex; gap: 1rem; flex-wrap: wrap; }

/* ==========================================================================
   Contacts Page
   ========================================================================== */

.contacts-offices,
.contacts-departments,
.contacts-form-section,
.contacts-social { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }

.contacts-offices__grid { margin-top: 2rem; display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .contacts-offices__grid { grid-template-columns: repeat(2, 1fr); } }
.contacts-offices__badge { display: inline-block; padding: 0.25rem 0.75rem; border-radius: 9999px; font-size: 0.75rem; font-weight: 600; background: var(--color-emerald-500); color: var(--color-white); margin-bottom: 0.75rem; }
.contacts-offices__card h3 { font-family: var(--font-secondary); font-size: 1.5rem; font-weight: 700; color: var(--color-slate-900); }
.contacts-offices__info { margin-top: 1rem; display: flex; flex-direction: column; gap: 0.375rem; font-size: 0.9375rem; color: var(--color-slate-600); }

.contacts-departments__grid { margin-top: 2rem; display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .contacts-departments__grid { grid-template-columns: repeat(2, 1fr); } }
.contacts-departments__card h3 { font-family: var(--font-secondary); font-size: 1.125rem; font-weight: 700; color: var(--color-slate-900); }
.contacts-departments__desc { margin-top: 0.5rem; font-size: 0.875rem; color: var(--color-slate-500); }
.contacts-departments__meta { margin-top: 1rem; font-size: 0.875rem; color: var(--color-slate-600); }
.contacts-departments__meta a { color: var(--color-accent); text-decoration: none; }
.contacts-departments__meta a:hover { text-decoration: underline; }

.contacts-form { max-width: 40rem; margin: 2rem auto 0; }
.contacts-form__form { display: flex; flex-direction: column; gap: 1rem; }
.contacts-form__row { display: grid; gap: 1rem; }
@media (min-width: 640px) { .contacts-form__row { grid-template-columns: 1fr 1fr; } }
.contacts-form__field { display: flex; flex-direction: column; gap: 0.375rem; }
.contacts-form__field label { font-size: 0.875rem; font-weight: 600; color: var(--color-slate-700); }
.contacts-form__field input,
.contacts-form__field select,
.contacts-form__field textarea {
	border: 1px solid var(--color-slate-200);
	border-radius: var(--radius-lg);
	padding: 0.625rem 1rem;
	font-size: 0.875rem;
	background: var(--color-white);
	outline: none;
	font-family: inherit;
}
.contacts-form__field input:focus,
.contacts-form__field select:focus,
.contacts-form__field textarea:focus { border-color: var(--color-slate-400); }

.contacts-social__grid { margin-top: 2rem; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
@media (min-width: 768px) { .contacts-social__grid { grid-template-columns: repeat(4, 1fr); } }
.contacts-social__card { display: flex; flex-direction: column; align-items: center; text-align: center; text-decoration: none; color: var(--color-slate-900); transition: transform 0.2s, box-shadow 0.2s; }
.contacts-social__card:hover { transform: translateY(-2px); box-shadow: var(--shadow-glow); }
.contacts-social__card h3 { margin-top: 0.5rem; font-weight: 600; }
.contacts-social__card p { font-size: 0.8125rem; color: var(--color-slate-500); }
.contacts-social__icon { width: 3.5rem; height: 3.5rem; border-radius: var(--radius-lg); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1rem; color: var(--color-white); }
.contacts-social__icon--telegram { background: #0088cc; }
.contacts-social__icon--youtube { background: #ff0000; }
.contacts-social__icon--instagram { background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045); }
.contacts-social__icon--vk { background: #4a76a8; }

/* ==========================================================================
   Schedule Page
   ========================================================================== */

.schedule-days { padding: 0 1.5rem 2rem; max-width: var(--max-width); margin: 0 auto; }
.schedule-days__list { display: flex; gap: 0.5rem; overflow-x: auto; padding-bottom: 0.5rem; }
.schedule-days__btn {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 5rem;
	padding: 0.75rem 1rem;
	border-radius: var(--radius-xl);
	border: 1px solid var(--color-slate-200);
	background: rgba(255, 255, 255, 0.8);
	color: var(--color-slate-600);
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
}
.schedule-days__btn:hover { background: var(--color-slate-100); }
.schedule-days__btn--active { background: var(--color-slate-900); color: var(--color-white); border-color: var(--color-slate-900); }
.schedule-days__label { font-size: 0.75rem; font-weight: 500; text-transform: uppercase; }
.schedule-days__num { margin-top: 0.25rem; font-size: 1.125rem; font-weight: 600; }
.schedule-days__today { margin-top: 0.25rem; font-size: 0.625rem; text-transform: uppercase; letter-spacing: 0.1em; }

.schedule-list { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }
.schedule-list__card { padding: 0; overflow: hidden; }
.schedule-list__row { display: flex; align-items: flex-start; gap: 1.5rem; padding: 1.5rem; border-bottom: 1px solid var(--color-slate-100); transition: background 0.2s; }
.schedule-list__row:hover { background: rgba(241, 245, 249, 0.5); }
.schedule-list__row:last-child { border-bottom: none; }
.schedule-list__row--live { background: rgba(16, 185, 129, 0.05); }
.schedule-list__time { flex-shrink: 0; width: 5rem; font-family: var(--font-secondary); font-size: 1.25rem; font-weight: 700; color: var(--color-slate-900); }
.schedule-list__row--live .schedule-list__time { color: var(--color-emerald-600); }
.schedule-list__content { flex: 1; min-width: 0; }
.schedule-list__title-row { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; }
.schedule-list__title { font-family: var(--font-secondary); font-size: 1.125rem; font-weight: 600; color: var(--color-slate-900); }
.schedule-list__row--live .schedule-list__title { color: #047857; }
.schedule-list__live-badge { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.25rem 0.75rem; border-radius: 9999px; background: var(--color-emerald-500); color: var(--color-white); font-size: 0.75rem; font-weight: 600; }
.schedule-list__live-dot { width: 0.375rem; height: 0.375rem; border-radius: 50%; background: var(--color-white); animation: live-pulse-glow 2s infinite; }
.schedule-list__desc { margin-top: 0.25rem; font-size: 0.875rem; color: var(--color-slate-600); }
.schedule-list__meta { margin-top: 0.5rem; display: flex; align-items: center; gap: 0.75rem; }
.schedule-list__cat { display: inline-block; padding: 0.25rem 0.75rem; border-radius: 9999px; font-size: 0.75rem; font-weight: 500; background: var(--color-slate-100); color: var(--color-slate-600); }
.schedule-list__dur { font-size: 0.75rem; color: var(--color-slate-400); }
.schedule-list__action { flex-shrink: 0; }

.schedule-cta { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }
.schedule-cta__grid { display: grid; gap: 2rem; align-items: center; }
@media (min-width: 768px) { .schedule-cta__grid { grid-template-columns: 1fr auto; } }
.schedule-cta__grid h2 { font-family: var(--font-secondary); font-size: 1.875rem; font-weight: 700; }
.schedule-cta__grid p { margin-top: 1rem; font-size: 1.125rem; color: rgba(255, 255, 255, 0.7); }
.schedule-cta__buttons { margin-top: 1.5rem; display: flex; gap: 1rem; flex-wrap: wrap; }
.schedule-cta__phones { display: none; }
@media (min-width: 768px) { .schedule-cta__phones { display: flex; justify-content: center; position: relative; } }
.schedule-cta__phone { width: 8rem; height: 16rem; border-radius: 1.5rem; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(8px); }
.schedule-cta__phone--offset { position: absolute; top: 1rem; left: 2rem; background: rgba(255, 255, 255, 0.2); }

/* ==========================================================================
   Live Page
   ========================================================================== */

.live-page { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }
.live-page__grid { display: grid; gap: 1.5rem; }
@media (min-width: 1024px) { .live-page__grid { grid-template-columns: 1fr 380px; } }

.live-player { position: relative; aspect-ratio: 16/9; border-radius: var(--radius-2xl); overflow: hidden; background: #0f172a; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); }
.live-player__overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(15,23,42,.8), rgba(15,23,42,.3), rgba(30,41,59,.2)); }
.live-player__logo { position: absolute; left: 1.5rem; top: 1.5rem; z-index: 10; }
.live-player__logo img { height: 2.5rem; width: auto; max-width: 140px; opacity: 0.9; }
.live-player__badge { position: absolute; right: 1.5rem; top: 1.5rem; z-index: 10; display: flex; align-items: center; gap: 0.5rem; padding: 0.375rem 1rem; border-radius: 9999px; background: var(--color-red-500); color: var(--color-white); font-size: 0.875rem; font-weight: 600; }
.live-player__badge-dot { width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--color-white); animation: live-pulse-glow 2s infinite; }
.live-player__center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; color: var(--color-white); z-index: 5; }
.live-player__play-btn { width: 5rem; height: 5rem; border-radius: 50%; border: 2px solid rgba(255,255,255,0.4); background: rgba(255,255,255,0.1); backdrop-filter: blur(8px); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.2s, transform 0.2s; color: var(--color-white); font-size: 1.5rem; }
.live-player__play-btn:hover { background: rgba(255,255,255,0.2); transform: scale(1.1); }
.live-player__label { font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.35em; color: rgba(255,255,255,0.7); }
.live-player__program { margin-top: 0.5rem; font-size: 1.5rem; font-weight: 600; }
.live-player__controls { position: absolute; bottom: 0; left: 0; right: 0; padding: 1.5rem; background: linear-gradient(to top, rgba(0,0,0,0.8), transparent); display: flex; justify-content: space-between; z-index: 10; }
.live-player__controls-left,
.live-player__controls-right { display: flex; align-items: center; gap: 1rem; }
.live-player__ctrl-btn { background: none; border: none; color: rgba(255,255,255,0.8); cursor: pointer; transition: color 0.2s; }
.live-player__ctrl-btn:hover { color: var(--color-white); }

.live-program { margin-top: 1.5rem; }
.live-program__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
@media (max-width: 640px) { .live-program__header { flex-direction: column; } }
.live-program__badges { display: flex; align-items: center; gap: 0.75rem; }
.live-program__on-air { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.25rem 0.75rem; border-radius: 9999px; background: #d1fae5; font-size: 0.75rem; font-weight: 600; color: #059669; }
.live-program__on-air-dot { width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--color-emerald-500); animation: live-pulse-glow 2s infinite; }
.live-program__time { font-size: 0.875rem; color: var(--color-slate-500); }
.live-program__title { margin-top: 0.75rem; font-family: var(--font-secondary); font-size: 1.5rem; font-weight: 700; color: var(--color-slate-900); }
.live-program__desc { margin-top: 0.5rem; color: var(--color-slate-600); }
.live-program__host { margin-top: 0.75rem; font-size: 0.875rem; color: var(--color-slate-500); }

.live-schedule { }
.live-schedule__title { font-family: var(--font-secondary); font-size: 1.125rem; font-weight: 700; color: var(--color-slate-900); }
.live-schedule__list { margin-top: 1rem; max-height: 25rem; overflow-y: auto; display: flex; flex-direction: column; gap: 0.25rem; }
.live-schedule__item { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem; border-radius: var(--radius-lg); transition: background 0.2s; }
.live-schedule__item--past { opacity: 0.5; }
.live-schedule__item--live { background: rgba(16, 185, 129, 0.08); }
.live-schedule__item--next:hover { background: rgba(241, 245, 249, 0.5); }
.live-schedule__time { font-size: 0.875rem; font-weight: 500; color: var(--color-slate-500); }
.live-schedule__item--live .live-schedule__time { color: var(--color-emerald-600); }
.live-schedule__name { flex: 1; font-size: 0.875rem; color: var(--color-slate-700); }
.live-schedule__item--live .live-schedule__name { font-weight: 600; color: var(--color-slate-900); }
.live-schedule__dot { width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--color-emerald-500); animation: live-pulse-glow 2s infinite; }
.live-schedule__link { display: block; margin-top: 1rem; text-align: center; font-size: 0.875rem; font-weight: 500; color: var(--color-slate-600); text-decoration: none; }
.live-schedule__link:hover { color: var(--color-slate-900); }

.live-chat__title { font-family: var(--font-secondary); font-size: 1.125rem; font-weight: 700; color: var(--color-slate-900); }
.live-chat__messages { margin-top: 1rem; display: flex; flex-direction: column; gap: 0.75rem; }
.live-chat__msg { padding: 0.75rem; border-radius: var(--radius-lg); background: var(--color-slate-100); }
.live-chat__msg-header { display: flex; justify-content: space-between; align-items: center; }
.live-chat__msg-user { font-size: 0.875rem; font-weight: 600; color: var(--color-slate-900); }
.live-chat__msg-time { font-size: 0.75rem; color: var(--color-slate-400); }
.live-chat__msg-text { margin-top: 0.25rem; font-size: 0.875rem; color: var(--color-slate-600); }
.live-chat__input { margin-top: 1rem; display: flex; gap: 0.5rem; }
.live-chat__input input { flex: 1; border: 1px solid var(--color-slate-200); border-radius: 9999px; padding: 0.625rem 1rem; font-size: 0.875rem; background: var(--color-white); outline: none; font-family: inherit; }
.live-chat__input input:focus { border-color: var(--color-slate-400); }

.live-platforms { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }
.live-platforms__grid { margin-top: 2rem; display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 1024px) { .live-platforms__grid { grid-template-columns: repeat(4, 1fr); } }
.live-platforms__card { display: flex; align-items: center; gap: 1rem; text-decoration: none; color: var(--color-slate-900); transition: transform 0.2s, box-shadow 0.2s; }
.live-platforms__card:hover { transform: translateY(-2px); box-shadow: var(--shadow-glow); }
.live-platforms__card h3 { font-weight: 600; }
.live-platforms__card p { font-size: 0.875rem; color: var(--color-slate-500); }
.live-platforms__icon { width: 3rem; height: 3rem; border-radius: var(--radius-lg); flex-shrink: 0; }
.live-platforms__icon--red { background: #ef4444; }
.live-platforms__icon--blue { background: #3b82f6; }
.live-platforms__icon--slate { background: #334155; }
.live-platforms__icon--sky { background: #0ea5e9; }

/* ==========================================================================
   Team Page
   ========================================================================== */

.team-stats { display: flex; gap: 2rem; flex-wrap: wrap; margin-top: 2rem; }
.team-stats__item { display: flex; flex-direction: column; }
.team-stats__value { font-family: var(--font-secondary); font-size: 2rem; font-weight: 700; color: var(--color-slate-900); }
.team-stats__label { font-size: 0.875rem; color: var(--color-slate-500); }

.team-section { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }
.team-grid { margin-top: 2rem; display: grid; gap: 1.5rem; }
.team-grid--3 { grid-template-columns: repeat(2, 1fr); }
.team-grid--4 { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 768px) { .team-grid--3 { grid-template-columns: repeat(3, 1fr); } .team-grid--4 { grid-template-columns: repeat(4, 1fr); } }

.team-card { text-align: center; }
.team-card__avatar { width: 5rem; height: 5rem; border-radius: 50%; background: var(--color-slate-200); margin: 0 auto 1rem; }
.team-card__name { font-family: var(--font-secondary); font-weight: 700; color: var(--color-slate-900); }
.team-card__role { margin-top: 0.25rem; font-size: 0.875rem; color: var(--color-slate-500); }
.team-card__desc { margin-top: 0.5rem; font-size: 0.8125rem; color: var(--color-slate-600); }

.team-dept__name { font-family: var(--font-secondary); font-size: 1.125rem; font-weight: 700; color: var(--color-slate-900); }
.team-dept__count { margin-top: 0.5rem; font-size: 0.875rem; color: var(--color-slate-500); }
.team-dept__head { margin-top: 0.25rem; font-size: 0.875rem; color: var(--color-slate-600); }

.team-cta { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }
.team-cta__inner { text-align: center; }
.team-cta__inner h2 { font-family: var(--font-secondary); font-size: 1.875rem; font-weight: 700; }
.team-cta__inner p { margin-top: 1rem; font-size: 1.125rem; color: rgba(255, 255, 255, 0.7); }
.team-cta__buttons { margin-top: 1.5rem; display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

/* ==========================================================================
   Careers Page
   ========================================================================== */

.careers-benefits,
.careers-vacancies,
.careers-cta { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }

.careers-benefits__grid { margin-top: 2rem; display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .careers-benefits__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .careers-benefits__grid { grid-template-columns: repeat(3, 1fr); } }
.careers-benefits__card h3 { font-family: var(--font-secondary); font-size: 1.125rem; font-weight: 700; color: var(--color-slate-900); }
.careers-benefits__card p { margin-top: 0.5rem; font-size: 0.9375rem; color: var(--color-slate-600); line-height: 1.6; }

.careers-vacancies__list { margin-top: 2rem; display: flex; flex-direction: column; gap: 1rem; }
.careers-vacancy { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
@media (max-width: 640px) { .careers-vacancy { flex-direction: column; align-items: flex-start; } }
.careers-vacancy__title { font-family: var(--font-secondary); font-size: 1.125rem; font-weight: 700; color: var(--color-slate-900); }
.careers-vacancy__dept { margin-top: 0.25rem; font-size: 0.875rem; color: var(--color-slate-500); }
.careers-vacancy__meta { margin-top: 0.5rem; display: flex; gap: 1rem; font-size: 0.8125rem; color: var(--color-slate-600); }

.careers-cta__grid { display: grid; gap: 2rem; align-items: center; }
@media (min-width: 768px) { .careers-cta__grid { grid-template-columns: 1fr auto; } }
.careers-cta__grid h2 { font-family: var(--font-secondary); font-size: 1.875rem; font-weight: 700; }
.careers-cta__grid p { margin-top: 1rem; font-size: 1.125rem; color: rgba(255, 255, 255, 0.7); }
.careers-cta__actions { display: flex; gap: 1rem; flex-wrap: wrap; }

/* ==========================================================================
   FAQ Page
   ========================================================================== */

.faq-section { padding: 0 1.5rem 3rem; max-width: 48rem; margin: 0 auto; }

.faq-category { margin-bottom: 2rem; }
.faq-category__title { font-family: var(--font-secondary); font-size: 1.5rem; font-weight: 700; color: var(--color-slate-900); margin-bottom: 1rem; }
.faq-category__list { display: flex; flex-direction: column; gap: 0.75rem; }

.faq-item { padding: 0; overflow: hidden; }
.faq-item__question {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1rem 1.5rem;
	background: none;
	border: none;
	cursor: pointer;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-slate-900);
	text-align: left;
}
.faq-item__icon { font-size: 1.25rem; color: var(--color-slate-400); transition: transform 0.2s; }
.faq-item--open .faq-item__icon { transform: rotate(45deg); }
.faq-item__answer { display: none; padding: 0 1.5rem 1rem; }
.faq-item--open .faq-item__answer { display: block; }
.faq-item__answer p { font-size: 0.9375rem; color: var(--color-slate-600); line-height: 1.7; }

.faq-cta { padding: 0 1.5rem 3rem; max-width: 48rem; margin: 0 auto; }
.faq-cta__inner { text-align: center; }
.faq-cta__inner h2 { font-family: var(--font-secondary); font-size: 1.875rem; font-weight: 700; }
.faq-cta__inner p { margin-top: 1rem; font-size: 1.125rem; color: rgba(255, 255, 255, 0.7); }
.faq-cta__buttons { margin-top: 1.5rem; display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

/* ==========================================================================
   Legal Page
   ========================================================================== */

.legal-content { padding: 0 1.5rem 3rem; max-width: 48rem; margin: 0 auto; }

.legal-block { margin-bottom: 2.5rem; }
.legal-block__title { font-family: var(--font-secondary); font-size: 1.5rem; font-weight: 700; color: var(--color-slate-900); }
.legal-block__card { margin-top: 1.5rem; }

.legal-info { display: flex; flex-direction: column; gap: 0.5rem; color: var(--color-slate-600); }
.legal-info strong { color: var(--color-slate-900); }

.legal-prose h3 { margin-top: 1.5rem; font-weight: 600; color: var(--color-slate-900); }
.legal-prose p { margin-top: 0.75rem; font-size: 0.9375rem; color: var(--color-slate-600); line-height: 1.7; }
.legal-prose a { color: var(--color-accent); text-decoration: none; }
.legal-prose a:hover { text-decoration: underline; }

.legal-updated { margin-top: 3rem; text-align: center; font-size: 0.875rem; color: var(--color-slate-500); }

/* ==========================================================================
   Advertising Page
   ========================================================================== */

.adv-stats { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }
.adv-stats__inner { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
@media (min-width: 768px) { .adv-stats__inner { grid-template-columns: repeat(4, 1fr); } }
.adv-stats__card { text-align: center; }
.adv-stats__value { font-family: var(--font-secondary); font-size: 2rem; font-weight: 700; color: var(--color-slate-900); }
.adv-stats__label { margin-top: 0.5rem; font-size: 0.875rem; color: var(--color-slate-500); }

.adv-formats,
.adv-partners,
.adv-cta { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }

.adv-formats__grid { margin-top: 2rem; display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .adv-formats__grid { grid-template-columns: repeat(2, 1fr); } }
.adv-format { padding: 2rem; transition: box-shadow 0.2s; }
.adv-format:hover { box-shadow: var(--shadow-glow); }
.adv-format__title { font-family: var(--font-secondary); font-size: 1.25rem; font-weight: 700; color: var(--color-slate-900); }
.adv-format__desc { margin-top: 0.75rem; color: var(--color-slate-600); }
.adv-format__features { margin-top: 1rem; list-style: none; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.adv-format__features li { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; color: var(--color-slate-700); }
.adv-format__dot { width: 0.375rem; height: 0.375rem; border-radius: 50%; background: var(--color-accent); flex-shrink: 0; }
.adv-format__footer { margin-top: 1.5rem; display: flex; align-items: center; justify-content: space-between; }
.adv-format__price { font-size: 1.125rem; font-weight: 700; color: var(--color-slate-900); }

.adv-partners__list { margin-top: 2rem; display: flex; flex-wrap: wrap; justify-content: center; gap: 1.5rem; }
.adv-partners__item { padding: 1rem 2rem; font-weight: 600; color: var(--color-slate-600); }

.adv-cta__grid { display: grid; gap: 2rem; align-items: center; }
@media (min-width: 768px) { .adv-cta__grid { grid-template-columns: 1fr auto; } }
.adv-cta__grid h2 { font-family: var(--font-secondary); font-size: 1.875rem; font-weight: 700; }
.adv-cta__grid p { margin-top: 1rem; font-size: 1.125rem; color: rgba(255, 255, 255, 0.7); }
.adv-cta__contacts { margin-top: 1.5rem; font-size: 0.9375rem; color: rgba(255, 255, 255, 0.7); }
.adv-cta__contacts a { color: var(--color-white); text-decoration: none; }
.adv-cta__contacts a:hover { text-decoration: underline; }
.adv-cta__actions { display: flex; flex-direction: column; gap: 1rem; }
@media (min-width: 768px) { .adv-cta__actions { align-items: flex-end; } }

/* ==========================================================================
   Specials Page
   ========================================================================== */

.specials-featured { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }
.specials-featured__card { position: relative; display: block; height: 31.25rem; border-radius: var(--radius-2xl); overflow: hidden; border: 1px solid rgba(255,255,255,0.7); box-shadow: var(--shadow-soft); text-decoration: none; color: var(--color-white); }
.specials-featured__card:hover .specials-featured__img { transform: scale(1.05); }
.specials-featured__card:hover .specials-featured__play { transform: scale(1.1); }
.specials-featured__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s; }
.specials-featured__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.9), rgba(0,0,0,0.4), transparent); }
.specials-featured__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 5; }
.specials-featured__play span { width: 6rem; height: 6rem; border-radius: 50%; background: rgba(255,255,255,0.9); box-shadow: 0 10px 30px rgba(0,0,0,0.2); display: flex; align-items: center; justify-content: center; font-size: 2rem; color: var(--color-slate-900); transition: transform 0.3s; }
.specials-featured__content { position: relative; z-index: 10; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; padding: 2rem; }
@media (min-width: 768px) { .specials-featured__content { padding: 3rem; } }
.specials-featured__badge { display: inline-block; width: fit-content; padding: 0.375rem 1rem; border-radius: 9999px; background: var(--color-red-500); font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; }
.specials-featured__title { margin-top: 1rem; font-family: var(--font-secondary); font-size: clamp(1.5rem, 3vw, 2.5rem); font-weight: 700; line-height: 1.2; }
.specials-featured__desc { margin-top: 1rem; max-width: 40rem; font-size: 1.125rem; color: rgba(255,255,255,0.8); }
.specials-featured__meta { margin-top: 1rem; display: flex; gap: 0.5rem; font-size: 0.875rem; color: rgba(255,255,255,0.7); }

.specials-filter { padding: 0 1.5rem 2rem; max-width: var(--max-width); margin: 0 auto; }
.specials-filter__inner { display: flex; flex-wrap: wrap; gap: 0.75rem; }

.specials-grid-section { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }
.specials-grid { display: grid; gap: 1.5rem; }
@media (min-width: 640px) { .specials-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .specials-grid { grid-template-columns: repeat(3, 1fr); } }

.special-card { position: relative; display: block; height: 25rem; border-radius: 1.75rem; overflow: hidden; border: 1px solid rgba(255,255,255,0.7); box-shadow: var(--shadow-soft); text-decoration: none; color: var(--color-white); transition: transform 0.2s, box-shadow 0.2s; }
.special-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-glow); }
.special-card:hover .special-card__img { transform: scale(1.05); }
.special-card__img-wrap { position: absolute; inset: 0; }
.special-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.special-card__img-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.9), rgba(0,0,0,0.4), transparent); }
.special-card__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s; }
.special-card:hover .special-card__play { opacity: 1; }
.special-card__play span { width: 4rem; height: 4rem; border-radius: 50%; background: rgba(255,255,255,0.9); display: flex; align-items: center; justify-content: center; font-size: 1.5rem; color: var(--color-slate-900); box-shadow: 0 8px 20px rgba(0,0,0,0.2); }
.special-card__body { position: relative; z-index: 10; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; padding: 1.5rem; }
.special-card__cat { display: inline-block; width: fit-content; padding: 0.25rem 0.75rem; border-radius: 9999px; background: rgba(255,255,255,0.2); backdrop-filter: blur(8px); font-size: 0.75rem; font-weight: 500; }
.special-card__title { margin-top: 1rem; font-family: var(--font-secondary); font-size: 1.25rem; font-weight: 700; line-height: 1.3; }
.special-card__dur { margin-top: 0.75rem; font-size: 0.75rem; color: rgba(255,255,255,0.6); }

/* ==========================================================================
   Video Archive Page
   ========================================================================== */

.archive-filter { padding: 0 1.5rem 2rem; max-width: var(--max-width); margin: 0 auto; }
.archive-filter__inner { display: flex; flex-wrap: wrap; gap: 0.75rem; }

.archive-grid-section { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }
.archive-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 768px) { .archive-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1280px) { .archive-grid { grid-template-columns: repeat(4, 1fr); } }

.video-card { display: flex; flex-direction: column; overflow: hidden; text-decoration: none; color: var(--color-slate-900); transition: transform 0.2s, box-shadow 0.2s; }
.video-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-glow); }
.video-card__thumb { position: relative; aspect-ratio: 16/9; overflow: hidden; }
.video-card__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.video-card:hover .video-card__thumb img { transform: scale(1.05); }
.video-card__play-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.3); opacity: 0; transition: opacity 0.3s; }
.video-card:hover .video-card__play-overlay { opacity: 1; }
.video-card__play-circle { width: 3.5rem; height: 3.5rem; border-radius: 50%; background: rgba(255,255,255,0.9); display: flex; align-items: center; justify-content: center; }
.video-card__play-circle span { margin-left: 2px; color: var(--color-slate-900); }
.video-card__duration { position: absolute; bottom: 0.75rem; right: 0.75rem; padding: 0.125rem 0.5rem; border-radius: var(--radius-sm); background: rgba(0,0,0,0.7); color: var(--color-white); font-size: 0.75rem; font-weight: 500; }
.video-card__cat-badge { position: absolute; bottom: 0.75rem; left: 0.75rem; padding: 0.25rem 0.75rem; border-radius: 9999px; background: rgba(255,255,255,0.9); font-size: 0.75rem; font-weight: 500; color: var(--color-slate-700); }
.video-card__body { flex: 1; display: flex; flex-direction: column; padding: 1.25rem; }
.video-card__title { font-family: var(--font-secondary); font-size: 0.875rem; font-weight: 600; line-height: 1.4; color: var(--color-slate-900); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.video-card__meta { margin-top: auto; padding-top: 1rem; font-size: 0.75rem; color: var(--color-slate-500); }

.archive-load-more { margin-top: 3rem; text-align: center; }

/* ==========================================================================
   News Archive Page
   ========================================================================== */

.news-filter { padding: 0 1.5rem 2rem; max-width: var(--max-width); margin: 0 auto; }
.news-filter__inner { display: flex; flex-wrap: wrap; gap: 0.75rem; }

.news-grid-section { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }
.news-grid { display: grid; gap: 1.5rem; }
@media (min-width: 640px) { .news-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .news-grid { grid-template-columns: repeat(3, 1fr); } }

.news-card { display: flex; flex-direction: column; overflow: hidden; text-decoration: none; color: var(--color-slate-900); transition: transform 0.2s, box-shadow 0.2s; }
.news-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-glow); }
.news-card__thumb { aspect-ratio: 16/9; overflow: hidden; }
.news-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
.news-card__body { flex: 1; padding: 1.25rem; }
.news-card__meta { font-size: 0.75rem; color: var(--color-slate-500); }
.news-card__title { margin-top: 0.5rem; font-family: var(--font-secondary); font-size: 1rem; font-weight: 700; color: var(--color-slate-900); line-height: 1.4; }
.news-card__excerpt { margin-top: 0.5rem; font-size: 0.875rem; color: var(--color-slate-600); line-height: 1.5; }

.news-pagination { margin-top: 2rem; display: flex; justify-content: center; }

/* ==========================================================================
   Single News
   ========================================================================== */

.single-news { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }
.single-news__grid { display: grid; gap: 2rem; }
@media (min-width: 1024px) { .single-news__grid { grid-template-columns: 1fr 320px; } }

.single-news__hero { border-radius: var(--radius-2xl); overflow: hidden; margin-bottom: 1.5rem; }
.single-news__hero img { width: 100%; height: auto; display: block; }
.single-news__header { margin-bottom: 1.5rem; }
.single-news__meta { font-size: 0.875rem; color: var(--color-slate-500); }
.single-news__title { margin-top: 0.75rem; font-family: var(--font-secondary); font-size: clamp(1.5rem, 3vw, 2.5rem); font-weight: 700; color: var(--color-slate-900); line-height: 1.2; }
.single-news__lead { margin-top: 1rem; font-size: 1.125rem; color: var(--color-slate-600); line-height: 1.6; }
.single-news__content { padding: 2rem; }
.single-news__share { padding: 1rem 1.5rem; display: flex; align-items: center; gap: 1rem; margin-top: 1.5rem; }
.single-news__share span { font-size: 0.875rem; font-weight: 600; color: var(--color-slate-700); }
.single-news__share-links { display: flex; gap: 0.5rem; }
.single-news__share-btn { padding: 0.375rem 1rem; border-radius: 9999px; background: var(--color-slate-100); color: var(--color-slate-600); font-size: 0.8125rem; font-weight: 500; text-decoration: none; transition: background 0.2s; }
.single-news__share-btn:hover { background: var(--color-slate-200); }

.single-news__related h3 { font-family: var(--font-secondary); font-size: 1.125rem; font-weight: 700; color: var(--color-slate-900); margin-bottom: 1rem; }
.single-news__related-item { display: flex; gap: 0.75rem; text-decoration: none; color: var(--color-slate-900); margin-bottom: 1rem; }
.single-news__related-item:hover h4 { color: var(--color-accent); }
.single-news__related-thumb { width: 5rem; height: 3.5rem; flex-shrink: 0; border-radius: var(--radius-md); overflow: hidden; }
.single-news__related-thumb img { width: 100%; height: 100%; object-fit: cover; }
.single-news__related-item h4 { font-size: 0.875rem; font-weight: 600; line-height: 1.3; transition: color 0.2s; }
.single-news__related-item time { font-size: 0.75rem; color: var(--color-slate-500); }

/* ==========================================================================
   Projects Archive
   ========================================================================== */

.projects-filter { padding: 0 1.5rem 2rem; max-width: var(--max-width); margin: 0 auto; }
.projects-filter__inner { display: flex; flex-wrap: wrap; gap: 0.75rem; }

.projects-grid-section { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }
.projects-grid { display: grid; gap: 1.5rem; }
@media (min-width: 640px) { .projects-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .projects-grid { grid-template-columns: repeat(3, 1fr); } }

.project-archive-card { display: flex; flex-direction: column; overflow: hidden; text-decoration: none; color: var(--color-slate-900); transition: transform 0.2s, box-shadow 0.2s; }
.project-archive-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-glow); }
.project-archive-card__thumb { position: relative; aspect-ratio: 16/9; overflow: hidden; }
.project-archive-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
.project-archive-card__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.4), transparent); }
.project-archive-card__body { padding: 1.25rem; }
.project-archive-card__title { font-family: var(--font-secondary); font-size: 1.125rem; font-weight: 700; }
.project-archive-card__excerpt { margin-top: 0.5rem; font-size: 0.875rem; color: var(--color-slate-600); }

.projects-pagination { margin-top: 2rem; display: flex; justify-content: center; }

/* ==========================================================================
   Single Project
   ========================================================================== */

.single-project__hero { position: relative; height: 25rem; overflow: hidden; }
.single-project__hero-inner { position: relative; height: 100%; max-width: var(--max-width); margin: 0 auto; }
.single-project__hero-img { position: absolute; inset: 0; }
.single-project__hero-img img { width: 100%; height: 100%; object-fit: cover; }
.single-project__hero-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.8), rgba(0,0,0,0.3)); }
.single-project__hero-content { position: relative; z-index: 10; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; padding: 2rem 1.5rem; color: var(--color-white); }
.single-project__title { font-family: var(--font-secondary); font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; }
.single-project__desc { margin-top: 1rem; max-width: 40rem; font-size: 1.125rem; color: rgba(255,255,255,0.8); }
.single-project__actions { margin-top: 1.5rem; display: flex; gap: 1rem; }

.single-project__about { padding: 2rem 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }
.single-project__content { margin-top: 2rem; padding: 2rem; }

.single-project__episodes { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }
.episodes-grid { margin-top: 2rem; display: grid; gap: 1.5rem; }
@media (min-width: 640px) { .episodes-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .episodes-grid { grid-template-columns: repeat(3, 1fr); } }
.episode-card { display: flex; flex-direction: column; overflow: hidden; text-decoration: none; color: var(--color-slate-900); }
.episode-card__thumb { aspect-ratio: 16/9; overflow: hidden; }
.episode-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
.episode-card__body { padding: 1rem; }
.episode-card__body h3 { font-family: var(--font-secondary); font-weight: 700; font-size: 0.9375rem; }
.episode-card__body time { font-size: 0.75rem; color: var(--color-slate-500); }

/* ==========================================================================
   Watch / Single Video Page
   ========================================================================== */

.watch-page { padding: 0 1.5rem 3rem; max-width: var(--max-width); margin: 0 auto; }
.watch-page__grid { display: grid; gap: 1.5rem; }
@media (min-width: 1024px) { .watch-page__grid { grid-template-columns: 1fr 380px; } }

.watch-player { position: relative; aspect-ratio: 16/9; border-radius: var(--radius-2xl); overflow: hidden; background: #0f172a; box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25); }
.watch-player__poster { width: 100%; height: 100%; object-fit: cover; }
.watch-player__overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.3); }
.watch-player__center { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 5; }
.watch-player__play-btn { width: 5rem; height: 5rem; border-radius: 50%; background: rgba(255,255,255,0.9); box-shadow: 0 10px 30px rgba(0,0,0,0.2); display: flex; align-items: center; justify-content: center; border: none; cursor: pointer; transition: transform 0.2s, background 0.2s; color: var(--color-slate-900); font-size: 1.5rem; }
.watch-player__play-btn:hover { transform: scale(1.1); background: var(--color-white); }
.watch-player__bar { position: absolute; bottom: 0; left: 0; right: 0; padding: 1.5rem; background: linear-gradient(to top, rgba(0,0,0,0.8), transparent); z-index: 10; display: flex; align-items: center; gap: 1rem; }
.watch-player__progress { flex: 1; height: 0.25rem; border-radius: 9999px; background: rgba(255,255,255,0.3); }
.watch-player__progress-fill { width: 33%; height: 100%; border-radius: 9999px; background: var(--color-white); }

.watch-info { margin-top: 1.5rem; }
.watch-info__meta { font-size: 0.875rem; color: var(--color-slate-500); }
.watch-info__title { margin-top: 0.75rem; font-family: var(--font-secondary); font-size: clamp(1.25rem, 2.5vw, 2rem); font-weight: 700; color: var(--color-slate-900); }
.watch-info__content { margin-top: 1rem; }
.watch-info__actions { margin-top: 1.5rem; display: flex; gap: 1rem; }

.watch-related h3 { font-family: var(--font-secondary); font-size: 1.125rem; font-weight: 700; color: var(--color-slate-900); margin-bottom: 1rem; }
.watch-related__item { display: flex; gap: 0.75rem; text-decoration: none; color: var(--color-slate-900); margin-bottom: 1rem; }
.watch-related__item:hover h4 { color: var(--color-accent); }
.watch-related__thumb { width: 7rem; height: 4rem; flex-shrink: 0; border-radius: var(--radius-md); overflow: hidden; }
.watch-related__thumb img { width: 100%; height: 100%; object-fit: cover; }
.watch-related__info h4 { font-size: 0.875rem; font-weight: 600; line-height: 1.3; transition: color 0.2s; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.watch-related__more { display: block; margin-top: 1rem; text-align: center; font-size: 0.875rem; font-weight: 500; color: var(--color-slate-600); text-decoration: none; }
.watch-related__more:hover { color: var(--color-slate-900); }
