/* ==========================================================================
   Page: Privacy
   ========================================================================== */

.privacy-page {
	width: 100%;
	padding-bottom: var(--cta-before-space);
}

.privacy-page .c-simple-kv {
	--simple-kv-heading-title-size: min(3.75vw, 45px);
	--simple-kv-heading-label-size: min(1.6667vw, 20px);
	--simple-kv-heading-line-width: min(5vw, 60px);
}

.privacy-policy {
	--privacy-policy-top: min(12.5vw, 150px);
	--privacy-policy-inner-width: 960px;
	--privacy-policy-side-gutter: min(4.1667vw, 50px);
	--privacy-policy-section-top: 64px;
	--privacy-policy-heading-size: clamp(20px, calc(12px + 1.3333vw), 28px);
	--privacy-policy-body-size: clamp(14px, calc(12px + 0.3333vw), 16px);
	--privacy-policy-body-line-height: 1.9;
	--privacy-policy-list-gap: 10px;
	--privacy-policy-definition-top: 20px;
	--privacy-policy-definition-term-width: 160px;
	--privacy-policy-definition-padding: 18px 20px;

	padding-top: var(--privacy-policy-top);
}

.privacy-policy__inner {
	width: min(calc(100% - (var(--privacy-policy-side-gutter) * 2)), var(--privacy-policy-inner-width));
	margin-inline: auto;
}

.privacy-policy__lead,
.privacy-policy__text,
.privacy-policy__list,
.privacy-policy__contact,
.privacy-policy__date {
	color: #1d1d1d;
	font-size: var(--privacy-policy-body-size);
	font-style: normal;
	font-weight: 400;
	line-height: var(--privacy-policy-body-line-height);
	letter-spacing: 0;
}

.privacy-policy__lead,
.privacy-policy__text,
.privacy-policy__list,
.privacy-policy__definition,
.privacy-policy__contact,
.privacy-policy__date {
	margin: 0;
}

.privacy-policy__section {
	margin-top: var(--privacy-policy-section-top);
}

.privacy-policy__heading {
	margin: 0 0 20px;
	color: #1d1d1d;
	font-size: var(--privacy-policy-heading-size);
	font-feature-settings: "palt";
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0;
}

.privacy-policy__list {
	display: grid;
	row-gap: var(--privacy-policy-list-gap);
	padding-left: 1.4em;
}

.privacy-policy__definition {
	display: grid;
	margin-top: var(--privacy-policy-definition-top);
	border-top: 1px solid #d7d7d7;
}

.privacy-policy__definition-row {
	display: grid;
	grid-template-columns: var(--privacy-policy-definition-term-width) minmax(0, 1fr);
	border-bottom: 1px solid #d7d7d7;
}

.privacy-policy__definition dt,
.privacy-policy__definition dd {
	margin: 0;
	padding: var(--privacy-policy-definition-padding);
	color: #1d1d1d;
	font-size: var(--privacy-policy-body-size);
	line-height: 1.7;
	letter-spacing: 0;
}

.privacy-policy__definition dt {
	background: #ecf5f8;
	font-weight: 700;
}

.privacy-policy__definition dd {
	font-weight: 400;
}

.privacy-policy__contact {
	padding: 24px 30px;
	background: #f4f4f4;
}

.privacy-policy__contact a {
	color: var(--color-link-blue);
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.privacy-policy__date {
	margin-top: 64px;
	text-align: right;
}

@media (max-width: 600px) {
	.privacy-page .c-simple-kv {
		--simple-kv-heading-title-size: 22px;
		--simple-kv-heading-label-size: 10px;
		--simple-kv-heading-line-width: 30px;
	}

	.privacy-policy {
		--privacy-policy-top: 70px;
		--privacy-policy-side-gutter: 20px;
		--privacy-policy-section-top: 44px;
		--privacy-policy-heading-size: 20px;
		--privacy-policy-body-size: 14px;
		--privacy-policy-body-line-height: 1.8;
		--privacy-policy-list-gap: 8px;
		--privacy-policy-definition-top: 16px;
		--privacy-policy-definition-term-width: 100px;
		--privacy-policy-definition-padding: 14px 12px;
	}

	.privacy-policy__inner {
		width: calc(100% - 40px);
		max-width: 500px;
	}

	.privacy-policy__heading {
		margin-bottom: 14px;
	}

	.privacy-policy__definition-row {
		grid-template-columns: 1fr;
	}

	.privacy-policy__definition dt {
		padding-bottom: 8px;
	}

	.privacy-policy__definition dd {
		padding-top: 10px;
	}

	.privacy-policy__contact {
		padding: 20px;
	}

	.privacy-policy__date {
		margin-top: 44px;
		text-align: left;
	}
}
