:root {
	--post-dark: #070c14;
	--post-panel: #111925;
	--post-yellow: #f5b400;
	--post-ink: #111827;
	--post-muted: #53606f;
	--post-line: #e3e8ee;
	--post-soft: #f5f7fa;
}

body.amatum-single-post {
	overflow-x: hidden;
	background: #fff;
	color: var(--post-ink);
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	line-height: 1.7;
}

body.amatum-single-post #content,
body.amatum-single-post .site-content,
body.amatum-single-post .ast-container,
body.amatum-single-post #primary {
	width: 100%;
	max-width: none;
	margin: 0 !important;
	padding: 0 !important;
}

.amatum-single-post *,
.amatum-single-post *::before,
.amatum-single-post *::after {
	box-sizing: border-box;
}

.amatum-post-container {
	width: min(1180px, calc(100% - 40px));
	margin-inline: auto;
}

.amatum-post-hero {
	padding: clamp(72px, 8vw, 112px) 0 clamp(110px, 13vw, 170px);
	background:
		radial-gradient(circle at 84% 18%, rgba(245,180,0,.17), transparent 30%),
		linear-gradient(120deg, #070c14, #0b121d 70%, #17170f);
	color: #fff;
}

.amatum-post-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 38px;
	color: #aeb8c5;
	font-size: 14px;
}

.amatum-post-breadcrumb a {
	color: #d6dde6;
	text-decoration: none;
}

.amatum-post-kicker {
	margin: 0 0 14px;
	color: var(--post-yellow);
	font-size: 13px;
	font-weight: 850;
	letter-spacing: 0;
	text-transform: uppercase;
}

.amatum-post-hero h1 {
	max-width: 1050px;
	margin: 0;
	color: #fff;
	font-size: clamp(42px, 6.2vw, 78px);
	font-weight: 850;
	line-height: 1.02;
	letter-spacing: 0;
	overflow-wrap: anywhere;
}

.amatum-post-lede {
	max-width: 820px;
	margin: 24px 0 0;
	color: #cbd3dd;
	font-size: clamp(18px, 1.7vw, 22px);
	line-height: 1.6;
}

.amatum-post-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 26px;
	margin-top: 32px;
	color: #aeb8c5;
	font-size: 14px;
}

.amatum-post-meta span + time::before,
.amatum-post-meta time + span::before {
	margin-right: 26px;
	color: var(--post-yellow);
	content: "•";
}

.amatum-post-featured {
	position: relative;
	z-index: 2;
	margin-top: clamp(-105px, -8vw, -72px);
	margin-bottom: 0;
	overflow: hidden;
	border: 8px solid #fff;
	border-radius: 10px;
	background: #dfe4ea;
	box-shadow: 0 28px 70px rgba(7,12,20,.2);
}

.amatum-post-featured img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 8.2;
	height: auto;
	max-height: 660px;
	object-fit: cover;
}

.amatum-post-layout {
	display: grid;
	grid-template-columns: 250px minmax(0, 790px);
	gap: clamp(42px, 7vw, 100px);
	align-items: start;
	justify-content: center;
	padding-block: clamp(68px, 8vw, 108px);
}

.amatum-post-toc {
	position: sticky;
	top: 118px;
	padding: 22px;
	border: 1px solid var(--post-line);
	border-radius: 8px;
	background: var(--post-soft);
}

.amatum-post-toc > p {
	margin: 0 0 14px;
	color: var(--post-ink);
	font-size: 13px;
	font-weight: 850;
	text-transform: uppercase;
}

.amatum-post-toc ol {
	display: grid;
	gap: 9px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.amatum-post-toc li {
	line-height: 1.35;
}

.amatum-post-toc li.is-sub {
	padding-left: 13px;
}

.amatum-post-toc a {
	color: #53606f;
	font-size: 14px;
	text-decoration: none;
}

.amatum-post-toc a:hover,
.amatum-post-toc a:focus-visible {
	color: #8a6500;
}

.amatum-post-content {
	min-width: 0;
	color: #344154;
	font-size: 18px;
}

.amatum-post-content > :first-child {
	margin-top: 0;
}

.amatum-post-content h2,
.amatum-post-content h3,
.amatum-post-content h4 {
	scroll-margin-top: 120px;
	color: var(--post-ink);
	letter-spacing: 0;
}

.amatum-post-content h2 {
	margin: 2.1em 0 .65em;
	font-size: clamp(31px, 3.5vw, 47px);
	line-height: 1.08;
}

.amatum-post-content h3 {
	margin: 1.8em 0 .55em;
	font-size: clamp(24px, 2.5vw, 31px);
	line-height: 1.18;
}

.amatum-post-content h4 {
	margin: 1.5em 0 .45em;
	font-size: 21px;
}

.amatum-post-content p {
	margin: 0 0 1.35em;
}

.amatum-post-content a {
	color: #755600;
	font-weight: 750;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.amatum-post-content ul,
.amatum-post-content ol {
	display: grid;
	gap: 10px;
	margin: 1.5em 0 1.8em;
	padding-left: 25px;
}

.amatum-post-content li::marker {
	color: var(--post-yellow);
	font-weight: 850;
}

.amatum-post-content blockquote {
	margin: 2em 0;
	padding: 28px 30px;
	border-left: 4px solid var(--post-yellow);
	background: var(--post-soft);
	color: var(--post-ink);
	font-size: 20px;
	font-weight: 700;
}

.amatum-post-content figure {
	margin: 2.2em 0;
}

.amatum-post-content img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	margin-inline: auto;
	border-radius: 8px;
}

.amatum-post-content figcaption {
	margin-top: 9px;
	color: #778394;
	font-size: 13px;
	text-align: center;
}

.amatum-post-content table {
	width: 100%;
	margin: 2em 0;
	border-collapse: collapse;
	border: 1px solid var(--post-line);
	font-size: 15px;
}

.amatum-post-content th,
.amatum-post-content td {
	padding: 14px;
	border: 1px solid var(--post-line);
	text-align: left;
	vertical-align: top;
}

.amatum-post-content th {
	background: #fff4c8;
	color: var(--post-ink);
}

.amatum-post-content iframe,
.amatum-post-content video {
	width: 100%;
	max-width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border: 0;
}

.amatum-post-related {
	padding-block: clamp(62px, 7vw, 94px);
	background: var(--post-soft);
}

.amatum-post-related h2 {
	max-width: 760px;
	margin: 0 0 34px;
	color: var(--post-ink);
	font-size: clamp(34px, 4vw, 52px);
	line-height: 1.05;
}

.amatum-post-related__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.amatum-post-related article {
	display: flex;
	flex-direction: column;
	min-height: 250px;
	padding: 28px;
	border: 1px solid var(--post-line);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 16px 38px rgba(17,24,39,.05);
}

.amatum-post-related article > p {
	margin: 0 0 36px;
	color: #8a6500;
	font-size: 12px;
	font-weight: 850;
	text-transform: uppercase;
}

.amatum-post-related h3 {
	margin: 0 0 24px;
	font-size: 23px;
	line-height: 1.2;
}

.amatum-post-related h3 a,
.amatum-post-related__link {
	color: var(--post-ink);
	text-decoration: none;
}

.amatum-post-related__link {
	margin-top: auto;
	font-size: 14px;
	font-weight: 850;
}

.amatum-post-cta {
	padding-block: clamp(54px, 7vw, 82px);
	background: var(--post-yellow);
}

.amatum-post-cta .amatum-post-container {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 40px;
	align-items: center;
}

.amatum-post-cta h2 {
	max-width: 850px;
	margin: 0;
	color: var(--post-ink);
	font-size: clamp(34px, 4.5vw, 56px);
	line-height: 1.04;
}

.amatum-post-cta p:not(.amatum-post-kicker) {
	max-width: 760px;
	margin: 16px 0 0;
	color: #303640;
}

@media (max-width: 900px) {
	.amatum-post-layout {
		grid-template-columns: 1fr;
	}

	.amatum-post-toc {
		position: static;
	}

	.amatum-post-related__grid {
		grid-template-columns: 1fr;
	}

	.amatum-post-cta .amatum-post-container {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 620px) {
	.amatum-post-container {
		width: min(100% - 32px, 1180px);
	}

	.amatum-post-hero {
		padding-top: 58px;
	}

	.amatum-post-hero h1 {
		font-size: 40px;
	}

	.amatum-post-meta {
		display: grid;
		gap: 7px;
	}

	.amatum-post-meta span + time::before,
	.amatum-post-meta time + span::before {
		display: none;
	}

	.amatum-post-featured {
		border-width: 4px;
	}

	.amatum-post-featured img {
		aspect-ratio: 4 / 3;
	}

	.amatum-post-layout {
		gap: 30px;
		padding-block: 52px;
	}

	.amatum-post-content {
		font-size: 17px;
	}

	.amatum-post-content table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.amatum-post-cta .amatum-btn {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.amatum-single-post * {
		scroll-behavior: auto !important;
	}
}
