/* 
Theme Name: Turulo
Theme URI: koncept404.pl
Author: Adrian Turulski
Author URI: turulo.pl/
Description: Motyw firmowy
Version: 1.0 
*/

/*-----------------------------------------------------------*/

@import url("https://use.typekit.net/pyp2ktg.css");
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,100..700;1,100..700&family=Instrument+Serif:ital@0;1&display=swap");
@import url("https://use.typekit.net/dzr6ffv.css");

:root {
	--turulo-spectrum-gradient: conic-gradient(
		from 90deg at 50% 50%,
		#aa57ff 0%,
		#ff3683 16.25%,
		#ffb745 47.47%,
		#ffffff 57.8%,
		#45b8ff 87.52%,
		#4fc641 100%
	);
	/* Globalny pionowy rytm sekcji: 20px @1280, rośnie do 30px @1920. */
	--section-gap-y: clamp(20px, calc(20px + (10) * ((100vw - 1280px) / 640)), 30px);
}

/* font-family aliases:
   1) "IBM Plex Sans", sans-serif
   2) "Instrument Serif", serif
   3) "bc-sklonar", sans-serif (Typekit dzr6ffv)
*/

html {
	scroll-behavior: smooth;
	margin-top: 0 !important;
}

/*-----------------------------------------------------------
	Table
-------------------------------------------------------------*/

tr,
td {
	border: 1px solid #eaeaea;
}

td {
	padding: 15px;
}

table {
	width: 100%;
	display: block;
	overflow: overlay;
	border-spacing: 0px;
}

/*-----------------------------------------------------------
	Fonts
-------------------------------------------------------------*/

@media (max-width: 810px) {
	iframe {
		width: 100%;
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

h1 {
}

h2,
h3,
h4,
h5,
h6 {
	line-height: 1.3;
	color: #1a1a1a;
	margin-bottom: 0;
	font-weight: 600;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
}

h2 {
	font-size: calc(16px + (25 - 16) * ((100vw - 1024px) / (1920 - 1024)));
}

h3 {
	font-size: 27px;
}

h4 {
	font-size: 24px;
}

h5 {
	font-size: calc(16px + (18 - 16) * ((100vw - 1440px) / (1920 - 1024)));
}

ul {
	margin-bottom: 1rem;
	padding-left: 30px;
}

body {
	font-family: "Instrument Serif", serif;
	font-size: 24px;
	font-weight: 400;
	line-height: 1.4;
	margin: 0;
	color: #1a1a1a;
	overflow-x: hidden;

	transition: 0.3s !important;
}

span.nowrap {
	white-space: nowrap;
}

body p {
	margin-top: 0;
	/* F:14-@18-23.4; */
	color: #000;
	text-transform: none;
	font-family: "IBM Plex Sans", sans-serif;
}

a {
	color: #1a1a1a;
	text-decoration: none;
	transition: all 0.3s;
}

.small,
small {
	display: block;
}

/* Styl dla linków w stanie focus lub hover */

:focus {
	outline: 0px solid black; /* Zielona obramówka */
	outline-offset: 0px; /* Przesunięcie obramówki na zewnątrz */
	transition: none !important;
}

/* -----------------------------------------------------------
   Archive layouts (News / Artists / Projects)
-------------------------------------------------------------*/

#top-section .arch-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
}

#top-section .arch-back {
	text-transform: none;
	font-weight: 400;
	/* F:@16.327; */
	color: #000;
	font-family: "IBM Plex Sans", sans-serif;
}

#top-section .arch-filter-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border: 2px solid #000;
	border-bottom: 0;
	padding: 16px 20px 20px;
	gap: 20px;
	margin-bottom: 16px;
	position: relative;
}

#top-section .arch-filter-box::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 20px);
	height: 2px;
	background: #000;
}

/* Plain variant used by top-breadcrumbs-back: keeps anchor class without archive box chrome */
#top-section.top-similiar .arch-filter-box--plain {
	display: block;
	border: 0;
	padding: 0;
	gap: 0;
	margin-bottom: 0;
}

#top-section.top-similiar .arch-filter-box--plain::after {
	display: none;
}

#top-section .arch-label {
	font-weight: 400;
	text-transform: uppercase;
}

.arch-dropdown {
	position: relative;
}

.arch-drop-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: none;
	background: transparent;
	text-transform: uppercase;
	font-weight: 600;
	cursor: pointer;
	padding: 0;
}

.arch-drop-btn .caret {
	font-size: 14px;
}

.arch-drop-menu {
	display: none;
	position: absolute;
	right: 0;
	top: 100%;
	background: #fff;
	border: 1px solid #000;
	padding: 10px 12px;
	z-index: 20;
	min-width: 140px;
}

.arch-dropdown:hover .arch-drop-menu {
	display: block;
}

.arch-drop-menu a {
	display: block;
	padding: 4px 0;
	text-transform: uppercase;
	font-weight: 600;
}

.arch-drop-menu a:hover,
.arch-drop-menu a.active {
	text-decoration: underline;
}

.arch-subcats {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 12px 0 28px;
}

/* Keep filter chips below the divider drawn by .arch-filter-box::after. */
#top-section .arch-filter-box + .arch-subcats {
	margin-top: calc(20px + 2px + 12px);
}

.arch-subcats a {
	border: 1px solid #000;
	padding: 6px 12px;
	text-transform: uppercase;
	font-size: 14px;
	transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.arch-subcats a.active {
	background: var(--turulo-filter-click-bg, #000);
	border-color: var(--turulo-filter-click-bg, #000);
	color: #fff;
}

.arch-subcats a:hover {
	background: #000;
	border-color: #000;
	color: #fff;
}

.arch-subcats a.active:hover {
	background: var(--turulo-filter-click-bg, #000);
	border-color: var(--turulo-filter-click-bg, #000);
}

/* Single top (news / artists / projects) */
#top-section .arch-filter-box.single-top-box {
	display: block;
	flex-direction: column;
	align-items: stretch;
}

.single-top-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.single-top-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 24px;
	align-items: start;
	margin-top: 20px;
}

.single-top-text .excerpt {
	margin: 8px 0 12px;
}

.single-top-thumb {
	border: 1px solid #000;
	background: var(--turulo-spectrum-gradient) 50% 50% / cover no-repeat;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 240px;
	overflow: hidden;
}

.single-top-thumb > a {
	display: flex;
	width: 100%;
	min-height: inherit;
}

.single-top-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.single-top-thumb .placeholder-thumb {
	width: 100%;
	min-height: inherit;
}

#top-section h1 {
	/* F:34-@112-145.6; */
	font-weight: 400;
}

.single-top-text h1 {
	text-transform: uppercase;
}

.single-top-box .arch-label {
}

.nav-inline {
	display: inline-flex;
	gap: 12px;
	font-weight: 600;
	text-transform: uppercase;
}

.artist-contact {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.arch-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 24px;
}

#archive-listing-section .arch-grid {
	position: relative;
}

#archive-listing-section .arch-grid.is-filter-transitioning {
	pointer-events: none;
}

#archive-listing-section .arch-grid.is-filter-transitioning .arch-card {
	backface-visibility: hidden;
}

.arch-card {
	border: 1px solid #000;
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	padding: 14px;
	gap: 12px;
}

.arch-card h3 {
	margin: 6px 0;
}

.arch-excerpt {
	margin: 0 0 8px;
	font-size: 16px;
}

.arch-thumb {
	border: 1px solid #000;
	background: #f6f6f6;
	aspect-ratio: 4 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.arch-thumb > a {
	display: block;
	width: 100%;
	height: 100%;
}

.arch-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.placeholder-thumb {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0;
	font-family: "bc-sklonar", sans-serif;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: transparent;
	text-transform: uppercase;
	background: var(--turulo-spectrum-gradient) 50% 50% / cover no-repeat;
	text-shadow: none;
	border-radius: inherit;
}

.arch-meta {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.arch-row {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	flex-wrap: wrap;
}

.arch-grid .arch-cat,
.arch-grid .arch-date {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 36px;
	padding: 0 19px;
	border: 2px solid #000;
	border-radius: 18px;
	font-family: "bc-sklonar", sans-serif;
	font-weight: 700;
	font-size: 18px;
	letter-spacing: 0.09px;
	line-height: 1;
	text-transform: lowercase;
	color: #000;
	white-space: nowrap;
}

.arch-grid a.arch-cat,
.arch-grid a.arch-date,
.arch-grid .arch-cat a {
	color: inherit;
	text-decoration: none;
}

.arch-social {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	font-size: 13px;
	text-transform: uppercase;
}

.arch-social .muted {
	opacity: 0.45;
}

.listing-artists {
	--artists-columns: 3;
	--artists-grid-gap: 24px;
	grid-template-columns: repeat(var(--artists-columns), minmax(0, 1fr));
	gap: var(--artists-grid-gap);
	align-items: start;
}

.listing-artists > .artists-col {
	display: flex;
	flex-direction: column;
	gap: var(--artists-grid-gap);
	min-width: 0;
}

.listing-artists .artists-pair {
	display: flex;
	flex-direction: column;
	gap: var(--artists-grid-gap);
	min-width: 0;
}

.listing-artists .arch-card {
	--artists-gap-row: 20px;
	--artists-gap-social: 40px;
	border: 2px solid #000;
	border-radius: 40px;
	/* P:@20; */
	padding: 20px;
	gap: 0;
	position: relative;
	overflow: hidden;
	height: auto;
	transition: height 500ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.listing-artists .arch-thumb {
	border: 0;
	background: transparent;
	aspect-ratio: auto;
	border-radius: 20px;
	/* H:@210; */
	transition: height 500ms cubic-bezier(0.22, 0.61, 0.36, 1);
	flex-shrink: 0;
}

.listing-artists .arch-thumb a {
	display: block;
	width: 100%;
	height: 100%;
}

.listing-artists .arch-thumb img {
	border-radius: 20px;
	transform: scale(1);
	transform-origin: 50% 50%;
	transition: transform 500ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.listing-artists .arch-card.is-expanded .arch-thumb img {
	transform: scale(1.08);
}

.listing-artists .arch-meta {
	gap: 0;
	min-height: 0;
	flex-shrink: 0;
}

.listing-artists .arch-meta h3,
.listing-artists .arch-meta h3 a {
	/* F:18-28.3146; */
	/* LS:0.12; */
	font-family: "bc-sklonar", sans-serif;
	font-weight: 700;
	color: #000;
	line-height: 1;
}

.listing-artists .arch-meta h3 {
	/* Mt:@20; */
	margin-top: 20px;
	margin-bottom: 0;
}

.listing-artists .arch-excerpt {
	margin: 0;
}

.listing-artists .arch-row {
	margin-top: var(--artists-gap-row);
}

.listing-artists .arch-social {
	margin-top: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	flex-wrap: nowrap;
	width: 100%;
	text-transform: none;
	font-size: inherit;
}

.listing-artists .arch-hover-panel {
	height: 0;
	overflow: hidden;
	margin-top: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-6px);
	transition:
		height 500ms cubic-bezier(0.22, 0.61, 0.36, 1),
		margin-top 500ms cubic-bezier(0.22, 0.61, 0.36, 1),
		opacity 500ms cubic-bezier(0.22, 0.61, 0.36, 1),
		transform 500ms cubic-bezier(0.22, 0.61, 0.36, 1),
		visibility 0s linear 500ms;
}

.listing-artists .arch-hover-inner {
	padding-top: 0;
}

.listing-artists .arch-card.is-expanded .arch-hover-panel {
	margin-top: var(--artists-gap-row);
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition-delay: 0s;
}

.listing-artists .arch-hover-social {
	height: 0;
	overflow: hidden;
	margin-top: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-6px);
	transition:
		height 500ms cubic-bezier(0.22, 0.61, 0.36, 1),
		margin-top 500ms cubic-bezier(0.22, 0.61, 0.36, 1),
		opacity 500ms cubic-bezier(0.22, 0.61, 0.36, 1),
		transform 500ms cubic-bezier(0.22, 0.61, 0.36, 1),
		visibility 0s linear 500ms;
}

.listing-artists .arch-hover-social-inner {
	padding-top: 0;
}

.listing-artists .arch-card.is-expanded .arch-hover-social {
	margin-top: var(--artists-gap-social);
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition-delay: 0s;
}

.listing-artists.is-artists-measuring .arch-card,
.listing-artists.is-artists-measuring .arch-thumb,
.listing-artists.is-artists-measuring .arch-hover-panel,
.listing-artists.is-artists-measuring .arch-hover-social {
	transition: none !important;
}

.listing-artists .arch-social-left {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.listing-artists .arch-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 36px;
	border: 2px solid #000;
	color: #000;
	text-decoration: none;
	font-family: "bc-sklonar", sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}

.listing-artists .arch-social-link--circle {
	width: 36px;
	border-radius: 50%;
	padding: 0;
	text-transform: lowercase;
}

.listing-artists .arch-social-link--pill {
	border-radius: 18px;
	padding: 0 18px;
	text-transform: uppercase;
}

.listing-artists .arch-social-link--www {
	margin-left: auto;
}

.listing-artists .arch-social-link:hover,
.listing-artists .arch-social-link:focus-visible {
	color: #000;
	text-decoration: none;
}

.listing-news {
	--news-thumb-hover-ratio: 0.5;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.listing-news .arch-card {
	border-left: 2px solid #000;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	border-bottom: 0;
	border-radius: 0;
	/* Pt:@20; */
	/* Pr:@20; */
	padding-bottom: 0;
	/* Pl:@20; */
	gap: 0;
	overflow: hidden;
	transition: height 500ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.listing-news .arch-thumb {
	border: 0;
	background: transparent;
	border-radius: 10px;
	/* H:@318; */
	flex-shrink: 0;
	transition: height 500ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.listing-news .arch-thumb a {
	display: block;
	width: 100%;
	height: 100%;
}

.listing-news .arch-thumb img {
	border-radius: 10px;
}

.listing-news .arch-meta,
.listing-projects .arch-meta {
	gap: 0;
}

.listing-news .arch-meta h3,
.listing-news .arch-meta h3 a,
.listing-projects .arch-meta h3,
.listing-projects .arch-meta h3 a {
	/* F:24-@48-62.4; */
	/* LS:0.24; */
	font-weight: 400;
	text-transform: none;
	line-height: 1;
	color: #000;
}

.listing-news .arch-meta h3 {
	/* Mt:@30; */
	/* Mb:@30; */
	margin-right: 0;
	margin-left: 0;
}

.listing-news .arch-row {
	width: 100%;
	justify-content: space-between;
	flex-wrap: nowrap;
}

.listing-news .arch-date--mobile {
	display: none;
}

.listing-news.is-news-measuring .arch-card,
.listing-news.is-news-measuring .arch-thumb {
	transition: none !important;
}

.listing-projects {
	grid-template-columns: 1fr;
	gap: 20px;
}

.listing-projects .arch-card {
	position: relative;
	display: block;
	border-left: 2px solid #000;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	border-bottom: 0;
	border-radius: 0;
	/* Pt:@72; */
	/* Pr:@20; */
	padding-bottom: 0;
	/* Pl:@20; */
	gap: 0;
	overflow: visible;
	transform: translateY(0);
	z-index: 0;
	transition: transform 320ms ease;
	will-change: transform;
}

.listing-projects .arch-card::before {
	content: "";
	position: absolute;
	left: -2px;
	right: -2px;
	bottom: -10px;
	height: 10px;
	border-left: 2px solid #000;
	border-right: 2px solid #000;
	pointer-events: none;
	transform: scaleY(0);
	transform-origin: top center;
	transition: transform 320ms ease;
	will-change: transform;
}

.listing-projects .arch-thumb {
	display: none;
}

.listing-projects .arch-card-link {
	display: block;
	position: absolute;
	inset: 0;
	color: inherit;
	text-decoration: none;
	z-index: 3;
}

.listing-projects .arch-meta {
	position: relative;
	z-index: 2;
}

.listing-projects .arch-meta h3 {
	margin: 0;
	max-width: calc(100% - 130px);
	transition: transform 320ms ease;
	will-change: transform;
}

.listing-projects .arch-meta h3 a {
	display: inline-block;
}

.listing-projects .arch-card::after {
	content: "";
	position: absolute;
	/* W:@101; */
	/* H:@101; */
	/* R:@20; */
	bottom: 0;
	border-radius: 50%;
	background: var(--project-orb-bg-image, var(--turulo-spectrum-gradient)) 50% 50% / cover no-repeat;
	opacity: 1;
	pointer-events: none;
	transition: transform 320ms ease;
	will-change: transform;
}

.listing-projects .arch-card:hover,
.listing-projects .arch-card:focus-within,
.listing-projects .arch-card.is-project-active {
	transform: translateY(-10px);
	z-index: 2;
}

.listing-projects .arch-card:hover::before,
.listing-projects .arch-card:focus-within::before,
.listing-projects .arch-card.is-project-active::before {
	transform: scaleY(1);
}

.listing-projects .arch-card:hover .arch-meta h3,
.listing-projects .arch-card:focus-within .arch-meta h3,
.listing-projects .arch-card.is-project-active .arch-meta h3 {
	transform: translateY(-4px);
}

.listing-projects .arch-card:hover::after,
.listing-projects .arch-card:focus-within::after,
.listing-projects .arch-card.is-project-active::after {
	transform: translateY(-4px) scale(0.9505);
}

.home-listing-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-left: 2px solid #000;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	/* Pt:@72; */
	/* Pr:@20; */
	/* Pl:@20; */
	margin-bottom: 20px;
	gap: 12px;
}

.home-listing-title {
	font-weight: 400;
}

.home-listing-title,
.home-listing-link a {
	/* F:24-@48-62.4; */
	/* LS:0.24; */
	text-transform: uppercase;
	line-height: 1;
}

.home-listing-link a {
	display: inline-flex;
	align-items: center;
	flex-direction: row-reverse;
	gap: 5px;
	font-weight: 400;
	transition: transform 320ms ease;
	will-change: transform;
}

.home-listing-link a:hover,
.home-listing-link a:focus-visible {
	transform: translateX(-20px);
}

.home-listing-link a .arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	font-family: "IBM Plex Sans", sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 1em;
	line-height: 1;
	letter-spacing: 0;
	transform: translateY(-0.04em);
}

.home-divider {
	display: none;
}

.home #about-us > .section-width {
	padding-top: 0;
	padding-bottom: 0;
}

/*-----------------------------------------------------------
	Home: About Us section
-------------------------------------------------------------*/

.home #about-us .section-content.about-us-shape {
	/* Bazowe @1280 + skala do @1920 */
	--about-top-pt: clamp(18.28125px, calc(18.28125px + (71.71875) * ((100vw - 390px) / (1530))), 90px); /* 60 */
	--about-top-pb: clamp(9.140625px, calc(9.140625px + (35.859375) * ((100vw - 390px) / (1530))), 45px); /* 30 */
	--about-cta-right: clamp(6.09375px, calc(6.09375px + (23.90625) * ((100vw - 390px) / (1530))), 30px); /* 20 */
	--about-cta-bottom-right: clamp(12.1875px, calc(12.1875px + (47.8125) * ((100vw - 390px) / (1530))), 60px); /* 40 */
	--about-cta-left: clamp(6.09375px, calc(6.09375px + (23.90625) * ((100vw - 390px) / (1530))), 30px); /* 20 */
	--about-cta-bottom-left: clamp(6.09375px, calc(6.09375px + (23.90625) * ((100vw - 390px) / (1530))), 30px); /* 20 */
	--about-line-gap-y: clamp(6.09375px, calc(6.09375px + (23.90625) * ((100vw - 390px) / (1530))), 30px); /* 20 */
	--about-line-gap-x: clamp(7.3125px, calc(7.3125px + (28.6875) * ((100vw - 390px) / (1530))), 36px); /* 24 */
	--about-kolo-size: clamp(29.8828125px, calc(29.8828125px + (117.1171875) * ((100vw - 390px) / (1530))), 147px); /* 98 */
	--about-pion-w: clamp(49.6171875px, calc(49.6171875px + (194.8828125) * ((100vw - 390px) / (1530))), 244.5px); /* 163 */
	--about-poziom-w: clamp(36.5625px, calc(36.5625px + (143.4375) * ((100vw - 390px) / (1530))), 180px); /* 120 */
	--about-chip-h: var(--about-kolo-size); /* 98 */
	--about-spectrum-linear-y: linear-gradient(
		180deg,
		#aa57ff 0%,
		#ff3683 21%,
		#ffb745 45%,
		#ffffff 64%,
		#45b8ff 82%,
		#4fc641 92%,
		#63c76a 96%,
		#7a8bf0 99%,
		#aa57ff 100%
	);
	--about-spectrum-linear-x: linear-gradient(
		90deg,
		#aa57ff 0%,
		#ff3683 21%,
		#ffb745 45%,
		#ffffff 64%,
		#45b8ff 82%,
		#4fc641 92%,
		#63c76a 96%,
		#7a8bf0 99%,
		#aa57ff 100%
	);

	position: relative;
	display: block;
	width: 100%;
}

.home #about-us .about-us-shape__top {
	position: relative;
	margin: 0;
	border-left: 2px solid #000;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	border-bottom: 2px solid #000;
}

.home #about-us .about-us-shape__bottom {
	position: relative;
	margin: 0;
}

.home #about-us .about-us-shape__svg {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
	pointer-events: none;
	z-index: 1;
}

.home #about-us .about-us-shape__svg--mobile {
	display: none;
}

.home #about-us .about-us-shape__path {
	fill: none;
	stroke: #000;
	stroke-width: 2;
	vector-effect: non-scaling-stroke;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.home #about-us .about-us-shape__copy {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding-top: var(--about-top-pt);
	padding-right: var(--layout-pad-x);
	padding-bottom: var(--about-top-pb);
	padding-left: var(--layout-pad-x);
}

.home #about-us .about-us-shape__copy--mobile {
	display: none;
}

.home #about-us .about-us-shape__line {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--about-line-gap-x);
}

.home #about-us .about-us-shape__line-shell {
	display: flex;
	justify-content: center;
	width: 100%;
}

.home #about-us .about-us-shape__copy > * + * {
	margin-top: var(--about-line-gap-y);
}

.home #about-us .about-us-shape__line-text {
	display: inline-block;
	font-family: "Instrument Serif", serif;
	font-weight: 400;
	/* F:34-@112-145.6; */
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
	color: #000;
}

.home #about-us .about-us-shape__asset {
	position: relative;
	display: inline-block;
	overflow: hidden;
	flex: 0 0 auto;
}

.home #about-us .about-us-shape__asset--pion::before,
.home #about-us .about-us-shape__asset--pion::after,
.home #about-us .about-us-shape__asset--poziom::before,
.home #about-us .about-us-shape__asset--poziom::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	will-change: transform;
	backface-visibility: hidden;
}

.home #about-us .about-us-shape__asset--pion {
	width: var(--about-pion-w);
	height: var(--about-chip-h);
}

.home #about-us .about-us-shape__asset--pion::before,
.home #about-us .about-us-shape__asset--pion::after {
	background: var(--about-spectrum-linear-y);
	animation: aboutUsGradientRollY 10.4s linear infinite;
}

.home #about-us .about-us-shape__asset--pion::before {
	transform: translate3d(0, -100%, 0);
}

.home #about-us .about-us-shape__asset--pion::after {
	transform: translate3d(0, 0, 0);
	animation-delay: -5.2s;
}

.home #about-us .about-us-shape__asset--kolo {
	width: var(--about-kolo-size);
	height: var(--about-kolo-size);
	border-radius: 50%;
}

.home #about-us .about-us-shape__asset--kolo::before {
	content: "";
	position: absolute;
	inset: -45%;
	background: var(--turulo-spectrum-gradient);
	animation: aboutUsCircleSpin 6.4s linear infinite;
}

.home #about-us .about-us-shape__asset--poziom {
	width: var(--about-poziom-w);
	height: var(--about-chip-h);
}

.home #about-us .about-us-shape__asset--poziom::before,
.home #about-us .about-us-shape__asset--poziom::after {
	background: var(--about-spectrum-linear-x);
	animation: aboutUsGradientRollX 10.4s linear infinite;
}

.home #about-us .about-us-shape__asset--poziom::before {
	transform: translate3d(-100%, 0, 0);
}

.home #about-us .about-us-shape__asset--poziom::after {
	transform: translate3d(0, 0, 0);
	animation-delay: -5.2s;
}

.home #about-us .about-us-shape__join-btn {
	position: absolute;
	left: 0;
	bottom: var(--about-cta-bottom-left);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: clamp(17.9765625px, calc(17.9765625px + (70.5234375) * ((100vw - 390px) / (1530))), 88.5px); /* 59 */
	padding: clamp(3.65625px, calc(3.65625px + (14.34375) * ((100vw - 390px) / (1530))), 18px)
		clamp(6.09375px, calc(6.09375px + (23.90625) * ((100vw - 390px) / (1530))), 30px); /* 12 / 20 */
	border-radius: clamp(3.046875px, calc(3.046875px + (11.953125) * ((100vw - 390px) / (1530))), 15px); /* 10 */
	background: #000;
	color: #fff;
	text-decoration: none;
	z-index: 3;
}

.home #about-us .about-us-shape__join-btn-text {
	display: block;
	font-family: "bc-sklonar", sans-serif;
	font-weight: 700;
	font-size: clamp(17.8609375px, calc(17.8609375px + (22.6390625) * ((100vw - 390px) / (1530))), 40.5px); /* 29 */
	line-height: 1;
	letter-spacing: 0.14px;
	text-transform: lowercase;
	white-space: nowrap;
}

.home #about-us .about-us-shape__join-btn-text--mobile {
	display: none;
}

.home #about-us .about-us-shape__about-cta {
	position: absolute;
	right: var(--about-cta-right);
	bottom: var(--about-cta-bottom-right);
	z-index: 3;
}

.home #about-us .about-us-shape__about-cta a {
	margin: 0;
}

.home #about-us .about-us-shape__about-cta-text {
	display: inline;
}

.home #about-us .about-us-shape__about-cta-text--mobile {
	display: none;
}

@keyframes aboutUsGradientRollY {
	from {
		transform: translate3d(0, -100%, 0);
	}
	to {
		transform: translate3d(0, 100%, 0);
	}
}

@keyframes aboutUsGradientRollX {
	from {
		transform: translate3d(-100%, 0, 0);
	}
	to {
		transform: translate3d(100%, 0, 0);
	}
}

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

@media (max-width: 810px) {
	.home #about-us .about-us-shape__copy--desktop {
		display: none;
	}

	.home #about-us .about-us-shape__copy--mobile {
		display: flex;
	}

	.home #about-us .about-us-shape__svg--desktop {
		display: none;
	}

	.home #about-us .about-us-shape__svg--mobile {
		display: block;
		margin-top: -2px;
	}

	.home #about-us .about-us-shape__line-text {
		line-height: 0.9;
	}

	/* Mobile copy flow zgodny z projektem: więcej rzędów i rozbicie linii wokół assetów. */
	.home #about-us .about-us-shape__line {
		width: 100%;
		flex-wrap: wrap;
		row-gap: calc(var(--about-line-gap-y) * 0.4);
		column-gap: calc(var(--about-line-gap-x) * 0.45);
	}

	.home #about-us .about-us-shape__copy > * + * {
		margin-top: calc(var(--about-line-gap-y) * 0.7);
	}

		/* LOREM PIP + [pion] + SUMUM w jednym rzędzie. */
		.home #about-us .about-us-shape__line--first {
			display: flex;
			flex-wrap: nowrap;
			align-items: center;
			justify-content: center;
			width: 100%;
		}

	/* SIT [kolo] AMET, w jednym rzędzie + osobny rząd CONSECTETUR. */
	.home #about-us .about-us-shape__line-shell--second {
		display: flex;
		justify-content: center;
		width: 100%;
	}

	.home #about-us .about-us-shape__line--second {
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		width: 100%;
	}

	.home #about-us .about-us-shape__line--second .about-us-shape__line-text--consectetur {
		flex: 0 0 100%;
		white-space: nowrap;
		text-align: center;
		margin-top: calc(var(--about-line-gap-y) * 0.35);
	}

	/* ADIPISCING ELIT, [poziom] / SED. */
	.home #about-us .about-us-shape__line--third .about-us-shape__line-text:last-child {
		flex: 0 0 100%;
		text-align: center;
		margin-top: calc(var(--about-line-gap-y) * 0.35);
	}

	.home #about-us .about-us-shape__join-btn {
		left: 0;
		bottom: 15px;
		height: 40px;
		padding: 8px 20px;
		border-radius: 10px;
	}

	.home #about-us .about-us-shape__join-btn-text {
		font-size: 18px;
	}

	.home #about-us .about-us-shape__join-btn-text--desktop {
		display: none;
	}

	.home #about-us .about-us-shape__join-btn-text--mobile {
		display: block;
	}

	.home #about-us .about-us-shape__about-cta {
		right: 15px;
		bottom: 20px;
	}

	.home #about-us .about-us-shape__about-cta-text--desktop {
		display: none;
	}

	.home #about-us .about-us-shape__about-cta-text--mobile {
		display: inline;
	}

	.home #about-us .about-us-shape__copy--mobile .about-us-shape__line-shell {
		display: flex;
		justify-content: center;
		width: 100%;
	}

	.home #about-us .about-us-shape__copy--mobile .about-us-shape__line {
		width: auto;
		max-width: 100%;
		flex-wrap: nowrap;
		justify-content: center;
	}

	.home #about-us .about-us-shape__copy--mobile .about-us-shape__line-text {
		text-align: center;
	}

	.home #about-us .about-us-shape__copy--mobile .about-us-shape__line-text:last-child {
		flex: 0 0 auto;
		margin-top: 0;
	}
}

/*-----------------------------------------------------------
	Home: newsletter shape section
-------------------------------------------------------------*/

.home #newsletter > .section-width {
	padding-top: 0;
	padding-bottom: 0;
}

.home #newsletter .section-content.newsletter-shape {
	position: relative;
	display: block;
	width: 100%;
	overflow: visible;
}

.home #newsletter .newsletter-shape__svg-wrap {
	position: relative;
	display: block;
	width: 100%;
	z-index: 1;
}

.home #newsletter .newsletter-shape__svg {
	display: block;
	width: 100%;
	height: auto;
	max-width: none;
}

.home #newsletter .newsletter-shape__overlay {
	/* Bazowe @1280 z liniowym CLAMP 390..1920 */
	--nl-edge-gap: clamp(6.09375px, calc(6.09375px + (23.90625) * ((100vw - 390px) / (1530))), 30px); /* 20 */
	--nl-to-be-left: clamp(34.125px, calc(34.125px + (133.875) * ((100vw - 390px) / (1530))), 168px); /* 112 */
	--nl-date-left: clamp(108.7734375px, calc(108.7734375px + (426.7265625) * ((100vw - 390px) / (1530))), 535.5px); /* 357 */
	--nl-gradient-width: clamp(113.0390625px, calc(113.0390625px + (443.4609375) * ((100vw - 390px) / (1530))), 556.5px); /* 371 */
	--nl-gradient-right: clamp(65.5078125px, calc(65.5078125px + (256.9921875) * ((100vw - 390px) / (1530))), 322.5px); /* 215 */
	--nl-circle-size: clamp(52.40625px, calc(52.40625px + (205.59375) * ((100vw - 390px) / (1530))), 258px); /* 172 */
	--nl-circle-right: clamp(4.5703125px, calc(4.5703125px + (17.9296875) * ((100vw - 390px) / (1530))), 22.5px); /* 15 */
	/* Gradient zapętlony bez ostrego szwu na końcu (zielony -> fiolet). */
	--nl-loop-gradient: linear-gradient(
		180deg,
		#aa57ff 0%,
		#ff3683 21%,
		#ffb745 45%,
		#ffffff 64%,
		#45b8ff 82%,
		#4fc641 92%,
		#63c76a 96%,
		#7a8bf0 99%,
		#aa57ff 100%
	);
	/* Ten sam zestaw kolorów, tylko orientacja pod ruch lewo-prawo. */
	--nl-loop-gradient-horizontal: linear-gradient(
		90deg,
		#aa57ff 0%,
		#ff3683 21%,
		#ffb745 45%,
		#ffffff 64%,
		#45b8ff 82%,
		#4fc641 92%,
		#63c76a 96%,
		#7a8bf0 99%,
		#aa57ff 100%
	);

	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
}

.home #newsletter .newsletter-shape__words {
	position: absolute;
	top: var(--nl-edge-gap);
	left: 0;
	display: flex;
	flex-direction: column;
	z-index: 3;
}

.home #newsletter .newsletter-shape__word {
	display: block;
	font-family: "Instrument Serif", serif;
	font-weight: 400;
	/* F:34-@112-145.6; */
	line-height: 1;
	white-space: nowrap;
	text-transform: uppercase;
	color: #000;
}

.home #newsletter .newsletter-shape__word--to-be {
	margin-left: var(--nl-to-be-left);
}

.home #newsletter .newsletter-shape__word--date {
	margin-left: var(--nl-date-left);
	line-height: 0.9;
}

.home #newsletter .newsletter-shape__cta {
	position: absolute;
	left: var(--nl-edge-gap);
	bottom: var(--nl-edge-gap);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: clamp(17.9765625px, calc(17.9765625px + (70.5234375) * ((100vw - 390px) / (1530))), 88.5px); /* 59 */
	padding: clamp(3.65625px, calc(3.65625px + (14.34375) * ((100vw - 390px) / (1530))), 18px)
		clamp(6.09375px, calc(6.09375px + (23.90625) * ((100vw - 390px) / (1530))), 30px); /* 12 / 20 */
	border-radius: clamp(3.046875px, calc(3.046875px + (11.953125) * ((100vw - 390px) / (1530))), 15px); /* 10 */
	background: #000;
	color: #fff;
	text-decoration: none;
	pointer-events: auto;
	z-index: 4;
}

.home #newsletter .newsletter-shape__cta-text {
	display: block;
	font-family: "bc-sklonar", sans-serif;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.14px;
	text-transform: lowercase;
	color: #fff;
	white-space: nowrap;
}

.home #newsletter .newsletter-shape__cta-text--desktop {
	font-size: 29px;
}

.home #newsletter .newsletter-shape__cta-text--mobile {
	display: none;
}

.home #newsletter .newsletter-shape__gradient {
	position: absolute;
	top: var(--nl-edge-gap);
	right: var(--nl-gradient-right);
	bottom: var(--nl-edge-gap);
	width: var(--nl-gradient-width);
	background: var(--nl-loop-gradient);
	overflow: hidden;
	z-index: 2;
}

.home #newsletter .newsletter-shape__gradient-track {
	position: absolute;
	inset: 0;
	display: block;
	overflow: hidden;
}

.home #newsletter .newsletter-shape__gradient-track::before,
.home #newsletter .newsletter-shape__gradient-track::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: var(--nl-loop-gradient);
	will-change: transform;
	animation: newsletter-gradient-roll-y 10.4s linear infinite;
}

.home #newsletter .newsletter-shape__gradient-track::before {
	transform: translate3d(0, -100%, 0);
}

.home #newsletter .newsletter-shape__gradient-track::after {
	transform: translate3d(0, 0, 0);
	animation-delay: -5.2s;
}

.home #newsletter .newsletter-shape__circle {
	position: absolute;
	right: var(--nl-circle-right);
	bottom: var(--nl-edge-gap);
	display: block;
	width: var(--nl-circle-size);
	height: var(--nl-circle-size);
	border-radius: 50%;
	background: #000;
	z-index: 3;
}

@keyframes newsletter-gradient-roll-y {
	from {
		transform: translate3d(0, -100%, 0);
	}

	to {
		transform: translate3d(0, 100%, 0);
	}
}

@keyframes newsletter-gradient-roll-x {
	from {
		transform: translate3d(-100%, 0, 0);
	}

	to {
		transform: translate3d(100%, 0, 0);
	}
}

@media (min-width: 811px) {
	.home #newsletter .newsletter-shape__cta-text--desktop {
		/* 29 na 1280, rośnie do 43.5 przy 1920 */
		font-size: clamp(22.453125px, calc(22.453125px + (21.046875) * ((100vw - 992px) / 928)), 43.5px);
	}

	/* Desktop zostaje w osi pionowej (gora-dol). */
	.home #newsletter .newsletter-shape__gradient-track::before,
	.home #newsletter .newsletter-shape__gradient-track::after {
		background: var(--nl-loop-gradient);
		animation-name: newsletter-gradient-roll-y;
	}
}

@media (max-width: 1250px) {
	.home #newsletter .newsletter-shape__word {
		line-height: 0.9;
	}
}

@media (max-width: 810px) {
	.home #newsletter .newsletter-shape__overlay {
		/* Skalowanie proporcjonalne do realnej szerokości sekcji (base: 390 viewport -> 360 content). */
		--nlm-scale: clamp(1, calc((100vw - (2 * var(--layout-pad-x))) / 360px), 2.6694444444);
		--nl-mobile-join-h: calc(40px * var(--nlm-scale));
		--nl-mobile-left: calc(15px * var(--nlm-scale));
		--nl-mobile-words-width: calc(183px * var(--nlm-scale));
		--nl-mobile-words-height: calc(147px * var(--nlm-scale));
		--nl-mobile-words-top: var(--nl-mobile-join-h);
		--nl-mobile-words-after-gap: calc(30px * var(--nlm-scale));
		--nl-mobile-bottom: calc(15px * var(--nlm-scale));
		/* Kotwica pionowa oparta o geometrię SVG mobile (viewBox h: 561.43). */
		--nl-mobile-gradient-top-ratio: 38.54835%;
		--nl-mobile-gradient-h-start-ratio: 6.41291%;
		--nl-mobile-circle-h-start-ratio: 50.58618%;
		--nl-mobile-gradient-h-start: var(--nl-mobile-gradient-h-start-ratio);
		--nl-mobile-circle-h-start: var(--nl-mobile-circle-h-start-ratio);
	}

	.home #newsletter .newsletter-shape__cta {
		top: 0;
		right: 0;
		left: auto;
		bottom: auto;
		height: var(--nl-mobile-join-h);
		border-radius: 10px;
		padding: 8px 20px;
	}

	.home #newsletter .newsletter-shape__words {
		top: var(--nl-mobile-words-top);
		left: var(--nl-mobile-left);
		width: var(--nl-mobile-words-width);
		height: var(--nl-mobile-words-height);
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}

	.home #newsletter .newsletter-shape__word {
		width: 100%;
		margin-left: 0;
		line-height: 0.9;
	}

	.home #newsletter .newsletter-shape__word--want,
	.home #newsletter .newsletter-shape__word--up-to {
		text-align: left;
	}

	.home #newsletter .newsletter-shape__word--to-be,
	.home #newsletter .newsletter-shape__word--date {
		text-align: right;
	}

	.home #newsletter .newsletter-shape__gradient {
		top: var(--nl-mobile-gradient-top-ratio);
		left: var(--nl-mobile-left);
		right: var(--nl-mobile-left);
		bottom: auto;
		width: auto;
		height: var(--nl-mobile-gradient-h-start);
		transform: none;
	}

	.home #newsletter .newsletter-shape__gradient-track::before,
	.home #newsletter .newsletter-shape__gradient-track::after {
		background: var(--nl-loop-gradient-horizontal);
		animation-name: newsletter-gradient-roll-x;
	}

	.home #newsletter .newsletter-shape__gradient-track::before {
		transform: translate3d(-100%, 0, 0);
	}

	.home #newsletter .newsletter-shape__gradient-track::after {
		transform: translate3d(0, 0, 0);
	}

	.home #newsletter .newsletter-shape__circle {
		top: auto;
		left: var(--nl-mobile-left);
		right: var(--nl-mobile-left);
		bottom: var(--nl-mobile-bottom);
		width: auto;
		height: var(--nl-mobile-circle-h-start);
	}

	.home #newsletter .newsletter-shape__cta-text--desktop {
		display: none;
	}

	.home #newsletter .newsletter-shape__cta-text--mobile {
		display: block;
		font-size: 18px;
	}
}

/*-----------------------------------------------------------
	Home: spacing między projects / circle-vibe / make migrants
-------------------------------------------------------------*/

@media (min-width: 811px) {
	.home .home-listing-projects > .section-width {
		/* Pb:@60 (base 1280), rośnie do @90 przy 1920 */
		padding-bottom: clamp(60px, calc(60px + (30) * ((100vw - 1280px) / 640)), 90px);
	}

	.home #circle-vibe > .section-width {
		/* Pt/Pb:@60 (base 1280), rośnie do @90 przy 1920 */
		padding-top: clamp(60px, calc(60px + (30) * ((100vw - 1280px) / 640)), 90px);
		padding-bottom: clamp(60px, calc(60px + (30) * ((100vw - 1280px) / 640)), 90px);
	}
}

@media (max-width: 810px) {
	.home .home-listing-projects > .section-width {
		padding-bottom: 20px;
	}

	.home #circle-vibe > .section-width {
		padding-top: 20px;
		padding-bottom: 20px;
	}
}

.home #circle-vibe .section-content {
	position: relative;
	display: block;
	width: 100%;
	/* Bazowe wartości układu (desktop @1280) */
	--cv-rect-left-vp: clamp(31.6875px, calc(31.6875px + (124.3125) * ((100vw - 390px) / (1530))), 156px);
	--cv-rect-w: clamp(177.421875px, calc(177.421875px + (695.578125) * ((100vw - 390px) / (1530))), 873px);
	--cv-rect-h: clamp(75.2578125px, calc(75.2578125px + (295.2421875) * ((100vw - 390px) / (1530))), 370.5px);
	/* 1. koło: left od viewportu (bazowo @19 na 1280), potem minus --layout-pad-x */
	--cv-circle-1-left-vp: clamp(5.7890625px, calc(5.7890625px + (22.7109375) * ((100vw - 390px) / (1530))), 28.5px);
	/* 2. koło: left od viewportu (bazowo @207 na 1280), potem minus --layout-pad-x */
	--cv-circle-2-left-vp: clamp(63.0703125px, calc(63.0703125px + (247.4296875) * ((100vw - 390px) / (1530))), 310.5px);
	/* 3. koło: left od viewportu (bazowo @381 na 1280), potem minus --layout-pad-x */
	--cv-circle-3-left-vp: clamp(116.09765625px, calc(116.09765625px + (455.40234375) * ((100vw - 390px) / (1530))), 571.5px);
	/* 4. koło: left od viewportu (bazowo @587 na 1280), potem minus --layout-pad-x */
	--cv-circle-4-left-vp: clamp(178.80859375px, calc(178.80859375px + (701.69140625) * ((100vw - 390px) / (1530))), 880.5px);
	/* 5. koło: left od viewportu (bazowo @792 na 1280), potem minus --layout-pad-x */
	--cv-circle-5-left-vp: clamp(241.3125px, calc(241.3125px + (946.6875) * ((100vw - 390px) / (1530))), 1188px);
	/* 6. koło: left od viewportu (bazowo @999 na 1280), potem minus --layout-pad-x */
	--cv-circle-6-left-vp: clamp(304.3828125px, calc(304.3828125px + (1194.1171875) * ((100vw - 390px) / (1530))), 1498.5px);
	--cv-circle-1-top: clamp(8.2265625px, calc(8.2265625px + (32.2734375) * ((100vw - 390px) / (1530))), 40.5px);
	--cv-circle-6-top: clamp(12.796875px, calc(12.796875px + (50.203125) * ((100vw - 390px) / (1530))), 63px);
	--cv-circle-2-bottom: clamp(8.2265625px, calc(8.2265625px + (32.2734375) * ((100vw - 390px) / (1530))), 40.5px);
	--cv-circle-4-top: clamp(34.125px, calc(34.125px + (133.875) * ((100vw - 390px) / (1530))), 168px);
	--cv-circle-5-bottom: 0px;
	--cv-circle-size: clamp(57.5859375px, calc(57.5859375px + (225.9140625) * ((100vw - 390px) / (1530))), 283.5px);
	/* Pt/Pb bazowo @90/@72 na 1280, skalowanie responsywne */
	padding-top: clamp(27.421875px, calc(27.421875px + (107.578125) * ((100vw - 390px) / (1530))), 135px);
	padding-bottom: clamp(21.9375px, calc(21.9375px + (86.0625) * ((100vw - 390px) / (1530))), 108px);
}

.home #circle-vibe .circle-vibe-path-wrap {
	display: block;
	width: 100%;
	position: relative;
	z-index: 1;
}

.home #circle-vibe .circle-vibe-path {
	display: block;
	width: 100%;
	height: auto;
	max-width: none;
	position: relative;
	z-index: 1;
}

.home #circle-vibe .circle-vibe-stage {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
}

.home #circle-vibe .circle-vibe-rect {
	position: absolute;
	top: 0;
	left: var(--cv-rect-left-vp);
	width: var(--cv-rect-w);
	height: var(--cv-rect-h);
	background: #000;
}

.home #circle-vibe .circle-vibe-circle {
	position: absolute;
	box-sizing: border-box;
	border: 2px solid #000;
	border-radius: 50%;
	background: #fff;
	width: var(--cv-circle-size);
	height: var(--cv-circle-size);
}

.home #circle-vibe .circle-vibe-circle--1 {
	top: var(--cv-circle-1-top);
	left: var(--cv-circle-1-left-vp);
}

.home #circle-vibe .circle-vibe-circle--2 {
	bottom: var(--cv-circle-2-bottom);
	left: var(--cv-circle-2-left-vp);
}

.home #circle-vibe .circle-vibe-circle--3 {
	top: var(--cv-circle-1-top);
	left: var(--cv-circle-3-left-vp);
	border: 0;
	background: var(--turulo-spectrum-gradient) 50% 50% / cover no-repeat;
}

.home #circle-vibe .circle-vibe-circle--4 {
	top: var(--cv-circle-4-top);
	left: var(--cv-circle-4-left-vp);
}

.home #circle-vibe .circle-vibe-circle--5 {
	bottom: var(--cv-circle-5-bottom);
	left: var(--cv-circle-5-left-vp);
	border: 0;
	background: var(--turulo-spectrum-gradient) 50% 50% / cover no-repeat;
}

.home #circle-vibe .circle-vibe-circle--6 {
	top: var(--cv-circle-6-top);
	left: var(--cv-circle-6-left-vp);
	border: 0;
	background: #000;
}

/* Debug labels (tymczasowe): usun przez zdjęcie klasy .circle-vibe-stage--debug */
.home #circle-vibe .circle-vibe-stage--debug [data-debug]::after {
	content: attr(data-debug);
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "IBM Plex Sans", sans-serif;
	font-weight: 700;
	font-size: clamp(16px, 2.2vw, 34px);
	line-height: 1;
	color: #000;
	pointer-events: none;
	z-index: 3;
}

.home #circle-vibe .circle-vibe-stage--debug .circle-vibe-rect[data-debug]::after,
.home #circle-vibe .circle-vibe-stage--debug .circle-vibe-circle--6[data-debug]::after {
	color: #fff;
}

@media (max-width: 810px) {
	/* Mobile/tablet variant: jeden skalowany system, bez ruszania desktopowej geometrii. */
		.home #circle-vibe .section-content {
			/* Base @340, rośnie liniowo do 991 (w duchu obecnych formuł CLAMP). */
			--cvm-stage-h: clamp(474px, calc(474px + (118.5) * ((100vw - 340px) / 651)), 592.5px);
			--cvm-circle: clamp(117px, calc(117px + (29.25) * ((100vw - 340px) / 651)), 146.25px);
			--cvm-top: clamp(17px, calc(17px + (4.25) * ((100vw - 340px) / 651)), 21.25px);
			--cvm-top-black-right: clamp(25px, calc(25px + (6.25) * ((100vw - 340px) / 651)), 31.25px);
			/* Prostokąt mobile: 139x282, top:0, prawie wycentrowany (lekko w prawo). */
			--cvm-rect-center-offset: clamp(2px, calc(2px + (0.5) * ((100vw - 340px) / 651)), 2.5px);
			--cvm-rect-w: clamp(139px, calc(139px + (34.75) * ((100vw - 340px) / 651)), 173.75px);
			--cvm-rect-h: clamp(282px, calc(282px + (70.5) * ((100vw - 340px) / 651)), 352.5px);
		--cvm-c3-left: clamp(45px, calc(45px + (11.25) * ((100vw - 340px) / 651)), 56.25px);
		--cvm-c3-top: clamp(154px, calc(154px + (38.5) * ((100vw - 340px) / 651)), 192.5px);
		--cvm-c4-left: clamp(150px, calc(150px + (37.5) * ((100vw - 340px) / 651)), 187.5px);
		--cvm-c4-top: clamp(220px, calc(220px + (55) * ((100vw - 340px) / 651)), 275px);
		--cvm-shape-bottom: clamp(58px, calc(58px + (14.5) * ((100vw - 340px) / 651)), 72.5px);
		--cvm-c5-right: clamp(24px, calc(24px + (6) * ((100vw - 340px) / 651)), 30px);

		padding-top: 0;
		padding-bottom: 0;
		height: var(--cvm-stage-h);
		min-height: var(--cvm-stage-h);
		overflow: hidden;
	}

	.home #circle-vibe .circle-vibe-path-wrap {
		position: absolute;
		left: 0;
		right: 0;
		bottom: var(--cvm-shape-bottom);
		z-index: 1;
	}

		.home #circle-vibe .circle-vibe-rect {
			top: 0;
			left: 50%;
			transform: translateX(calc(-50% + var(--cvm-rect-center-offset)));
			width: var(--cvm-rect-w);
			height: var(--cvm-rect-h);
		}

	.home #circle-vibe .circle-vibe-circle {
		width: var(--cvm-circle);
		height: var(--cvm-circle);
	}

	.home #circle-vibe .circle-vibe-circle--1 {
		top: var(--cvm-top);
		left: 0;
	}

	.home #circle-vibe .circle-vibe-circle--6 {
		top: var(--cvm-top);
		left: auto;
		right: var(--cvm-top-black-right);
	}

	.home #circle-vibe .circle-vibe-circle--3 {
		top: var(--cvm-c3-top);
		left: var(--cvm-c3-left);
	}

	.home #circle-vibe .circle-vibe-circle--4 {
		top: var(--cvm-c4-top);
		left: var(--cvm-c4-left);
	}

	.home #circle-vibe .circle-vibe-circle--2 {
		left: 0;
		bottom: 0;
	}

	.home #circle-vibe .circle-vibe-circle--5 {
		left: auto;
		right: var(--cvm-c5-right);
		bottom: 0;
	}
}

.single-bottom-nav .nav-inline-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	font-size: 28px;
	gap: 12px;
	text-transform: uppercase;
}

.single-bottom-nav a {
	font-weight: 700;
}

.single-bottom-nav .section-width {
	max-width: none;
	width: 100%;
	padding-left: 24px;
	padding-right: 24px;
}

@media (max-width: 768px) {
	#top-section .arch-filter-box {
		flex-direction: column;
		align-items: flex-start;
	}
}

.carousel-arrows button:focus {
	outline: none; /* Usuwa focus */
}

.carousel-arrows button:focus:not(:focus-visible) {
	outline: none; /* Usuwa focus dla kliknięcia myszą */
}

/*-----------------------------------------------------------
	WSPÓLNE WARTOŚCI
-------------------------------------------------------------*/

.header,
.section-width {
	padding: 20px;
}

/* Domyślny spacing sekcji oparty o CLAMP; top/bottom utrzymuje 20px przy <=1280
   i rośnie proporcjonalnie na szerokich desktopach. */
.section .section-width {
	padding-top: var(--section-gap-y);
	padding-bottom: var(--section-gap-y);
}

#moove_gdpr_cookie_modal
	.moove-gdpr-modal-content
	.moove-gdpr-modal-left-content
	.moove-gdpr-branding-cnt
	a
	span,
#moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme
	.moove-gdpr-info-bar-container
	.moove-gdpr-info-bar-content
	a,
#moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme
	.moove-gdpr-info-bar-container
	.moove-gdpr-info-bar-content
	button {
	text-decoration: none !important;
}

/*-----------------------------------------------------------
	HEADER
-------------------------------------------------------------*/

.header-wrapper {
	top: 0;
	left: 0;
	position: fixed;
	width: 100%;
	z-index: 9999;
	transition: 0.7s;
	background-color: white;
	/* P:@22.908 @20.817 @22.908 @20.817; */
}

/* Na podstronach desktop oryginalny header zostaje na początku dokumentu
   (nie jest sticky), a sticky behavior zapewnia osobny klon przy scroll-up. */
body:not(.home) .header-wrapper:not(.header-clone) {
	position: absolute;
}

/* Desktop clone menu: appears on scroll up on subpages, while original header stays at page top. */
.header-clone {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10000;
	background: #fff;
	transform: translate3d(0, -108%, 0);
	pointer-events: none;
	transition: transform 340ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.header-clone.is-scrubbing {
	transition: none;
}

.header-clone__inner {
	display: block;
	padding-top: 0;
	padding-bottom: 0;
}

.header-clone .header {
	margin: 0 auto;
	transition: none;
}

body:not(.home) .header-clone .menu-desktop__inner {
	transform: none !important;
}

.header-clone.is-visible {
	transform: translate3d(0, 0, 0);
	pointer-events: auto;
}

/*-----------------------------------------------------------
		Global page transition (draft)
-------------------------------------------------------------*/

[data-page-transition-shell] {
	opacity: 1;
	will-change: opacity;
}

html.turulo-pt-entering [data-page-transition-shell],
html.turulo-pt-leaving [data-page-transition-shell] {
	opacity: 0;
}

html.turulo-pt-entering .header-clone,
html.turulo-pt-leaving .header-clone {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transform: translate3d(0, -108%, 0) !important;
}

html.turulo-pt-entering footer.footer-main.footer-main--reveal,
html.turulo-pt-leaving footer.footer-main.footer-main--reveal {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transform: translate3d(0, 120%, 0) !important;
}

html.turulo-pt-entering footer.footer-main.footer-main--reveal *,
html.turulo-pt-leaving footer.footer-main.footer-main--reveal * {
	opacity: 0 !important;
	visibility: hidden !important;
}

html.turulo-pt-entering.turulo-pt-entering-active [data-page-transition-shell] {
	opacity: 1;
	transition: opacity 260ms ease;
}

html.turulo-pt-leaving [data-page-transition-shell] {
	transition: opacity 220ms ease;
	pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
	[data-page-transition-shell] {
		will-change: auto;
	}

	html.turulo-pt-entering [data-page-transition-shell],
	html.turulo-pt-leaving [data-page-transition-shell],
	html.turulo-pt-entering.turulo-pt-entering-active [data-page-transition-shell] {
		opacity: 1;
		transition: none;
	}

	html.turulo-pt-entering .header-clone,
	html.turulo-pt-leaving .header-clone,
	html.turulo-pt-entering.turulo-pt-entering-active .header-clone {
		display: none;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: none;
	}
}

.header {
	width: 100%;
	display: grid;
	grid-template-columns: auto auto;
	justify-content: space-between;
	gap: 4vw;
	margin: 0 auto;
	transition: 0.5s;
	position: relative;
	padding: 0; /* padding na wrapperze */
}

.part-left.parts {
}

.part-right.parts {
	display: flex;
	flex-direction: column;
	height: 100%;
	gap: 1.32vw;
}

.part-left.parts a {
	display: block;
}

.site-logo-link {
	position: relative;
	display: block;
	/* W:@259; */
	/* H:@100; */
}

.site-logo-lottie {
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity 240ms ease;
}

/* Lottie-only baseline: no static fallback flash under animated logo. */
.site-logo-link--lottie .site-logo-lottie {
	opacity: 1;
	transition: none;
}

.site-logo-link--lottie .custom-logo--fallback,
.site-logo-link--lottie .site-logo-fallback-text {
	opacity: 0;
	visibility: hidden;
}

.site-logo-link--lottie.logo-lottie-failed .site-logo-lottie {
	opacity: 0;
}

.site-logo-link--lottie.logo-lottie-failed .custom-logo--fallback,
.site-logo-link--lottie.logo-lottie-failed .site-logo-fallback-text {
	opacity: 1;
	visibility: visible;
}

.site-logo-lottie svg {
	display: block;
	width: 100% !important;
	height: 100% !important;
}

.site-logo-link img.custom-logo--fallback {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	opacity: 1;
	transition: opacity 240ms ease;
}

.site-logo-fallback-text {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	font-family: "bc-sklonar", sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	color: #1a1a1a;
	letter-spacing: 0.09px;
	white-space: nowrap;
}

.site-logo-link.logo-lottie-ready .site-logo-lottie {
	opacity: 1;
}

.site-logo-link.logo-lottie-ready .custom-logo--fallback,
.site-logo-link.logo-lottie-ready .site-logo-fallback-text {
	opacity: 0;
	visibility: hidden;
}

.part-left.parts img {
	object-fit: contain;
	height: auto;
}

.logo img {
	width: 100%;
	height: auto;
}

img.custom-logo {
	/* W:@259; */
	/* H:@100; */
	object-fit: contain;
}

.menu-desktop {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.menu-desktop__inner {
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	/* G:@25; */
}

.menu-desktop__nav-shell {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	--menu-gap-fallback: clamp(29.7234375px, calc(29.7234375px + (36.5765625) * ((100vw - 390px) / (1530))), 66.3px);
	gap: var(--menu-fluid-gap, var(--menu-gap-fallback));
	/* P:0 @20 0 @20; */
	/* Mt:@14; */
}

.menu-desktop ul.menu {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex: 0 0 auto;
	width: var(--menu-items-width, auto);
	list-style: none;
	padding: 0;
	position: relative;
	margin: 0;
}

.menu-desktop ul.menu li {
	position: relative;
	display: flex;
	align-items: center;
}

.menu-desktop ul.menu a {
	transition: 0.3s !important;
}

.menu-desktop ul.menu li a {
	/* F:@17; */
	font-family: "bc-sklonar", sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	color: #1a1a1a;
	letter-spacing: 0.09px;
	line-height: 1;
	padding: 0;
}

@keyframes turuloMenuWobbleJump {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-46%);
	}
	100% {
		transform: translateY(0);
	}
}

.menu-wobble-enabled {
	display: inline-flex;
	align-items: center;
}

.menu-wobble-enabled .menu-wobble-letter {
	display: inline-block;
	pointer-events: none;
	will-change: transform;
}

.menu-wobble-enabled .menu-wobble-letter.is-jump {
	animation: turuloMenuWobbleJump 620ms ease-in-out;
}

.menu-lang-switcher {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	/* F:@17; */
	font-family: "bc-sklonar", sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	color: #1a1a1a;
	letter-spacing: 0.09px;
	line-height: 1;
	user-select: none;
	cursor: pointer;
	text-decoration: none;
}

.menu-lang-switcher:hover,
.menu-lang-switcher:focus-visible {
	color: #1a1a1a;
}

@keyframes turuloJoinGradientSpin {
	from {
		transform: translate(-50%, -50%) rotate(0deg);
	}
	to {
		transform: translate(-50%, -50%) rotate(360deg);
	}
}

.menu-join-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	/* W:@79; */
	/* H:@36; */
	/* F:@18; */
	padding: 0;
	font-family: "bc-sklonar", sans-serif;
	font-weight: 700;
	font-size: clamp(10.490625px, calc(10.490625px + (12.909375) * ((100vw - 390px) / (1530))), 23.4px);
	letter-spacing: 0.09px;
	line-height: 1;
	text-transform: lowercase;
	text-decoration: none;
	width: clamp(46.0421875px, calc(46.0421875px + (56.6578125) * ((100vw - 390px) / (1530))), 102.7px);
	height: clamp(20.98125px, calc(20.98125px + (25.81875) * ((100vw - 390px) / (1530))), 46.8px);
	color: #fff;
	background-color: #000;
	/* Radius skaluje się razem z wysokością przycisku: 18px @1280 i ~23.4px @1920 */
	border-radius: clamp(10.490625px, calc(10.490625px + (12.909375) * ((100vw - 390px) / (1530))), 23.4px);
	position: relative;
	overflow: hidden;
	isolation: isolate;
	transition:
		color 0.24s ease 0.08s,
		background-color 0.16s ease;
}

.menu-join-btn::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 220%;
	height: 220%;
	border-radius: 50%;
	background: var(--turulo-spectrum-gradient) 50% 50% / cover no-repeat;
	opacity: 0;
	transform: translate(-50%, -50%) rotate(0deg);
	transform-origin: 50% 50%;
	transition: opacity 0.16s ease;
	pointer-events: none;
	z-index: 0;
}

.menu-join-btn > span {
	position: relative;
	z-index: 1;
}

.menu-join-btn:hover,
.menu-join-btn:focus-visible {
	color: #000;
	background-color: transparent;
}

.menu-join-btn:hover::before,
.menu-join-btn:focus-visible::before {
	opacity: 1;
	animation: turuloJoinGradientSpin 2.6s linear infinite;
}

@keyframes menuFrameStrokeDraw {
	from {
		stroke-dashoffset: var(--menu-frame-length, 0);
	}
	to {
		stroke-dashoffset: 0;
	}
}

@media (min-width: 811px) {
	body:not(.home) .menu-desktop__nav-shell,
	body.home .header-clone .menu-desktop__nav-shell {
		position: relative;
		box-sizing: border-box;
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		column-gap: var(--menu-fluid-gap, var(--menu-gap-fallback));
		align-items: flex-start;
		align-content: flex-start;
		width: calc((var(--turulo-vw-client, 100vw) - (2 * var(--layout-pad-x))) * 0.4918699187);
		height: var(--header-logo-h);
		min-height: var(--header-logo-h);
		margin-top: 0;
		padding-top: clamp(8.159375px, calc(8.159375px + (10.040625) * ((100vw - 390px) / (1530))), 18.2px);
		overflow: hidden;
	}

	body:not(.home) .menu-desktop ul.menu,
	body.home .header-clone .menu-desktop ul.menu {
		width: 100%;
		justify-content: space-between;
	}

	body:not(.home) .menu-desktop__nav-shell .menu-frame-svg,
	body.home .header-clone .menu-desktop__nav-shell .menu-frame-svg {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		pointer-events: none;
		z-index: 0;
	}

	body:not(.home) .menu-desktop__nav-shell .menu-frame-path,
	body.home .header-clone .menu-desktop__nav-shell .menu-frame-path {
		fill: none;
		stroke: #000;
		stroke-width: 2;
		stroke-linecap: round;
		stroke-linejoin: round;
		vector-effect: non-scaling-stroke;
		stroke-dasharray: var(--menu-frame-length, 0);
		stroke-dashoffset: var(--menu-frame-length, 0);
	}

	body:not(.home) .menu-desktop__nav-shell.menu-frame-animate .menu-frame-path,
	body.home .header-clone .menu-desktop__nav-shell.menu-frame-animate .menu-frame-path {
		animation: menuFrameStrokeDraw 1480ms linear forwards;
	}

	body:not(.home) .menu-desktop__nav-shell > *:not(.menu-frame-svg),
	body.home .header-clone .menu-desktop__nav-shell > *:not(.menu-frame-svg) {
		position: relative;
		z-index: 1;
	}
}

.menu-desktop ul.menu li:hover a {
	color: #1a1a1a;
}

.menu-desktop ul.menu li:hover,
.menu-desktop ul.menu a:hover {
	opacity: 1;
	color: #1a1a1a;
}

.menu-desktop ul.menu li.menu-item-has-children:after {
	content: "";
	background-image: url("/wp-content/themes/turulo/images/IRJR_web_assets_dropdown_menu.svg");
	position: absolute;
	transition: 0.2s;
}

.menu-desktop ul.menu li.menu-item-has-children:hover:after {
	transform: rotate(-180deg);
}

.menu-desktop ul.menu li.menu-item-has-children:before {
	content: "";
	width: 20px;
	height: 59px;
	background-color: #f0f0f0;
	border-radius: 14px;
	position: absolute;
	opacity: 0;
	top: 45px;
	left: 0;
	transition: 0.3s;
}

.menu-desktop ul.menu li.menu-item-has-children:hover:before {
	top: 29px;
	opacity: 1;
}

/* Drugi poziom */

.menu-desktop ul.menu li ul {
	position: absolute;
	top: 47px;
	left: 0;
	width: 16vw;
	min-width: 190px;
	max-height: 0;
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
	transition: 0.3s !important;
	list-style: none;
	padding-left: 0;
	background-color: #f0f0f0;
	border-radius: 10px;
	padding-bottom: 10px;
	padding-top: 0;
	margin: 0;
	z-index: 20;
}

.menu-desktop ul.menu li ul li {
	padding: 0 20px 10px;
}

.menu-desktop ul.menu li ul li a {
	font-weight: 300;
	color: #6b6b6b !important;
}

.menu-desktop ul.menu li ul li a:focus,
.menu-desktop ul.menu li ul li:hover a {
	color: #1a1a1a !important;
}

.menu-desktop ul.menu li.menu-item-has-children a:before {
	content: "";
	position: absolute;
	width: 150px;
	height: 47px;
	left: 0;
	top: 20px;
}

.menu-item-has-children:focus-within .sub-menu,
.menu-desktop ul.menu li:hover ul {
	max-height: 500px;
	opacity: 1;
	visibility: visible;
	padding-top: 20px;
}

/*-----------------------------------------------------------
Overlay menu
-------------------------------------------------------------*/

.overlay-section {
	display: flex;
	align-items: center;
	top: 0;
	left: -100%;
	z-index: 999;
	width: 100%;
	transition: all 1s;
	height: 100vh;
	position: fixed;
	overflow: overlay;
	background-color: #ffffff;
	flex-direction: column;
}

.overlay-section.active {
	left: 0;
}

.overlay-section .section-width {
	padding: 44.69vw 5.31vw 28.75vw;
	margin: 0;
	height: 100%;
}

.overlay-section .section-content {
	visibility: hidden;
	opacity: 0;
	position: relative;
	transition: all 1s;
	transition-timing-function: ease;
	text-align: left;
	margin: auto;
}

.overlay-section .section-content.active {
	visibility: visible;
	opacity: 1;
	right: 0;
	overflow: auto;
}

.overlay-section .section-content .foot-menu ul.menu-bottom {
	min-height: 700px;
}

.overlay-section .foot-menu ul.menu-bottom li a {
	font-size: 24px;
}

.overlay-section .foot-menu ul.menu-bottom li.menu-item ul {
	padding-left: 65px;
}

.overlay-section .foot-menu ul.menu-bottom li.menu-item ul li:before {
	width: 50.59px;
	height: 16.63px;
}

/*---------------------------------------------
	Page header
---------------------------------------------*/

/*---------------------------------------------
	SLIDER
---------------------------------------------*/

/*-----------------------------------------------------------
	Home Content wrapper
-------------------------------------------------------------*/

/*-----------------------------------------------------------
	Content wrapper
-------------------------------------------------------------*/

.error404 .content-wrapper,
.page .content-wrapper {
	/*margin-top: 115px;*/
	position: relative;
}

/*-----------------------------------------------------------
	SECTION COMMON
-------------------------------------------------------------*/

.section {
	width: 100%;
	padding: 0;
	position: relative;
	z-index: 1;
}

.section img,
.section video,
.section iframe {
	max-width: 100%;
	height: auto;
}

.section .text-editor {
	overflow-wrap: anywhere;
}

.section .section-content {
	display: flex;
	justify-content: center;
}

.section-width {
	width: 100%;
	margin: auto;
}

.section .text-editor p:last-child {
	margin: 0;
}

.section ul {
	margin-top: 0;
}

/* Breadcrumbs */

.breadcrumb-cat--disabled {
	pointer-events: none; /* wyłącza kliknięcia */
	cursor: default; /* bez „łapki” */
}

.breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	/* F:@16.327; */
	color: #000;
	text-transform: capitalize;
	font-family: "IBM Plex Sans", sans-serif;
}

.breadcrumbs a,
.breadcrumb,
.breadcrumb-separator {
	color: inherit;
	text-transform: inherit;
}

.single .page-title,
.search .page-title {
	display: inline-block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Page title */

.page-meta h1 {
	font-size: 48px;
}

/*-----------------------------------------------------------
	Button section
-------------------------------------------------------------*/

/* Efekt na zdjęciu *


.item .image-wrapper{
	overflow: hidden;
}

.item .image-wrapper img{
	transition: .7s;
}

.item:hover .image-wrapper img{
	transform: scale(1.05);
}

.item:hover .image-wrapper.hidden-animation img{
	transform: scale(1);
}


 
/*8888888888888888888888888888888888888888*/

/* Slick common */

.section-content.carousel .slick-list {
	margin: 0 -10px !important;
}

.section-content.carousel .slick-slide {
	margin: 0 10px;
}

.slide-arrow {
	position: relative;
	display: grid;
	grid-template-columns: 46px 46px;
	gap: 7.64vw;
}

.slide-arrow img {
	cursor: pointer;
	width: 46px;
	height: 46px;
}

.slide-arrow .arrow {
	width: 46px;
	height: 46px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	transition: 0.5s;
}

/*-----------------------------------------------------------
	HERO
-------------------------------------------------------------*/

#hero.hero-shape {
	position: relative;
	z-index: 1;
}

#hero.hero-shape .hero-shape__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	/* Pt:@20.817; */
	/* Pb:@31.634; */
}

#hero.hero-shape .hero-shape__svg-wrap {
	width: 100%;
	margin: 0 auto;
	overflow: visible;
	position: relative;
	z-index: 4;
}

#hero.hero-shape .hero-shape__svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

#hero.hero-shape .hero-shape__svg--mobile {
	display: none;
}

#hero.hero-shape .hero-center-visual {
	position: absolute;
	left: 50%;
	/* T:@190; */
	/* W:@603; */
	/* H:@339; */
	background: transparent url("/wp-content/themes/turulo/images/center-hero.svg") 0% 0% no-repeat padding-box;
	background-size: cover;
	background-position: center;
	transform: translateX(calc(-50% - 120px));
	opacity: 0;
	z-index: 2;
	pointer-events: none;
	will-change: transform, opacity;
	transition: transform 900ms cubic-bezier(0.2, 0.82, 0.2, 1), opacity 700ms ease;
}

#hero.hero-shape.hero-shape--ready .hero-center-visual {
	transform: translateX(-50%);
	opacity: 1;
}

#hero.hero-shape .hero-copy {
	position: relative;
	z-index: 2;
	/* Mt:95-50; */
	color: #000;
	text-transform: uppercase;
	font-family: "Instrument Serif", serif;
	font-weight: 400;
	line-height: 1;
	opacity: 0;
	transition: opacity 420ms ease 240ms;
	will-change: opacity;
}

#hero.hero-shape.hero-shape--ready .hero-copy {
	opacity: 1;
}

#hero.hero-shape .hero-copy__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 20px;
}

#hero.hero-shape .hero-copy__row + .hero-copy__row {
	margin-top: 20px;
}

#hero.hero-shape .hero-copy__cell {
	display: block;
	/* F:34-@112-145.6; */
	line-height: 1;
	white-space: nowrap;
}

#hero.hero-shape .hero-copy__cell--left {
	text-align: left;
}

#hero.hero-shape .hero-copy__cell--center {
	text-align: center;
}

#hero.hero-shape .hero-copy__cell--right {
	text-align: right;
}

#hero.hero-shape .hero-shape__path {
	fill: none;
	stroke: #000;
	stroke-width: 2;
	vector-effect: non-scaling-stroke;
	stroke-linecap: round;
	stroke-linejoin: round;
	/* Start hidden to avoid flash before JS prepares dash geometry */
	opacity: 0;
	stroke-dasharray: none;
	stroke-dashoffset: 0;
	will-change: stroke-dashoffset;
}

/* Home desktop: dodaj bezpieczny "oddech" wokół menu, do którego odnosi się shape */
@media (min-width: 811px) {
	.home #hero.hero-shape {
		height: 100vh;
		height: 100svh;
		height: 100dvh;
		min-height: 100vh;
		min-height: 100svh;
		overflow: hidden;
	}

	.home #hero.hero-shape .hero-shape__inner {
		height: 100%;
		min-height: 100%;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		padding-top: clamp(12px, 2.2svh, 25px);
		padding-bottom: 20px;
	}

	/* Desktop adaptive spacing:
	   Priorytet: stała szerokość SVG i praca kompozycji po wysokości viewportu. */
	.home #hero.hero-shape .hero-shape__svg-wrap {
		width: 100%;
		height: var(--hero-svg-height, auto);
		flex: 0 0 auto;
		margin-bottom: 56px;
		transition: none;
	}

	.home #hero.hero-shape .hero-shape__svg {
		width: 100%;
		height: auto;
	}

	.home #hero.hero-shape .hero-copy {
		margin-top: auto;
	}

	.home #hero.hero-shape .hero-copy__row + .hero-copy__row {
		margin-top: clamp(8px, 1.8svh, 20px);
	}

	.home #hero.hero-shape .hero-copy__cell {
		line-height: 0.98;
	}

	.home .header-wrapper:not(.header-clone) {
		position: absolute;
		background-color: transparent;
	}
}

/* Tryb awaryjnej kompresji hero: uruchamiany klasą z JS tylko gdy brakuje miejsca */
@media (min-width: 811px) {
	.home #hero.hero-shape.hero-shape--compress .hero-shape__svg {
		height: 100%;
	}
}

/*-----------------------------------------------------------
Elastyczna treść
-------------------------------------------------------------*/

#top-section.section.bb .twins {
	border-bottom: 1px solid #bfbfbf;
}

.elastic-fields {
	position: relative;
	z-index: auto;
}

.elastic-fields .section-width {
	/* P:@15.817 @20.817 0-0 @20.817; */
}

.elastic-fields .section-width .section-content {
	border-bottom: 2px solid #000;
	/* Pb:@35.817; */
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	/* G:0-0 @63.268; */
}

.elastic-fields #join-form-section {
	background: #f0f0f0;
}

.elastic-fields #join-form-section > .section-width {
	padding-top: 20px;
}

/* Join form section should span full available width; side paddings come from .section-width */
.elastic-fields #join-form-section > .section-width > .section-content {
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	width: 100%;
}

.elastic-fields #join-form-section > .section-width > .section-content > * {
	grid-column: 1 / -1;
}

.elastic-fields #join-form-section .join-form-intro {
	padding-top: 0;
	border-top: 0;
	margin-bottom: 20px;
}

.elastic-fields #join-form-section .join-form-intro > .section-width {
	padding-top: 0;
	padding-right: 0;
	padding-bottom: 0;
	padding-left: 0;
}

.elastic-fields #join-form-section .join-form-intro .section-content {
	border-top: 0;
	border-bottom: 0;
	padding-top: 0;
	gap: 20px !important;
}

.elastic-fields #join-form-section .join-form-main {
	width: 100%;
}

.elastic-fields #join-form-section .join-form-main .turulo-join-form {
	width: 100%;
	--join-field-font-size: clamp(18px, calc(18px + (18 * ((100vw - 390px) / 890))), 36px);
	--join-field-pad-x: 20px;
	--join-field-pad-b: 10px;
	--join-field-control-h: calc(var(--join-field-font-size) + 20px + var(--join-field-pad-b) + 2px);
	--join-intro-h: clamp(72px, calc(72px + (71 * ((100vw - 390px) / 890))), 143px);
	--join-full-h: clamp(112px, calc(112px + (111 * ((100vw - 390px) / 890))), 223px);
}

.elastic-fields #join-form-section .join-form-main .join-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.elastic-fields #join-form-section .join-form-main .join-form-grid--bottom {
	padding-top: 20px;
	padding-bottom: 40px;
	border-bottom: 2px solid rgba(0, 0, 0, 0.5);
}

.elastic-fields #join-form-section .join-form-main .join-form-grid .col-left,
.elastic-fields #join-form-section .join-form-main .join-form-grid .col-right {
	min-width: 0;
}

.elastic-fields #join-form-section .join-form-main .join-form-grid--top .join-form-col {
	display: flex;
	flex-direction: column;
}

.elastic-fields #join-form-section .join-form-main .join-form-grid .join-form-col--full {
	grid-column: 1 / -1;
	min-width: 0;
}

.elastic-fields #join-form-section .join-form-main .join-form-grid--photo {
	grid-template-columns: minmax(0, 1fr);
}

.elastic-fields #join-form-section .join-form-field {
	position: relative;
	display: block;
	--join-field-gap-base: 20px;
	--join-field-gap-comp: 0px;
	--join-field-opacity: 0.35;
	--join-field-pad-top-extra: 0px;
	--join-field-placeholder-opacity: 1;
	margin: 0 0 calc(var(--join-field-gap-base) - var(--join-field-gap-comp));
	transition: margin-bottom 0.24s ease;
}

.elastic-fields #join-form-section .join-form-field--gap-40 {
	--join-field-gap-base: 40px;
}

.elastic-fields #join-form-section .join-form-field--last {
	--join-field-gap-base: 0px;
}

.elastic-fields #join-form-section .join-form-field:hover,
.elastic-fields #join-form-section .join-form-field:focus-within {
	--join-field-opacity: 0.5;
	--join-field-pad-top-extra: 10px;
	/* Always compensate full grow amount so lower sections don't shift,
	   including last fields with base gap = 0 (negative margin during interaction). */
	--join-field-gap-comp: 10px;
}

.elastic-fields #join-form-section .join-form-field.is-toggled {
	--join-field-opacity: 1;
	--join-field-pad-top-extra: 10px;
	--join-field-placeholder-opacity: 0;
	--join-field-gap-comp: 10px;
}

.elastic-fields #join-form-section .join-form-field:has(> select)::after {
	content: "\2193";
	position: absolute;
	right: 20px;
	bottom: 10px;
	pointer-events: none;
	color: #000;
	opacity: var(--join-field-opacity);
	font-family: "IBM Plex Sans", sans-serif;
	font-weight: 300;
	font-size: 36px;
	line-height: 1;
	transition: opacity 0.24s ease;
}

.elastic-fields #join-form-section .join-form-field-label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.elastic-fields #join-form-section .join-form-field input:not([type="hidden"]):not([type="file"]),
.elastic-fields #join-form-section .join-form-field select,
.elastic-fields #join-form-section .join-form-field textarea {
	display: block;
	width: 100%;
	box-sizing: border-box;
	background: transparent;
	color: #000 !important;
	-webkit-text-fill-color: #000;
	opacity: var(--join-field-opacity);
	border-top: 0;
	border-left: 2px solid #000;
	border-right: 2px solid #000;
	border-bottom: 2px solid #000;
	border-radius: 0;
	padding: calc(20px + var(--join-field-pad-top-extra)) var(--join-field-pad-x) var(--join-field-pad-b);
	font-size: var(--join-field-font-size) !important;
	line-height: 1;
	font-family: "Instrument Serif", serif !important;
	font-weight: 400 !important;
	transition:
		opacity 0.24s ease,
		padding-top 0.24s ease;
}

.elastic-fields #join-form-section .join-form-field.join-form-field--file input.join-form-file-display:not([type="hidden"]) {
	cursor: pointer;
}

.elastic-fields #join-form-section .join-form-file-input {
	display: none !important;
}

.elastic-fields #join-form-section .join-form-field textarea {
	line-height: 1.15;
	resize: none;
	overflow-y: hidden;
	transition:
		opacity 0.24s ease,
		height 0.24s ease;
}

.elastic-fields #join-form-section .join-form-field textarea.join-form-input--intro {
	height: calc(var(--join-intro-h) + var(--join-field-pad-top-extra));
	padding-top: var(--join-ta-pad-top, 20px) !important;
}

.elastic-fields #join-form-section .join-form-field textarea.join-form-input--full {
	height: calc(var(--join-full-h) + var(--join-field-pad-top-extra));
	padding-top: var(--join-ta-pad-top, 20px) !important;
}

.elastic-fields #join-form-section .join-form-field input:not([type="hidden"]):not([type="file"])::placeholder,
.elastic-fields #join-form-section .join-form-field textarea::placeholder {
	color: #000;
	opacity: var(--join-field-placeholder-opacity);
	font-size: var(--join-field-font-size);
	font-family: "Instrument Serif", serif;
	font-weight: 400;
	transition: opacity 0.2s ease;
}

.elastic-fields #join-form-section .join-form-field select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	padding-right: 64px;
	background-image: none;
	cursor: pointer;
	height: calc(var(--join-field-control-h) + var(--join-field-pad-top-extra));
	transition:
		opacity 0.24s ease,
		padding-top 0.24s ease,
		height 0.24s ease;
}

.elastic-fields #join-form-section .join-form-field select:required:invalid {
	color: #000 !important;
}

.elastic-fields #join-form-section .join-form-field select option {
	color: #000;
	background: #fff;
}

.elastic-fields #join-form-section .join-form-field--country {
	--join-field-gap-base: 20px;
	z-index: 20;
}

.elastic-fields #join-form-section .join-form-field--country.is-country-open {
	--join-field-opacity: 1;
	--join-field-pad-top-extra: 10px;
	--join-field-placeholder-opacity: 0;
	--join-field-gap-comp: 10px;
}

.elastic-fields #join-form-section .join-form-field--country::after {
	content: "\2193";
	position: absolute;
	right: 20px;
	bottom: 10px;
	pointer-events: none;
	color: #000;
	opacity: var(--join-field-opacity);
	font-family: "IBM Plex Sans", sans-serif;
	font-weight: 300;
	font-size: 36px;
	line-height: 1;
	transition: opacity 0.24s ease;
}

.elastic-fields #join-form-section .join-form-country-picker {
	position: relative;
}

.elastic-fields #join-form-section .join-form-field.join-form-field--country input.join-form-country-display:not([type="hidden"]) {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	cursor: pointer;
	margin: 0;
	line-height: 1;
	padding-right: 64px;
	padding-top: calc(20px + var(--join-field-pad-top-extra));
	padding-bottom: var(--join-field-pad-b);
	height: calc(var(--join-field-control-h) + var(--join-field-pad-top-extra));
	transition:
		opacity 0.24s ease,
		padding-top 0.24s ease,
		height 0.24s ease;
}

.elastic-fields #join-form-section .join-form-field--country input[type="hidden"][data-join-country-value] {
	display: none !important;
}

.elastic-fields #join-form-section .join-form-country-dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	border-left: 2px solid #000;
	border-right: 2px solid #000;
	border-bottom: 2px solid #000;
	background: #f0f0f0;
	z-index: 35;
}

.elastic-fields #join-form-section .join-form-country-dropdown[hidden] {
	display: none;
}

.elastic-fields #join-form-section .join-form-country-options {
	max-height: clamp(220px, calc(220px + (120 * ((100vw - 390px) / 890))), 340px);
	overflow-y: auto;
	scrollbar-gutter: stable both-edges;
	background: #f0f0f0;
}

.elastic-fields #join-form-section .join-form-country-option {
	display: block;
	width: 100%;
	margin: 0;
	border: 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.2);
	background: transparent;
	padding: 12px var(--join-field-pad-x);
	text-align: left;
	color: #000;
	font-family: "Instrument Serif", serif;
	font-size: clamp(20px, calc(20px + (8 * ((100vw - 390px) / 890))), 28px);
	font-weight: 400;
	line-height: 1.05;
	cursor: pointer;
}

.elastic-fields #join-form-section .join-form-country-option:last-child {
	border-bottom: 0;
}

.elastic-fields #join-form-section .join-form-country-option:hover,
.elastic-fields #join-form-section .join-form-country-option:focus,
.elastic-fields #join-form-section .join-form-country-option.is-selected {
	background: rgba(0, 0, 0, 0.08);
	outline: none;
}

.elastic-fields #join-form-section .join-form-field input:not([type="hidden"]):not([type="file"]):focus,
.elastic-fields #join-form-section .join-form-field select:focus,
.elastic-fields #join-form-section .join-form-field textarea:focus {
	outline: none;
}

.elastic-fields #join-form-section .join-form-field input:-webkit-autofill,
.elastic-fields #join-form-section .join-form-field input:-webkit-autofill:hover,
.elastic-fields #join-form-section .join-form-field input:-webkit-autofill:focus,
.elastic-fields #join-form-section .join-form-field textarea:-webkit-autofill,
.elastic-fields #join-form-section .join-form-field textarea:-webkit-autofill:hover,
.elastic-fields #join-form-section .join-form-field textarea:-webkit-autofill:focus {
	-webkit-text-fill-color: #000 !important;
	transition: background-color 9999s ease-in-out 0s;
}

.elastic-fields #join-form-section .join-form-grid--bottom .join-form-col {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	min-width: 0;
}

.elastic-fields #join-form-section .join-form-consent {
	--join-toggle-w: clamp(35px, calc(35px + (34 * ((100vw - 390px) / 890))), 69px);
	--join-toggle-h: clamp(18px, calc(18px + (18 * ((100vw - 390px) / 890))), 36px);
	--join-toggle-knob: clamp(13px, calc(13px + (13 * ((100vw - 390px) / 890))), 26px);
	--join-toggle-pad: clamp(2.5px, calc(2.5px + (2.5 * ((100vw - 390px) / 890))), 5px);
	--join-toggle-r: calc(var(--join-toggle-h) / 2);
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 20px;
	margin: 0;
	color: rgba(0, 0, 0, 0.5);
}

.elastic-fields #join-form-section .join-form-consent > span,
.elastic-fields #join-form-section .join-form-captcha-label {
	margin: 0;
	color: rgba(0, 0, 0, 0.5);
	font-family: "Instrument Serif", serif;
	font-size: var(--join-field-font-size);
	font-style: normal;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.18px;
}

.elastic-fields #join-form-section .join-form-consent > span {
	order: 0;
	flex: 1 1 auto;
}

.elastic-fields #join-form-section .join-form-consent input[type="checkbox"] {
	--join-knob-shift: 0px;
	appearance: none;
	-webkit-appearance: none;
	width: var(--join-toggle-w);
	height: var(--join-toggle-h);
	margin: 0;
	padding: 0;
	border: 2px solid rgba(0, 0, 0, 0.5);
	border-radius: var(--join-toggle-r);
	background-color: transparent;
	cursor: pointer;
	position: relative;
	order: 1;
	margin-left: auto;
	flex: 0 0 auto;
	transition:
		background-color 0.24s ease,
		border-color 0.24s ease;
}

.elastic-fields #join-form-section .join-form-consent input[type="checkbox"]::before {
	content: "";
	position: absolute;
	left: var(--join-toggle-pad);
	top: 50%;
	width: var(--join-toggle-knob);
	height: var(--join-toggle-knob);
	border-radius: 50%;
	background-color: rgba(0, 0, 0, 0.5);
	transform: translate(var(--join-knob-shift), -50%);
	transition:
		transform 0.24s ease,
		background-color 0.24s ease;
}

.elastic-fields #join-form-section .join-form-consent:hover input[type="checkbox"]:not(:checked),
.elastic-fields #join-form-section .join-form-consent:focus-within input[type="checkbox"]:not(:checked) {
	--join-knob-shift: calc((var(--join-toggle-w) - var(--join-toggle-knob) - (var(--join-toggle-pad) * 2)) / 2);
}

.elastic-fields #join-form-section .join-form-consent input[type="checkbox"]:checked {
	--join-knob-shift: calc(var(--join-toggle-w) - var(--join-toggle-knob) - (var(--join-toggle-pad) * 2));
	background-color: rgba(0, 0, 0, 0.5);
	border-color: transparent;
}

.elastic-fields #join-form-section .join-form-consent input[type="checkbox"]:checked::before {
	background-color: rgba(255, 255, 255, 0.5);
}

.elastic-fields #join-form-section .join-form-consent input[type="checkbox"]:focus-visible {
	outline: 1px solid rgba(0, 0, 0, 0.5);
	outline-offset: 2px;
}

.elastic-fields #join-form-section .join-form-privacy {
	margin-top: 20px;
	color: rgba(0, 0, 0, 0.5);
	font-family: "IBM Plex Sans", sans-serif;
	font-size: clamp(14px, calc(14px + (4 * ((100vw - 390px) / 890))), 18px);
	font-style: normal;
	font-weight: 400;
	line-height: 1.4;
}

.elastic-fields #join-form-section .join-form-privacy p {
	margin: 0;
	color: inherit;
	font: inherit;
}

.elastic-fields #join-form-section .join-form-privacy p + p {
	margin-top: 0.4em;
}

.elastic-fields #join-form-section .join-form-captcha-label {
	text-align: left;
}

.elastic-fields #join-form-section .join-form-captcha-row {
	margin-top: 20px;
	display: inline-flex;
	align-items: baseline;
	gap: 0;
	min-width: 0;
}

.elastic-fields #join-form-section .join-form-captcha-task {
	display: inline-flex;
	align-items: baseline;
	gap: 0;
	margin: 0;
	color: rgba(0, 0, 0, 0.5);
	font-family: "Instrument Serif", serif;
	font-size: var(--join-field-font-size);
	font-style: normal;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.18px;
}

.elastic-fields #join-form-section .join-form-captcha-input {
	appearance: textfield;
	-moz-appearance: textfield;
	flex: 0 0 auto;
	width: 2.4ch;
	margin-left: 0.2em;
	min-width: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	outline: none;
	color: rgba(0, 0, 0, 0.5);
	-webkit-text-fill-color: rgba(0, 0, 0, 0.5);
	caret-color: rgba(0, 0, 0, 0.5);
	font-family: "Instrument Serif", serif;
	font-size: var(--join-field-font-size);
	font-style: normal;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.18px;
	text-align: left;
	opacity: 1;
}

.elastic-fields #join-form-section .join-form-captcha-input::-webkit-outer-spin-button,
.elastic-fields #join-form-section .join-form-captcha-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.elastic-fields #join-form-section .join-form-divider {
	display: none;
}

.elastic-fields #join-form-section .join-form-notice,
.elastic-fields #join-form-section .join-form-errors {
	display: none;
}

.elastic-fields #join-form-section .join-form-field-error {
	margin: 8px 0 0;
	color: #b42318;
	font-family: "Instrument Serif", serif;
	font-size: clamp(14px, calc(14px + (4 * ((100vw - 390px) / 890))), 18px);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: 0.14px;
}

.elastic-fields #join-form-section .join-form-submit-wrap {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	padding-top: 20px;
	padding-bottom: 40px;
	min-width: 0;
}

.elastic-fields #join-form-section .join-form-submit {
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: rgba(0, 0, 0, 0.5);
	font-family: "Instrument Serif", serif;
	font-style: normal;
	font-weight: 400;
	font-size: clamp(24px, calc(24px + (24 * ((100vw - 340px) / 940))), 48px);
	line-height: 1;
	letter-spacing: 0.24px;
	cursor: pointer;
}

.elastic-fields #join-form-section .join-form-submit-helper {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	text-align: right;
	color: rgba(0, 0, 0, 0.5);
	font-family: "Instrument Serif", serif;
	font-style: normal;
	font-weight: 400;
	font-size: clamp(24px, calc(24px + (24 * ((100vw - 340px) / 940))), 48px);
	line-height: 1;
	letter-spacing: 0.24px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease;
}

.elastic-fields #join-form-section .join-form-submit-helper.has-message {
	opacity: 1;
	visibility: visible;
}

.elastic-fields #join-form-section .join-form-submit-helper.is-success {
	color: #000;
}

@media (min-width: 1280px) {
	.elastic-fields #join-form-section .join-form-submit,
	.elastic-fields #join-form-section .join-form-submit-helper {
		font-size: clamp(48px, calc(48px + (14.4 * ((100vw - 1280px) / 640))), 62.4px);
	}
}

@media only screen and (max-width: 810px) {
	.elastic-fields #join-form-section .join-form-intro .section-content,
	.elastic-fields #join-form-section .join-form-main .join-form-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* tylko ostatnia sekcja (bezpośrednie dziecko elastic-fields) bez dolnego obramowania */
.elastic-fields > .section:last-of-type > .section-width > .section-content {
	border-bottom: 0;
	padding-bottom: 0;
}

/* sekcja bezpośrednio przed #join-form-section bez dolnego obramowania */
.elastic-fields > .section:has(+ #join-form-section) > .section-width > .section-content {
	border-bottom: 0;
}

.elastic-fields p a {
	opacity: 0.75;
	text-decoration: underline;
}

/* Contact links in artist auto sections: keep link behavior, match plain body text look. */
.elastic-fields .text-editor a[href^="mailto:"],
.elastic-fields .text-editor a[href^="tel:"],
.elastic-fields .text-editor a[href^="mailto:"]:visited,
.elastic-fields .text-editor a[href^="tel:"]:visited,
.elastic-fields .text-editor a[href^="mailto:"]:hover,
.elastic-fields .text-editor a[href^="tel:"]:hover,
.elastic-fields .text-editor a[href^="mailto:"]:focus,
.elastic-fields .text-editor a[href^="tel:"]:focus {
	color: inherit;
	text-decoration: none;
	opacity: 1;
	font: inherit;
	line-height: inherit;
	cursor: pointer;
}

.elastic-fields .col-left .title-wrapper p {
	font-weight: 400;
	font-family: "Instrument Serif", serif;
	/* F:24-@48-62.4; */
	letter-spacing: 0.24px;
	margin-bottom: 0;
}

/* simple text */

.normal-txt .section-content {
	display: grid;
	grid-template-columns: 20vw 44vw;
	gap: 20px;
}

/* Gallery */

.gallery .section-content {
	display: grid;
	grid-template-columns: 20vw 44vw;
	gap: 20px;
}

.gallery-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(clamp(147px, 30vw, 292px), 1fr));
	/* G:@17.908; */
}

.gallery-wrapper .item {
	width: 100%;
	aspect-ratio: 292 / 195;
	overflow: hidden;
	position: relative;
	cursor: pointer;
	border-radius: 10px;
}

.gallery-wrapper .item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px;
}

.gallery-wrapper .item.square {
	background-color: #f0f0f0;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	display: flex;
	border-radius: 10px;
	border: 2px solid #000;
	background: transparent;
}

.more-count {
	color: #000;
	font-family: "Instrument Serif", serif;
	/* F:24-@48-62.4; */
}

.gallery-wrapper .item.hidden {
	display: none;
}

/* Post slide */

.post-slide .section-content {
	display: grid;
	grid-template-columns: 1fr;
	justify-items: center;
	position: relative;
	width: 100%;
	margin: 0 auto;
}

/* Wymuszenie jednej kolumny dla sekcji 3 (przykrywa ogólny grid elastic-fields) */

.elastic-fields #section-3 {
	overflow: hidden;
}

.elastic-fields #section-3 .section-width .section-content {
	display: grid;
	grid-template-columns: 1fr;
}

/* Sekcja 4 (galeria) bez dolnego borderu */
.elastic-fields #section-4 .section-width .section-content {
	border-bottom: 0;
}

.post-slide .elastic-swiper {
	position: relative;
	width: 100vw; /* pełna szerokość viewportu, by pokazać podgląd sąsiednich slajdów */
	left: 50%;
	transform: translateX(-50%);
	overflow: visible;
}

.post-slide .swiper-wrapper {
	align-items: center;
}

.post-slide .swiper-slide {
	/* W:@722.588; */
	max-width: 100%;
	display: flex;
	justify-content: center;
}

.post-slide .swiper-slide img {
	width: 100%;
	aspect-ratio: 1020 / 573;
	height: auto;
	object-fit: cover;
	cursor: grab;
	border-radius: 18px;
}

.post-slide .slider-nav {
	display: none;
	justify-content: center;
	/* G:@16.654; */
	/* Mt:@22.98; */
}

.post-slide .slider-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	/* P:@10.327 @16.327 @10.327 @16.327; */
	border: 2px solid #000;
	border-radius: clamp(14px, 3vw, 18px);
	background: #fff;
	color: #000;
	/* F:@17.163; */
	font-family: inherit;
	text-transform: uppercase;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		border-color 0.2s ease;
}

.post-slide .slider-btn:hover {
	background: #000;
	color: #fff;
}

.post-slide .drag-handle {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	/* W:@69.307; */
	/* H:@34.327; */
	border-radius: clamp(16px, 3vw, 18px);
	background: #fff;
	border: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	font-family: "bc-sklonar", sans-serif;
	font-weight: 700;
	/* F:@16.327; */
	color: #000;
	text-transform: lowercase;
	user-select: none;
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 0.2s ease,
		visibility 0s linear 0.2s;
	z-index: 5;
}

.post-slide .drag-handle.is-active {
	opacity: 1;
	visibility: visible;
	transition-delay: 0s;
}

@media (max-width: 810px) {
	.post-slide .section-width {
		padding-left: 0;
		padding-right: 0;
	}

	.post-slide .elastic-swiper {
		width: 100%;
		left: 0;
		transform: none;
		overflow: hidden;
	}

	.post-slide .drag-handle {
		display: none;
	}

	.post-slide .slider-nav {
		display: flex;
		width: 100%;
		justify-content: center;
	}
}

/* Lightbox */

#lightbox {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 20000;
	height: 100%;
	width: 100%;
	overflow: hidden; 
	background: rgba(255, 255, 255, 0.88);
	align-items: center;
	justify-content: center;
}

#lightbox .section-width {
	position: relative;
	height: 100%;
	width: 100%;
	max-width: 1400px;
	/* P:@25.307 @25.307 @25.307 @25.307; */
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	/* G:@16.654; */
}

#lightbox .close {
	position: absolute;
	/* T:@18.98; */
	/* R:@18.98; */
	cursor: pointer;
	z-index: 2;
}

#lightbox .close a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 42px;
	height: 42px;
	background: #fff;
	border-radius: 50%;
	border: 2px solid #000;
	font-weight: 600;
	font-size: 24px;
	font-family: "bc-sklonar", sans-serif;
}

#lightbox .count-wrap {
	display: flex;
	justify-content: center;
}

#lightbox .media-wrap {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: min(90vw, 1200px);
	height: min(82vh, 90vw);
}

#lightbox .media-wrap img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

#lightbox .arrow-wrap {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	/* P:@18.98 @18.98 @18.98 @18.98; */
	pointer-events: none;
}

#lightbox .arrow {
	cursor: pointer;
	pointer-events: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid #000;
	font-size: 22px;
}

#lightbox .count-wrap {
	color: #fff;
	font-size: 14px;
}

body.lightbox-open {
	overflow: hidden;
}

/* Similiar - drop, link, download*/

.similiar .section-width {
	padding-top: 0;
	padding-bottom: 0;
}

.similiar .section-content {
	/* Pt:@15.817; */
	/* Pb:@25.817; */
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: center;
	/* G:@31.634; */
}

.similiar .col-right {
	display: flex;
	justify-content: flex-end;
}

.similiar .title {
	display: flex;
	justify-content: space-between;
	gap: 4vw;
	padding-bottom: 0;
}

.similiar .title a {
	font-weight: 600;
}

.drop-down.similiar .title {
	cursor: pointer;
}

.similiar .action-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 0;
	border: none;
	background: transparent;
	color: #000;
	text-transform: uppercase;
	font-family: inherit;
	font-weight: 400;
	letter-spacing: 0.05em;
	text-decoration: none;
	cursor: pointer;
	transition:
		color 0.2s ease,
		background 0.2s ease,
		border-color 0.2s ease;
	/* F:24-@48-62.4; */
	line-height: 1;
}

.similiar .action-btn:hover {
	color: #000;
}

.similiar .action-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: "IBM Plex Sans", sans-serif;
	font-weight: 300;
	line-height: 1;
}

.similiar .action-text {
	font-family: inherit;
	font-weight: 400;
}

@media (max-width: 810px) {
	.similiar .action-text {
		display: none;
	}
	.similiar .action-btn {
		padding: 0;
	}
}

.drop-down.similiar .title .icon img {
	transition: 0.2s !important;
	transform: rotate(0deg) !important;
}

.drop-down.similiar .title .icon img:hover,
.drop-down.similiar.open .title .icon img {
	transform: rotate(-180deg) !important;
}

.drop-down.similiar .drop-content {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	/* G:@31.634; */
	height: 0;
	overflow: hidden;
	transition:
		height 0.35s ease,
		margin-top 0.25s ease;
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 0;
}

.drop-down.similiar.open .drop-content {
	/* Mt:@16.654; */
	padding-top: 0;
	padding-bottom: 0;
}

.drop-down.similiar.closing .drop-content {
	margin-top: 0;
}

/* Ujednolicenie nagłówków w sekcjach link/download/dropdown do stylu title-wrapper */
#section-6 .title a,
#section-7 .title a,
#section-8 .title a {
	font-family: "Instrument Serif", serif;
	font-weight: 400;
	/* F:24-@48-62.4; */
	letter-spacing: 0.24px;
	margin: 0;
}

/* Video */

.video-wrapper {
	position: relative;
	width: 76vw;
	height: 44.25vw;
}

.custom-video,
.video-wrapper iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.play-button {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: transparent;
	border: none;
	cursor: pointer;
}

.play-button img {
	width: 9vw;
	height: 9vw;
}

/* Q&A */

.q-a .col-right {
	display: grid;
	gap: 1.5vw;
}

/* audio */

.audio-modal {
	position: fixed;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 9999;
}

.audio-modal--visible {
	display: flex;
}

.audio-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
}

.audio-modal__dialog {
	position: relative;
	z-index: 1;
	background: #fff;
	padding: 24px 24px 20px;
	max-width: 480px;
	width: 90%;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
	border-radius: 8px;
	text-align: center;
}

.audio-modal__title {
	margin: 0 0 16px;
	font-size: 18px;
}

.audio-modal__player {
	width: 100%;
}

.audio-modal__close {
	position: absolute;
	top: 8px;
	right: 8px;
	border: none;
	background: transparent;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

.audio-modal__download {
	display: inline-block;
	margin-top: 16px;
	font-size: 14px;
	text-decoration: underline;
}

body.audio-modal-open {
	overflow: hidden;
}

/*-----------------------------------------------------------
	Footer 
-------------------------------------------------------------*/

footer {
	margin-top: 4vw;
	position: relative;
	background-color: #f0f0f0;
	overflow: hidden;
	z-index: 1;
}

footer .section-width {
	padding: 4vw;
}

footer .foot-section {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 4vw;
}

footer .top-section .col-right {
	display: flex;
	justify-content: space-between;
}

.social-media {
	display: flex;
	margin-top: 2vw;
}

.social-media a {
	font-family: "Roboto", sans-serif;
	font-weight: 700;
	font-style: normal;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #ffffff;
	border-radius: 30px;
	color: #6b6b6b;
	transition: 0.3s !important;
}

.social-media a:hover {
	color: #f0f0f0;
	background: #bfbfbf;
}

.bip img {
	width: 50.66px;
	height: 59.4px;
	transition: 0.3s;
}

.bip img:hover {
	opacity: 0.7;
}

.foot-logo {
	width: 24vw;
}

.foot-logo img {
	/* H:@120.288; */
}

footer .middle-section {
	margin: 6vw 0 8vw;
}

footer .middle-section .col-right {
	display: flex;
	flex-direction: column;
	gap: 4vw;
}

footer .middle-section .col-right .text-editor p {
	line-height: 2;
	margin: 0;
}

/*
footer .middle-section .col-right .text-editor{
	margin-bottom: 3.50vw;
}
*/

footer .bottom-section .col-left {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.compny-info p {
	margin-bottom: 20px;
}

.more-info {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 0;
}

.more-info a {
	display: flex;
	align-items: center;
}

.more-info a:hover {
}

.more-info a p {
	margin: 0;
	z-index: 1;
}

.more-info a .support-wrapper p,
.more-info a .support-wrapper span,
.more-info a .support-wrapper img {
	transition: 0.3s !important;
}

.more-info a .support-wrapper:hover p,
.more-info a .support-wrapper:hover span,
.more-info a .support-wrapper:hover img {
	opacity: 0.5 !important;
}

.more-info a .support-wrapper {
	position: relative;
	display: inline-flex;
	align-items: center;
	color: #ffffff;
	transition: 0.3s !important;
}

.more-info a .support-wrapper:before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: #6b6b6b;
	position: absolute;
	text-overflow: 0;
	left: 0;
	transition: 0.3s !important;
}

.more-info a .support-wrapper span {
	display: block;
	width: 1px;
	background-color: #ffffff;
	margin: 0;
	transition: 0.3s !important;
	z-index: 1;
}

.more-info a .support-wrapper:hover span {
	margin: 0 4px;
}

.more-info a .support-wrapper img {
	width: auto;
	z-index: 1;
}

.foot-menu ul.menu-bottom {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
	overflow: auto;
}

.foot-menu ul.menu-bottom li a {
	display: block;
	margin-bottom: 0;
	padding: 0;
}

.foot-menu ul.menu-bottom li.menu-item-has-children a {
	margin-bottom: 20px;
}

.foot-menu ul.menu-bottom li.menu-item {
	font-weight: 600;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

#menu-glowne-menu-2
	> li.menu-item.menu-item-type-custom.menu-item-object-custom.menu-item-has-children.menu-item-17302
	> ul {
	display: none;
}

#menu-glowne-menu-2
	> li.menu-item.menu-item-type-custom.menu-item-object-custom.menu-item-has-children.menu-item-17302
	a {
	margin-bottom: 0;
}

.foot-menu ul.menu-bottom li.menu-item ul {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.foot-menu ul.menu-bottom li.menu-item ul li {
	font-weight: 400;
	display: flex;
	align-items: center;
}

.foot-menu ul.menu-bottom li.menu-item ul li:before {
	content: "";
	border-left: 1px solid #1a1a1a;
	border-bottom: 1px solid #1a1a1a;
	position: absolute;
	left: 0;
}

.foot-menu ul.menu-bottom li.menu-item ul li a {
	margin-bottom: 0;
}

footer .bottom-section .mkidn img {
	width: 20vw;
	margin-bottom: 2vw;
}

.second-menu ul.menu-bottom-two {
	margin-top: 0;
	margin-bottom: 2vw;
	padding-left: 0;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.second-menu ul.menu-bottom-two li {
	font-weight: 400;
	display: flex;
	align-items: center;
	position: relative;
}

.second-menu ul.menu-bottom-two li:before {
	content: "";
	border-left: 1px solid #1a1a1a;
	border-bottom: 1px solid #1a1a1a;
	position: absolute;
	left: 0;
}

.second-menu ul.menu-bottom-two li a {
	margin-bottom: 0;
}

footer .bottom-section .col-right {
	display: flex;
	justify-content: space-between;
	align-items: self-end;
}

/* CONTACT FORM */

::-webkit-input-placeholder {
	color: #1a1a1a;
	font-family: "neuzeit-grotesk", sans-serif;
	font-size: calc(16px + (25 - 16) * ((100vw - 1024px) / (1920 - 1024)));
	font-weight: 400;
	padding-top: 5px;
	line-height: 1.3;
}

.contact-form input,
.contact-form textarea {
	width: 100%;
	padding: 30px 40px;
	border: 1px solid transparent;
	color: #31182b;
	font-family: "neuzeit-grotesk", sans-serif;
	font-size: calc(16px + (25 - 16) * ((100vw - 1024px) / (1920 - 1024)));
	font-weight: 400;
	height: 80px;
	border-radius: 17px;
}

.full-width p,
.half-width p {
	margin-bottom: 50px;
}

.field-name {
	font-size: calc(12px + (34 - 12) * ((100vw - 1366px) / (3840 - 1366)));
}

.field-group {
	display: grid;
	grid-template-columns: auto auto;
	gap: 18px;
}

.contact-form textarea {
	border-radius: 17px;
	height: 280px;
}

.contact-form textarea {
	margin-bottom: 0;
}

.agreement p {
	margin-bottom: 0;
}

.wpcf7-list-item {
	width: 100%;
	margin: 0 !important;
}

.wpcf7-list-item input {
	padding: 0;
	height: 20px;
	width: 20px;
	border: none;
	margin: 0;
}

/*************************/

span.wpcf7-list-item-label,
span.wpcf7-list-item-label a {
	color: 000000;
}

.wpcf7-list-item label {
	display: grid;
	align-items: center;
	grid-template-columns: 20px auto;
	gap: 20px;
}

span.wpcf7-list-item-label a {
	text-decoration: underline;
}

.button-submit input {
	width: auto;
	align-items: center;
	justify-content: center;
	display: flex;
	height: 56px;
	margin: 7.29vw auto 0;
	font-family: "neuzeit-grotesk", sans-serif;
	font-size: calc(16px + (25 - 16) * ((100vw - 1024px) / (1920 - 1024)));
	color: #31182b;
	padding: 0 40px;
	background-color: #ffffff;
	border: 1px solid transparent;
	border-radius: 17px;
	font-weight: 600;
	transition: 0.5s !important;
	cursor: pointer;
	overflow: hidden;
}

.button-submit p {
	margin: 0;
}

.button-submit input:hover {
	color: #1a1a1a;
	background-color: #ed7024;
}

.wpcf7-spinner {
	display: none !important;
}

.download-button {
	display: flex;
	align-items: center;
	gap: 23px;
}

.download-button p {
	font-size: calc(16px + (18 - 16) * ((100vw - 1440px) / (1920 - 1024)));
}

.download-button input {
	font-size: calc(16px + (18 - 16) * ((100vw - 1440px) / (1920 - 1024)));
	padding: 0;
	height: auto;
	border-radius: 0;
	display: flex;
}

/*-----------------------------------------------------------
	Page Loader 
-------------------------------------------------------------*

#preloader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	visibility: visible;
	opacity: 1;
	transition: opacity 1s, visibility 1s;
	z-index: 999999;
  }

  .layer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: translateX(-100vw);
	transition: transform .6s ease-in-out;
  }


/*-----------------------------------------------------------
HAMBURGER
-------------------------------------------------------------*/

.menu-mobile {
	display: none;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	width: auto;
}

.menu-mobile-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	/* F:@17; */
	font-family: "bc-sklonar", sans-serif;
	font-weight: 700;
	letter-spacing: 0.09px;
	text-transform: uppercase;
	color: #000;
	background: transparent;
	border: 0;
	padding: 0;
	cursor: pointer;
}

/*-----------------------------------------------------------
HAMBURGER
-------------------------------------------------------------*/

.hamburger {
	padding: 0;
	display: flex;
	cursor: pointer;
	transition-property: opacity, filter;
	transition-duration: 0.15s;
	transition-timing-function: linear;
	font: inherit;
	color: inherit;
	text-transform: none;
	background-color: transparent;
	border: 0;
	margin: 0;
	overflow: visible;
}

.hamburger:hover {
	opacity: 1;
}

.hamburger.is-active:hover {
	opacity: 1;
}

.hamburger-box {
	display: inline-block;
	position: relative;
	width: 30px;
	height: 23px;
}

.hamburger-inner {
	transition: 0.5s;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
	width: 30px;
	height: 2px;
	position: absolute;
	transition: 0.2s !important;
	background-color: #707070;
}

.hamburger-inner {
	display: block;
	top: calc(50% - 1px);
	margin: 0 auto;
	left: 0;
	right: 0;
}

.hamburger-inner::before,
.hamburger-inner::after {
	content: "";
	display: block;
}

.hamburger-inner::before {
	top: -10px;
}

.hamburger-inner::after {
	bottom: -10px;
}

.hamburger--emphatic .hamburger-inner::after {
	top: 10px;
}

/* Specific */

.hamburger--emphatic.is-active .hamburger-inner,
.hamburger--emphatic.is-active .hamburger-inner::before,
.hamburger--emphatic.is-active .hamburger-inner::after {
	background-color: #707070;
}

/*
* Emphatic
*/

.hamburger--emphatic {
	overflow: hidden;
}

.hamburger--emphatic .hamburger-inner {
	transition: background-color 0.125s 0.175s ease-in;
}

.hamburger--emphatic .hamburger-inner::before {
	left: 0;
	transition:
		transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335),
		top 0.05s 0.125s linear,
		left 0.125s 0.175s ease-in;
}

.hamburger--emphatic .hamburger-inner::after {
	right: 0;
	transition:
		transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335),
		top 0.05s 0.125s linear,
		right 0.125s 0.175s ease-in;
}

.hamburger--emphatic.is-active .hamburger-inner {
	transition-delay: 0s;
	transition-timing-function: ease-out;
	background-color: transparent !important;
}

.hamburger--emphatic.is-active .hamburger-inner::before {
	left: -80px;
	top: -80px;
	transform: translate3d(80px, 80px, 0) rotate(45deg);
	transition:
		left 0.125s ease-out,
		top 0.05s 0.125s linear,
		transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.hamburger--emphatic.is-active .hamburger-inner::after {
	right: -80px;
	top: -80px;
	transform: translate3d(-80px, 80px, 0) rotate(-45deg);
	transition:
		right 0.125s ease-out,
		top 0.05s 0.125s linear,
		transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

/*-----------------------------------------------------------
	Footer (specs/pages/home/sections/footer/desktop.json)
-------------------------------------------------------------*/

/*-----------------------------------------------------------
	Sekcja s2 (specs/pages/home/sections/s2/desktop.json)
-------------------------------------------------------------*/

#s2 {
	width: 100%;
	max-width: 100%;
}
#s2c {
	width: 100%;
	max-width: 100%;
	/* P:@35.817 @20.817 @31.634 @20.817; */
	box-sizing: border-box;
	/* H:@726.667; */
	position: relative;
}
#s2col1 {
	position: relative;
	width: 100%;
	/* H:@667.582; */
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: column;
	gap: 10px;
	padding: 35px 0 0 0;
	border-top: 2px solid #000;
}
#s2el1 {
	width: 899px;
	max-width: 100%;
	text-align: center;
	font-family: "Instrument Serif", serif;
	font-weight: 400;
	text-transform: none;
	/* F:24-@48-62.4; */
	line-height: 1.3;
}

#s2el2 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1020px;
	max-width: 100%;
	/* H:@404.425; */
	border-radius: 18px;
	background: #0b1223;
	position: relative;
	overflow: hidden;
}

#s2el2 video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

#s2el3 {
	position: absolute;
	width: 83px;
	height: 36px;
	background: #000;
	color: #fff;
	font-size: 18px;
	font-family: "bc-sklonar", sans-serif;
	font-weight: 600;
	text-align: center;
	text-transform: lowercase;
	border-radius: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: opacity 0.2s ease;
	border: none;
}

#s2el3.hidden {
	opacity: 0;
	pointer-events: none;
}
.s2-iframe-wrapper,
.s2-iframe-wrapper iframe,
.s2-iframe-wrapper video {
	width: 100%;
	height: 100%;
	display: block;
}

/*-------------------------------------------------------------
	Sekcja s1 (specs/pages/home/sections/s1/desktop.json)
-------------------------------------------------------------*/

#s1 {
	width: 100%;
	max-width: 100%;
}
#s1c {
	width: 100%;
	max-width: 100%;
	/* P:@47.451 @20.817 @21.634 @20.817; */
	box-sizing: border-box;
	/* H:@404.288; */
	position: relative;
}
#s1col1 {
	position: relative;
	width: 100%;
	/* H:@335.621; */
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: column;
}
.move-text {
	display: block;
	position: absolute;
	/* F:@79.373; */
	font-family: "Instrument Serif", serif;
	font-weight: 500;
	line-height: 0.8;
}
#s1el6 {
	position: relative;
	/* W:@510.85; */
	/* H:@219.81; */
	box-sizing: border-box;
}
#s1el1 {
	left: 33.6806%;
	top: 0%;
	width: 30.9722%;
	text-align: center;
}
#s1el2 {
	left: 22.9861%;
	top: 36.6559%;
	width: 57.2222%;
	text-align: center;
}
#s1el3 {
	left: 65.2778%;
	top: 72.3473%;
	width: 34.7222%;
	text-align: right;
}
#s1el4 {
	left: 0%;
	top: 71.7042%;
	width: 36.9444%;
	text-align: left;
}
#s1el5 {
	position: absolute;
	left: 41.7361%;
	top: 71.3826%;
	width: 19.3056%;
	height: 27.9743%;
	display: block;
}
#s1el5 img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
#s1el7 {
	width: 100%;
	height: 24.4493%;
	box-sizing: border-box;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	border-left: 2px solid #000;
	border-bottom: 0;
}

#s1.is-scroll-anim .move-text {
	will-change: transform;
	transform-origin: center center;
}

#s1.is-scroll-anim #s1el5 {
	will-change: transform;
	transform-origin: center center;
}

#s1.is-scroll-anim.is-prep .move-text {
	transition: none !important;
}

#s1.is-scroll-anim.is-prep #s1el5 {
	transition: none !important;
}

#s1.is-scroll-anim.is-armed .move-text {
	transition-duration: 460ms;
	transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
	transition-property: transform;
}

#s1.is-scroll-anim.is-armed #s1el4,
#s1.is-scroll-anim.is-armed #s1el3 {
	transition-delay: 0ms;
}

#s1.is-scroll-anim.is-armed #s1el2 {
	transition-delay: 35ms;
}

#s1.is-scroll-anim.is-armed #s1el1 {
	transition-delay: 70ms;
}

#s1.is-scroll-anim.is-armed #s1el5 {
	transition-duration: 430ms;
	transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
	transition-delay: 45ms;
	transition-property: transform;
}

footer.footer-main {
	--footer-main-bg: transparent
		linear-gradient(
			90deg,
			#aa57ff 0%,
			#ff3683 21%,
			#ffb745 45%,
			#ffffff 64%,
			#45b8ff 82%,
			#4fc641 100%
		)
		0% 0% no-repeat padding-box;
	width: 100%;
	max-width: none;
	min-height: 429px;
	margin: 0 auto;
	/* P:20-20 @22.908 20-20 @22.908; */
	background: var(--footer-main-bg);
	display: block;
	box-sizing: border-box;
}

footer.footer-main .footer-main__container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	width: 100%;
	max-width: none;
	min-height: 389px;
	margin: 0 auto;
	gap: 0;
}

footer.footer-main .footer-main__col {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: 0;
	width: 100%;
}

footer.footer-main .footer-main__col--left {
	align-items: flex-start;
}

footer.footer-main .footer-main__col--center {
	align-items: center;
	text-align: center;
}

footer.footer-main .footer-main__col--right {
	align-items: flex-end;
}

footer.footer-main .footer-main__title {
	font-family: "Instrument Serif", serif;
	font-size: 36px;
	line-height: 1.33;
	font-weight: 400;
	color: #000;
	text-transform: uppercase;
	margin: 0 0 40px;
	min-height: 48px;
	width: 100%;
}

footer.footer-main .footer-main__title--left {
	text-align: left;
}
footer.footer-main .footer-main__title--center {
	text-align: center;
}
footer.footer-main .footer-main__title--right {
	text-align: right;
}

footer.footer-main .footer-main__block {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
	width: 50%;
	min-height: 160px;
}

footer.footer-main .footer-main__block--right {
	width: 100%;
	align-items: flex-end;
	min-height: 160px;
}

footer.footer-main .footer-main__lead,
footer.footer-main .footer-main__address,
footer.footer-main .footer-main__menu,
footer.footer-main .footer-main__credits,
footer.footer-main .footer-main__mail,
footer.footer-main .footer-main__copyright {
	font-family: "bc-sklonar", sans-serif;
	font-size: 18px;
	font-weight: 600;
	color: #000;
}

footer.footer-main .footer-main__lead {
	margin: 0;
	text-transform: none;
	width: 159px;
	min-height: 47px;
	line-height: 1.3;
	text-align: left;
}

footer.footer-main .footer-main__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 36px;
	padding: 7px 18px;
	border: 2px solid #000;
	border-radius: 18px;
	font-family: "bc-sklonar", sans-serif;
	font-size: 18px;
	font-weight: 600;
	color: #000;
	text-transform: lowercase;
	text-decoration: none;
	background: transparent;
	width: fit-content;
}

footer.footer-main .footer-main__btn + .footer-main__btn {
	margin-top: 20px;
}

footer.footer-main .footer-main__copyright {
	margin: 0;
	text-align: left;
}

footer.footer-main .footer-main__menu {
	margin: 0;
	width: 100%;
	white-space: normal;
	text-transform: uppercase;
	line-height: 1.4;
	text-align: center;
	margin-bottom: 0;
}
footer.footer-main .footer-main__menu-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}
footer.footer-main .footer-main__menu-list li {
	margin: 0;
	padding: 0;
}
footer.footer-main .footer-main__menu-list a {
	display: block;
	color: #000;
	text-decoration: none;
	font-family: "bc-sklonar", sans-serif;
	font-size: 18px;
	font-weight: 600;
	text-transform: uppercase;
	line-height: 1.4;
	text-align: center;
}

footer.footer-main .footer-main__to-top {
	width: 50px;
	height: 50px;
	background: #000;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	position: relative;
}

footer.footer-main .footer-main__to-top-icon {
	width: 14px;
	height: 14px;
	background: #fff;
	-webkit-clip-path: polygon(
		50% 0,
		0 50%,
		35% 50%,
		35% 100%,
		65% 100%,
		65% 50%,
		100% 50%
	);
	clip-path: polygon(
		50% 0,
		0 50%,
		35% 50%,
		35% 100%,
		65% 100%,
		65% 50%,
		100% 50%
	);
}

footer.footer-main .footer-main__block--right .footer-main__address {
	margin: 0;
	width: 159px;
	min-height: 47px;
	text-align: right;
	white-space: pre-line;
	line-height: 1.3;
}

footer.footer-main .footer-main__social {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;
	margin: 0;
	width: 100%;
}

footer.footer-main .footer-main__social-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 2px solid #000;
	border-radius: 50%;
	font-family: "bc-sklonar", sans-serif;
	font-size: 18px;
	font-weight: 600;
	color: #000;
	text-transform: lowercase;
	text-decoration: none;
	background: transparent;
}

footer.footer-main .footer-main__social-icon--pill {
	width: auto;
	min-width: 56px;
	padding: 0 12px;
	border-radius: 18px;
}

footer.footer-main .footer-main__mail {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 73px;
	height: 36px;
	border: 2px solid #000;
	border-radius: 18px;
	text-transform: uppercase;
	text-decoration: none;
	background: transparent;
	padding: 6px 12px;
	text-align: center;
}

footer.footer-main .footer-main__credits {
	margin: 0;
	width: 100%;
	min-height: 20px;
	text-align: right;
	text-transform: none;
	line-height: 1.2;
}

/* elementy przyklejone do dołu kolumn */
footer.footer-main .footer-main__copyright,
footer.footer-main .footer-main__to-top,
footer.footer-main .footer-main__credits {
	margin-top: auto;
}

/*-----------------------------------------------------------
		Footer reveal + mobile swipe (iteracja robocza)
-------------------------------------------------------------*/

:root {
	--turulo-footer-reveal-height: 0px;
}

#turulo-page-shell {
	position: relative;
	z-index: 2;
	margin-bottom: var(--turulo-footer-reveal-height, 0px);
	background: #fff;
}

footer.footer-main .footer-main__viewport {
	width: 100%;
}

footer.footer-main .footer-main__mobile-dots {
	display: none;
}

footer.footer-main.footer-main--reveal .footer-main__curtain {
	display: none;
}

footer.footer-main.footer-main--reveal {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	z-index: 1;
	overflow: hidden;
	isolation: isolate;
	pointer-events: auto;
}

footer.footer-main.footer-main--reveal .footer-main__container {
	position: relative;
	z-index: 2;
}

@media (max-width: 810px) {
	footer.footer-main {
		overflow: hidden;
	}

	footer.footer-main .footer-main__viewport {
		overflow: hidden;
		touch-action: pan-y;
		cursor: grab;
	}

	footer.footer-main .footer-main__container {
		display: flex;
		grid-template-columns: none;
		gap: 0;
		min-height: auto;
		transition: transform 0.32s cubic-bezier(0.22, 0.61, 0.36, 1);
		will-change: transform;
	}

	footer.footer-main .footer-main__col {
		flex: 0 0 100%;
		max-width: 100%;
		min-height: 320px;
		padding-left: var(--layout-pad-x, 15px);
		padding-right: var(--layout-pad-x, 15px);
	}

	footer.footer-main .footer-main__mobile-dots {
		display: flex;
		justify-content: center;
		gap: 10px;
		padding: 12px 0 0;
	}

	footer.footer-main .footer-main__mobile-dot {
		appearance: none;
		border: 2px solid #000;
		background: transparent;
		width: 14px;
		height: 14px;
		border-radius: 50%;
		padding: 0;
		cursor: pointer;
	}

	footer.footer-main .footer-main__mobile-dot.is-active {
		background: #000;
	}
}
