.rec-letter {
	padding: 56px 0 88px;
	background: #f3f8f9;
	color: #0c4652;
}

.rec-sheet {
	padding: 40px 44px 44px;
	background: #fff;
	border-radius: 28px;
	box-shadow: 0 18px 40px rgba(7, 28, 34, 0.08);
}

.rec-copy h2 {
	margin: 0 0 10px;
	color: #0c4652;
	font-family: "UVG Amp", "Playfair Display", serif;
	font-size: clamp(30px, 3vw, 40px);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.rec-org {
	margin: 0 0 14px;
	color: #106579;
	font-family: "UVG Amp", "Playfair Display", serif;
	font-size: clamp(20px, 2.2vw, 26px);
	font-weight: 500;
	line-height: 1.35;
}

.rec-copy p {
	margin: 0 0 16px;
	color: #0c4652;
	font-size: 16px;
	line-height: 1.75;
	text-align: justify;
}

.rec-lead {
	margin: 0 0 16px;
	font-size: 18px;
	line-height: 1.7;
}

.rec-copy p:last-child {
	margin-bottom: 0;
}

.rec-stage {
	margin-top: 28px;
	padding-top: 28px;
	border-top: 2px solid #106579;
}

.rec-stage video {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 832 / 464;
	border: 0;
	border-radius: 20px;
	background: #071c22;
	box-shadow: 0 14px 32px rgba(7, 28, 34, 0.12);
}

.rec-stage video:focus-visible {
	outline: 3px solid #106579;
	outline-offset: 4px;
}

@media (max-width: 991px) {
	.rec-letter {
		padding: 32px 0 56px;
	}

	.rec-sheet {
		padding: 24px 22px 28px;
		border-radius: 22px;
	}

	.rec-copy h2 {
		font-size: 30px;
	}

	.rec-stage {
		margin-top: 22px;
		padding-top: 22px;
	}

	.rec-stage video {
		border-radius: 16px;
	}
}

@media (max-width: 575px) {
	.rec-letter {
		padding: 24px 0 48px;
	}

	.rec-sheet {
		padding: 20px 16px 24px;
	}

	.rec-copy h2 {
		font-size: 26px;
	}

	.rec-org {
		font-size: 18px;
	}

	.rec-copy p,
	.rec-lead {
		font-size: 15px;
		line-height: 1.65;
		text-align: left;
	}

	.rec-stage {
		margin-top: 18px;
		padding-top: 18px;
	}

	.rec-stage video {
		border-radius: 14px;
	}
}
