:root {
	--cream: #f8f8f2;
	--purpose: #f5f7f7;
	--orange: #f15a00;
	--blue: #074c8c;
	--text: #292929;
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: #fff;
	color: var(--text);
	font-family: Roboto, Arial, sans-serif;
}

.page {
	width: min(100%, 1430px);
	margin: 0 auto;
}

.about {
	padding: clamp(42px, 5.45vw, 78px) clamp(24px, 7vw, 100px) clamp(60px, 7.35vw, 105px);
	background: var(--cream);
	border-radius: 0 0 52px 52px;
}

.logo {
	display: block;
	width: 245px;
	max-width: 100%;
	height: auto;
	margin-bottom: clamp(48px, 6.15vw, 88px);
}

.about-copy {
	max-width: 1220px;
	font-size: clamp(17px, 1.75vw, 25px);
	line-height: 1.42;
}

.about-copy p {
	margin: 0 0 34px;
}

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

.about a {
	color: inherit;
}

.about-copy a {
	overflow-wrap: anywhere;
}

.purpose {
	padding: clamp(48px, 5.05vw, 72px) clamp(24px, 7vw, 100px) clamp(55px, 5.95vw, 85px);
	background: var(--purpose);
	border-radius: 0 0 52px 52px;
}

.purpose h1 {
	margin: 0 0 clamp(38px, 4.05vw, 58px);
	font-family: 'Crimson Pro', Georgia, serif;
	font-size: clamp(42px, 4.25vw, 61px);
	font-weight: 500;
	line-height: 1;
}

.quote {
	display: flex;
	align-items: center;
	gap: clamp(22px, 2.95vw, 42px);
}

.quote > div {
	flex: 1;
	min-width: 0;
}

.quote img {
	flex: 0 0 clamp(112px, 12.6vw, 180px);
	width: clamp(112px, 12.6vw, 180px);
	height: clamp(112px, 12.6vw, 180px);
	border-radius: 50%;
	object-fit: cover;
}

.quote blockquote {
	margin: 0 0 14px;
	color: #555;
	font-size: clamp(17px, 1.6vw, 23px);
	font-style: italic;
	line-height: 1.4;
}

.credit {
	margin: 0;
	color: var(--orange);
	font-family: 'Crimson Pro', Georgia, serif;
	font-size: clamp(19px, 1.95vw, 28px);
	line-height: 1.12;
}

.purpose hr {
	margin: 48px 0 55px;
	border: 0;
	border-top: 1px solid #777;
}

footer {
	min-height: 315px;
	padding: 62px 20px 50px;
	background: var(--blue);
	color: #fff;
	text-align: center;
	font-size: 20px;
	line-height: 1.35;
}

footer strong {
	display: block;
	margin-bottom: 4px;
	font-size: 32px;
}

footer p {
	margin: 42px 0 0;
	font-size: 18px;
}

.image-credit {
	margin-top: 9px;
	font-size: 13px;
	font-weight: 300;
	opacity: 0.72;
}

@media (max-width: 800px) {
	.about,
	.purpose {
		border-radius: 0 0 28px 28px;
	}

	.about {
		padding: 38px 28px 60px;
	}

	.logo {
		width: 155px;
		margin-bottom: 48px;
	}

	.about-copy {
		font-size: 17px;
		line-height: 1.45;
	}

	.about-copy p {
		margin-bottom: 24px;
	}

	.purpose {
		padding: 48px 28px 55px;
	}

	.purpose h1 {
		margin-bottom: 38px;
		font-size: 42px;
	}

	.quote {
		align-items: flex-start;
		gap: 22px;
	}

	.quote img {
		flex-basis: 96px;
		width: 96px;
		height: 96px;
	}

	.quote blockquote {
		font-size: 16px;
	}

	.credit {
		font-size: 19px;
	}

	.purpose hr {
		margin: 36px 0;
	}

	footer {
		min-height: 0;
		padding: 48px 20px 40px;
		font-size: 16px;
	}

	footer strong {
		font-size: 25px;
	}

	footer p {
		margin-top: 34px;
		font-size: 14px;
	}

	.image-credit {
		margin-top: 8px;
		font-size: 11px;
	}
}

@media (max-width: 560px) {
	.about,
	.purpose {
		padding-right: 22px;
		padding-left: 22px;
	}

	.quote {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.quote img {
		width: 88px;
		height: 88px;
	}

	footer strong {
		font-size: 22px;
	}
}
