:root {
			--primary: #ee2f7f;
			--primary-dark: #c31f67;
			--accent: #ffb703;
			--ink: #1f1722;
			--muted: #6e6574;
			--paper: #fffafc;
			--line: rgba(31, 23, 34, 0.08);
			--shadow: 0 24px 60px rgba(238, 47, 127, 0.18);
		}

		html {
			scroll-behavior: smooth;
		}

		body {
			font-family: "Manrope", sans-serif;
			color: var(--ink);
			background:
				radial-gradient(circle at top left, rgba(238, 47, 127, 0.12), transparent 30%),
				radial-gradient(circle at 85% 12%, rgba(255, 183, 3, 0.12), transparent 24%),
				linear-gradient(180deg, #ffffff 0%, var(--paper) 44%, #ffffff 100%);
		}

		h1, h2, h3, h4, h5, .navbar-brand {
			font-family: "Outfit", sans-serif;
			letter-spacing: -0.02em;
		}

		.section-padding {
			padding: 96px 0;
		}

		.section-tag {
			display: inline-flex;
			align-items: center;
			gap: 0.5rem;
			padding: 0.45rem 0.85rem;
			border-radius: 999px;
			background: rgba(238, 47, 127, 0.1);
			color: var(--primary-dark);
			font-size: 0.82rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: 0.08em;
		}

		.navbar {
			backdrop-filter: blur(16px);
			background: rgba(255, 255, 255, 0.86);
			border-bottom: 1px solid rgba(255, 255, 255, 0.5);
			box-shadow: 0 6px 28px rgba(31, 23, 34, 0.05);
		}

		.navbar-brand img {
			height: 52px;
			width: auto;
		}

		.nav-link {
			color: var(--ink);
			font-weight: 700;
		}

		.nav-link:hover,
		.nav-link:focus,
		.nav-link.active {
			color: var(--primary);
		}

		.btn-brand {
			background: linear-gradient(135deg, var(--primary) 0%, #ff5f9d 100%);
			color: #fff;
			border: 0;
			border-radius: 999px;
			padding: 0.95rem 1.5rem;
			font-weight: 800;
			box-shadow: 0 16px 35px rgba(238, 47, 127, 0.24);
		}

		.btn-brand:hover,
		.btn-brand:focus {
			color: #fff;
			background: linear-gradient(135deg, #ff5f9d 0%, var(--primary-dark) 100%);
		}

		.btn-outline-brand {
			border: 1px solid rgba(255, 255, 255, 0.55);
			color: #fff;
			border-radius: 999px;
			padding: 0.95rem 1.5rem;
			font-weight: 800;
			backdrop-filter: blur(8px);
		}

		.btn-outline-brand:hover,
		.btn-outline-brand:focus {
			background: #fff;
			color: var(--primary);
		}

		.hero {
			padding-top: 90px;
		}

		.carousel-item,
		.slide-bg {
			min-height: 86vh;
		}

		.slide-bg {
			background-size: cover;
			background-position: center;
			position: relative;
			display: flex;
			align-items: center;
		}

		.slide-bg::before {
			content: "";
			position: absolute;
			inset: 0;
			background:
				linear-gradient(90deg, rgba(23, 15, 22, 0.82) 0%, rgba(23, 15, 22, 0.42) 52%, rgba(23, 15, 22, 0.18) 100%),
				linear-gradient(180deg, rgba(238, 47, 127, 0.16), rgba(238, 47, 127, 0.08));
		}

		.hero-content {
			position: relative;
			z-index: 1;
			color: #fff;
			max-width: 720px;
		}

		.hero-eyebrow {
			display: inline-block;
			margin-bottom: 1rem;
			padding: 0.45rem 0.9rem;
			border: 1px solid rgba(255, 255, 255, 0.28);
			border-radius: 999px;
			background: rgba(255, 255, 255, 0.08);
			font-size: 0.84rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: 0.12em;
		}

		.hero h1 {
			font-size: clamp(2.9rem, 6vw, 5.2rem);
			line-height: 0.95;
			margin-bottom: 1.2rem;
		}

		.hero p {
			font-size: 1.08rem;
			color: rgba(255, 255, 255, 0.86);
			max-width: 620px;
		}

		.hero-meta {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: 1rem;
			margin-top: 1.6rem;
		}

		.hero-meta-card,
		.stat-card,
		.info-card,
		.feature-card,
		.offer-card,
		.timeline-card,
		.news-card,
		.testimonial-card,
		.contact-card,
		.join-card,
		.schedule-card,
		.schedule-note,
		.faq-card {
			border: 1px solid var(--line);
			border-radius: 28px;
			background: rgba(255, 255, 255, 0.88);
			box-shadow: 0 18px 45px rgba(31, 23, 34, 0.06);
		}

		.hero-meta-card {
			padding: 1rem;
			backdrop-filter: blur(10px);
		}

		.hero-meta-card strong {
			display: block;
			font-size: 1.2rem;
			font-family: "Outfit", sans-serif;
		}

		.hero-meta-card span {
			color: rgba(255, 255, 255, 0.82);
			font-size: 0.94rem;
		}

		.floating-card {
			background: rgba(255, 255, 255, 0.88);
			border: 1px solid rgba(255, 255, 255, 0.6);
			border-radius: 32px;
			box-shadow: var(--shadow);
			padding: 1.5rem;
		}

		.stat-card,
		.info-card,
		.feature-card,
		.offer-card,
		.timeline-card,
		.news-card,
		.testimonial-card,
		.contact-card,
		.join-card,
		.schedule-card,
		.schedule-note,
		.faq-card {
			height: 100%;
			transition: transform 0.3s ease, box-shadow 0.3s ease;
		}

		.stat-card,
		.info-card,
		.timeline-card,
		.news-card,
		.testimonial-card,
		.schedule-card,
		.schedule-note,
		.faq-card {
			padding: 1.5rem;
		}

		.feature-card,
		.offer-card,
		.contact-card,
		.join-card {
			padding: 2rem;
		}

		.stat-card:hover,
		.info-card:hover,
		.feature-card:hover,
		.offer-card:hover,
		.timeline-card:hover,
		.news-card:hover,
		.testimonial-card:hover,
		.contact-card:hover,
		.join-card:hover,
		.schedule-card:hover,
		.schedule-note:hover,
		.faq-card:hover,
		.gallery-card:hover {
			transform: translateY(-6px);
			box-shadow: 0 22px 52px rgba(238, 47, 127, 0.12);
		}

		.icon-pill {
			width: 58px;
			height: 58px;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			border-radius: 20px;
			background: linear-gradient(135deg, rgba(238, 47, 127, 0.16), rgba(255, 183, 3, 0.18));
			color: var(--primary);
			font-size: 1.4rem;
			margin-bottom: 1rem;
		}

		.stat-value {
			font-family: "Outfit", sans-serif;
			color: var(--primary);
			font-size: 2.35rem;
			font-weight: 800;
			line-height: 1;
		}

		.mini-label {
			display: inline-flex;
			align-items: center;
			gap: 0.4rem;
			padding: 0.35rem 0.7rem;
			border-radius: 999px;
			background: rgba(238, 47, 127, 0.1);
			font-size: 0.8rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: 0.08em;
			color: var(--primary-dark);
		}

		.image-stack {
			position: relative;
			min-height: 540px;
		}

		.image-stack img,
		.gallery-card img,
		.schedule-shot img {
			object-fit: cover;
			width: 100%;
			height: 100%;
			border-radius: 32px;
			box-shadow: var(--shadow);
		}

		.image-main {
			width: 74%;
			height: 500px;
		}

		.image-accent {
			position: absolute;
			right: 0;
			bottom: 18px;
			width: 48%;
			height: 300px;
			border: 8px solid #fff;
		}

		.split-panel {
			border-radius: 34px;
			overflow: hidden;
			background: linear-gradient(135deg, rgba(238, 47, 127, 0.95) 0%, rgba(195, 31, 103, 0.97) 100%);
			box-shadow: var(--shadow);
		}

		.split-panel .text-panel {
			color: #fff;
			padding: 3rem;
		}

		.split-panel .media-panel {
			padding: 3rem;
			background: rgba(255, 255, 255, 0.96);
		}

		.feature-list,
		.offer-card ul,
		.schedule-list,
		.news-list,
		.contact-list {
			padding-left: 0;
			list-style: none;
			margin-bottom: 0;
		}

		.offer-card li,
		.feature-list li,
		.schedule-list li,
		.news-list li,
		.contact-list li {
			display: flex;
			gap: 0.75rem;
			align-items: flex-start;
			margin-bottom: 0.8rem;
			color: var(--muted);
		}

		.offer-card li i,
		.feature-list li i,
		.schedule-list li i,
		.news-list li i,
		.contact-list li i {
			color: var(--primary);
			margin-top: 0.15rem;
		}

		.gallery-card {
			display: block;
			position: relative;
			overflow: hidden;
			border-radius: 28px;
			min-height: 260px;
			transition: transform 0.3s ease, box-shadow 0.3s ease;
			box-shadow: 0 14px 40px rgba(31, 23, 34, 0.1);
		}

		.gallery-card::after {
			content: "Zobacz zdjęcie";
			position: absolute;
			inset: auto 18px 18px auto;
			padding: 0.55rem 0.9rem;
			border-radius: 999px;
			background: rgba(255, 255, 255, 0.92);
			color: var(--ink);
			font-size: 0.9rem;
			font-weight: 800;
		}

		.gallery-card img {
			border-radius: 0;
			box-shadow: none;
			transition: transform 0.45s ease;
		}

		.gallery-card:hover img {
			transform: scale(1.06);
		}

		.schedule-board {
			display: grid;
			grid-template-columns: repeat(7, minmax(0, 1fr));
			gap: 0.8rem;
		}

		.schedule-day {
			padding: 1rem;
			border-radius: 22px;
			background: rgba(255, 255, 255, 0.96);
			border: 1px solid rgba(31, 23, 34, 0.08);
		}

		.schedule-day strong {
			display: block;
			margin-bottom: 0.55rem;
			font-size: 0.92rem;
		}

		.schedule-day span {
			display: block;
			font-size: 0.9rem;
			color: var(--muted);
		}

		.timeline-card .timeline-step {
			font-weight: 800;
			color: var(--primary-dark);
			font-size: 0.84rem;
			text-transform: uppercase;
			letter-spacing: 0.08em;
		}

		.testimonial-mark {
			font-size: 1.8rem;
			line-height: 1;
			color: var(--primary);
		}

		.sponsors-track {
			margin-top: 2.2rem;
		}

		.sponsor-item {
			padding: 0.75rem;
		}

		.sponsor-card {
			display: flex;
			align-items: center;
			justify-content: center;
			height: 108px;
			border-radius: 22px;
			border: 1px solid var(--line);
			background: rgba(255, 255, 255, 0.9);
			box-shadow: 0 14px 34px rgba(31, 23, 34, 0.05);
			padding: 0.9rem 1.1rem;
			transition: transform 0.3s ease, box-shadow 0.3s ease;
		}

		.sponsor-card:hover {
			transform: translateY(-4px);
			box-shadow: 0 18px 38px rgba(238, 47, 127, 0.12);
		}

		.sponsor-card img {
			max-width: 170px;
			max-height: 56px;
			width: auto;
			height: auto;
			object-fit: contain;
			filter: grayscale(100%);
			opacity: 0.85;
		}

		.sponsor-card:hover img {
			filter: grayscale(0);
			opacity: 1;
		}

		.sponsors-track .slick-list {
			margin: 0 -0.75rem;
		}

		.contact-wrap {
			border-radius: 36px;
			overflow: hidden;
			background: linear-gradient(135deg, rgba(238, 47, 127, 0.94) 0%, rgba(195, 31, 103, 0.96) 100%);
			box-shadow: var(--shadow);
		}

		.contact-panel {
			color: #fff;
			padding: 3rem;
		}

		.contact-panel p,
		.contact-panel a,
		.contact-panel li {
			color: rgba(255, 255, 255, 0.9);
		}

		.contact-form {
			background: rgba(255, 255, 255, 0.96);
			padding: 3rem;
			height: 100%;
		}

		.form-control,
		.form-select {
			border-radius: 18px;
			border: 1px solid rgba(31, 23, 34, 0.12);
			padding: 0.9rem 1rem;
		}

		.form-control:focus,
		.form-select:focus {
			border-color: rgba(238, 47, 127, 0.45);
			box-shadow: 0 0 0 0.25rem rgba(238, 47, 127, 0.14);
		}

		.accordion-item {
			border: 1px solid var(--line);
			border-radius: 22px !important;
			overflow: hidden;
			background: rgba(255, 255, 255, 0.9);
			box-shadow: 0 14px 34px rgba(31, 23, 34, 0.05);
		}

		.accordion-button {
			font-weight: 800;
			font-size: 1.02rem;
			padding: 1.2rem 1.3rem;
		}

		.accordion-button:not(.collapsed) {
			color: var(--primary-dark);
			background: rgba(238, 47, 127, 0.05);
			box-shadow: none;
		}

		.accordion-body {
			color: var(--muted);
			padding: 0 1.3rem 1.2rem;
		}

		footer {
			padding: 28px 0 36px;
			color: var(--muted);
		}

		@media (max-width: 1199.98px) {
			.hero-meta {
				grid-template-columns: 1fr;
			}

			.schedule-board {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
		}

		@media (max-width: 991.98px) {
			.section-padding {
				padding: 80px 0;
			}

			.carousel-item,
			.slide-bg {
				min-height: 78vh;
			}

			.image-stack {
				min-height: auto;
			}

			.image-main,
			.image-accent {
				position: static;
				width: 100%;
				height: 320px;
				margin-bottom: 1rem;
			}

			.split-panel .text-panel,
			.split-panel .media-panel,
			.contact-panel,
			.contact-form {
				padding: 2rem;
			}
		}

		@media (max-width: 575.98px) {
			.navbar-brand img {
				height: 44px;
			}

			.sponsor-card {
				height: 96px;
			}

			.hero h1 {
				font-size: 2.45rem;
			}

			.hero .d-flex {
				flex-direction: column;
				align-items: stretch !important;
			}

			.schedule-board {
				grid-template-columns: 1fr;
			}

			.split-panel .text-panel,
			.split-panel .media-panel,
			.contact-panel,
			.contact-form,
			.feature-card,
			.offer-card,
			.join-card {
				padding: 1.5rem;
			}
		}