.t-single-project {
	--t-single-project-inline: clamp(20px, 5vw, 72px);
	--t-single-project-max-width: 1200px;
	--t-single-project-section-gap: clamp(48px, 8vw, 96px);

	color: var(--thinking-color-section-text-primary);
	background: var(--color-bg-page);
	font-family: var(--thinking-font-family-base);
}

.t-single-project__article {
	margin: 0;
}

.t-single-project__hero {
	width: 100vw;
	max-width: 100vw;
	aspect-ratio: 4 / 3;
	margin: 0 calc(50% - 50vw);
	overflow: hidden;
	background: var(--thinking-color-section-soft-bg);
}

.t-single-project__hero-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.t-single-project__hero--position-top .t-single-project__hero-image {
	object-position: center top;
}

.t-single-project__hero--position-bottom .t-single-project__hero-image {
	object-position: center bottom;
}

.t-single-project__hero--position-left .t-single-project__hero-image {
	object-position: left center;
}

.t-single-project__hero--position-right .t-single-project__hero-image {
	object-position: right center;
}

.t-single-project__intro {
	max-width: var(--t-single-project-max-width);
	margin-inline: auto;
	padding: var(--t-single-project-section-gap) var(--t-single-project-inline);
}

.t-single-project__intro-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr);
	gap: clamp(36px, 7vw, 88px);
	align-items: start;
}

.t-single-project__summary {
	max-width: 680px;
}

.t-single-project__title {
	margin: 0;
	color: var(--thinking-color-section-heading);
	font-size: var(--thinking-type-h1-size);
	font-weight: var(--thinking-type-h1-weight);
	line-height: var(--thinking-line-height-h1);
}

.t-single-project__intro-text {
	margin-top: 1.4rem;
	color: var(--thinking-color-section-text-secondary);
	font-size: var(--thinking-type-body-large-size);
	font-weight: var(--thinking-type-body-large-weight);
	line-height: var(--thinking-line-height-body);
}

.t-single-project__intro-text > :first-child {
	margin-top: 0;
}

.t-single-project__intro-text > :last-child {
	margin-bottom: 0;
}

.t-single-project__meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.1rem 1.5rem;
	margin: 0;
}

.t-single-project__meta-item {
	min-width: 0;
	padding-top: 0.85rem;
}

.t-single-project__meta-label {
	margin: 0;
	color: var(--thinking-color-section-text-secondary);
	font-size: var(--thinking-type-caption-size);
	font-weight: var(--thinking-type-caption-weight);
	line-height: var(--thinking-line-height-caption);
}

.t-single-project__meta-value {
	margin: 0.3rem 0 0;
	color: var(--thinking-color-section-text-primary);
	font-size: var(--thinking-type-body-regular-size);
	font-weight: var(--thinking-type-body-regular-weight);
	line-height: var(--thinking-line-height-compact);
	overflow-wrap: anywhere;
}

.t-single-project__sections {
	padding-top: 0;
}

@media (min-width: 1280px) {
	.t-layout-shell .t-single-project__hero {
		width: 100%;
		max-width: 100%;
		margin: 0;
	}

	.t-layout-shell .t-single-project__intro {
		max-width: none;
		margin-inline: 0;
		padding-right: clamp(32px, 4vw, 64px);
		padding-left: 0;
	}
}

@media (max-width: 1023px) {
	.t-single-project__intro-grid {
		grid-template-columns: 1fr;
		gap: 2.2rem;
	}

	.t-single-project__summary {
		max-width: 720px;
	}
}

@media (max-width: 767px) {
	.t-single-project {
		--t-single-project-inline: 20px;
		--t-single-project-section-gap: 44px;
	}

	.t-single-project__intro-text p,
	.t-single-project .t-prose p {
		text-align: justify;
		text-justify: auto;
	}

	.t-single-project__meta {
		display: block;
	}

	.t-single-project__meta-item {
		display: grid;
		grid-template-columns: minmax(5.5rem, 36%) minmax(0, 1fr);
		gap: 1rem;
		align-items: start;
		padding-block: 0.78rem;
		border-top: 1px solid var(--color-border-soft);
	}

	.t-single-project__meta-item:last-child {
		border-bottom: 1px solid var(--color-border-soft);
	}

	.t-single-project__meta-label {
		text-align: left;
	}

	.t-single-project__meta-value {
		margin-top: 0;
		text-align: right;
	}
}
