.mespaco-knowledge-article {
	--mespaco-article-container: 67rem;
	--mespaco-article-reading: 45rem;
	background: #fbfaf7;
}

.mespaco-reading-progress {
	position: fixed;
	inset: 0 0 auto;
	z-index: 10000;
	height: 0.2rem;
	pointer-events: none;
}

.mespaco-reading-progress span {
	display: block;
	width: 100%;
	height: 100%;
	transform: scaleX(0);
	transform-origin: right center;
	background: linear-gradient(90deg, #d79a26, #5d8e43, #1f687b);
}

.mespaco-article-container {
	width: min(calc(100% - 2rem), var(--mespaco-article-container));
	margin-inline: auto;
}

.mespaco-article-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(2.5rem, 5vw, 4.25rem) clamp(2rem, 4vw, 3.25rem);
	text-align: center;
	background:
		radial-gradient(circle at 15% 20%, rgba(91, 143, 67, 0.14), transparent 28rem),
		linear-gradient(135deg, #edf4f2, #f4f6e9 62%, #faf4e7);
}

.mespaco-article-hero::after {
	position: absolute;
	inset: auto -6rem -9rem auto;
	width: 22rem;
	aspect-ratio: 1;
	content: "";
	border: 1px solid rgba(31, 104, 123, 0.12);
	border-radius: 50%;
	box-shadow: 0 0 0 3rem rgba(31, 104, 123, 0.035), 0 0 0 6rem rgba(91, 143, 67, 0.025);
}

.mespaco-article-hero__inner {
	position: relative;
	z-index: 1;
}

.mespaco-article-category {
	display: inline-flex;
	min-height: 2rem;
	padding-inline: 0.85rem;
	align-items: center;
	color: #315f2d;
	background: rgba(222, 237, 211, 0.9);
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 750;
}

.mespaco-article-category:hover,
.mespaco-article-category:focus-visible {
	color: #163d4a;
	background: #fff;
}

.mespaco-article-hero h1 {
	max-width: 56rem;
	margin: 0.9rem auto 0;
	color: #102b34;
	font-size: clamp(2rem, 4.4vw, 3.55rem);
	line-height: 1.45;
	text-wrap: balance;
}

.mespaco-article-hero__description {
	max-width: 43rem;
	margin: 1rem auto 0;
	color: #53666c;
	font-size: clamp(0.86rem, 1.4vw, 1rem);
	line-height: 2;
	text-wrap: pretty;
}

.mespaco-article-meta {
	display: flex;
	margin-block-start: 1.25rem;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.45rem 1.25rem;
	color: #6d7b80;
	font-size: 0.72rem;
}

.mespaco-article-meta > * + *::before {
	margin-inline-end: 1.25rem;
	content: "•";
	color: #d79a26;
}

.mespaco-article-cover {
	position: relative;
	width: min(calc(100% - 2rem), 76rem);
	margin: 1.5rem auto 0;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: #e7efeb;
	border-radius: 1.4rem;
	box-shadow: 0 1.5rem 4rem rgba(18, 54, 64, 0.1);
}

.mespaco-article-cover img,
.mespaco-article-cover__placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mespaco-article-cover__placeholder {
	display: grid;
	position: relative;
	place-items: center;
	color: #1f687b;
	background:
		linear-gradient(120deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.1)),
		radial-gradient(circle at 30% 35%, #dcebd5 0 8%, transparent 8.5%),
		linear-gradient(135deg, #e7f2f1, #eef3e4);
}

.mespaco-article-cover__placeholder span {
	position: absolute;
	width: min(42vw, 22rem);
	aspect-ratio: 1;
	border: 1px solid rgba(31, 104, 123, 0.2);
	border-radius: 50%;
	box-shadow: inset 0 0 0 3rem rgba(255, 255, 255, 0.25);
}

.mespaco-article-cover__placeholder strong {
	z-index: 1;
	font-size: clamp(1.8rem, 5vw, 4rem);
}

.mespaco-article-layout {
	display: grid;
	padding-block: clamp(3rem, 7vw, 5.5rem);
	align-items: start;
	grid-template-columns: 13.5rem minmax(0, var(--mespaco-article-reading));
	justify-content: center;
	gap: clamp(2rem, 6vw, 5.5rem);
}

.mespaco-article-layout.has-no-toc {
	display: block;
}

.mespaco-article-layout.has-no-toc .mespaco-article-body {
	margin-inline: auto;
}

.mespaco-article-toc {
	position: sticky;
	inset-block-start: 7rem;
	display: flex;
	padding-block: 1rem;
	flex-direction: column;
	border-block: 1px solid #d7e1de;
}

.mespaco-article-toc > strong {
	color: #102b34;
	font-size: 0.85rem;
}

.mespaco-article-toc nav {
	display: flex;
	margin-block: 0.65rem;
	flex-direction: column;
}

.mespaco-article-toc nav a {
	position: relative;
	padding: 0.4rem 0.75rem 0.4rem 0;
	color: #64767b;
	font-size: 0.74rem;
	line-height: 1.8;
	transition: color 160ms ease, transform 160ms ease;
}

.mespaco-article-toc nav a::before {
	position: absolute;
	inset-inline-start: 0;
	top: 0.85rem;
	width: 0.3rem;
	height: 0.3rem;
	content: "";
	background: #ced9d5;
	border-radius: 50%;
}

.mespaco-article-toc nav a:hover,
.mespaco-article-toc nav a:focus-visible,
.mespaco-article-toc nav a.is-active {
	color: #1f687b;
	transform: translateX(-0.2rem);
	font-weight: 750;
}

.mespaco-article-toc nav a.is-active::before {
	background: #d79a26;
}

.mespaco-article-toc__catalog {
	color: #1f687b;
	font-size: 0.7rem;
	font-weight: 800;
}

.mespaco-article-body {
	min-width: 0;
	max-width: var(--mespaco-article-reading);
	color: #43575d;
}

.mespaco-article-body > :first-child {
	margin-block-start: 0;
}

.mespaco-article-body h2,
.mespaco-article-body h3 {
	color: #102b34;
	scroll-margin-top: 7rem;
	text-wrap: balance;
}

.mespaco-article-body h2 {
	margin-block: 3rem 1rem;
	font-size: clamp(1.4rem, 3vw, 1.8rem);
	line-height: 1.7;
}

.mespaco-article-body h3 {
	margin-block: 2rem 0.75rem;
	font-size: 1.2rem;
}

.mespaco-article-body p,
.mespaco-article-body li {
	font-size: clamp(0.9rem, 1.5vw, 1rem);
	line-height: 2.15;
}

.mespaco-article-body p {
	margin-block: 0 1.15rem;
	text-align: justify;
	text-justify: inter-word;
}

.mespaco-article-body ul,
.mespaco-article-body ol {
	margin-block: 1rem 1.5rem;
	padding-inline-start: 1.5rem;
}

.mespaco-article-body blockquote {
	margin: 2rem 0;
	padding: 1.25rem 1.4rem;
	color: #234b57;
	background: #edf4f5;
	border: 0;
	border-inline-start: 0.22rem solid #1f687b;
	border-radius: 0.35rem;
}

.mespaco-article-body blockquote p:last-child {
	margin-block-end: 0;
}

.mespaco-article-body .wp-block-group.has-background,
.mespaco-article-body .is-style-mespaco-key-point {
	margin-block: 2rem;
	padding: 1.25rem 1.4rem;
	background: #eef4e8 !important;
	border-inline-start: 0.22rem solid #5d8e43;
}

.mespaco-article-body figure {
	margin-block: 2rem;
}

.mespaco-article-body figure img {
	border-radius: 1rem;
}

.mespaco-article-body figcaption {
	color: #718087;
	font-size: 0.72rem;
	line-height: 1.8;
	text-align: center;
}

.mespaco-article-body .wp-block-table,
.mespaco-article-body > table {
	display: block;
	width: 100%;
	margin-block: 1.5rem 2rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.mespaco-article-body table {
	width: 100%;
	min-width: 32rem;
	border-collapse: collapse;
}

.mespaco-article-body th,
.mespaco-article-body td {
	padding: 0.8rem;
	border: 1px solid #d7e1de;
	font-size: 0.78rem;
	line-height: 1.8;
	text-align: start;
}

.mespaco-article-body th {
	color: #173f4a;
	background: #edf3f0;
}

.mespaco-article-body a:not(.mespaco-article-attribution a, .mespaco-article-next-actions a) {
	color: #1f687b;
	text-decoration: underline;
	text-decoration-thickness: 0.07rem;
	text-underline-offset: 0.2em;
}

.mespaco-article-body .mespaco-article-attribution {
	margin-block: 3rem 0;
	max-width: 34rem;
}

.mespaco-article-next-actions {
	display: flex;
	margin-block-start: 2rem;
	padding-block-start: 1.5rem;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;
	border-block-start: 1px solid #d7e1de;
}

.mespaco-article-next-actions a {
	display: inline-flex;
	min-height: 2.7rem;
	padding-inline: 1rem;
	align-items: center;
	justify-content: center;
	color: #1f687b;
	border: 1px solid #bfd0d0;
	border-radius: 0.75rem;
	font-size: 0.76rem;
	font-weight: 800;
}

.mespaco-article-next-actions a.is-primary {
	color: #fff;
	background: #1f687b;
	border-color: #1f687b;
}

.mespaco-related-reading {
	padding-block: clamp(3rem, 6vw, 4.5rem);
	background: #eef3ea;
}

.mespaco-related-reading header p {
	margin: 0;
	color: #456d31;
	font-size: 0.7rem;
	font-weight: 800;
}

.mespaco-related-reading h2 {
	margin: 0.25rem 0 1.35rem;
	color: #102b34;
	font-size: clamp(1.4rem, 3vw, 2rem);
}

.mespaco-related-reading__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.mespaco-related-card {
	display: grid;
	overflow: hidden;
	color: #102b34;
	background: #fff;
	border: 1px solid #d7e1de;
	border-radius: 1rem;
	box-shadow: 0 0.9rem 2.2rem rgba(24, 65, 72, 0.06);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.mespaco-related-card:hover,
.mespaco-related-card:focus-visible {
	color: #102b34;
	transform: translateY(-0.2rem);
	box-shadow: 0 1.2rem 2.8rem rgba(24, 65, 72, 0.1);
}

.mespaco-related-card__media {
	display: grid;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	place-items: center;
	background: linear-gradient(135deg, #e5f0ef, #eef3e4);
}

.mespaco-related-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 300ms ease;
}

.mespaco-related-card:hover img,
.mespaco-related-card:focus-visible img {
	transform: scale(1.035);
}

.mespaco-related-card__placeholder {
	color: rgba(31, 104, 123, 0.48);
	font-size: 3rem;
	font-weight: 800;
}

.mespaco-related-card__copy {
	display: grid;
	min-height: 6rem;
	padding: 1rem;
	align-content: center;
	gap: 0.35rem;
}

.mespaco-related-card__copy small {
	color: #4e7b38;
	font-size: 0.65rem;
	font-weight: 750;
}

.mespaco-related-card__copy strong {
	font-size: 0.9rem;
	line-height: 1.8;
}

@media (max-width: 64rem) {
	.mespaco-article-layout {
		grid-template-columns: 11.5rem minmax(0, 1fr);
		gap: 2.5rem;
	}
}

@media (max-width: 48rem) {
	.mespaco-article-container {
		width: min(calc(100% - 1.25rem), var(--mespaco-article-container));
	}

	.mespaco-article-hero {
		padding-block: 2rem 1.8rem;
	}

	.mespaco-article-hero h1 {
		font-size: clamp(1.65rem, 8.2vw, 2.2rem);
		line-height: 1.55;
	}

	.mespaco-article-meta {
		gap: 0.35rem 0.8rem;
	}

	.mespaco-article-meta > * + *::before {
		margin-inline-end: 0.8rem;
	}

	.mespaco-article-cover {
		width: calc(100% - 1.25rem);
		margin-block-start: 0.75rem;
		aspect-ratio: 4 / 3;
		border-radius: 1rem;
	}

	.mespaco-article-layout {
		display: block;
		padding-block: 2.25rem 3rem;
	}

	.mespaco-article-toc {
		position: static;
		margin-block-end: 2rem;
	}

	.mespaco-article-body p {
		text-align: start;
	}

	.mespaco-article-body h2 {
		margin-block-start: 2.4rem;
	}

	.mespaco-related-reading__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mespaco-related-card[data-mobile-optional="true"] {
		display: none;
	}

	.mespaco-related-card__copy {
		min-height: 5.2rem;
		padding: 0.75rem;
	}

	.mespaco-related-card__copy strong {
		font-size: 0.78rem;
	}
}

@media (max-width: 28rem) {
	.mespaco-article-meta > * + *::before {
		display: none;
	}

	.mespaco-article-meta {
		align-items: center;
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mespaco-reading-progress span,
	.mespaco-article-toc nav a,
	.mespaco-related-card,
	.mespaco-related-card__media img {
		transition: none;
	}
}
