/* =============================================================
   PROJECT CTA
   Reusable end-of-page conversion section.
============================================================= */

.rv-project-cta {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: clamp(520px, 68svh, 760px);
	padding: clamp(96px, 12vw, 176px) max(24px, 6vw);
	overflow: hidden;
	border-top: 1px solid var(--line, rgba(245, 245, 245, .12));
	background: var(--bg, #050505);
	color: var(--ink, #f4f4f4);
}

.rv-project-cta__inner {
	width: 100%;
	max-width: 1120px;
	min-width: 0;
	margin-inline: auto;
	text-align: center;
}

.rv-project-cta__title {
	max-width: 22ch;
	margin-inline: auto;
	font-family: var(--font-primary);
	font-size: clamp(34px, calc(29px + 3.35vw), 92px);
	font-weight: 800;
	line-height: .98;
	letter-spacing: -.04em;
	color: #c7c8cc;
	text-wrap: balance;
}

.rv-project-cta__copy {
	max-width: 64ch;
	margin: clamp(24px, 3vw, 38px) auto 0;
	color: var(--muted, #9d9d9d);
	font-family: var(--font-body, var(--font-primary));
	font-size: clamp(17px, 1.45vw, 22px);
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: .005em;
	text-wrap: balance;
}

.rv-project-cta__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 292px;
	min-height: 54px;
	margin-top: clamp(34px, 4vw, 52px);
	padding: 17px 32px;
	border: 1px solid var(--ink, #f4f4f4);
	border-radius: 999px;
	background: var(--ink, #f4f4f4);
	color: var(--bg, #050505);
	font-family: var(--font-primary);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .1em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	transition:
		transform .4s var(--cinema-ease, cubic-bezier(.16, 1, .3, 1)),
		box-shadow .4s var(--cinema-ease, cubic-bezier(.16, 1, .3, 1)),
		background-color .3s ease,
		color .3s ease;
}

.rv-project-cta__button:hover,
.rv-project-cta__button:focus-visible {
	background: transparent;
	color: var(--ink, #f4f4f4);
	transform: translateY(-3px);
	box-shadow: 0 18px 42px rgba(0, 0, 0, .28);
}

.rv-project-cta__button:focus-visible {
	outline: 2px solid var(--ink, #f4f4f4);
	outline-offset: 5px;
}

@media (max-width: 991px) {
	.rv-project-cta {
		min-height: clamp(480px, 62svh, 620px);
		padding: clamp(88px, 15vw, 128px) max(22px, 7vw);
	}

	.rv-project-cta__title {
		max-width: 18ch;
	}

	.rv-project-cta__copy {
		max-width: 58ch;
	}
}

@media (max-width: 560px) {
	.rv-project-cta {
		min-height: 520px;
		padding: 88px 20px 96px;
	}

	.rv-project-cta__title {
		max-width: 14ch;
		line-height: 1.02;
	}

	.rv-project-cta__copy {
		max-width: 36ch;
		font-size: 16px;
	}

	.rv-project-cta__button {
		width: min(100%, 330px);
		min-width: 0;
		min-height: 56px;
		padding: 15px 18px;
		font-size: 11.5px;
		letter-spacing: .075em;
		line-height: 1.3;
		white-space: normal;
	}
}

@media (min-width: 1920px) {
	.rv-project-cta {
		min-height: min(760px, 64svh);
		padding-inline: max(7vw, 96px);
	}
}
@media (prefers-reduced-motion: reduce) {
	.rv-project-cta__button {
		transition-duration: .01ms;
	}
}