:root {
	--lpf-color-cream: #fbe4c1;
	--lpf-color-gold: #dbba86;
	--lpf-color-sand: #edddcd;
	--lpf-color-intro-bg: #ffdbc5;
	--lpf-color-linen: #fff7ec;
	--lpf-color-button: #974b29;
	--lpf-color-burgundy: #5f1c00;
	--lpf-color-terracotta: #de8666;
	--lpf-torn-edge-size: 18px;
	--lpf-torn-edge-overlap: 25px;
	--lpf-torn-edge-clip: polygon(
		0% 14.2px,
		0.75% 18.5px,
		1.5% 8.6px,
		2.25% 13.6px,
		3% 7.9px,
		3.75% 12.3px,
		4.5% 18.5px,
		5.25% 14.6px,
		6% 7.8px,
		6.75% 14.5px,
		7.5% 16.7px,
		8.25% 16px,
		9% 14px,
		9.75% 18px,
		10.5% 11.1px,
		11.25% 12.5px,
		12% 4.5px,
		12.75% 4.3px,
		13.5% 4.9px,
		14.25% 6.7px,
		15% 7.2px,
		15.75% 3.7px,
		16.5% 12.5px,
		17.25% 6.7px,
		18% 4.3px,
		18.75% 9.1px,
		19.5% 10px,
		20.25% 3.7px,
		21% 3.7px,
		21.75% 3.7px,
		22.5% 4.7px,
		23.25% 8px,
		24% 5.9px,
		24.75% 12.9px,
		25.5% 18.5px,
		26.25% 18.5px,
		27% 13.7px,
		27.75% 18.5px,
		28.5% 16.1px,
		29.25% 6.4px,
		30% 8.6px,
		30.75% 8.4px,
		31.5% 8.9px,
		32.25% 8.4px,
		33% 7px,
		33.75% 7.4px,
		34.5% 11.9px,
		35.25% 13px,
		36% 9.7px,
		36.75% 9.1px,
		37.5% 6.7px,
		38.25% 3.7px,
		39% 3.7px,
		39.75% 3.7px,
		40.5% 3.7px,
		41.25% 4.8px,
		42% 3.7px,
		42.75% 4.7px,
		43.5% 10.4px,
		44.25% 14.9px,
		45% 13.5px,
		45.75% 10.5px,
		46.5% 11.6px,
		47.25% 5.8px,
		48% 7.9px,
		48.75% 8.4px,
		49.5% 13.3px,
		50.25% 14px,
		51% 13.4px,
		51.75% 17.3px,
		52.5% 18.5px,
		53.25% 18.5px,
		54% 15.2px,
		54.75% 11px,
		55.5% 15.2px,
		56.25% 5.1px,
		57% 9.4px,
		57.75% 7.3px,
		58.5% 9.4px,
		59.25% 13.2px,
		60% 13.8px,
		60.75% 9.7px,
		61.5% 3.9px,
		62.25% 14.2px,
		63% 4.8px,
		63.75% 10.4px,
		64.5% 4.6px,
		65.25% 3.7px,
		66% 4.3px,
		66.75% 4.3px,
		67.5% 11.5px,
		68.25% 8.2px,
		69% 9.8px,
		69.75% 13.7px,
		70.5% 15.2px,
		71.25% 7.7px,
		72% 13.4px,
		72.75% 10.2px,
		73.5% 8.6px,
		74.25% 4.3px,
		75% 10.9px,
		75.75% 12.8px,
		76.5% 14.9px,
		77.25% 18.5px,
		78% 14.9px,
		78.75% 14.9px,
		79.5% 18.5px,
		80.25% 18.5px,
		81% 10px,
		81.75% 4.2px,
		82.5% 6.8px,
		83.25% 5.1px,
		84% 6.7px,
		84.75% 3.7px,
		85.5% 3.7px,
		86.25% 11.3px,
		87% 10.1px,
		87.75% 9.5px,
		88.5% 8.4px,
		89.25% 3.7px,
		90% 11.5px,
		90.75% 6px,
		91.5% 11.1px,
		92.25% 6.1px,
		93% 15.7px,
		93.75% 6.3px,
		94.5% 11.6px,
		95.25% 12.1px,
		96% 16.5px,
		96.75% 9.9px,
		97.5% 16.8px,
		98.25% 12.2px,
		99% 11.6px,
		99.75% 15.1px,
		100% calc(100% - 8.9px),
		99.25% calc(100% - 2.9px),
		98.5% calc(100% - 7.9px),
		97.75% calc(100% - 11.2px),
		97% calc(100% - 6.8px),
		96.25% calc(100% - 10.4px),
		95.5% calc(100% - 2.8px),
		94.75% calc(100% - 7.6px),
		94% calc(100% - 9.3px),
		93.25% calc(100% - 9.8px),
		92.5% calc(100% - 7.7px),
		91.75% calc(100% - 3.8px),
		91% calc(100% - 3.7px),
		90.25% calc(100% - 7px),
		89.5% calc(100% - 3.8px),
		88.75% calc(100% - 3.7px),
		88% calc(100% - 11.2px),
		87.25% calc(100% - 8.9px),
		86.5% calc(100% - 6.1px),
		85.75% calc(100% - 5px),
		85% calc(100% - 3.4px),
		84.25% calc(100% - 3.8px),
		83.5% calc(100% - 4.1px),
		82.75% calc(100% - 2.8px),
		82% calc(100% - 2.2px),
		81.25% calc(100% - 6.4px),
		80.5% calc(100% - 3.8px),
		79.75% calc(100% - 6.7px),
		79% calc(100% - 6.6px),
		78.25% calc(100% - 11.3px),
		77.5% calc(100% - 8.3px),
		76.75% calc(100% - 7.4px),
		76% calc(100% - 6.3px),
		75.25% calc(100% - 6.1px),
		74.5% calc(100% - 10.2px),
		73.75% calc(100% - 8.4px),
		73% calc(100% - 5.1px),
		72.25% calc(100% - 8.9px),
		71.5% calc(100% - 6.4px),
		70.75% calc(100% - 11.2px),
		70% calc(100% - 6.5px),
		69.25% calc(100% - 6.1px),
		68.5% calc(100% - 3.9px),
		67.75% calc(100% - 2.2px),
		67% calc(100% - 3.9px),
		66.25% calc(100% - 4.1px),
		65.5% calc(100% - 2.2px),
		64.75% calc(100% - 2.9px),
		64% calc(100% - 3.7px),
		63.25% calc(100% - 2.2px),
		62.5% calc(100% - 5.1px),
		61.75% calc(100% - 8.3px),
		61% calc(100% - 4.3px),
		60.25% calc(100% - 7.4px),
		59.5% calc(100% - 4.6px),
		58.75% calc(100% - 2.9px),
		58% calc(100% - 4.1px),
		57.25% calc(100% - 7.5px),
		56.5% calc(100% - 6.2px),
		55.75% calc(100% - 6.1px),
		55% calc(100% - 7px),
		54.25% calc(100% - 10.4px),
		53.5% calc(100% - 9.5px),
		52.75% calc(100% - 11.3px),
		52% calc(100% - 10.3px),
		51.25% calc(100% - 9.6px),
		50.5% calc(100% - 4.3px),
		49.75% calc(100% - 10.6px),
		49% calc(100% - 2.2px),
		48.25% calc(100% - 5.3px),
		47.5% calc(100% - 3.9px),
		46.75% calc(100% - 5.4px),
		46% calc(100% - 5.6px),
		45.25% calc(100% - 6.4px),
		44.5% calc(100% - 4.7px),
		43.75% calc(100% - 4.7px),
		43% calc(100% - 3.2px),
		42.25% calc(100% - 2.7px),
		41.5% calc(100% - 3.7px),
		40.75% calc(100% - 2.9px),
		40% calc(100% - 3.7px),
		39.25% calc(100% - 3.5px),
		38.5% calc(100% - 2.2px),
		37.75% calc(100% - 5.2px),
		37% calc(100% - 5px),
		36.25% calc(100% - 7.7px),
		35.5% calc(100% - 6.7px),
		34.75% calc(100% - 8.7px),
		34% calc(100% - 10.1px),
		33.25% calc(100% - 6.7px),
		32.5% calc(100% - 8.9px),
		31.75% calc(100% - 2.4px),
		31% calc(100% - 9.8px),
		30.25% calc(100% - 9.4px),
		29.5% calc(100% - 9.1px),
		28.75% calc(100% - 8.7px),
		28% calc(100% - 11.3px),
		27.25% calc(100% - 11.3px),
		26.5% calc(100% - 5.6px),
		25.75% calc(100% - 10.4px),
		25% calc(100% - 3.5px),
		24.25% calc(100% - 2.2px),
		23.5% calc(100% - 7.9px),
		22.75% calc(100% - 4.9px),
		22% calc(100% - 3.2px),
		21.25% calc(100% - 2.2px),
		20.5% calc(100% - 6.8px),
		19.75% calc(100% - 8.9px),
		19% calc(100% - 4.7px),
		18.25% calc(100% - 5.6px),
		17.5% calc(100% - 7.4px),
		16.75% calc(100% - 3.9px),
		16% calc(100% - 2.2px),
		15.25% calc(100% - 4.2px),
		14.5% calc(100% - 3.7px),
		13.75% calc(100% - 3.3px),
		13% calc(100% - 7.9px),
		12.25% calc(100% - 4.8px),
		11.5% calc(100% - 5.7px),
		10.75% calc(100% - 11.2px),
		10% calc(100% - 11.3px),
		9.25% calc(100% - 7.9px),
		8.5% calc(100% - 8.4px),
		7.75% calc(100% - 7px),
		7% calc(100% - 5.2px),
		6.25% calc(100% - 2.2px),
		5.5% calc(100% - 6.2px),
		4.75% calc(100% - 9.4px),
		4% calc(100% - 11.3px),
		3.25% calc(100% - 5.3px),
		2.5% calc(100% - 9.5px),
		1.75% calc(100% - 8.9px),
		1% calc(100% - 11.3px),
		0.25% calc(100% - 7.9px),
		0% calc(100% - 8.6px)
	);
	--lpf-torn-edge-clip-bottom: polygon(
		0% 0%,
		100% 0%,
		100% calc(100% - 8.9px),
		99.25% calc(100% - 2.9px),
		98.5% calc(100% - 7.9px),
		97.75% calc(100% - 11.2px),
		97% calc(100% - 6.8px),
		96.25% calc(100% - 10.4px),
		95.5% calc(100% - 2.8px),
		94.75% calc(100% - 7.6px),
		94% calc(100% - 9.3px),
		93.25% calc(100% - 9.8px),
		92.5% calc(100% - 7.7px),
		91.75% calc(100% - 3.8px),
		91% calc(100% - 3.7px),
		90.25% calc(100% - 7px),
		89.5% calc(100% - 3.8px),
		88.75% calc(100% - 3.7px),
		88% calc(100% - 11.2px),
		87.25% calc(100% - 8.9px),
		86.5% calc(100% - 6.1px),
		85.75% calc(100% - 5px),
		85% calc(100% - 3.4px),
		84.25% calc(100% - 3.8px),
		83.5% calc(100% - 4.1px),
		82.75% calc(100% - 2.8px),
		82% calc(100% - 2.2px),
		81.25% calc(100% - 6.4px),
		80.5% calc(100% - 3.8px),
		79.75% calc(100% - 6.7px),
		79% calc(100% - 6.6px),
		78.25% calc(100% - 11.3px),
		77.5% calc(100% - 8.3px),
		76.75% calc(100% - 7.4px),
		76% calc(100% - 6.3px),
		75.25% calc(100% - 6.1px),
		74.5% calc(100% - 10.2px),
		73.75% calc(100% - 8.4px),
		73% calc(100% - 5.1px),
		72.25% calc(100% - 8.9px),
		71.5% calc(100% - 6.4px),
		70.75% calc(100% - 11.2px),
		70% calc(100% - 6.5px),
		69.25% calc(100% - 6.1px),
		68.5% calc(100% - 3.9px),
		67.75% calc(100% - 2.2px),
		67% calc(100% - 3.9px),
		66.25% calc(100% - 4.1px),
		65.5% calc(100% - 2.2px),
		64.75% calc(100% - 2.9px),
		64% calc(100% - 3.7px),
		63.25% calc(100% - 2.2px),
		62.5% calc(100% - 5.1px),
		61.75% calc(100% - 8.3px),
		61% calc(100% - 4.3px),
		60.25% calc(100% - 7.4px),
		59.5% calc(100% - 4.6px),
		58.75% calc(100% - 2.9px),
		58% calc(100% - 4.1px),
		57.25% calc(100% - 7.5px),
		56.5% calc(100% - 6.2px),
		55.75% calc(100% - 6.1px),
		55% calc(100% - 7px),
		54.25% calc(100% - 10.4px),
		53.5% calc(100% - 9.5px),
		52.75% calc(100% - 11.3px),
		52% calc(100% - 10.3px),
		51.25% calc(100% - 9.6px),
		50.5% calc(100% - 4.3px),
		49.75% calc(100% - 10.6px),
		49% calc(100% - 2.2px),
		48.25% calc(100% - 5.3px),
		47.5% calc(100% - 3.9px),
		46.75% calc(100% - 5.4px),
		46% calc(100% - 5.6px),
		45.25% calc(100% - 6.4px),
		44.5% calc(100% - 4.7px),
		43.75% calc(100% - 4.7px),
		43% calc(100% - 3.2px),
		42.25% calc(100% - 2.7px),
		41.5% calc(100% - 3.7px),
		40.75% calc(100% - 2.9px),
		40% calc(100% - 3.7px),
		39.25% calc(100% - 3.5px),
		38.5% calc(100% - 2.2px),
		37.75% calc(100% - 5.2px),
		37% calc(100% - 5px),
		36.25% calc(100% - 7.7px),
		35.5% calc(100% - 6.7px),
		34.75% calc(100% - 8.7px),
		34% calc(100% - 10.1px),
		33.25% calc(100% - 6.7px),
		32.5% calc(100% - 8.9px),
		31.75% calc(100% - 2.4px),
		31% calc(100% - 9.8px),
		30.25% calc(100% - 9.4px),
		29.5% calc(100% - 9.1px),
		28.75% calc(100% - 8.7px),
		28% calc(100% - 11.3px),
		27.25% calc(100% - 11.3px),
		26.5% calc(100% - 5.6px),
		25.75% calc(100% - 10.4px),
		25% calc(100% - 3.5px),
		24.25% calc(100% - 2.2px),
		23.5% calc(100% - 7.9px),
		22.75% calc(100% - 4.9px),
		22% calc(100% - 3.2px),
		21.25% calc(100% - 2.2px),
		20.5% calc(100% - 6.8px),
		19.75% calc(100% - 8.9px),
		19% calc(100% - 4.7px),
		18.25% calc(100% - 5.6px),
		17.5% calc(100% - 7.4px),
		16.75% calc(100% - 3.9px),
		16% calc(100% - 2.2px),
		15.25% calc(100% - 4.2px),
		14.5% calc(100% - 3.7px),
		13.75% calc(100% - 3.3px),
		13% calc(100% - 7.9px),
		12.25% calc(100% - 4.8px),
		11.5% calc(100% - 5.7px),
		10.75% calc(100% - 11.2px),
		10% calc(100% - 11.3px),
		9.25% calc(100% - 7.9px),
		8.5% calc(100% - 8.4px),
		7.75% calc(100% - 7px),
		7% calc(100% - 5.2px),
		6.25% calc(100% - 2.2px),
		5.5% calc(100% - 6.2px),
		4.75% calc(100% - 9.4px),
		4% calc(100% - 11.3px),
		3.25% calc(100% - 5.3px),
		2.5% calc(100% - 9.5px),
		1.75% calc(100% - 8.9px),
		1% calc(100% - 11.3px),
		0.25% calc(100% - 7.9px),
		0% calc(100% - 8.6px)
	);
	--lpf-torn-edge-clip-top: polygon(
		0% 14.2px,
		0.75% 18.5px,
		1.5% 8.6px,
		2.25% 13.6px,
		3% 7.9px,
		3.75% 12.3px,
		4.5% 18.5px,
		5.25% 14.6px,
		6% 7.8px,
		6.75% 14.5px,
		7.5% 16.7px,
		8.25% 16px,
		9% 14px,
		9.75% 18px,
		10.5% 11.1px,
		11.25% 12.5px,
		12% 4.5px,
		12.75% 4.3px,
		13.5% 4.9px,
		14.25% 6.7px,
		15% 7.2px,
		15.75% 3.7px,
		16.5% 12.5px,
		17.25% 6.7px,
		18% 4.3px,
		18.75% 9.1px,
		19.5% 10px,
		20.25% 3.7px,
		21% 3.7px,
		21.75% 3.7px,
		22.5% 4.7px,
		23.25% 8px,
		24% 5.9px,
		24.75% 12.9px,
		25.5% 18.5px,
		26.25% 18.5px,
		27% 13.7px,
		27.75% 18.5px,
		28.5% 16.1px,
		29.25% 6.4px,
		30% 8.6px,
		30.75% 8.4px,
		31.5% 8.9px,
		32.25% 8.4px,
		33% 7px,
		33.75% 7.4px,
		34.5% 11.9px,
		35.25% 13px,
		36% 9.7px,
		36.75% 9.1px,
		37.5% 6.7px,
		38.25% 3.7px,
		39% 3.7px,
		39.75% 3.7px,
		40.5% 3.7px,
		41.25% 4.8px,
		42% 3.7px,
		42.75% 4.7px,
		43.5% 10.4px,
		44.25% 14.9px,
		45% 13.5px,
		45.75% 10.5px,
		46.5% 11.6px,
		47.25% 5.8px,
		48% 7.9px,
		48.75% 8.4px,
		49.5% 13.3px,
		50.25% 14px,
		51% 13.4px,
		51.75% 17.3px,
		52.5% 18.5px,
		53.25% 18.5px,
		54% 15.2px,
		54.75% 11px,
		55.5% 15.2px,
		56.25% 5.1px,
		57% 9.4px,
		57.75% 7.3px,
		58.5% 9.4px,
		59.25% 13.2px,
		60% 13.8px,
		60.75% 9.7px,
		61.5% 3.9px,
		62.25% 14.2px,
		63% 4.8px,
		63.75% 10.4px,
		64.5% 4.6px,
		65.25% 3.7px,
		66% 4.3px,
		66.75% 4.3px,
		67.5% 11.5px,
		68.25% 8.2px,
		69% 9.8px,
		69.75% 13.7px,
		70.5% 15.2px,
		71.25% 7.7px,
		72% 13.4px,
		72.75% 10.2px,
		73.5% 8.6px,
		74.25% 4.3px,
		75% 10.9px,
		75.75% 12.8px,
		76.5% 14.9px,
		77.25% 18.5px,
		78% 14.9px,
		78.75% 14.9px,
		79.5% 18.5px,
		80.25% 18.5px,
		81% 10px,
		81.75% 4.2px,
		82.5% 6.8px,
		83.25% 5.1px,
		84% 6.7px,
		84.75% 3.7px,
		85.5% 3.7px,
		86.25% 11.3px,
		87% 10.1px,
		87.75% 9.5px,
		88.5% 8.4px,
		89.25% 3.7px,
		90% 11.5px,
		90.75% 6px,
		91.5% 11.1px,
		92.25% 6.1px,
		93% 15.7px,
		93.75% 6.3px,
		94.5% 11.6px,
		95.25% 12.1px,
		96% 16.5px,
		96.75% 9.9px,
		97.5% 16.8px,
		98.25% 12.2px,
		99% 11.6px,
		99.75% 15.1px,
		100% 100%,
		0% 100%
	);
	--lpf-torn-edge-highlight-top: linear-gradient(
		to bottom,
		rgba(255, 255, 255, 0.38) 0px,
		rgba(255, 255, 255, 0.14) calc(var(--lpf-torn-edge-size) * 0.35),
		transparent calc(var(--lpf-torn-edge-size) * 0.95)
	);
	--lpf-torn-edge-shadow-top: linear-gradient(
		to bottom,
		rgba(35, 18, 8, 0.38) 0px,
		rgba(55, 28, 12, 0.28) calc(var(--lpf-torn-edge-size) * 0.55),
		rgba(70, 35, 15, 0.1) calc(var(--lpf-torn-edge-size) * 1.15),
		transparent calc(var(--lpf-torn-edge-size) * 1.85 + 10px)
	);
	--lpf-torn-edge-shadow-bottom: linear-gradient(
		to top,
		rgba(35, 18, 8, 0.38) 0px,
		rgba(55, 28, 12, 0.28) calc(var(--lpf-torn-edge-size) * 0.55),
		rgba(70, 35, 15, 0.1) calc(var(--lpf-torn-edge-size) * 1.15),
		transparent calc(var(--lpf-torn-edge-size) * 1.85 + 10px)
	);
}

.lpf-home {
	position: relative;
	z-index: 1;
	overflow: visible;
}

.site-main {
	position: relative;
}

/* Intro section directly below hero */
.lpf-intro {
	position: relative;
	z-index: 2;
	overflow: visible;
	background-color: var(--lpf-color-intro-bg);
	margin-top: calc(-1 * var(--lpf-torn-edge-overlap));
	margin-bottom: calc(-1 * var(--lpf-torn-edge-overlap));
	padding: calc(60px + var(--lpf-torn-edge-overlap)) 0;
	clip-path: var(--lpf-torn-edge-clip);
	filter: drop-shadow(1.1px 2px 0 rgba(70, 35, 15, 0.28)) drop-shadow(2.9px 5.1px 0 rgba(70, 35, 15, 0.16)) drop-shadow(6.9px 10.9px 10px rgba(70, 35, 15, 0.12));
}

/* Inverted depth along torn polygon edges (inside the paper) */
.lpf-intro::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	clip-path: var(--lpf-torn-edge-clip);
	background:
		var(--lpf-torn-edge-highlight-top),
		var(--lpf-torn-edge-shadow-top),
		var(--lpf-torn-edge-shadow-bottom);
}

.lpf-intro__texture,
.lpf-catering__texture,
.lpf-speisekarte__texture,
.lpf-kegelbahn__texture {
	position: absolute;
	inset: 0;
	z-index: 1;
	background-image: url("/wp-content/themes/la-pastaria-fracasso/assets/images/paper-overlay-test.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	filter: saturate(0);
	mix-blend-mode: multiply;
	opacity: 0.2;
	pointer-events: none;
}

.lpf-intro .lpf-btn,
.lpf-kegelbahn .lpf-btn {
	background-color: var(--lpf-color-button);
	color: #ffffff;
	border-color: var(--lpf-color-button);
}

.lpf-intro .lpf-btn:hover,
.lpf-intro .lpf-btn:focus-visible,
.lpf-kegelbahn .lpf-btn:hover,
.lpf-kegelbahn .lpf-btn:focus-visible {
	background-color: #7d3e22;
	color: #ffffff;
	border-color: #7d3e22;
}

.lpf-intro__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2.5rem;
	align-items: center;
	max-width: var(--lpf-content-max-width);
	margin: 0 auto;
	padding: 0 1.5rem;
}

.lpf-intro__eyebrow {
	margin: 0 0 0.75rem;
	font-family: var(--lpf-font-subheading);
	font-size: clamp(1.1rem, 2vw, 1.75rem);
	font-weight: 600;
	line-height: 1.3;
	color: var(--lpf-color-text);
}

.lpf-intro__title {
	margin: 0 0 1.25rem;
	font-family: var(--lpf-font-heading);
	font-size: clamp(2rem, 4.5vw, 3.375rem);
	font-weight: 400;
	line-height: 1.15;
	color: var(--lpf-color-text);
}

.lpf-intro__text {
	margin-bottom: 1.75rem;
	font-family: var(--lpf-font-body);
	font-size: 1rem;
	line-height: 1.65;
	color: var(--lpf-color-text);
}

.lpf-intro__text p {
	margin: 0;
}

.lpf-intro__text p + p {
	margin-top: 1rem;
}

.lpf-intro__media {
	display: flex;
	align-items: center;
	justify-content: center;
}

.lpf-intro__media img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 550px;
	object-fit: contain;
	object-position: center;
}

/* Split sections */
.lpf-split {
	padding: 60px 0;
}

.lpf-split--bg-gold {
	background-color: var(--lpf-color-gold);
}

.lpf-split--bg-white {
	background-color: #ffffff;
}

.lpf-split--bg-linen {
	background-color: var(--lpf-color-linen);
}

.lpf-split--bg-linen .lpf-btn {
	background-color: var(--lpf-color-button);
	color: #ffffff;
	border-color: var(--lpf-color-button);
}

.lpf-split--bg-linen .lpf-btn:hover,
.lpf-split--bg-linen .lpf-btn:focus-visible {
	background-color: #7d3e22;
	color: #ffffff;
	border-color: #7d3e22;
}

/* Kegelbahn section (intro layout + gallery, like catering) */
.lpf-kegelbahn {
	position: relative;
	z-index: 2;
	overflow: visible;
	background-color: var(--lpf-color-intro-bg);
	margin-top: calc(-1 * var(--lpf-torn-edge-overlap));
	padding-top: calc(var(--lpf-torn-edge-overlap));
	clip-path: var(--lpf-torn-edge-clip-top);
	filter: drop-shadow(1.1px 2px 0 rgba(70, 35, 15, 0.28)) drop-shadow(2.9px 5.1px 0 rgba(70, 35, 15, 0.16)) drop-shadow(6.9px 10.9px 10px rgba(70, 35, 15, 0.12));
}

.lpf-kegelbahn::after,
.lpf-speisekarte::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 3;
	pointer-events: none;
	clip-path: var(--lpf-torn-edge-clip-top);
	background:
		var(--lpf-torn-edge-highlight-top),
		var(--lpf-torn-edge-shadow-top);
}

.lpf-kegelbahn__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 60% 40%;
	gap: 2.5rem;
	align-items: center;
	max-width: var(--lpf-content-max-width);
	margin: 0 auto;
	padding: 60px 1.5rem 0;
}

.lpf-kegelbahn__media {
	display: block;
	overflow: visible;
}

.lpf-catering .lpf-split__image,
.lpf-speisekarte .lpf-split__image,
.lpf-kegelbahn__media .lpf-kegelbahn__image {
	box-sizing: border-box;
	border: 8px solid #ffffff;
	box-shadow: 5.1px 8px 4px rgba(55, 35, 20, 0.22);
	transform-origin: center center;
	display: block;
	width: 100%;
	height: 550px;
	max-height: 550px;
	object-fit: cover;
	object-position: center;
	transform: rotate(-1deg);
}

.lpf-kegelbahn__gallery {
	position: relative;
	z-index: 2;
	margin-top: 5rem;
}

.lpf-kegelbahn__gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	max-width: var(--lpf-content-max-width);
	margin: 0 auto;
	padding: 0 1.5rem 100px;
	gap: 30px;
}

.lpf-kegelbahn__gallery,
.lpf-kegelbahn__gallery-grid,
.lpf-kegelbahn__gallery-item {
	overflow: visible;
}

.lpf-kegelbahn__gallery-item {
	margin: 0;
}

.lpf-catering__gallery-item img,
.lpf-speisekarte__gallery-item img,
.lpf-kegelbahn__gallery-item img {
	box-sizing: border-box;
	border: 8px solid #ffffff;
	box-shadow: 5.1px 8px 4px rgba(55, 35, 20, 0.22);
	transform-origin: center center;
}

.lpf-kegelbahn__gallery-item:nth-child(1) img {
	transform: rotate(1.2deg);
}

.lpf-kegelbahn__gallery-item:nth-child(2) img {
	transform: rotate(-0.8deg);
}

.lpf-kegelbahn__gallery-item:nth-child(3) img {
	transform: rotate(1deg);
}

.lpf-kegelbahn__gallery-item img {
	display: block;
	width: 100%;
	height: 350px;
	object-fit: cover;
	object-position: center;
}

/* Catering section below intro */
.lpf-catering {
	position: relative;
	z-index: 1;
	overflow: visible;
	background-color: var(--lpf-color-linen);
	padding-top: var(--lpf-torn-edge-overlap);
}

/* Speisekarte section (linen + torn paper edge over kegelbahn) */
.lpf-speisekarte {
	position: relative;
	z-index: 2;
	overflow: visible;
	background-color: var(--lpf-color-linen);
	margin-top: calc(-1 * var(--lpf-torn-edge-overlap));
	padding-top: calc(var(--lpf-torn-edge-overlap));
	clip-path: var(--lpf-torn-edge-clip-top);
	filter: drop-shadow(1.1px 2px 0 rgba(70, 35, 15, 0.28)) drop-shadow(2.9px 5.1px 0 rgba(70, 35, 15, 0.16)) drop-shadow(6.9px 10.9px 10px rgba(70, 35, 15, 0.12));
}

.lpf-catering .lpf-split__media,
.lpf-speisekarte .lpf-split__media {
	display: block;
}

.lpf-catering__media-frame {
	position: relative;
	display: block;
	width: 100%;
}

.lpf-catering__olive {
	position: absolute;
	top: 0;
	right: 0;
	left: auto;
	bottom: auto;
	z-index: 10;
	width: clamp(100px, 14vw, 200px);
	height: auto;
	max-height: none;
	margin: 0;
	border: none;
	box-shadow: none;
	object-fit: contain;
	transform: translate(25%, -30%);
	pointer-events: none;
	user-select: none;
}

.lpf-speisekarte__bouquet {
	position: absolute;
	z-index: 10;
	width: clamp(130px, 18vw, 260px);
	height: auto;
	max-height: none;
	margin: 0;
	border: none;
	box-shadow: none;
	object-fit: contain;
	pointer-events: none;
	user-select: none;
}

.lpf-split--image-cover .lpf-split__media .lpf-catering__olive {
	width: clamp(100px, 14vw, 200px);
	height: auto;
}

.lpf-catering__olive--accent {
	top: -195px;
	right: max(1.5rem, calc((100% - var(--lpf-content-max-width)) / 2 + 1.5rem));
	width: clamp(130px, 18vw, 260px);
	transform: scaleX(-1) translate(25%, -30%);
}

.lpf-speisekarte__gallery > .lpf-speisekarte__bouquet--accent {
	top: -125px;
	right: max(1.5rem, calc((100% - var(--lpf-content-max-width)) / 2 + 1.5rem));
	width: clamp(130px, 18vw, 260px);
	transform: translate(25%, -30%) rotate(25deg);
	transform-origin: center center;
}

.lpf-catering .lpf-split,
.lpf-catering__gallery,
.lpf-speisekarte .lpf-split,
.lpf-speisekarte__gallery {
	position: relative;
	z-index: 2;
}

.lpf-catering .lpf-split--bg-linen,
.lpf-speisekarte .lpf-split--bg-linen {
	background-color: transparent;
}

.lpf-catering .lpf-split__inner,
.lpf-speisekarte .lpf-split__inner {
	grid-template-columns: 40% 60%;
}

/* Catering 3-image grid below split content */
.lpf-catering__gallery,
.lpf-speisekarte__gallery {
	background-color: transparent;
}

.lpf-catering__gallery-grid,
.lpf-speisekarte__gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	max-width: var(--lpf-content-max-width);
	margin: 0 auto;
	padding: 0 1.5rem 100px;
	gap: 30px;
}

.lpf-catering .lpf-split__media,
.lpf-catering__media-frame,
.lpf-speisekarte .lpf-split__media {
	overflow: visible;
}

.lpf-catering__gallery,
.lpf-catering__gallery-grid,
.lpf-catering__gallery-item,
.lpf-speisekarte__gallery,
.lpf-speisekarte__gallery-grid,
.lpf-speisekarte__gallery-item {
	overflow: visible;
}

.lpf-catering__gallery-item,
.lpf-speisekarte__gallery-item {
	margin: 0;
}

.lpf-catering__gallery-item img,
.lpf-speisekarte__gallery-item img {
	box-sizing: border-box;
	border: 8px solid #ffffff;
	box-shadow: 5.1px 8px 4px rgba(55, 35, 20, 0.22);
	transform-origin: center center;
}

.lpf-catering__gallery-item:nth-child(1) img,
.lpf-speisekarte__gallery-item:nth-child(1) img {
	transform: rotate(1.2deg);
}

.lpf-catering__gallery-item:nth-child(2) img,
.lpf-speisekarte__gallery-item:nth-child(2) img {
	transform: rotate(-0.8deg);
}

.lpf-catering__gallery-item:nth-child(3) img,
.lpf-speisekarte__gallery-item:nth-child(3) img {
	transform: rotate(1deg);
}

.lpf-catering__gallery-item img,
.lpf-speisekarte__gallery-item img {
	display: block;
	width: 100%;
	height: 350px;
	object-fit: cover;
	object-position: center;
}

.lpf-split--overlap {
	margin-top: -133.3px;
	padding-top: 160px;
	position: relative;
	z-index: 2;
}

.lpf-split__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2.5rem;
	align-items: center;
	max-width: var(--lpf-content-max-width);
	margin: 0 auto;
	padding: 0 1.5rem;
}

.lpf-split--image-left .lpf-split__media {
	order: -1;
}

.lpf-split__label {
	margin: 0 0 0.75rem;
	font-family: var(--lpf-font-subheading);
	font-size: clamp(1.1rem, 2vw, 1.75rem);
	font-weight: 600;
	line-height: 1.3;
	color: var(--lpf-color-text);
}

.lpf-split__title {
	margin: 0 0 1.25rem;
	font-family: var(--lpf-font-heading);
	font-size: clamp(2rem, 4.5vw, 3.375rem);
	font-weight: 400;
	line-height: 1.15;
	color: var(--lpf-color-text);
}

.lpf-split__text {
	margin-bottom: 1.75rem;
	font-family: var(--lpf-font-body);
	font-size: 1rem;
	line-height: 1.65;
	color: var(--lpf-color-text);
}

.lpf-split__text p {
	margin: 0 0 1rem;
}

.lpf-split__text p:last-child {
	margin-bottom: 0;
}

.lpf-split__media {
	display: flex;
	align-items: center;
	justify-content: center;
}

.lpf-split__media img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 550px;
	object-fit: contain;
	object-position: center;
}

.lpf-split--image-cover .lpf-split__media img {
	height: 550px;
	max-height: 550px;
	object-fit: cover;
}

/* Buttons */
.lpf-btn {
	display: inline-block;
	padding: 0.6rem 1.75rem;
	background-color: var(--lpf-color-cream);
	color: #000000;
	font-family: var(--lpf-font-body);
	font-size: 1rem;
	font-weight: 400;
	text-decoration: none;
	border: 1.1px solid transparent;
	border-radius: 0;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.lpf-btn:hover,
.lpf-btn:focus-visible {
	background-color: #ffffff;
	color: #000000;
}

.lpf-btn--outline {
	border-color: #dfdfdf;
}

.lpf-btn--light {
	background-color: var(--lpf-color-cream);
	color: #000000;
}

/* Image gallery rows */
.lpf-gallery {
	position: relative;
	z-index: 3;
}

.lpf-gallery--bg-burgundy {
	background-color: var(--lpf-color-burgundy);
}

.lpf-gallery--bg-gold {
	background-color: var(--lpf-color-gold);
}

.lpf-gallery--bg-white {
	background-color: #ffffff;
}

.lpf-gallery__inner {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	max-width: var(--lpf-content-max-width);
	margin: 0 auto;
}

.lpf-gallery__item {
	margin: 0;
}

.lpf-gallery__item img {
	display: block;
	width: 100%;
	height: 350px;
	object-fit: cover;
}

/* Bottom CTA band */
.lpf-home-cta {
	background-color: var(--lpf-color-burgundy);
	padding: 4rem 1.5rem;
	text-align: left;
}

.lpf-home-cta__inner {
	max-width: var(--lpf-content-max-width);
	margin: 0 auto;
}

.lpf-home-cta__label {
	margin: 0 0 0.5rem;
	font-family: var(--lpf-font-subheading);
	font-size: clamp(1.1rem, 2vw, 1.75rem);
	font-weight: 600;
	color: #ffffff;
}

.lpf-home-cta__title {
	margin: 0 0 1.75rem;
	font-family: var(--lpf-font-heading);
	font-size: clamp(2.25rem, 5vw, 3.625rem);
	font-weight: 400;
	line-height: 1.15;
	color: #ffffff;
}

.lpf-home-cta__title-accent {
	display: inline-block;
	font-style: italic;
	font-weight: 400;
	color: var(--lpf-color-terracotta);
}

@media (max-width: 900px) {
	:root {
		--lpf-torn-edge-size: 11px;
		--lpf-torn-edge-overlap: 15px;
		--lpf-torn-edge-clip: polygon(
			0% 8px,
			4% 6.4px,
			8% 10.4px,
			12% 4.4px,
			16% 5px,
			20% 3.9px,
			24% 5px,
			28% 8.9px,
			32% 9.8px,
			36% 6.9px,
			40% 4.5px,
			44% 8.9px,
			48% 6.3px,
			52% 10.5px,
			56% 8.9px,
			60% 7.1px,
			64% 2.2px,
			68% 4px,
			72% 8.6px,
			76% 10.1px,
			80% 6.8px,
			84% 5.6px,
			88% 4.8px,
			92% 4.1px,
			96% 10.1px,
			100% 6.6px,
			100% calc(100% - 5.5px),
			96% calc(100% - 4.7px),
			92% calc(100% - 4.2px),
			88% calc(100% - 7.4px),
			84% calc(100% - 2.8px),
			80% calc(100% - 7.9px),
			76% calc(100% - 4.9px),
			72% calc(100% - 3.7px),
			68% calc(100% - 4.9px),
			64% calc(100% - 2.7px),
			60% calc(100% - 5.6px),
			56% calc(100% - 6.8px),
			52% calc(100% - 7.6px),
			48% calc(100% - 5px),
			44% calc(100% - 6.4px),
			40% calc(100% - 3.7px),
			36% calc(100% - 5.2px),
			32% calc(100% - 5.6px),
			28% calc(100% - 7.9px),
			24% calc(100% - 4.9px),
			20% calc(100% - 2.9px),
			16% calc(100% - 3.2px),
			12% calc(100% - 4.2px),
			8% calc(100% - 7.9px),
			4% calc(100% - 7.9px),
			0% calc(100% - 4.4px)
		);
		--lpf-torn-edge-clip-bottom: polygon(
			0% 0%,
			100% 0%,
			100% calc(100% - 5.5px),
			96% calc(100% - 4.7px),
			92% calc(100% - 4.2px),
			88% calc(100% - 7.4px),
			84% calc(100% - 2.8px),
			80% calc(100% - 7.9px),
			76% calc(100% - 4.9px),
			72% calc(100% - 3.7px),
			68% calc(100% - 4.9px),
			64% calc(100% - 2.7px),
			60% calc(100% - 5.6px),
			56% calc(100% - 6.8px),
			52% calc(100% - 7.6px),
			48% calc(100% - 5px),
			44% calc(100% - 6.4px),
			40% calc(100% - 3.7px),
			36% calc(100% - 5.2px),
			32% calc(100% - 5.6px),
			28% calc(100% - 7.9px),
			24% calc(100% - 4.9px),
			20% calc(100% - 2.9px),
			16% calc(100% - 3.2px),
			12% calc(100% - 4.2px),
			8% calc(100% - 7.9px),
			4% calc(100% - 7.9px),
			0% calc(100% - 4.4px)
		);
		--lpf-torn-edge-clip-top: polygon(
			0% 8px,
			4% 6.4px,
			8% 10.4px,
			12% 4.4px,
			16% 5px,
			20% 3.9px,
			24% 5px,
			28% 8.9px,
			32% 9.8px,
			36% 6.9px,
			40% 4.5px,
			44% 8.9px,
			48% 6.3px,
			52% 10.5px,
			56% 8.9px,
			60% 7.1px,
			64% 2.2px,
			68% 4px,
			72% 8.6px,
			76% 10.1px,
			80% 6.8px,
			84% 5.6px,
			88% 4.8px,
			92% 4.1px,
			96% 10.1px,
			100% 6.6px,
			100% 100%,
			0% 100%
		);
	}

	.lpf-intro__inner {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.lpf-kegelbahn__inner {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.lpf-kegelbahn__media .lpf-kegelbahn__image {
		width: 100%;
		height: auto;
		max-height: none;
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}

	.lpf-intro__media {
		order: 2;
	}

	.lpf-intro__content {
		order: 1;
	}

	.lpf-kegelbahn__inner .lpf-intro__media {
		order: -1;
	}

	.lpf-kegelbahn__inner .lpf-intro__content {
		order: 1;
	}

	.lpf-intro__media img {
		max-height: 400px;
	}

	.lpf-split {
		padding: 60px 0;
	}

	.lpf-split--overlap {
		margin-top: 0;
		padding-top: 60px;
	}

	.lpf-split__inner {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.lpf-catering .lpf-split__inner,
	.lpf-speisekarte .lpf-split__inner,
	.lpf-kegelbahn__inner {
		grid-template-columns: 1fr;
	}

	.lpf-catering__olive {
		width: clamp(80px, 20vw, 140px);
		transform: translate(35%, -30%);
	}

	.lpf-catering__olive--accent {
		top: -70px;
		right: 1.5rem;
		width: clamp(110px, 24vw, 180px);
		transform: scaleX(-1) translate(35%, -30%);
	}

	.lpf-speisekarte__gallery > .lpf-speisekarte__bouquet--accent {
		top: -35px;
		right: 1.5rem;
		width: clamp(110px, 24vw, 180px);
		transform: translate(35%, -30%) rotate(25deg);
		transform-origin: center center;
	}

	.lpf-split__media {
		order: 2;
	}

	.lpf-split__content {
		order: 1;
	}

	.lpf-split__media img {
		height: 400px;
	}

	.lpf-split--image-cover .lpf-split__media img {
		width: 100%;
		height: auto;
		max-height: none;
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}

	.lpf-catering__gallery-grid,
	.lpf-speisekarte__gallery-grid,
	.lpf-kegelbahn__gallery-grid {
		grid-template-columns: 1fr;
	}

	.lpf-catering__gallery-grid,
	.lpf-speisekarte__gallery-grid {
		padding-bottom: 100px;
	}

	.lpf-kegelbahn__gallery-grid {
		padding-bottom: 100px;
	}

	.lpf-catering__gallery-item img,
	.lpf-kegelbahn__gallery-item img {
		height: 320px;
	}

	.lpf-gallery__inner {
		grid-template-columns: 1fr;
	}

	.lpf-gallery__item img {
		height: 320px;
	}

	.lpf-home-cta {
		text-align: center;
	}
}
