/* Base: safe resets and the fixed image frame shared by all designs. */
html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	background: #f6f4ee;
}

body.ggp-lp3-page,
body.ggp-lp7-page {
	background: #0f1c25;
}

.ggp-variant {
	min-height: 100vh;
}

.ggp-variant [hidden] {
	display: none !important;
}

/*
 * Fixed image frame: the frame owns the size, the image only fills and crops.
 * A replacement image of any shape never changes the layout.
 */
.ggp-frame {
	display: block;
	position: relative;
	overflow: hidden;
}

.ggp-frame img,
.ggp-frame .ggp-frame__img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
}

/* Ordinary WordPress pages and the fallback template. */
.ggp-doc {
	font-family: "Source Sans 3", system-ui, sans-serif;
	font-size: 18px;
	line-height: 1.6;
	color: #13222b;
	padding: 96px 0;
}

.ggp-doc__in {
	max-width: 760px;
	margin: 0 auto;
	padding: 0 24px;
}

.ggp-doc__title {
	font-family: "Lexend", sans-serif;
	font-weight: 500;
	font-size: clamp(32px, 5vw, 48px);
	line-height: 1.15;
	margin: 0 0 24px;
}

.ggp-doc__title a {
	color: inherit;
	text-decoration: none;
}

.ggp-doc a {
	color: #3f6658;
}
