/* Pullicino hero effect: reed silhouettes + faint self-writing code, one canvas behind .pl-hero content. */
html {
	/* Dark (default). Palette tokens come from the site (--pl-cy / --pl-sec / --pl-green). */
	--pl-fx-reed: var(--pl-cy, #00e5ff);
	--pl-fx-reed-a: .085;
	--pl-fx-code-1: var(--pl-cy, #00e5ff);
	--pl-fx-code-2: var(--pl-sec, #adc6ff);
	--pl-fx-code-3: var(--pl-green, #5be9ad);
	--pl-fx-code-a: .13;
	--pl-fx-ground: color-mix(in srgb, var(--pl-bg0, #0a0e17) 90%, var(--pl-cy, #00e5ff));
	--pl-fx-ridge: var(--pl-cy, #00e5ff);
}
html[data-theme="light"] {
	--pl-fx-reed: var(--pl-cy, #00697a);
	--pl-fx-reed-a: .085;
	--pl-fx-code-1: var(--pl-cy, #00697a);
	--pl-fx-code-2: var(--pl-sec, #0b4aa6);
	--pl-fx-code-3: var(--pl-green, #0b6b46);
	--pl-fx-code-a: .14;
	--pl-fx-ground: color-mix(in srgb, var(--pl-bg0, #e8eef3) 90%, var(--pl-cy, #00697a));
	--pl-fx-ridge: var(--pl-cy, #00697a);
}
.pl-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}
.pl-hero > .nb-row__inner {
	position: relative;
	z-index: 1;
}
.pl-fx-canvas {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	display: block;
	pointer-events: none;
	opacity: 0;
	transition: opacity .9s ease;
	-webkit-mask-image: linear-gradient(180deg, transparent 8%, #000 42%, #000 100%);
	mask-image: linear-gradient(180deg, transparent 8%, #000 42%, #000 100%);
}
.pl-fx-canvas.is-ready {
	opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
	.pl-fx-canvas { transition: none; }
}

/* ---- Divider under the reeds: a rolling ground ridge that continues as a tinted band behind the stat tiles. ---- */
.pl-stats {
	position: relative;
	background: linear-gradient(180deg, var(--pl-fx-ground) 0, var(--pl-fx-ground) 38%, transparent 100%);
}
.nova-builder-page .pl-stats.nb-row {
	padding-top: clamp(48px, 7vw, 112px);
}
.pl-stats > .nb-row__inner {
	position: relative;
	z-index: 1;
}
.pl-stats::before,
.pl-stats::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -29px;
	height: 30px;
	pointer-events: none;
	z-index: 0;
	-webkit-mask-repeat: repeat-x;
	mask-repeat: repeat-x;
	-webkit-mask-size: 720px 100%;
	mask-size: 720px 100%;
	animation: pl-fx-drift 160s linear infinite;
}
.pl-stats::before {
	background: var(--pl-fx-ground);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 30' preserveAspectRatio='none'%3E%3Cpath d='M0 19.6 L12 20.3 L24 20.6 L36 20.4 L48 19.7 L60 18.7 L72 17.6 L84 16.5 L96 15.7 L108 15.3 L120 15.3 L132 15.5 L144 16.0 L156 16.4 L168 16.6 L180 16.5 L192 16.2 L204 15.6 L216 15.0 L228 14.5 L240 14.2 L252 14.4 L264 14.8 L276 15.4 L288 16.0 L300 16.3 L312 16.3 L324 15.8 L336 14.8 L348 13.5 L360 12.0 L372 10.5 L384 9.2 L396 8.2 L408 7.6 L420 7.3 L432 7.1 L444 6.9 L456 6.5 L468 5.9 L480 5.2 L492 4.4 L504 3.6 L516 3.2 L528 3.3 L540 3.9 L552 5.1 L564 6.7 L576 8.5 L588 10.2 L600 11.8 L612 13.0 L624 13.9 L636 14.4 L648 14.8 L660 15.2 L672 15.8 L684 16.5 L696 17.5 L708 18.6 L720 19.6 L720 30 L0 30Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 30' preserveAspectRatio='none'%3E%3Cpath d='M0 19.6 L12 20.3 L24 20.6 L36 20.4 L48 19.7 L60 18.7 L72 17.6 L84 16.5 L96 15.7 L108 15.3 L120 15.3 L132 15.5 L144 16.0 L156 16.4 L168 16.6 L180 16.5 L192 16.2 L204 15.6 L216 15.0 L228 14.5 L240 14.2 L252 14.4 L264 14.8 L276 15.4 L288 16.0 L300 16.3 L312 16.3 L324 15.8 L336 14.8 L348 13.5 L360 12.0 L372 10.5 L384 9.2 L396 8.2 L408 7.6 L420 7.3 L432 7.1 L444 6.9 L456 6.5 L468 5.9 L480 5.2 L492 4.4 L504 3.6 L516 3.2 L528 3.3 L540 3.9 L552 5.1 L564 6.7 L576 8.5 L588 10.2 L600 11.8 L612 13.0 L624 13.9 L636 14.4 L648 14.8 L660 15.2 L672 15.8 L684 16.5 L696 17.5 L708 18.6 L720 19.6 L720 30 L0 30Z'/%3E%3C/svg%3E");
}
.pl-stats::after {
	background: linear-gradient(90deg, transparent 0, var(--pl-fx-ridge) 18%, var(--pl-fx-ridge) 82%, transparent 100%);
	opacity: .45;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 30' preserveAspectRatio='none'%3E%3Cpath d='M0 19.6 L12 20.3 L24 20.6 L36 20.4 L48 19.7 L60 18.7 L72 17.6 L84 16.5 L96 15.7 L108 15.3 L120 15.3 L132 15.5 L144 16.0 L156 16.4 L168 16.6 L180 16.5 L192 16.2 L204 15.6 L216 15.0 L228 14.5 L240 14.2 L252 14.4 L264 14.8 L276 15.4 L288 16.0 L300 16.3 L312 16.3 L324 15.8 L336 14.8 L348 13.5 L360 12.0 L372 10.5 L384 9.2 L396 8.2 L408 7.6 L420 7.3 L432 7.1 L444 6.9 L456 6.5 L468 5.9 L480 5.2 L492 4.4 L504 3.6 L516 3.2 L528 3.3 L540 3.9 L552 5.1 L564 6.7 L576 8.5 L588 10.2 L600 11.8 L612 13.0 L624 13.9 L636 14.4 L648 14.8 L660 15.2 L672 15.8 L684 16.5 L696 17.5 L708 18.6 L720 19.6' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 30' preserveAspectRatio='none'%3E%3Cpath d='M0 19.6 L12 20.3 L24 20.6 L36 20.4 L48 19.7 L60 18.7 L72 17.6 L84 16.5 L96 15.7 L108 15.3 L120 15.3 L132 15.5 L144 16.0 L156 16.4 L168 16.6 L180 16.5 L192 16.2 L204 15.6 L216 15.0 L228 14.5 L240 14.2 L252 14.4 L264 14.8 L276 15.4 L288 16.0 L300 16.3 L312 16.3 L324 15.8 L336 14.8 L348 13.5 L360 12.0 L372 10.5 L384 9.2 L396 8.2 L408 7.6 L420 7.3 L432 7.1 L444 6.9 L456 6.5 L468 5.9 L480 5.2 L492 4.4 L504 3.6 L516 3.2 L528 3.3 L540 3.9 L552 5.1 L564 6.7 L576 8.5 L588 10.2 L600 11.8 L612 13.0 L624 13.9 L636 14.4 L648 14.8 L660 15.2 L672 15.8 L684 16.5 L696 17.5 L708 18.6 L720 19.6' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E");
}
@keyframes pl-fx-drift {
	from { -webkit-mask-position-x: 0; mask-position-x: 0; }
	to { -webkit-mask-position-x: 720px; mask-position-x: 720px; }
}
@media (max-width: 768px) {
	.pl-fx-canvas {
		-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 7%, #000 100%);
		mask-image: linear-gradient(180deg, transparent 0, #000 7%, #000 100%);
	}
}
@media (max-width: 699px) {
	.pl-stats::before, .pl-stats::after { top: -21px; height: 22px; -webkit-mask-size: 480px 100%; mask-size: 480px 100%; }
	@keyframes pl-fx-drift { from { -webkit-mask-position-x: 0; mask-position-x: 0; } to { -webkit-mask-position-x: 480px; mask-position-x: 480px; } }
}
@media (prefers-reduced-motion: reduce) {
	.pl-stats::before, .pl-stats::after { animation: none; }
}
