/* ======================================================
   Sage News
====================================================== */

.sage-news {
	padding: 40px 30px 110px;
	background: var(--sage-white);
}

.sage-news-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	width: min(1280px, 100%);
	margin: 0 auto;
}

.sage-news-card {
	display: flex;
	border: 1px solid rgb(183 145 74 / 25%);
	border-radius: 14px;
	background: var(--sage-white);
	box-shadow: 0 10px 26px rgb(31 49 39 / 6%);
	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease,
		border-color 0.25s ease;
}

.sage-news-card:hover {
	border-color: rgb(183 145 74 / 45%);
	box-shadow: 0 15px 32px rgb(31 49 39 / 10%);
	transform: translateY(-4px);
}

.sage-news-card__content {
	display: flex;
	width: 100%;
	flex-direction: column;
	padding: 30px;
}

.sage-news-card__date {
	margin: 0 0 12px;
	color: var(--sage-gold);
	font-family: var(--sage-body-font);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.sage-news-card__title {
	margin: 0 0 14px;
	font-family: var(--sage-heading-font);
	font-size: 27px;
	font-weight: 400;
	line-height: 1.2;
}

.sage-news-card__title a {
	color: var(--sage-green-dark);
	text-decoration: none;
}

.sage-news-card__title a:hover {
	color: var(--sage-gold);
}

.sage-news-card__excerpt {
	margin: 0 0 22px;
	color: var(--sage-text);
	font-family: var(--sage-body-font);
	font-size: 15px;
	line-height: 1.6;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.sage-news-card__content {
	display: flex;
	width: 100%;
	min-width: 0;
	flex-direction: column;
	padding: 30px;
	overflow: hidden;
}

.sage-news-card__title,
.sage-news-card__title a,
.sage-news-card__excerpt {
	max-width: 100%;
	overflow-wrap: anywhere;
}

.sage-news-card__link {
	margin-top: auto;
	color: var(--sage-green-dark);
	font-family: var(--sage-body-font);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.sage-news-card__link:hover {
	color: var(--sage-gold);
}

@media (max-width: 1024px) {

	.sage-news-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {

	.sage-news {
		padding: 30px 24px 75px;
	}

	.sage-news-grid {
		grid-template-columns: 1fr;
	}

	.sage-news-card__content {
		padding: 26px;
	}
}

/* ======================================================
   Single News / Standard WordPress Post
====================================================== */

.single-post main {
	width: min(1200px, calc(100% - 80px));
	margin-right: auto;
	margin-left: auto;
	padding-top: 60px;
	padding-bottom: 90px;
}

.single-post article {
	width: 100%;
	margin: 0;
}


/* Title */

.single-post .entry-title,
.single-post article h1 {
	max-width: 1100px;
	margin: 0 0 18px;
	color: var(--sage-green-dark);
	font-family: var(--sage-heading-font);
	font-size: clamp(42px, 4vw, 58px);
	font-weight: 400;
	line-height: 1.1;
}


/* Post Meta */

.single-post .entry-meta {
	margin: 0 0 30px;
	color: var(--sage-gold);
	font-family: var(--sage-body-font);
	font-size: 14px;
}


/* Article Content */

.single-post .entry-content {
	width: 100%;
	max-width: 1100px;
	margin: 0;
	color: var(--sage-text);
	font-family: var(--sage-body-font);
	font-size: 19px;
	line-height: 1.8;
}

.single-post .entry-content p {
	margin: 0 0 26px;
}

.single-post .entry-content h2,
.single-post .entry-content h3,
.single-post .entry-content h4 {
	color: var(--sage-green-dark);
	font-family: var(--sage-heading-font);
	font-weight: 400;
	line-height: 1.2;
}

.single-post .entry-content h2 {
	margin: 48px 0 20px;
	font-size: 36px;
}

.single-post .entry-content h3 {
	margin: 38px 0 18px;
	font-size: 29px;
}

.single-post .entry-content h4 {
	margin: 32px 0 16px;
	font-size: 23px;
}

.single-post .entry-content a {
	overflow-wrap: anywhere;
	color: var(--sage-green-dark);
	font-weight: 600;
	text-decoration-color: var(--sage-gold);
	text-underline-offset: 3px;
}

.single-post .entry-content img {
	max-width: 100%;
	height: auto;
}


/* Mobile */

@media (max-width: 767px) {

	.single-post main {
		width: calc(100% - 48px);
		padding-top: 45px;
		padding-bottom: 70px;
	}

	.single-post .entry-title,
	.single-post article h1 {
		font-size: 40px;
	}

	.single-post .entry-content {
		font-size: 17px;
		line-height: 1.75;
	}
}