/* =========================================================
   GPN — SINGLE BLOG POST
========================================================= */

.gpn-single-post {
	background: #faf8f2;
	color: #203727;
}


/* =========================================================
   HERO
========================================================= */

.gpn-single-hero {
	background: #f0ede4;
}


.gpn-single-hero__container {
	width: min(1340px, calc(100% - 80px));
	margin: auto;
	padding: 35px 0 80px;
}


.gpn-single-hero__breadcrumb {
	display: flex;
	gap: 10px;
	margin-bottom: 60px;

	color: #92968d;

	font-family: Arial, sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 1.3px;
	text-transform: uppercase;
}


.gpn-single-hero__breadcrumb a {
	color: #637064;
	text-decoration: none;
}


.gpn-single-hero__layout {
	display: grid;
	grid-template-columns: .85fr 1.15fr;
	gap: 65px;
	align-items: center;
}


.gpn-single-hero__content {
	padding: 20px 0;
}


.gpn-single-hero__category {
	display: block;
	margin-bottom: 20px;

	color: #987b42;

	font-family: Arial, sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
}


.gpn-single-hero h1 {
	margin: 0;

	color: #1d3424;

	font-family: Georgia, serif;
	font-size: clamp(48px, 5.5vw, 78px);
	font-weight: 400;
	line-height: .95;
	letter-spacing: -4px;
}


.gpn-single-hero__meta {
	display: flex;
	gap: 10px;
	align-items: center;

	margin-top: 30px;

	color: #7b8179;

	font-family: Arial, sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
}


.gpn-single-hero__excerpt {
	max-width: 480px;
	margin: 30px 0 0;

	color: #687168;

	font-family: Georgia, serif;
	font-size: 17px;
	line-height: 1.65;
}


.gpn-single-hero__visual {
	position: relative;
	height: 570px;
	overflow: hidden;
}


.gpn-single-hero__image {
	width: 100%;
	height: 100%;

	display: block;

	object-fit: cover;
}


.gpn-single-hero__placeholder {
	width: 100%;
	height: 100%;

	display: grid;
	place-items: center;

	background: #dfe4d7;
	color: #52634f;

	font-family: Georgia, serif;
	font-size: 55px;
}


.gpn-single-hero__image-label {
	position: absolute;
	right: 25px;
	bottom: 22px;
	left: 25px;

	display: flex;
	justify-content: space-between;

	color: rgba(255,255,255,.9);

	font-family: Arial, sans-serif;
	font-size: 7px;
	font-weight: 700;
	letter-spacing: 2px;
}


/* =========================================================
   ARTICLE
========================================================= */

.gpn-single-article {
	padding: 110px 0 120px;
}


.gpn-single-article__container {
	width: min(1150px, calc(100% - 60px));
	margin: auto;

	display: grid;
	grid-template-columns: 70px minmax(0, 760px);
	gap: 65px;
	justify-content: center;
}


/* =========================================================
   SHARE
========================================================= */

.gpn-single-share {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 13px;

	padding-top: 10px;
}


.gpn-single-share > span {
	margin-bottom: 8px;

	color: #8c917f;

	font-family: Arial, sans-serif;
	font-size: 7px;
	font-weight: 700;
	letter-spacing: 2px;

	writing-mode: vertical-rl;
	text-transform: uppercase;
}


.gpn-single-share a,
.gpn-single-share button {
	width: 32px;
	height: 32px;

	display: grid;
	place-items: center;

	border: 1px solid #d4d2c8;
	border-radius: 50%;

	background: transparent;
	color: #536454;

	font-family: Arial, sans-serif;
	font-size: 9px;
	text-decoration: none;

	cursor: pointer;
}


.gpn-single-share a:hover,
.gpn-single-share button:hover {
	background: #203727;
	border-color: #203727;
	color: white;
}


/* =========================================================
   ARTICLE BODY
========================================================= */

.gpn-single-article__body {
	color: #3d493f;

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 17px;
	line-height: 1.9;
}


.gpn-single-article__body > p:first-child::first-letter {
	float: left;

	margin:
		8px
		12px
		0
		0;

	color: #758b61;

	font-size: 72px;
	line-height: .75;
}


.gpn-single-article__body p {
	margin: 0 0 28px;
}


.gpn-single-article__body h2 {
	margin: 65px 0 22px;

	color: #213a27;

	font-family: Georgia, serif;
	font-size: 34px;
	font-weight: 400;
	line-height: 1.1;
}


.gpn-single-article__body h3 {
	margin: 50px 0 18px;

	color: #29422f;

	font-family: Georgia, serif;
	font-size: 26px;
	font-weight: 400;
}


.gpn-single-article__body a {
	color: #61784e;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}


.gpn-single-article__body blockquote {
	margin: 55px 0;
	padding: 25px 35px;

	border-left: 2px solid #c5a45b;

	color: #607257;

	font-family: Georgia, serif;
	font-size: 25px;
	line-height: 1.45;
	font-style: italic;
}


.gpn-single-article__body img {
	max-width: 100%;
	height: auto;
	display: block;

	margin:
		45px
		auto;
}


.gpn-single-article__body figure {
	margin: 50px 0;
}


.gpn-single-article__body figcaption {
	margin-top: 10px;

	color: #8a9087;

	font-family: Arial, sans-serif;
	font-size: 8px;
	text-align: center;
}


/* =========================================================
   TAGS
========================================================= */

.gpn-single-tags {
	display: flex;
	align-items: center;
	gap: 20px;

	margin-top: 70px;
	padding-top: 25px;

	border-top: 1px solid #d8d5ca;
}


.gpn-single-tags > span {
	color: #8a6c32;

	font-family: Arial, sans-serif;
	font-size: 7px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
}


.gpn-single-tags div {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}


.gpn-single-tags a {
	padding: 7px 10px;

	border: 1px solid #d5d3c8;

	color: #687368;

	font-family: Arial, sans-serif;
	font-size: 8px;
	text-decoration: none;
}


/* =========================================================
   AUTHOR
========================================================= */

.gpn-single-author {
	display: flex;
	align-items: center;
	gap: 20px;

	margin-top: 70px;
	padding-top: 30px;

	border-top: 1px solid #d8d5ca;
}


.gpn-single-author__avatar img {
	width: 65px;
	height: 65px;

	border-radius: 50%;

	object-fit: cover;
}


.gpn-single-author span {
	color: #8a6c32;

	font-family: Arial, sans-serif;
	font-size: 7px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}


.gpn-single-author h3 {
	margin: 5px 0;

	color: #243b29;

	font-family: Georgia, serif;
	font-size: 20px;
	font-weight: 400;
}


.gpn-single-author p {
	max-width: 500px;
	margin: 0;

	color: #7a8078;

	font-family: Arial, sans-serif;
	font-size: 9px;
	line-height: 1.7;
}


/* =========================================================
   RELATED
========================================================= */

.gpn-related {
	padding: 110px 0;

	background: #f0ede4;
}


.gpn-related__container {
	width: min(1250px, calc(100% - 60px));
	margin: auto;
}


.gpn-related__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;

	margin-bottom: 40px;
}


.gpn-related__header > div > span {
	color: #8a6c32;

	font-family: Arial, sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
}


.gpn-related__header h2 {
	margin: 12px 0 0;

	font-family: Georgia, serif;
	font-size: 48px;
	font-weight: 400;
	line-height: .95;
}


.gpn-related__header h2 em {
	color: #71865d;
	font-weight: 400;
}


.gpn-related__header > a {
	color: #4f634f;

	font-family: Arial, sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 1px;
	text-decoration: none;
	text-transform: uppercase;
}


.gpn-related__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}


.gpn-related-card {
	background: #fffdf8;
}


.gpn-related-card__image {
	display: block;

	height: 270px;

	overflow: hidden;
}


.gpn-related-card__image img {
	width: 100%;
	height: 100%;

	display: block;

	object-fit: cover;

	transition: transform .8s ease;
}


.gpn-related-card:hover
.gpn-related-card__image img {
	transform: scale(1.04);
}


.gpn-related-card__image > div {
	width: 100%;
	height: 100%;

	display: grid;
	place-items: center;

	background: #dce1d5;

	color: #52634f;

	font-family: Georgia, serif;
	font-size: 35px;
}


.gpn-related-card__content {
	padding: 23px;
}


.gpn-related-card__content > span {
	color: #9a7d3f;

	font-family: Arial, sans-serif;
	font-size: 7px;
	font-weight: 700;
	letter-spacing: 1.7px;
	text-transform: uppercase;
}


.gpn-related-card h3 {
	margin: 11px 0 20px;

	font-family: Georgia, serif;
	font-size: 24px;
	font-weight: 400;
	line-height: 1.1;
}


.gpn-related-card h3 a {
	color: #203727;
	text-decoration: none;
}


.gpn-related-card__read {
	color: #536754;

	font-family: Arial, sans-serif;
	font-size: 7px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-decoration: none;
	text-transform: uppercase;
}


/* =========================================================
   CTA
========================================================= */

.gpn-single-cta {
	padding: 130px 20px;

	background: #203727;

	text-align: center;
}


.gpn-single-cta__container {
	max-width: 800px;
	margin: auto;
}


.gpn-single-cta span {
	color: #c6a75c;

	font-family: Arial, sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 2.5px;
	text-transform: uppercase;
}


.gpn-single-cta h2 {
	margin: 20px 0 30px;

	color: #f3efe5;

	font-family: Georgia, serif;
	font-size: clamp(55px, 7vw, 90px);
	font-weight: 400;
	line-height: .85;
	letter-spacing: -4px;
}


.gpn-single-cta h2 em {
	display: block;
	color: #9daf83;
	font-style: italic;
}


.gpn-single-cta p {
	max-width: 470px;
	margin: 0 auto 32px;

	color: #abb7aa;

	font-family: Arial, sans-serif;
	font-size: 11px;
	line-height: 1.8;
}


.gpn-single-cta a {
	display: inline-flex;
	align-items: center;
	gap: 18px;

	padding: 16px 22px;

	background: #d5b45e;
	color: #203727;

	font-family: Arial, sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-decoration: none;
	text-transform: uppercase;
}


.gpn-single-cta a strong {
	font-size: 14px;
	font-weight: 400;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 750px) {

	.gpn-single-hero__container {
		width: calc(100% - 30px);
		padding-bottom: 60px;
	}

	.gpn-single-hero__breadcrumb {
		margin-bottom: 40px;
	}

	.gpn-single-hero__layout {
		display: flex;
		flex-direction: column;
		gap: 35px;
	}

	.gpn-single-hero h1 {
		font-size: 48px;
		letter-spacing: -3px;
	}

	.gpn-single-hero__visual {
		width: 100%;
		height: 430px;
	}

	.gpn-single-article {
		padding: 75px 0;
	}

	.gpn-single-article__container {
		width: calc(100% - 30px);
		display: block;
	}

	.gpn-single-share {
		flex-direction: row;
		justify-content: flex-start;
		margin-bottom: 45px;
	}

	.gpn-single-share > span {
		writing-mode: horizontal-tb;
		margin-right: 5px;
	}

	.gpn-single-article__body {
		font-size: 16px;
	}

	.gpn-single-article__body h2 {
		font-size: 29px;
	}

	.gpn-single-article__body blockquote {
		margin: 40px 0;
		padding-left: 20px;
		font-size: 21px;
	}

	.gpn-related {
		padding: 80px 0;
	}

	.gpn-related__container {
		width: calc(100% - 30px);
	}

	.gpn-related__header {
		align-items: flex-start;
		flex-direction: column;
		gap: 25px;
	}

	.gpn-related__grid {
		grid-template-columns: 1fr;
	}

	.gpn-related-card__image {
		height: 260px;
	}

	.gpn-single-cta {
		padding: 90px 20px;
	}

	.gpn-single-cta h2 {
		font-size: 57px;
		letter-spacing: -3px;
	}

}