/**
 * Next Festival Hero V3.2
 *
 * Restrained inline-SVG atmosphere layered behind the approved V3.1 hero and
 * partner signature. V3.1 remains untouched for immediate rollback.
 */

.nfa-hero--v32 .nfa-hero__body {
	isolation: isolate;
}

.nfa-hero--v32 .nfa-hero__copy {
	position: relative;
	z-index: 1;
}

.nfa-hero--v32 .nfa-hero__motif {
	display: block;
	fill: none;
	stroke: currentColor;
	stroke-linecap: square;
	stroke-linejoin: miter;
	stroke-width: 1;
	vector-effect: non-scaling-stroke;
	pointer-events: none;
}

.nfa-hero--v32 .nfa-hero__motif path,
.nfa-hero--v32 .nfa-hero__motif circle {
	vector-effect: non-scaling-stroke;
}

.nfa-hero--v32 .nfa-hero__motif--body {
	position: absolute;
	z-index: 0;
	inset: 0 51% 0 0;
	width: 49%;
	height: 100%;
	color: var(--nfa-bronze);
}

.nfa-hero--v32 .nfa-hero__motif-grid {
	opacity: 0.075;
}

.nfa-hero--v32 .nfa-hero__motif-corners {
	opacity: 0.2;
}

.nfa-hero--v32 .nfa-hero__motif-orbits {
	opacity: 0.115;
}

.nfa-hero--v32 .nfa-hero__motif-tiles {
	opacity: 0.17;
}

.nfa-hero--v32 .nfa-hero__motif-tiles circle,
.nfa-hero--v32 .nfa-hero__motif-nodes circle {
	fill: currentColor;
	stroke: none;
}

.nfa-hero--v32 .nfa-hero__rail {
	isolation: isolate;
}

.nfa-hero--v32 .nfa-hero__rail > :not(.nfa-hero__motif--rail) {
	position: relative;
	z-index: 1;
}

.nfa-hero--v32 .nfa-hero__credits {
	isolation: isolate;
}

.nfa-hero--v32 .nfa-hero__credits > :not(.nfa-hero__motif--credits) {
	position: relative;
	z-index: 1;
}

.nfa-hero--v32 .nfa-hero__motif--credits {
	position: absolute;
	z-index: 0;
	inset: -0.55rem -0.8rem;
	width: calc(100% + 1.6rem);
	height: calc(100% + 1.1rem);
	color: var(--nfa-bronze);
}

.nfa-hero--v32 .nfa-hero__motif-credit-grid {
	opacity: 0.105;
}

.nfa-hero--v32 .nfa-hero__motif-credit-frames {
	opacity: 0.255;
}

.nfa-hero--v32 .nfa-hero__motif-credit-tiles {
	opacity: 0.22;
}

.nfa-hero--v32 .nfa-hero__motif-credit-tiles circle {
	fill: currentColor;
	stroke: none;
}

.nfa-hero--v32 .nfa-hero__motif-credit-wave {
	opacity: 0.2;
}

.nfa-hero--v32 .nfa-hero__motif--rail {
	position: absolute;
	z-index: 0;
	inset: 0;
	width: 100%;
	height: 100%;
	color: var(--nfa-bronze);
}

.nfa-hero--v32 .nfa-hero__motif-rail-grid {
	opacity: 0.07;
}

.nfa-hero--v32 .nfa-hero__motif-nodes {
	opacity: 0.26;
}

.nfa-hero--v32 .nfa-hero__action > :not(.nfa-hero__motif--action) {
	position: relative;
	z-index: 1;
}

.nfa-hero--v32 .nfa-hero__action::before {
	z-index: 2;
}

.nfa-hero--v32 .nfa-hero__motif--action {
	position: absolute;
	z-index: 0;
	top: 0;
	right: 0;
	width: min(46%, 16.875rem);
	height: 100%;
	color: var(--nfa-bronze);
	opacity: 0.12;
}

@media (max-width: 900px) {
	.nfa-hero--v32 .nfa-hero__motif--body {
		inset-inline-end: 0;
		width: 100%;
	}

	.nfa-hero--v32 .nfa-hero__motif--rail {
		top: auto;
		height: 7.5rem;
	}

	.nfa-hero--v32 .nfa-hero__motif-grid {
		opacity: 0.06;
	}

	.nfa-hero--v32 .nfa-hero__motif-corners {
		opacity: 0.16;
	}

	.nfa-hero--v32 .nfa-hero__motif-tiles {
		opacity: 0.13;
	}

	.nfa-hero--v32 .nfa-hero__motif-rail-grid path:first-child {
		display: none;
	}

	.nfa-hero--v32 .nfa-hero__motif--credits {
		inset: -0.7rem -0.85rem;
		width: calc(100% + 1.7rem);
		height: calc(100% + 1.4rem);
	}
}

@media (max-width: 620px) {
	.nfa-hero--v32 .nfa-hero__motif--body {
		inset: 0;
	}

	.nfa-hero--v32 .nfa-hero__motif-grid {
		opacity: 0.052;
	}

	.nfa-hero--v32 .nfa-hero__motif-orbits {
		opacity: 0.085;
	}

	.nfa-hero--v32 .nfa-hero__motif-credit-grid {
		opacity: 0.09;
	}

	.nfa-hero--v32 .nfa-hero__motif-credit-frames {
		opacity: 0.22;
	}

	.nfa-hero--v32 .nfa-hero__motif-credit-wave {
		opacity: 0.17;
	}

	.nfa-hero--v32 .nfa-hero__motif--action {
		top: auto;
		width: 72%;
		height: 4.75rem;
		opacity: 0.1;
	}
}

@media (forced-colors: active) {
	.nfa-hero--v32 .nfa-hero__motif {
		display: none;
	}
}
