:root {
	--bg-color: #e3decb; /* Vintage paper */
	--text-color: #1a1a1a; /* Charcoal */
	--accent-red: #8a3324; /* Alchemical red */
	--accent-gold: #c5a059;
	--dark-bg: #111111;
	--card-bg: #f4f1ea;

	--font-heading: "english-small-caps", sans-serif;
	--font-body: "fields", "Inter", sans-serif;
}

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

body {
	font-family: var(--font-body);
	color: var(--text-color);
	background-color: var(--bg-color);
	line-height: 1.6;
	overflow-x: hidden;
}

a {
	text-decoration: none !important;
}

/* Ziarno - vintage texture */
.grain-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 850 850' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");
	z-index: 9999;
}

/* Typography */
h1,
h2,
h3 {
	font-family: var(--font-heading);
	text-transform: uppercase;
	font-weight: 400;
}

h1 {
	font-size: clamp(3rem, 8vw, 6rem);
	line-height: 1.1;
	margin-bottom: 1rem;
}
h2 {
	font-size: clamp(2rem, 5vw, 4rem);
	margin-bottom: 2rem;
	color: var(--text-color);
}
h3 {
	font-size: 1.8rem;
	margin-bottom: 1rem;
}
p {
	font-family: var(--font-body);
	font-size: 1.2rem;
	margin-bottom: 1.5rem;
}

.section-icon {
	display: block;
	font-size: 3rem;
	margin-bottom: 1rem;
	text-align: center;
}

.font-fix-l {
	margin-right: -0.2em;
}

/* CTA Button */
.cta-button {
	display: inline-block;
	padding: 1.2rem 2.5rem;
	background: var(--accent-red);
	color: #fff;
	border: 1px solid var(--accent-red);
	font-family: var(--font-heading);
	text-transform: uppercase;
	text-decoration: none;
	font-size: 1.2rem;
	transition: all 0.3s ease;
	cursor: pointer;
	margin: 1rem 0 1.5rem 0;
	position: relative;
	z-index: 50;
	opacity: 1 !important;
}

.cta-button:hover {
	background: #111111;
	border-color: var(--text-color);
	color: #ffffff;
}

/* Nav */
nav {
	position: fixed;
	top: 0;
	width: 100%;
	padding: 1.5rem 5%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	z-index: 100;
	mix-blend-mode: difference;
	color: #fff;
}

.logo {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1.5rem;
	mix-blend-mode: normal;
}

.logo img {
	height: 40px;
	width: auto;
	display: block;
	filter: invert(1);
}

.nav-links {
	display: flex;
	align-items: center;
}

.nav-links a {
	color: #fff;
	text-decoration: none;
	margin-left: 2rem;
	text-transform: uppercase;
	font-size: 0.9rem;
	letter-spacing: 1px;
	font-family: var(--font-body);
}

.btn-nav {
	border: 1px solid #fff;
	padding: 0.5rem 1rem;
}

/* Hamburger Menu */
.hamburger {
	display: none;
	flex-direction: column;
	cursor: pointer;
	gap: 5px;
	z-index: 200;
	position: relative;
	mix-blend-mode: normal;
}

.hamburger span {
	width: 25px;
	height: 2px;
	background: #000;
	transition: all 0.3s ease;
	display: block;
}

.hamburger.active span:nth-child(1) {
	transform: rotate(45deg) translate(7px, 7px);
}

.hamburger.active span:nth-child(2) {
	opacity: 0;
}

.hamburger.active span:nth-child(3) {
	transform: rotate(-45deg) translate(7px, -7px);
}

/* Hero Section */
.hero-section {
	height: 100vh;
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	padding: 0 5%;
	position: relative;
	overflow: hidden;
	background: url("images/paperboard-yellow-texture-1.jpg") center/cover;
}

.hero-section h2 {
	margin-bottom: 1rem;
	color: #8a3324;
}



.hero-section .subtitle:first-of-type {
	font-size: 28px;
	font-weight: 600;
	margin: 0 0 20px 0;
	color:rgba(0, 0, 0, 0.795);
}


.hero-section .subtitle:nth-of-type(2) {
	font-size: 22px;
}


.hero-section .typewriter-line {	
	
	line-height: 22px;
}




/* Hero Text Content */
.hero-text-content {
	grid-column: 1;
	z-index: 3;
	color: var(--text-color);
	margin-bottom: 0;
}

/* Hero Uroboros */
.hero-uroboros {
	grid-column: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.uroboros-container {
	position: relative;
	width: 70%;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

.uroboros-img {
	width: 100%;
	height: auto;
	animation: scaleUp 1s ease-out forwards, rotate 20s linear 1s infinite;
}

.cien-tlo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 70%;
	height: auto;
	opacity: 0;
	animation: fadeInCenter 1s ease-out 2s forwards;
}

@keyframes fadeInCenter {
	0% {
		opacity: 0;
		transform: translate(-50%, -50%) scale(0.8);
	}
	100% {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}
}

.subtitle {
	margin-bottom: 0;
}

.sun-icon {
	display: inline-block;
	vertical-align: middle;
	width: 1.2em;
	height: auto;
	margin: 0 0.5em;
	filter: invert(27%) sepia(39%) saturate(932%) hue-rotate(339deg)
		brightness(95%) contrast(89%);
	animation: sun-spin 10s linear infinite;
}

@keyframes sun-spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(-360deg);
	}
}

.small-info {
	margin: 0 20px 0 0;
	font-size: 22px;
	font-weight: 600;
	color:rgba(0, 0, 0, 0.795);
	opacity: 1;
}

.sacrum-logo {
	width: 170px;
	align-items: center;
}

@media screen and (max-width: 768px) {
	.sacrum-logo {
	width: 100px;
	align-items: center;
}

}

.info-icon {
	display: inline-block;
	vertical-align: middle;
	width: 1.2em;
	height: auto;
	margin-right: 0.5em;
	filter: invert(27%) sepia(39%) saturate(932%) hue-rotate(339deg)
		brightness(95%) contrast(89%);
}

.info-block {
	margin-top: 2rem !important;
	
}

.small-info:nth-of-type(2) {
	margin-top: 10px;
}

@keyframes scaleUp {
	from {
		transform: scale(0);
	}
	to {
		transform: scale(1);
	}
}

@keyframes rotate {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(-360deg);
	}
}

/* Hero Tags Bar */
.hero-tags-bar {
	background: var(--accent-red);
	padding: 2rem 0;
	overflow: hidden;
	display: flex;
	align-items: center;
}

.second-tags-bar {
	background: #1a1a1a;
	padding: 2rem 0;
	overflow: hidden;
	display: flex;
	align-items: center;
}

.tags-text {
	font-size: clamp(18px, 2.5vw, 27px);
	font-weight: 600;
	color: var(--card-bg);
	margin: 0;
	white-space: nowrap;
	animation: scroll-left 30s linear infinite;
	display: inline-block;
	min-width: max-content;
}

.tags-icon {
	display: inline-block;
	vertical-align: middle;
	width: 1.2em;
	height: auto;
	margin: 0 0.5em;
	filter: invert(96%) sepia(15%) saturate(294%) hue-rotate(318deg) brightness(106%) contrast(98%);
	animation: sun-spin 10s linear infinite;
}

@keyframes scroll-left {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/* Manifest */
.manifest-section {
	padding: 8rem 2rem;
	text-align: center;
	background: #fdce86;
	position: relative;
	overflow: hidden;
	min-height: 100vh;
}

.manifest-mushrooms {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media screen and (max-width: 768px) {
	.manifest-mushrooms {
bottom: 0 !important;
	}
	
}

.manifest-mushrooms img {
	width: 60%;
	height: auto;
	object-fit: cover;
}

@media screen and (max-width: 768px) {
	.manifest-mushrooms img {
		width: 90%;
	}
}

.manifest-moon {
	position: absolute;
	left: -5%;
	top: 50%;
	transform: translateY(-50%);
	width: 40%;
	height: 80%;
	background: url("images/ksiezyc-pol.png") left center/contain no-repeat;
	pointer-events: none;
	z-index: 1;
	opacity: 1;
}

.manifest-sun {
	position: absolute;
	right: -5%;
	top: 50%;
	transform: translateY(-50%);
	width: 40%;
	height: 80%;
	background: url("images/slonce-pol.png") right center/contain no-repeat;
	pointer-events: none;
	z-index: 1;
	opacity: 1;
}

.manifest-union {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 50%;
	max-width: 600px;
	opacity: 0;
	z-index: 3;
}

.manifest-union img {
	width: 100%;
	height: auto;
	display: block;
}

.manifest-content {
	position: relative;
	z-index: 2;
	opacity: 0;
}

.manifest-content h2 {
	color: #8a3324;
	line-height: 63px !important;
}

@media screen and (max-width: 768px) {
	.manifest-content h2 {
	
	line-height: 33px !important;
}
}

.manifest-text {
	max-width: 950px;
	margin: 0 auto;
	font-size: 1.4rem;
}

.container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 2rem;
}

/* Philosophy Section */
.philosophy-section {
	position: relative;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	padding-top: 80px;
}

.philosophy-content .ornament-srodek {
	text-align: center;
	width: 20%;
	filter: brightness(0.1);
}

.philosophy-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.philosophy-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(253, 205, 134, 0.864);
	
}

.philosophy-content {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 4rem;
	color: #1a1a1a;
}

.philosophy-left {
	flex: 1;
	text-align: left;
}

.philosophy-right {
	flex: 0 0 40%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.philosophy-title {
	font-size: clamp(2rem, 5vw, 3rem);
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 1.5rem;
	line-height: 1.2;
	/*font-family: var(--font-heading);*/
}

.philosophy-text {
	font-size: 1.4rem;
	margin: 2rem 0;
	line-height: 1.6;
}

.philosophy-quote {
	font-size: 1.5rem;
	font-style: italic;
	padding: 2rem 0 0 0;
	text-align: left;
	max-width: 100%;
	margin: 0;
}

.kosciotrup {
	width: 90%;
	opacity: 0;
	animation: fadeIn 1.5s ease-out forwards, bounce 1s ease-in-out 1.5s infinite;
}

@keyframes fadeIn {
	0% {
		opacity: 0;
		transform: scale(0.8);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes bounce {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-15px);
	}
}

.philosophy-quote cite {
	display: block;
	margin-top: 1rem;
	font-style: normal;
}

/* PROCES ALCHEMICZNY - ON SCROLL FILTER */
.intro-alchemy {
	padding: 8rem 2rem;
	text-align: center;
	background: var(--dark-bg);
	color: var(--bg-color);
	min-height: 100vh;
}

.intro-alchemy h2 {
	font-family: var(--font-heading);
	font-size: 3rem;
	margin-bottom: 1.5rem;
	color: var(--bg-color);
}

.intro-alchemy p {
	font-size: 1.3rem;
	max-width: 800px;
	margin: 0 auto;
}

.content-wrap {
	display: grid;
	place-items: center;
	grid-template-areas: "main";
	margin-bottom: 0;
	background: #1a1a1a !important;
	color: #fff;
	min-height: 100vh;
	position: relative;
	overflow: hidden;
}

/* Add padding after last test section */
.test-wrap:last-of-type {
	padding-bottom: 20vh;
}

/* Floating elements animation - Cosmic Tunnel Effect */
.floating-elements {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	pointer-events: none;
	perspective: 1000px;
}

.element {
	position: absolute;
	opacity: 0;
	filter: sepia(0.4) hue-rotate(20deg) brightness(1.2);
	border: none !important;
	mix-blend-mode: normal !important;
}

/* Distributed positions - mixed elements */
.element-fire-1 {
	top: 8%;
	left: 12%;
	width: 35px;
	animation: tunnel-zoom 5s infinite ease-in;
	animation-delay: 0s;
}

.element-water-1 {
	top: 15%;
	left: 55%;
	width: 38px;
	animation: tunnel-zoom 5.2s infinite ease-in;
	animation-delay: 0.8s;
}

.element-earth-1 {
	top: 22%;
	left: 78%;
	width: 36px;
	animation: tunnel-zoom 5.1s infinite ease-in;
	animation-delay: 1.6s;
}

.element-air-1 {
	top: 32%;
	left: 25%;
	width: 37px;
	animation: tunnel-zoom 5.3s infinite ease-in;
	animation-delay: 2.4s;
}

.element-fire-2 {
	top: 42%;
	left: 68%;
	width: 38px;
	animation: tunnel-zoom 5.4s infinite ease-in;
	animation-delay: 3.2s;
}

.element-water-2 {
	top: 52%;
	left: 8%;
	width: 36px;
	animation: tunnel-zoom 5s infinite ease-in;
	animation-delay: 4s;
}

.element-earth-2 {
	top: 58%;
	left: 45%;
	width: 37px;
	animation: tunnel-zoom 5.2s infinite ease-in;
	animation-delay: 0.4s;
}

.element-air-2 {
	top: 68%;
	left: 82%;
	width: 35px;
	animation: tunnel-zoom 5.1s infinite ease-in;
	animation-delay: 1.2s;
}

.element-fire-3 {
	top: 75%;
	left: 18%;
	width: 37px;
	animation: tunnel-zoom 5.3s infinite ease-in;
	animation-delay: 2s;
}

.element-water-3 {
	top: 82%;
	left: 62%;
	width: 38px;
	animation: tunnel-zoom 5.5s infinite ease-in;
	animation-delay: 2.8s;
}

.element-earth-3 {
	top: 88%;
	left: 35%;
	width: 35px;
	animation: tunnel-zoom 5s infinite ease-in;
	animation-delay: 3.6s;
}

.element-air-3 {
	top: 92%;
	left: 88%;
	width: 36px;
	animation: tunnel-zoom 5.2s infinite ease-in;
	animation-delay: 4.4s;
}

.element-fire-4 {
	top: 5%;
	left: 40%;
	width: 36px;
	animation: tunnel-zoom 5.1s infinite ease-in;
	animation-delay: 0.6s;
}

.element-water-4 {
	top: 28%;
	left: 90%;
	width: 37px;
	animation: tunnel-zoom 5.4s infinite ease-in;
	animation-delay: 1.4s;
}

.element-earth-4 {
	top: 48%;
	left: 30%;
	width: 38px;
	animation: tunnel-zoom 5.3s infinite ease-in;
	animation-delay: 2.2s;
}

.element-air-4 {
	top: 65%;
	left: 50%;
	width: 37px;
	animation: tunnel-zoom 5s infinite ease-in;
	animation-delay: 3s;
}

/* Single keyframe animation - zoom from small to large */
@keyframes tunnel-zoom {
	0% {
		transform: scale(0.15);
		opacity: 0;
	}
	15% {
		opacity: 0.7;
	}
	100% {
		transform: scale(3.5);
		opacity: 0;
	}
}

.content {
	grid-area: main;
	display: grid;
	place-items: center;
	line-height: 1.2;
	grid-template-areas: "content";
	position: relative;
	z-index: 10;
	width: 100%;
}

.content-wrap .content:first-child {
	height: 100vh;
}

.content--layout {
	grid-template-areas:
		"title-up title-down"
		"img img"
		"text text";
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	max-width: 100%;
}

/* Desktop layout for test sections - based on original layout-1 */
@media screen and (min-width: 53em) {
	.test-wrap .content--layout-1,
	.test-wrap .content--layout-2,
	.test-wrap .content--layout-3 {
		grid-template-areas:
			"title-up img ..."
			"text img title-down";
		grid-template-columns: 30% auto 30%;
		grid-template-rows: 1fr 1fr;
		gap: 2rem;
	}

	/* Smaller title size for test sections on desktop */
	.test-wrap .title {
		font-size: clamp(1.5rem, 7vw, 4rem);
	}

	.test-wrap .content__img {
		max-width: none;
	}

	.test-wrap .content--layout-1 .content__text,
	.test-wrap .content--layout-2 .content__text,
	.test-wrap .content--layout-3 .content__text {
		max-width: 450px;
		text-align: right;
		justify-self: end;
		align-self: end;
		line-height: 1.5rem;
	}
}

.content__media {
	grid-area: img;
	position: relative;
	max-width: 100%;
	width: 100%;
	aspect-ratio: 1400/800;
}

.content__img {
	width: 100%;
	height: 100%;
}

.content__video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.video-1 {
	mask: url(#circleMask1);
	-webkit-mask: url(#circleMask1);
}

.video-2 {
	mask: url(#circleMask2);
	-webkit-mask: url(#circleMask2);
}

.video-3 {
	mask: url(#circleMask3);
	-webkit-mask: url(#circleMask3);
}

/* Test section - original OnScrollFilter structure */
.test-wrap .content__img {
	grid-area: img;
	max-width: 50%;
	height: auto;
}

.test-wrap .content__img--1 {
	aspect-ratio: 1;
	width: 100%;
	max-width: 100%;
	align-self: center;
}

.test-wrap .content__img--2 {
	aspect-ratio: 1;
	width: 100%;
	max-width: 100%;
	align-self: center;
}

.test-wrap .content__img--3 {
	aspect-ratio: 1;
	width: 100%;
	max-width: 100%;
	align-self: center;
}

/* Ensure video is hidden initially until mask reveals it */
.test-wrap .test-video {
	visibility: visible;
}

.title-wrap {
	display: flex;
	gap: 1em;
	align-items: center;
	justify-content: center;
}

.title {
	padding-top: 0.3em;
	line-height: 0.525;
	font-size: clamp(2rem, 10vw, 9rem);
	font-family: var(--font-heading);
	font-weight: 400;
	position: relative;
	z-index: 100;
}

.title--up {
	grid-area: title-up;
	color: #e14d33;
}

.title--down {
	grid-area: title-down;
	font-weight: 400;
	color: #fdce86;
}

.content__text {
	grid-area: text;
	font-size: 1.3rem;
	line-height: 1.8;
	margin: 0;
	color: #e3decb;
	text-align: left;
}

/* Miejsce */
.location-section {
	padding: 6rem 0;
	background: #1a1a1a;
	color: #e3decb;
	position: relative;
	display: flex;
	align-items: center;
	overflow: hidden;
	min-height: 800px;
}

@media screen and (max-width: 768px) {
	.location-section {
		min-height: 300px;
	}
}

.location-section .container {
	max-width: 1440px;
}

.split-layout .text-col h2 {
	color: #e3decb;
	line-height: 3rem;
}

.split-layout .text-col {
	width: 40%;
	position: relative;
	z-index: 10;
}

.location-section img {
	object-fit: cover;
	border: 1px solid var(--bg-color);
}

.location-section .floating-elements img {
	mix-blend-mode: luminosity;
}

.festiwalowe-slider-track img {
	border: none;
}

/* Festiwalowe Image Slider */
.festiwalowe-slider {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: 5;
}

.festiwalowe-slider::before,
.festiwalowe-slider::after {
	content: "";
	position: absolute;
	top: 0;
	width: 20%;
	height: 100%;
	z-index: 10;
	pointer-events: none;
}

.festiwalowe-slider::before {
	left: 0;
	background: linear-gradient(to right, #1a1a1a 0%, transparent 100%);
}

.festiwalowe-slider::after {
	right: 0;
	background: linear-gradient(to left, #1a1a1a 0%, transparent 100%);
}

.festiwalowe-slider-track {
	display: flex;
	height: 100%;
	width: max-content;
	animation: scrollLeft 40s linear infinite;
	align-items: center;
	gap: 20px;
	padding: 120px 40px;
}

.festiwalowe-slider-track img {
	width: 620px;
	height: 450px;
	object-fit: cover;
	flex-shrink: 0;
}

/* Mobile - smaller images */
@media (max-width: 768px) {
	.festiwalowe-slider-track {
		padding: 60px 20px;
		gap: 10px;
	}

	.festiwalowe-slider-track img {
		width: 280px;
		height: 200px;
	}

	.festiwalowe-slider::before,
	.festiwalowe-slider::after {
		width: 15%;
	}
}

@keyframes scrollLeft {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

/* STACKING CARDS LINEUP */
.lineup-section {
	position: relative;
	background: url("images/paperboard-yellow-texture-1.jpg") center/cover;
}

.spiral {
	width: 15px;
	height: 15px;
}

.lineup-video-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
	opacity: 0.5;
}

.lineup-section::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url("images/paperboard-yellow-texture-1.jpg") center/cover;
	pointer-events: none;
	z-index: 1;
	opacity: 0.7;
}

.lineup-header {
	max-width: 1024px;
	margin: 0 auto;
	padding: 64px 20px 20px 20px;
	text-align: center;
	position: relative;
	z-index: 2;
}

.lineup-header h2 {
	color: var(--text-color);
	margin-bottom: 0;
}

.lineup-header h3 {
	font-size: 36px;
	margin: 45px 0 32px 0;
}

.lineup-header p {
	color: var(--text-color);
	opacity: 0.8;
}

/* Lineup - Sticky Scroll Layout */
.lineup-desktop {
	display: block;
}

.lineup-mobile {
	display: none;
}

.lineup-height {
	height: 250vh;
	position: relative;
	z-index: 2;
}

.lineup-sticky-wrapper {
	height: 95vh;
	position: sticky;
	top: 2.5vh;
	z-index: 2;
}

.lineup-card {
	height: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.lineup-left {
	background-color: #f4f1ea;
}

.lineup-left,
.lineup-right {
	position: relative;
	height: 100%;
	overflow: hidden;
}

.lineup-text,
.lineup-image {
	position: absolute;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	transition: opacity 0.5s ease, transform 0.5s ease;
}

.lineup-text {
	padding: 40px;
	opacity: 0;
	transform: translateY(100%);
}

.lineup-text.is-active {
	opacity: 1;
	transform: translateY(0);
}

.lineup-image {
	overflow: hidden;
	opacity: 0;
	transform: translateY(-100%);
}

.lineup-image.is-active {
	opacity: 1;
	transform: translateY(0);
}

.lineup-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(100%);
	position: relative;
	animation: glitch 3s infinite;
}

.lineup-image.is-active img {
	animation: glitch-active 2s infinite;
}

.ornament-srodek {
	text-align: center;
	width: 20%;
	filter: brightness(0.1);
}

.ornament-naroznik,
.ornament-naroznik-2 {
	text-align: center;
	width: 6%;
	filter: brightness(0) saturate(100%) invert(90%) sepia(13%) saturate(365%)
		hue-rotate(357deg) brightness(101%) contrast(92%);
	position: absolute;
}

.ornament-naroznik {
	transform: rotate(-90deg);
	top: -5%;
	left: -5%;
}

.ornament-naroznik-2 {
	transform: rotate(90deg);
	bottom: -5%;
	right: -5%;
}

.slonce,
.ksiezyc {
	position: absolute;
	z-index: 9999;
}

.mezczyzna,
.kobieta {
	height: 450px;
	position: absolute;
	z-index: 9999;
}

.kobieta {
	right: 5%;
	bottom: 5%;
	z-index: 999999;
	animation: float-kobieta 6s ease-in-out infinite;
}

.ksiezyc {
	right: 7%;
	bottom: 5%;
	z-index: 999999;
	width: 200px;
	animation: float-ksiezyc 7s ease-in-out infinite;
}

.mezczyzna {
	left: 2%;
	top: 16%;
	width: 15%;
	height: 350px;
	animation: float-mezczyzna 8s ease-in-out infinite;
}

.slonce {
	left: 8%;
	top: 5%;
	width: 280px;
	animation: float-slonce 5s ease-in-out infinite;
}

@media screen and (max-width: 1250px) {
.slonce,
	.ksiezyc,
	.mezczyzna,
	.kobieta {
		display: none;
	}
}

@media screen and (max-width: 768px) {
	.slonce,
	.ksiezyc,
	.mezczyzna,
	.kobieta {
		display: none;
	}

	.philosophy-content {
		flex-direction: column;
		gap: 2rem;
		text-align: center;
	}

	.philosophy-right {
		flex: 0 0 50%;
	}

	.kosciotrup {
		width: 70%;
	}

	.artists-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.speakers-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.organizers-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Glitch animation for lineup images */
@keyframes glitch {
	0%,
	100% {
		transform: translate(0);
		filter: grayscale(100%) sepia(0.2) hue-rotate(20deg);
	}
	10% {
		transform: translate(-2px, 2px);
		filter: grayscale(80%) sepia(0.6) hue-rotate(10deg) saturate(150%);
	}
	20% {
		transform: translate(2px, -2px);
		filter: grayscale(100%) contrast(130%) sepia(0.3);
	}
	30% {
		transform: translate(-2px, -2px);
		filter: grayscale(60%) sepia(0.8) hue-rotate(350deg) saturate(200%);
	}
	40% {
		transform: translate(2px, 2px);
		filter: grayscale(100%) brightness(110%) sepia(0.2);
	}
	50% {
		transform: translate(0);
		filter: grayscale(90%) sepia(0.5) hue-rotate(30deg);
	}
	60% {
		transform: translate(-3px, 0);
		filter: grayscale(40%) sepia(1) hue-rotate(15deg) saturate(250%);
	}
	70% {
		transform: translate(3px, 0);
		filter: grayscale(100%) contrast(140%) sepia(0.4);
	}
	80% {
		transform: translate(0, -2px);
		filter: grayscale(70%) sepia(0.7) hue-rotate(5deg) saturate(180%);
	}
	90% {
		transform: translate(0, 2px);
		filter: grayscale(100%) brightness(95%) sepia(0.25);
	}
}

@keyframes glitch-active {
	0%,
	100% {
		transform: translate(0);
		filter: grayscale(100%) sepia(0.3) hue-rotate(20deg);
	}
	5% {
		transform: translate(-3px, 3px);
		filter: grayscale(20%) sepia(1) saturate(400%) hue-rotate(350deg);
	}
	10% {
		transform: translate(3px, -3px);
		filter: grayscale(100%) contrast(180%) sepia(0.4);
	}
	15% {
		transform: translate(-3px, -3px);
		filter: grayscale(0%) sepia(1) saturate(500%) hue-rotate(30deg);
	}
	20% {
		transform: translate(3px, 3px);
		filter: grayscale(100%) brightness(140%) sepia(0.3);
	}
	25% {
		transform: translate(0);
		filter: grayscale(50%) sepia(0.8) hue-rotate(10deg) contrast(160%)
			saturate(250%);
	}
	30% {
		transform: translate(-4px, 0);
		filter: grayscale(10%) sepia(1) saturate(600%) hue-rotate(25deg);
	}
	35% {
		transform: translate(4px, 0);
		filter: grayscale(100%) contrast(220%) brightness(115%) sepia(0.4);
	}
	40% {
		transform: translate(0, -3px);
		filter: grayscale(30%) sepia(0.9) hue-rotate(5deg) saturate(350%);
	}
	45% {
		transform: translate(0, 3px);
		filter: grayscale(100%) brightness(85%) contrast(170%) sepia(0.35);
	}
	50% {
		transform: translate(-2px, 2px);
		filter: grayscale(0%) sepia(1) saturate(700%) hue-rotate(15deg);
	}
	55% {
		transform: translate(2px, -2px);
		filter: grayscale(60%) sepia(0.7) hue-rotate(355deg) saturate(280%);
	}
	60% {
		transform: translate(-3px, 0);
		filter: grayscale(20%) sepia(1) saturate(450%) hue-rotate(20deg)
			contrast(150%);
	}
}

.c-card__tagline {
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--accent-red);
	margin-bottom: 1rem;
}

.c-card__title {
	font-size: 36px;
	margin: 0 0 1.5rem 0;
}

.c-card__excerpt {
	font-size: 16px;
	line-height: 1.6;
}

.c-card__excerpt ul {
	list-style: none;
	margin-top: 1rem;
	padding: 0;
}

.c-card__excerpt li {
	padding: 0.5rem 0;
}

.dla-kogo {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 6rem 0;
	background-image: url('images/tlo3.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	color: white;
	text-shadow:
  1px 1px 2px #111111,
  0 0 1em #111111,
  0 0 0.2em #111111;
}

.dla-kogo-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	align-items: center;
}

.dla-kogo-left h1 {
	font-size: clamp(3rem, 8vw, 6rem);
	line-height: 1.3;
}

.dla-kogo-right {
	display: flex;
	flex-direction: column;
}

.dk-box {
	padding: 2rem 0;
	text-align: left;
}

.dk-box p {
	font-size: 22px;
}

.dk-contact {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	font-size: 22px;
	text-align: center;
}

.dk-contact p {
	font-size: 18px;
	line-height: 1.6;
}

.dk-contact a {
	color: #ffd700;
	text-decoration: underline;
}

.dk-contact a:hover {
	color: #fff;
}

/* Lista artystów w 2 kolumnach */
#artysci-lista {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0.5rem 2rem;
}

/* Artyst Section */
.artists-section {
	position: relative;
	padding: 6rem 0;
	overflow: hidden;
}

.artists-video-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.artists-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #1a1a1a;
	opacity: 0.85;
}

.artists-section .container {
	position: relative;
	z-index: 2;
}

.artists-title {
	text-align: center;
	color: #fff;
	font-size: clamp(2rem, 5vw, 3.5rem);
	margin-bottom: 3rem;
	text-transform: uppercase;
}

.artists-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
}

.artist-slide {
	position: relative;
	width: 100%;
	aspect-ratio: 2 / 3;
	cursor: pointer;
	overflow: hidden;
}

.artist-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(100%);
}

.artist-slide:hover .artist-image {
	filter: grayscale(0%);
}

.artist-name {
	position: absolute;
	left: 0;
	bottom: 0;
	color: #fff;
	font-size: 2.1rem;
	font-weight: 600;
	text-transform: uppercase;
	padding: 1.5rem;
	text-shadow:
  1px 1px 2px #111111,
  0 0 1em #111111,
  0 0 0.2em #111111;
}

/* Prelegenci Grid */
.speakers-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	margin-bottom: 2rem;
	position: relative;
	z-index: 2;
}

.speakers-coming-soon {
	text-align: center;
	font-size: 1.1rem;
	color: var(--text-color);
	margin-bottom: 3rem;
	font-style: italic;
	position: relative;
	z-index: 2;
}

@media screen and (max-width: 768px) {
	.speakers-coming-soon {
		font-size: 22px !important;
	}
	
}

.program-info {
	text-align: center;
	padding: 2rem 0;
}

.program-info p {
	font-size: 1.2rem;
	color: var(--text-color);
	font-weight: 500;
}

.speaker-slide {
	position: relative;
	width: 100%;
	aspect-ratio: 2 / 3;
	cursor: pointer;
	overflow: hidden;
}

.speaker-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(100%);
}

.speaker-slide:hover .speaker-image {
	filter: grayscale(0%);
}

#popup-name, #speaker-popup-name {
	font-family: var(--font-body);
}

#popup-image, #speaker-popup-image {
	width: 280px;
	height: 280px;
	object-fit: cover;
	border-radius: 50%;
}

#popup-bio, #speaker-popup-bio {
	color: white;
}

.speaker-name {
	color: #fff;
	font-size: 1.3rem;
	line-height: 1.4rem;
	font-weight: 700;
	text-transform: uppercase;
	margin: 0 0 0.3rem 0;
}

.speaker-title {
	color: rgba(255, 255, 255, 0.9);
	font-size: 0.95rem;
	line-height: 1.3rem;
	font-weight: 400;
	margin: 0;
}

.speaker-overlay {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 1.2rem;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.4) 80%, transparent 100%);
}

/* Artist Popup */
.artist-popup {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.9);
	z-index: 1000;
	justify-content: center;
	align-items: center;
	padding: 2rem;
}

.artist-popup.active {
	display: flex;
}

.artist-popup-content {
	position: relative;
	background: #1a1a1a;
	max-width: 900px;
	width: 100%;
	max-height: 90vh;
	overflow-y: auto;
	border-radius: 0;
	padding: 2rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.artist-popup-close,
.speaker-popup-close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	background: none;
	border: none;
	color: #fff;
	font-size: 2rem;
	cursor: pointer;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: background 0.3s ease;
}

.artist-popup-close:hover,
.speaker-popup-close:hover {
	background: rgba(255, 255, 255, 0.1);
}

.popup-image {
	width: 100%;
	max-width: 400px;
	height: auto;
	object-fit: cover;
	border-radius: 0;
	margin-bottom: 1.5rem;
	filter: grayscale(100%);
}

.artist-popup-content h3 {
	color: #fff;
	font-size: 1.8rem;
	margin-bottom: 1rem;
	text-transform: uppercase;
	text-align: center;
}

.artist-popup-content p {
	color: #e3decb;
	font-size: 1.1rem;
	line-height: 1.8;
	text-align: center;
}

/* Speaker Popup Styles */
.speaker-popup-title {
	color: #fff;
	font-size: 1.3rem;
	margin-bottom: 0.5rem;
	text-align: center;
	font-weight: 500;
}

.speaker-popup-description {
	color: white !important;
	font-size: 1rem;
	line-height: 1.6;
	text-align: center;
	margin-bottom: 1rem;
	font-style: italic;
}

.speaker-popup-bio {
	color: #e3decb;
	font-size: 1.1rem;
	line-height: 1.8;
	text-align: center;
}

/* Organizatorzy Grid */
.organizers-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
	margin: 3rem 0;
}

.organizer-slide {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	
}


.organizer-logo-wrapper {
	width: 150px;
	height: 150px;
	border-radius: 50%;
	border: 4px solid #8a3324;
	margin-bottom: 1rem;
	overflow: hidden;
}

.organizer-logo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(100%);
	transition: filter 0.3s ease;
}

.organizer-slide:hover .organizer-logo {
	filter: grayscale(0%);
}

.organizer-name {
	color: #e3decb;
	font-size: 1.1rem;
	font-weight: 600;
	margin-bottom: 2px;
	text-transform: uppercase;
}

.organizer-bio {
	color:#e3decb;
	max-width: 200px;
	font-size: 0.9rem;
	line-height: 1.5;
	margin-top: 0.5rem;
}

/* Partnerzy Grid */
.partners {
	margin-top: 3rem;
}

.partners h2 {
	color: #e3decb;
	text-align: center;
	margin-bottom: 2rem;
}

/* Partners Auto Slider */
.partners-slider {
	overflow: hidden;
	width: 100%;
	margin: 3rem 0;
}

.partners-slider-track {
	display: flex;
	gap: 3rem;
	animation: scrollPartners 30s linear infinite;
	width: max-content;
}

.partners-slider:hover .partners-slider-track {
	animation-play-state: paused;
}

.partner-slide {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	flex-shrink: 0;
}

.partner-logo-wrapper {
	width: 180px;
	height: 180px;
	border-radius: 0;
	border: none;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #e3decb;
	padding: 12px;
	transition: transform 0.3s ease;
}

.partner-slide:hover .partner-logo-wrapper {
	transform: scale(1.05);
}

.partner-logo {
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: grayscale(100%);
	transition: filter 0.3s ease;
}

.partner-slide:hover .partner-logo {
	filter: grayscale(0%);
}

.partner-link {
	display: flex;
	text-decoration: none;
}

@keyframes scrollPartners {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-33.33%);
	}
}

/* Tickets */
.tickets-section {
	padding: 6rem 2rem;
	text-align: center;
	background: var(--accent-red);
	color: var(--bg-color);
	position: relative;
}

.tickets-section h2 {
	color: var(--bg-color);
}

.tickets-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 2rem;
	margin: 3rem 0;
}

.ticket-card {
	border: 2px solid rgba(227, 222, 203, 0.3);
	padding: 2rem;
	transition: all 0.3s ease;
	background: rgba(0, 0, 0, 0.2);
}

.ticket-card:hover {
	border-color: var(--bg-color);
	transform: translateY(-5px);
}

.ticket-card.active {
	background: #fdce86;
	color: var(--accent-red);
	transform: scale(1.05);
	border-color: #fdce86;
}

.ticket-card.active .price {
	color: var(--accent-red);
}

.ticket-card.sold-out {
	opacity: 0.5;
	text-decoration: line-through;
}

.ticket-card p {
	margin-bottom: 0;
}

.price {
	font-size: 2.5rem;
	font-family: var(--font-heading);
	margin: 1rem 0;
}

.btn-ticket {
	display: inline-block;
	padding: 0.8rem 2rem;
	background: var(--accent-red);
	color: white;
	text-decoration: none;
	text-transform: uppercase;
	margin-top: 1rem;
}

.ticket-date-info {
	font-size: 13px;
	opacity: 0.7;
	margin-top: 0.25rem;
}

.ticket-note {
	font-size: 14px;
	opacity: 0.8;
	margin-top: 1rem;
}

.price-countdown {
	font-size: 2.2rem;
	opacity: 0.9;
	padding-top: 3.75rem !important;
	font-weight: 700;
	line-height: 52px;
}

.price-countdown #countdown-timer {
	font-weight: 700;
	letter-spacing: 1px;
	font-size: 3.5rem;
}

@media screen and (max-width: 768px) {

	.price-countdown {
		padding-top: 1.5rem;
		font-size: 1.8rem;
	}

	.price-countdown #countdown-timer {
		font-size: 1.8rem;
	}
	
}

.price-countdown .countdown-unit {
	font-size: 0.5em;
	opacity: 0.7;
	vertical-align: baseline;
}

/* Accommodation */
.accommodation-section {
	padding: 4rem 2rem;
	background-color: #6b2e1f;
	color: var(--bg-color);
	text-align: center;
}

.accommodation-section p {
	/*border: 2px solid #e3decb;*/
	padding: 25px;
}

.accommodation-section h3 {
	color: var(--bg-color);
}

.accommodation-section a {
	color: #ffd700;
	text-decoration: underline;
}

.accommodation-section a:hover {
	color: #fff;
}

/* Vibe Section */
.vibe-section {
	padding: 6rem 2rem 2rem 2rem;
	background-color: #1a1a1a;
	color: var(--bg-color);
	text-align: center;
}

.vibe-section h2,
.vibe-section h3 {
	color: var(--bg-color);
}

.testimonials-slider {
	max-width: 800px;
	margin: 0 auto 4rem auto;
}

.testimonials-slider .swiper-slide {
	padding: 2rem;
	text-align: center;
}

.testimonials-slider .swiper-slide p {
	font-family: var(--font-body);
	font-size: 1.3rem;
	max-width: 700px;
	margin: 0 auto;
	line-height: 1.6;
}

.vibe-section .testimonials-slider .swiper-pagination-bullet {
	background: var(--text-color);
	opacity: 0.5;
}

.vibe-section .testimonials-slider .swiper-pagination-bullet-active {
	background: var(--accent-red) !important;
	opacity: 1;
}

.vibe-section blockquote {
	font-size: 1.3rem;
	font-style: italic;
}

.creators {
	margin: 4rem 0;
}

.legal-entity {
	margin-top: 2rem;
	padding: 1.5rem;
	font-size: 12px;
	color: rgba(227, 222, 203, 0.6);
	line-height: 1.6;
	border-top: 1px solid rgba(227, 222, 203, 0.1);
}

.logos-placeholder {
	margin-top: 2rem;
	font-size: 1.2rem;
	font-family: var(--font-body);
	border: 2px solid #e3decb;
	padding: 25px;
}

.logos-placeholder span {
	margin: 0 1rem;
}

.logos-placeholder span a {
	text-decoration: none;
	color: #e3decb;
}

/* About Section */
.about-section {
	background: #8a3324;
	color: var(--bg-color);
	padding: 8rem 2rem;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.about-section {
		padding: 4rem 2rem;
	}
}

.big-statement {
	font-family: var(--font-heading);
	font-size: 2.5rem;
	max-width: 900px;
	margin: 0 auto;
	line-height: 1.4;
	position: relative;
}

@media screen and (max-width: 768px) {
	.big-statement {
		font-size: 1.7rem;
	}
}

/* FAQ Section */
.faq-section {
	padding: 6rem 2rem;
	background: #0a0a0a;
	color: #f5f5f5;
}

.faq-container {
	max-width: 900px;
	margin: 0 auto;
}

.faq-title {
	font-family: var(--font-heading);
	font-size: clamp(2rem, 5vw, 3rem);
	text-align: center;
	margin-bottom: 1rem;
	color: #f5f5f5;
}

.faq-subtitle {
	text-align: center;
	color: #999;
	font-style: italic;
	margin-bottom: 3rem;
	font-size: 1.1rem;
}

.faq-item {
	margin-bottom: 1rem;
}

.faq-details {
	background: #1a1a1a;
	border-left: 3px solid #c5a059;
	padding: 1.5rem;
	cursor: pointer;
	transition: background 0.3s ease;
}

.faq-details:hover {
	background: #222;
}

.faq-question {
	font-size: 1.2rem;
	color: #f5f5f5;
	font-weight: 600;
	list-style: none;
	position: relative;
	padding-right: 30px;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.faq-question::-webkit-details-marker {
	display: none;
}

.faq-question::after {
	content: '+';
	font-size: 1.8rem;
	color: #c5a059;
	transition: transform 0.3s ease;
	flex-shrink: 0;
	margin-left: 1rem;
}

.faq-details[open] .faq-question::after {
	content: '−';
	transform: rotate(180deg);
}

.faq-answer {
	color: #b8b8b8;
	font-size: 1rem;
	line-height: 1.7;
	padding-top: 1rem;
	margin-top: 1rem;
	border-top: 1px solid #333;
}

.faq-answer p {
	margin-bottom: 1rem;
}

.faq-answer p:last-child {
	margin-bottom: 0;
}

.faq-answer ul {
	margin: 1rem 0;
	padding-left: 1.5rem;
}

.faq-answer li {
	margin-bottom: 0.5rem;
}

.faq-answer h4 {
	color: #c5a059;
	margin-top: 1.5rem;
	margin-bottom: 0.75rem;
	font-size: 1.1rem;
}

.faq-answer strong {
	color: #c5a059;
}

.faq-highlight {
	background: rgba(212, 175, 55, 0.1);
	border-left: 3px solid #c5a059;
	padding: 1rem;
	margin-top: 1rem;
	font-weight: 500;
	color: #f5f5f5;
}

@media (max-width: 768px) {
	.faq-section {
		padding: 4rem 1.5rem;
	}

	.faq-question {
		font-size: 1.1rem;
	}

	.faq-details {
		padding: 1.25rem;
	}

	.faq-answer {
		font-size: 0.95rem;
	}
}

/* Footer */
footer {
	background: #8a3324;
	color: white !important;
	padding: 6rem 2rem 2rem;
	text-align: center;
}

.jung-quote {
	font-family: var(--font-body);
	font-size: 1.8rem;
	color: #e0e0e0;
	max-width: 700px;
	margin: 0 auto 3rem;
	font-style: italic;
}

.footer-cta {
	border-color: #fff;
	color: #fff;
	margin-bottom: 4rem;
}

/* Responsive */
@media (max-width: 768px) {
	/* Hero Section */
	.hero-section {
		grid-template-columns: 1fr;
		padding: 100px 5% 2rem;
		height: auto;
		min-height: 100vh;
	}

	.hero-text-content {
		grid-column: 1;
		max-width: 100%;
		text-align: center;
	}

	.hero-section h2 {
		font-size: clamp(1.8rem, 8vw, 2.5rem);
	}

	.hero-section .subtitle:first-of-type {
		font-size: 18px;
		margin: 15px 0;
	}

	.hero-section .subtitle:nth-of-type(2) {
		font-size: 16px;
	}

	.hero-section .typewriter-line {
		line-height: 18px;
		font-size: 14px;
		white-space: normal;
		display: inline;
	}

	.cta-button {
		padding: 1rem 2rem;
		font-size: 1rem;
	}

	.info-block {
		flex-direction: column;
		gap: 0.5rem;
		margin-top: 1.5rem !important;
	}

	.small-info {
		margin: 0;
		font-size: 16px;
		text-align: center;
	}

	.hero-uroboros {
		grid-column: 1;
		padding: 2rem 0;
	}

	.uroboros-container {
		width: 60%;
	}

	/* Tags Bar */
	.tags-text {
		font-size: 14px;
	}

	.tags-icon {
		width: 1em;
		margin: 0 0.3em;
	}

	/* Manifest Section */
	.manifest-section {
		padding: 4rem 1.5rem;
		min-height: auto;
	}

	.manifest-moon,
	.manifest-sun {
		opacity: 0.3;
		width: 30%;
	}

	.manifest-content h2 {
		font-size: clamp(1.5rem, 6vw, 2.5rem);
		line-height: 1.3;
	}

	.manifest-text {
		font-size: 1rem;
	}

	.manifest-mushrooms img {
		width: 85%;
	}

	/* Philosophy Section */
	.philosophy-section {
		padding: 4rem 0;
	}

	.philosophy-content {
		flex-direction: column;
		gap: 2rem;
		text-align: center;
		padding: 0 1.5rem;
	}

	.philosophy-left {
		flex: 1;
	}

	.philosophy-right {
		flex: 0 0 50%;
	}

	.philosophy-title {
		font-size: clamp(1.5rem, 5vw, 2rem);
	}

	.philosophy-text {
		font-size: 1.1rem;
	}

	.philosophy-quote {
		font-size: 1.1rem;
		padding: 1.5rem 0 0 0;
	}

	.kosciotrup {
		width: 60%;
	}

	/* Test Wrap Sections */
	.test-wrap {
		min-height: auto;
		padding: 4rem 0;
	}

	.title-wrap {
		flex-direction: column;
		gap: 0.5rem;
		padding: 1rem;
	}

	.title {
		font-size: clamp(2rem, 12vw, 4rem);
		line-height: 0.6;
	}

	.test-wrap .content--layout-1,
	.test-wrap .content--layout-2,
	.test-wrap .content--layout-3 {
		grid-template-areas:
			"title-up"
			"title-down"
			"img"
			"text";
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 1.5rem;
	}

	.test-wrap .content__img {
		max-width: 100%;
	}

	.test-wrap .content__text {
		max-width: 100%;
		text-align: left;
		padding: 0 1.5rem;
		font-size: 1rem;
	}

	/* Lineup Section */
	.lineup-header {
		padding: 3rem 1.5rem 1rem;
	}

	/* Ukryj desktopową wersję na mobile */
	.lineup-desktop {
		display: none !important;
	}

	/* Pokaż mobile wersję */
	.lineup-mobile {
		display: block;
		position: relative;
		z-index: 2;
		padding: 2rem 0;
	}

	.lineup-mobile-item {
		background-color: #f4f1ea;
		margin-bottom: 2rem;
		overflow: hidden;
	}

	.lineup-mobile-image {
		width: 100%;
		height: 250px;
		overflow: hidden;
	}

	.lineup-mobile-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		filter: grayscale(100%);
	}

	.lineup-mobile-content {
		padding: 1.5rem;
	}

	.lineup-mobile .c-card__excerpt ul {
		padding-left: 1.5rem;
		list-style-position: inside;
	}

	.lineup-mobile .c-card__excerpt li {
		padding: 0.4rem 0;
	}

	.lineup-header h2 {
		font-size: clamp(1.8rem, 6vw, 2.5rem);
	}

	.lineup-header h3 {
		font-size: 1.5rem;
	}

	/* Lineup mobile layout */
	.lineup-card {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
		height: auto;
		min-height: auto;
	}

	.lineup-left {
		order: 1;
		height: auto;
	}

	.lineup-right {
		order: 2;
		height: auto;
	}

	.lineup-text {
		position: static;
		opacity: 1 !important;
		transform: translateY(0) !important;
		margin-bottom: 2rem;
		padding: 1.5rem;
	}

	.lineup-image {
		position: static;
		opacity: 1 !important;
		transform: translateY(0) !important;
		margin-bottom: 2rem;
		height: 250px;
	}

	.lineup-sticky-wrapper {
		position: relative;
		height: auto;
	}

	.lineup-height {
		height: auto;
	}

	.c-card__title {
		font-size: 1.5rem;
	}

	.c-card__excerpt {
		font-size: 14px;
	}

	/* Speakers Grid */
	.speakers-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 0.5rem;
	}

	.speaker-overlay {
		padding: 0.6rem;
	}

	.speaker-name {
		font-size: 0.9rem;
		line-height: 1.2;
		margin-bottom: 0.2rem;
	}

	.speaker-title {
		font-size: 0.75rem;
		line-height: 1.1;
	}

	/* Artists Section */
	.artists-section {
		padding: 4rem 0;
	}

	.artists-title {
		font-size: clamp(1.8rem, 6vw, 2.5rem);
		margin-bottom: 2rem;
	}

	.artists-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.artist-name {
		font-size: 1.2rem;
		padding: 1rem;
	}

	/* Dla Kogo Section */
	.dla-kogo-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.dla-kogo-left h1 {
		font-size: clamp(2.5rem, 10vw, 4rem);
		text-align: center;
	}

	.dla-kogo-right {
		text-align: center;
	}

	.dk-box p {
		font-size: 16px;
	}

	/* Tickets Section */
	.tickets-section {
		padding: 4rem 1.5rem;
	}

	.tickets-section h2 {
		font-size: clamp(1.8rem, 6vw, 2.5rem);
	}

	.tickets-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.ticket-card {
		padding: 1.5rem;
	}

	.price {
		font-size: 2rem;
	}

	/* Accommodation */
	.accommodation-section {
		padding: 3rem 1.5rem;
	}

	.accommodation-section p {
		padding: 1.5rem;
		font-size: 1rem;
	}

	/* Vibe/Footer */
	.vibe-section {
		padding: 4rem 1.5rem 1.5rem;
	}

	.vibe-section h2 {
		font-size: clamp(1.5rem, 5vw, 2rem);
	}

	.organizers-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
	}

	.organizer-logo-wrapper {
		width: 100px;
		height: 100px;
	}

	.organizer-name {
		font-size: 0.9rem;
	}

	/* Partners Slider - mobile */
	.partners-slider {
		margin: 2rem -1.5rem;
	}

	.partners-slider-track {
		gap: 1.5rem;
		animation: scrollPartners 20s linear infinite;
	}

	.partner-logo-wrapper {
		width: 120px;
		height: 120px;
		padding: 8px;
	}

	.organizer-bio {
		font-size: 0.8rem;
		max-width: 150px;
	}

	.footer-bottom {
		flex-direction: column;
		gap: 0.5rem;
		font-size: 0.9rem;
	}

	@media screen and (max-width: 768px) {
		.footer-bottom {
			display: flex;
		flex-direction: column !important;
		}
	}

	/* Hamburger menu */
	.hamburger {
		display: flex;
	}

	nav {
		z-index: 200;
		mix-blend-mode: normal;
	}

	.logo {
		z-index: 200;
		position: relative;
		mix-blend-mode: normal;
	}

	.logo img {
		filter: brightness(0);
	}

	.nav-links {
		position: fixed;
		top: 0;
		right: -100%;
		height: 100vh;
		width: 100%;
		background: var(--dark-bg);
		flex-direction: column;
		justify-content: center;
		align-items: center;
		transition: right 0.3s ease;
		mix-blend-mode: normal;
		gap: 2rem;
		z-index: 150;
	}

	.nav-links.active {
		right: 0;
	}

	.nav-links a {
		margin: 0;
		font-size: 1.5rem;
		font-weight: 400;
	}
}

/* Extra small devices */
@media (max-width: 480px) {
	.hero-section {
		padding: 80px 5% 2rem;
	}

	.hero-section h2 {
		font-size: 1.5rem;
	}

	.hero-section .subtitle:first-of-type {
		font-size: 16px;
	}

	.hero-section .subtitle:nth-of-type(2) {
		font-size: 14px;
	}

	.cta-button {
		padding: 0.8rem 1.5rem;
		font-size: 0.9rem;
	}

	.small-info {
		font-size: 14px;
	}

	.uroboros-container {
		width: 70%;
	}

	.manifest-content h2 {
		font-size: 1.5rem;
	}

	.manifest-text {
		font-size: 0.95rem;
	}

	.title {
		font-size: clamp(1.5rem, 15vw, 4rem);
	}

	.test-wrap .content__text {
		font-size: 0.95rem;
	}

	.speakers-grid,
	.artists-grid {
		grid-template-columns: 1fr 1fr;
	}

	.artist-name {
		font-size: 1rem;
	}

	.lineup-image {
		height: 200px;
	}

	.lineup-text {
		padding: 1.2rem;
	}

	.c-card__title {
		font-size: 1.3rem;
	}

	.c-card__excerpt {
		font-size: 13px;
	}

	/* Mobile Lineup na ekranach 480px */
	.lineup-mobile-image {
		height: 200px;
	}

	.lineup-mobile-content {
		padding: 1.2rem;
	}

	.lineup-mobile .c-card__title {
		font-size: 1.3rem;
	}

	.lineup-mobile .c-card__excerpt {
		font-size: 13px;
	}

	.lineup-mobile .c-card__excerpt ul {
		padding-left: 1.2rem;
	}

	.lineup-mobile .c-card__excerpt li {
		padding: 0.3rem 0;
	}
}

.location-section .zamek {
	position: absolute;
	right: -15%;
	bottom: 0;
	border: none !important;
	width: 72%;
	animation: zamek-glitch 4s ease-in-out infinite;
	z-index: 5;
}

@keyframes zamek-glitch {
	0%,
	100% {
		transform: translate(0, 0);
		filter: grayscale(0%) sepia(0.2) brightness(100%);
	}
	5% {
		transform: translate(-4px, 3px);
		filter: grayscale(30%) sepia(0.7) hue-rotate(10deg) brightness(105%)
			saturate(150%);
	}
	10% {
		transform: translate(3px, -4px);
		filter: grayscale(0%) sepia(0.5) contrast(120%) brightness(95%);
	}
	15% {
		transform: translate(-3px, -3px);
		filter: grayscale(25%) sepia(0.8) hue-rotate(350deg) saturate(180%);
	}
	20% {
		transform: translate(4px, 2px);
		filter: grayscale(0%) sepia(0.6) brightness(108%) contrast(110%);
	}
	25% {
		transform: translate(-2px, 4px);
		filter: grayscale(20%) sepia(0.7) hue-rotate(15deg) saturate(160%);
	}
	30% {
		transform: translate(3px, -2px);
		filter: grayscale(0%) sepia(0.5) hue-rotate(5deg) contrast(115%)
			brightness(103%);
	}
	35% {
		transform: translate(-4px, 0);
		filter: grayscale(28%) sepia(0.75) saturate(170%) brightness(102%);
	}
	40% {
		transform: translate(0, 3px);
		filter: grayscale(0%) sepia(0.55) brightness(106%) contrast(108%);
	}
	45% {
		transform: translate(3px, 3px);
		filter: grayscale(22%) sepia(0.65) hue-rotate(8deg) saturate(155%);
	}
	50% {
		transform: translate(-3px, -2px);
		filter: grayscale(0%) sepia(0.7) hue-rotate(355deg) brightness(104%)
			contrast(112%);
	}
	55% {
		transform: translate(4px, -3px);
		filter: grayscale(26%) sepia(0.8) saturate(165%) brightness(101%);
	}
	60% {
		transform: translate(0, -4px);
		filter: grayscale(0%) sepia(0.6) contrast(118%) brightness(99%);
	}
	65% {
		transform: translate(-2px, 2px);
		filter: grayscale(24%) sepia(0.75) hue-rotate(12deg) saturate(175%);
	}
	70% {
		transform: translate(3px, 0);
		filter: grayscale(0%) sepia(0.65) brightness(107%) contrast(105%);
	}
	75% {
		transform: translate(-4px, -4px);
		filter: grayscale(30%) sepia(0.7) hue-rotate(6deg) saturate(160%);
	}
	80% {
		transform: translate(2px, 4px);
		filter: grayscale(0%) sepia(0.55) brightness(103%) contrast(110%);
	}
	85% {
		transform: translate(-3px, 0);
		filter: grayscale(20%) sepia(0.8) hue-rotate(358deg) saturate(170%);
	}
	90% {
		transform: translate(0, -2px);
		filter: grayscale(0%) sepia(0.5) brightness(102%) contrast(108%);
	}
	95% {
		transform: translate(2px, 2px);
		filter: grayscale(18%) sepia(0.65) hue-rotate(10deg) saturate(155%);
	}
}

/* Floating animations for ticket section elements */
@keyframes float-kobieta {
	0%,
	100% {
		transform: translate(0, 0);
	}
	25% {
		transform: translate(-8px, -12px);
	}
	50% {
		transform: translate(6px, -8px);
	}
	75% {
		transform: translate(-4px, 10px);
	}
}

@keyframes float-ksiezyc {
	0%,
	100% {
		transform: translate(0, 0);
	}
	20% {
		transform: translate(10px, -6px);
	}
	40% {
		transform: translate(-5px, -14px);
	}
	60% {
		transform: translate(8px, 4px);
	}
	80% {
		transform: translate(-6px, -8px);
	}
}

@keyframes float-mezczyzna {
	0%,
	100% {
		transform: translate(0, 0);
	}
	30% {
		transform: translate(-10px, 8px);
	}
	60% {
		transform: translate(7px, -10px);
	}
	90% {
		transform: translate(-5px, 6px);
	}
}

@keyframes float-slonce {
	0%,
	100% {
		transform: translate(0, 0);
	}
	33% {
		transform: translate(12px, 6px);
	}
	66% {
		transform: translate(-8px, -10px);
	}
}

footer {
	background-color: #8a3324;
}

.footer-bottom {
	border-top: 2px solid #e3decb;
	padding-top: 22px;
	color: #e3decb;
	display: flex;
	flex-direction: row;
	justify-content: space-between;

}

/* --------------------------------------------------------
   SKELETON LOADERS
   -------------------------------------------------------- */

/* Podstawowy skeleton shimmer */
@keyframes shimmer {
	0% {
		background-position: 200% 0;
	}
	100% {
		background-position: -200% 0;
	}
}

.skeleton {
	background: linear-gradient(
		90deg,
		rgba(227, 222, 203, 0.3) 25%,
		rgba(227, 222, 203, 0.6) 50%,
		rgba(227, 222, 203, 0.3) 75%
	);
	background-size: 200% 100%;
	animation: shimmer 1.5s infinite;
}

/* Skeleton dla artist/speaker card */
.skeleton-card {
	position: relative;
	width: 100%;
	aspect-ratio: 2 / 3;
	overflow: hidden;
}

.skeleton-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		90deg,
		#3a3a3a 25%,
		#4a4a4a 50%,
		#3a3a3a 75%
	);
	background-size: 200% 100%;
	animation: shimmer 1.5s infinite;
}

.skeleton-card::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 90%;
	height: 24px;
	margin: 1rem 5%;
	background: linear-gradient(
		90deg,
		#2a2a2a 25%,
		#3a3a3a 50%,
		#2a2a2a 75%
	);
	background-size: 200% 100%;
	animation: shimmer 1.5s infinite;
	animation-delay: 0.2s;
}

/* Skeleton dla organizer/partner - okrągły logo */
.skeleton-logo-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.skeleton-logo-wrapper {
	width: 150px;
	height: 150px;
	border-radius: 50%;
	border: 4px solid #8a3324;
	margin-bottom: 1rem;
	overflow: hidden;
}

/* Partner skeleton - kwadratowy bez borderu */
.partner-slide .skeleton-logo-wrapper {
	border-radius: 0;
	border: none;
}

.skeleton-logo-wrapper::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		90deg,
		#3a3a3a 25%,
		#4a4a4a 50%,
		#3a3a3a 75%
	);
	background-size: 200% 100%;
	animation: shimmer 1.5s infinite;
}

.skeleton-text {
	width: 80%;
	height: 16px;
	margin: 0.5rem auto;
	background: linear-gradient(
		90deg,
		#3a3a3a 25%,
		#4a4a4a 50%,
		#3a3a3a 75%
	);
	background-size: 200% 100%;
	animation: shimmer 1.5s infinite;
	animation-delay: 0.1s;
}

.skeleton-text-short {
	width: 60%;
}

/* Mobile skeleton - mniejsze */
@media (max-width: 768px) {
	.skeleton-logo-wrapper {
		width: 100px;
		height: 100px;
	}

	.skeleton-text {
		height: 14px;
	}
}
