/* =========================================================
   STANDARD / LEGAL PAGES
   Privacy Policy, Terms of Use, etc.
========================================================= */

.standard-page {
	--max-screen-width: 1440px;

	--text-4xl: clamp(1.8rem, calc(4.19vw + 0.96rem), 4.74rem);
	--text-xl: clamp(1.27rem, calc(1.05vw + 1.06rem), 2rem);
	--text-m: clamp(1rem, calc(0.18vw + 0.96rem), 1.13rem);

	--space-m: clamp(1rem, calc(1.07vw + 0.79rem), 1.75rem);
	--space-3xl: clamp(2.44rem, calc(6.51vw + 1.14rem), 7rem);

	--secondary: #f4f0eb;
	--text-body: #2d2725;
	--warm-gray: #7c736a;

	color: var(--text-body);
}

.standard-page,
.standard-page *,
.standard-page *::before,
.standard-page *::after {
	box-sizing: border-box;
}


/* =========================================================
   SHARED SECTION / CONTAINER GEOMETRY
========================================================= */

.standard-page__hero,
.standard-page__section {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-left: auto;
	margin-right: auto;
	background: #fff;
	width: 100%;
	padding-top: var(--space-3xl);
	padding-right: var(--space-m);
	padding-bottom: var(--space-3xl);
	padding-left: var(--space-m);
}

.standard-page__container {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	margin-left: auto;
	margin-right: auto;
	width: var(--max-screen-width);
	max-width: 100%;
}

@media (max-width: 767px) {
	.standard-page__hero,
	.standard-page__section,
	.standard-page__container {
		flex-wrap: wrap;
	}
}


/* =========================================================
   HERO
========================================================= */

.standard-page__hero {
	background-color: var(--secondary);
}

.standard-page__hero-container {
	align-items: center;
	justify-content: center;
	transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.standard-page__hero-container:hover {
	transform: translateY(-4px);
}

.standard-page__title {
	position: relative;
	display: inline-block;
	width: 70%;
	margin: 0;

	font-family: "PlayfairDisplay", "Playfair Display", Georgia, serif;
	font-size: var(--text-4xl);
	font-style: normal;
	font-weight: 400;
	line-height: 1.2;
	color: var(--text-body);
	text-align: center;

	cursor: default;
	transition:
		letter-spacing 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94),
		opacity 0.45s;
}

.standard-page__title:hover {
	letter-spacing: 0.03em;
	opacity: 0.88;
}

@media (max-width: 991px) {
	.standard-page__title {
		width: 90%;
	}
}

@media (max-width: 478px) {
	.standard-page__title {
		width: 100%;
	}
}


/* =========================================================
   GUTENBERG CONTENT
========================================================= */

.standard-page__content {
	width: 100%;
	max-width: 100%;
	color: var(--text-body);

	/* Exact computed body stack from the donor legal page. */
	font-family:
		-apple-system,
		"system-ui",
		"Segoe UI",
		roboto,
		helvetica,
		arial,
		sans-serif,
		"Apple Color Emoji",
		"Segoe UI Emoji",
		"Segoe UI Symbol";
	font-size: var(--text-m);
	font-weight: 400;
	line-height: 1.6;
}


.standard-page__content p,
.standard-page__content .wp-block-paragraph {
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 1.2em;
	margin-left: 0;

	font: inherit;
	color: var(--text-body);
}

.standard-page__content h2,
.standard-page__content h2.wp-block-heading {
	margin: 0;
	padding: 0;

	font-family: "PlayfairDisplay", "Playfair Display", Georgia, serif;
	font-size: var(--text-xl);
	font-weight: 600;
	font-style: normal;
	line-height: 1.6;
	color: var(--text-body);
}

.standard-page__content .wp-block-list {
	margin-top: 1em;
	margin-right: 0;
	margin-bottom: 1em;
	margin-left: 0;
	padding-top: 0;
	padding-right: 0;
	padding-bottom: 0;
	padding-left: 40px;

	font: inherit;
	color: var(--text-body);
}

.standard-page__content .wp-block-list li {
	margin: 0;
	padding: 0;
	font: inherit;
	color: inherit;
}

.standard-page__content h1:where(.wp-block-heading).has-background,
.standard-page__content h2:where(.wp-block-heading).has-background,
.standard-page__content h3:where(.wp-block-heading).has-background,
.standard-page__content h4:where(.wp-block-heading).has-background,
.standard-page__content h5:where(.wp-block-heading).has-background,
.standard-page__content h6:where(.wp-block-heading).has-background {
	padding: 1.25em 2.375em;
}

.standard-page__content :where(.wp-block-list.has-background) {
	padding: 1.25em 2.375em;
}


/* =========================================================
   DONOR LEGAL CONTACT BLOCK SUPPORT
   Supports the Contact Us markup already used on the donor.
========================================================= */

.standard-page__content .touch__wrap-contact {
	width: 100%;
	margin-top: 1em;
	margin-right: 0;
	margin-bottom: 1em;
	margin-left: 0;
	padding: 0 0 0 40px;
}

.standard-page__content .touch__wrap-inner {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
}

.standard-page__content .touch__wrap-link {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
}

.standard-page__content .touch__sub {
	margin: 0 0 1.2em;
	padding: 0;
	font-family: "Inter", Arial, Helvetica, sans-serif;
	font-size: var(--text-m);
	font-weight: 500;
	line-height: 1.6;
	color: var(--warm-gray);
}

.standard-page__content .touch__title-contact {
	margin: 0;
	padding: 0;
	font-family: "PlayfairDisplay", "Playfair Display", Georgia, serif;
	font-size: var(--text-xl);
	font-weight: 400;
	line-height: 1.2;
	color: var(--text-body);
}

.standard-page__content .touch__descr {
	margin: 0;
	padding: 0;
	font-family: "Inter", Arial, Helvetica, sans-serif;
	font-size: var(--text-m);
	font-weight: 500;
	line-height: 1.6;
	color: var(--warm-gray);
}

