.proj_page {
	max-width: none;
	margin: 0;
	padding: 40px 0 0;
}

.proj_hero h1 {
	font-size: var(--mh-t1);
	font-weight: 700;
	line-height: 1.05;
	margin: 0 0 22px;
	max-width: 820px;
}

 
.proj_intro {
	margin: 0 0 26px;
	font-size: var(--mh-t6);
	line-height: 1.6;
	color: #3a3b3f;
}

.proj_hero_meta {
	font-size: var(--mh-t7);
	color: #68696d;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin-bottom: 44px;
}

.proj_body {
	display: flex;
	gap: 60px;
	align-items: flex-start;
	padding-bottom: 90px;
	border-bottom: 1px solid #e2e2e2;
}

.proj_media {
	flex: 1 1 62%;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 26px;
}

.proj_media_row {
	display: flex;
	gap: 26px;
	 
	flex-wrap: wrap;
}

.proj_media_row .proj_media_item {
	flex: 1 1 50%;
	min-width: 0;
}

 
.proj_media_row .proj_media_item--quer {
	flex: 1 1 100%;
}

 
.proj_media_item {
	border-radius: 0;
	overflow: hidden;
}

 
.proj_media_item img {
	width: 100%;
	display: block;
	object-fit: cover;
}

 



.proj_sidebar {
	flex: 1 1 34%;
	max-width: 380px;
	position: sticky;
	top: 100px;
}

.proj_sidebar h2 {
	font-size: var(--mh-t6);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #68696d;
	margin: 0 0 18px;
	font-weight: 600;
}

 
.proj_tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 26px 0 0;
}

.proj_tag {
	display: inline-block;
	padding: 6px 16px;
	border: 1px solid #d8d8d8;
	border-radius: 999px;
	font-size: var(--mh-t7);
	color: #555;
	 
	text-decoration: none !important;
	transition: border-color 0.25s ease, color 0.25s ease, background-color 0.25s ease;
}

 
a.proj_tag:hover,
a.proj_tag:focus-visible {
	border-color: var(--mh-gruen, #70af69);
	background-color: var(--mh-gruen, #70af69);
	color: #fff !important;
}

.proj_accordion details {
	border-top: 1px solid #e2e2e2;
}

.proj_accordion details:last-child {
	border-bottom: 1px solid #e2e2e2;
}

.proj_accordion summary {
	list-style: none;
	cursor: pointer;
	padding: 18px 0;
	font-size: var(--mh-t5);
	font-weight: 600;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: opacity 0.25s ease;
}

.proj_accordion summary:hover {
	opacity: 0.55;
}

.proj_accordion summary::-webkit-details-marker {
	display: none;
}

 
.proj_accordion summary::after {
	content: "";
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
	color: #68696d;
	background-image:
		linear-gradient(currentColor, currentColor),
		linear-gradient(currentColor, currentColor);
	background-position: center, center;
	background-repeat: no-repeat;
	 
	background-size: 2px 14px, 14px 2px;
	transition:
		background-size 320ms cubic-bezier(0.33, 1, 0.68, 1),
		transform 320ms cubic-bezier(0.33, 1, 0.68, 1);
}

.proj_accordion details[open] summary::after {
	background-size: 2px 0, 14px 2px;
	transform: rotate(90deg);
}

@media (prefers-reduced-motion: reduce) {
	.proj_accordion summary::after {
		transition: none;
	}
	.proj_accordion details[open] summary::after {
		transform: none;
	}
}

.proj_accordion p {
	margin: 0 0 20px;
	font-size: var(--mh-t6);
	line-height: 1.6;
	color: #555;
}

 
.proj_related {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 78px 0 78px;
	background: #16171a;
	color: #fff;
	 
	overflow: hidden;
}

.proj_related_inner {
	max-width: 1290px;
	margin: 0 auto;
	padding: 0 75px;
	box-sizing: border-box;
}

.proj_related_kopf {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 34px;
}

.proj_related h2 {
	font-size: var(--mh-t2);
	font-weight: 700;
	margin: 0;
	color: #fff;
}

.proj_slider_knoepfe {
	display: flex;
	gap: 10px;
	flex: 0 0 auto;
}

.proj_slider_knopf {
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 999px;
	background: transparent;
	color: #fff;
	cursor: pointer;
	transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, opacity 0.25s ease;
}

.proj_slider_knopf:hover:not(:disabled),
.proj_slider_knopf:focus-visible:not(:disabled) {
	background: var(--mh-gruen, #70af69);
	border-color: var(--mh-gruen, #70af69);
	color: #16171a;
}

 
.proj_slider_knopf:disabled {
	opacity: 0.3;
	cursor: default;
}

.proj_related_list {
	display: flex;
	gap: 24px;
	overflow-x: auto;
	 
	scroll-snap-type: x proximity;
	scroll-behavior: smooth;
	 
	padding-bottom: 4px;
	 
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.proj_related_list::-webkit-scrollbar {
	display: none;
}

.proj_related_list > .proj_related_card {
	flex: 0 0 360px;
	scroll-snap-align: start;
}

@media (prefers-reduced-motion: reduce) {
	.proj_related_list {
		scroll-behavior: auto;
	}
}

.proj_related_card {
	display: block;
	text-decoration: none;
	color: inherit;
}

.proj_related_card {
	 
	display: flex;
	flex-direction: column;
}

.proj_related_card_media {
	 
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	margin-bottom: 14px;
	background: #f1f1f1;
}

 
.proj_related_card_media.proj_media_video--kein-poster {
	aspect-ratio: 4 / 3;
}

 
.proj_related_card_media > img,
.proj_related_card_media > video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.proj_related_card_title {
	font-size: var(--mh-t4);
	font-weight: 700;
	margin: 0;
	 
	margin-top: auto;
	transition: opacity 0.3s ease;
}

@media (max-width: 640px) {
	.proj_media_row {
		flex-direction: column;
	}
}

@media (max-width: 900px) {
	.proj_page {
		margin-top: 0;
	}
	.proj_body {
		flex-direction: column;
		gap: 40px;
		 
		align-items: stretch;
	}
	.proj_sidebar {
		position: static;
		max-width: none;
		width: 100%;
	}
	.proj_related_list {
		grid-template-columns: 1fr;
	}
}

 
.proj_media_video {
	position: relative;
	overflow: hidden;
	line-height: 0;
}

.proj_media_video img,
.proj_media_video video {
	width: 100%;
	height: auto;
	display: block;
}

.proj_media_video video {
	position: absolute;
	inset: 0;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.45s ease;
}

.proj_media_video.is-playing video {
	opacity: 1;
}

 
.proj_media_row--split {
	align-items: stretch;
}

.proj_media_col {
	flex: 1 1 50%;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 26px;
}

@media (max-width: 900px) {
	.proj_media_col {
		gap: 20px;
	}
}

 
.proj_media_video--kein-poster {
	aspect-ratio: 16 / 9;
	background: #16171a;
}

.proj_media_video--kein-poster video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

 
.proj_media_row--drei .proj_media_item {
	flex: 1 1 33.333%;
}

 
.proj_media_video--hochkant {
	aspect-ratio: 9 / 16;
}

@media (max-width: 700px) {
	 
	.proj_media_row--drei {
		flex-direction: column;
	}
}

 
.proj_fakten {
	border-top: 1px solid #e2e2e2;
}

.proj_fakt {
	padding: 22px 0 24px;
	border-bottom: 1px solid #e2e2e2;
}

.proj_fakt_titel {
	margin: 0 0 10px;
	font-size: var(--mh-t7);
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	 
	color: #6f7075;
}

.proj_fakt_text p {
	margin: 0;
	font-size: var(--mh-t6);
	line-height: 1.65;
	color: #555;
}

.proj_fakt_text p + p {
	margin-top: 12px;
}

 
.proj_related .proj_related_card,
.proj_related .proj_related_card_title {
	color: #fff;
}

 
.page_content_wrap:has(.proj_related) {
	padding-bottom: 0;
}

@media (max-width: 900px) {
	.proj_related {
		padding: 56px 0 56px;
	}
	.proj_related_inner {
		padding: 0 24px;
	}
	.proj_related_list > .proj_related_card {
		flex-basis: 284px;
	}
}
