.post-content .content-layout {
	box-sizing: border-box;
	position: relative;
	width: 100%;
	isolation: isolate;
	background-color: transparent;
	background-image: none;
	background-position: center;
	background-size: cover;
}

.post-content .content-layout-grid {
	display: grid;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
}

.post-content .content-layout-column {
	min-width: 0;
}

.post-content .content-layout-column > :first-child { margin-top: 0; }
.post-content .content-layout-column > :last-child { margin-bottom: 0; }
.post-content .content-layout-column figure { max-width: 100%; margin: 0; }

.post-content .content-layout-columns-1 .content-layout-grid { grid-template-columns: minmax(0, 1fr); }
.post-content .content-layout-ratio-1-1 .content-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.post-content .content-layout-ratio-2-1 .content-layout-grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.post-content .content-layout-ratio-1-2 .content-layout-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
.post-content .content-layout-ratio-1-1-1 .content-layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.post-content .content-layout-ratio-2-1-1 .content-layout-grid { grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)); }
.post-content .content-layout-ratio-1-1-2 .content-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(0, 2fr); }

.post-content .content-layout-gap-none .content-layout-grid { gap: 0; }
.post-content .content-layout-gap-small .content-layout-grid { gap: 1rem; }
.post-content .content-layout-gap-medium .content-layout-grid { gap: 2rem; }
.post-content .content-layout-gap-large .content-layout-grid { gap: 4rem; }
.post-content .content-layout-gap-xlarge .content-layout-grid { gap: 5rem; }

.post-content .content-layout-align-start .content-layout-grid { align-items: start; }
.post-content .content-layout-align-center .content-layout-grid { align-items: center; }
.post-content .content-layout-align-end .content-layout-grid { align-items: end; }
.post-content .content-layout-align-stretch .content-layout-grid { align-items: stretch; }

.post-content .content-layout-background-surface { background: var(--colors-background, #fff); }
.post-content .content-layout-background-subtle { background: var(--colors-grays, #f3f4f6); }
.post-content .content-layout-background-accent { background: var(--colors-links, #111827); }
.post-content .content-layout-background-dark { background: #111827; }
.post-content .content-layout-background-accent,
.post-content .content-layout-background-dark { color: #fff; }
.post-content .content-layout-background-accent :is(h1, h2, h3, h4, h5, h6, p, li, a),
.post-content .content-layout-background-dark :is(h1, h2, h3, h4, h5, h6, p, li, a) { color: inherit !important; }
.post-content .content-layout-color-light { color: #fff; }
.post-content .content-layout-color-dark { color: #111827; }
.post-content .content-layout-color-light :is(h1, h2, h3, h4, h5, h6, p, li, a),
.post-content .content-layout-color-dark :is(h1, h2, h3, h4, h5, h6, p, li, a) { color: inherit !important; }

.post-content .content-layout-padding-none { padding: 0; }
.post-content .content-layout-padding-small { padding: 1.5rem; }
.post-content .content-layout-padding-medium { padding: 3rem; }
.post-content .content-layout-padding-large { padding: 5rem; }
.post-content .content-layout-padding-xlarge { padding: 7rem max(3rem, calc((100vw - 77rem) / 2)); }

.post-content .content-layout-height-half { min-height: 50vh; }
.post-content .content-layout-height-screen { min-height: 100vh; }
.post-content .content-layout-height-half,
.post-content .content-layout-height-screen { display: flex; }
.post-content .content-layout-position-start { align-items: flex-start; }
.post-content .content-layout-position-center { align-items: center; }
.post-content .content-layout-position-end { align-items: flex-end; }

.post-content .content-layout-radius-small { overflow: hidden; border-radius: .5rem; }
.post-content .content-layout-radius-large { overflow: hidden; border-radius: 1.5rem; }
.post-content .content-layout-full-bleed { left: 50%; width: 100vw; max-width: none; transform: translateX(-50%); }

.post-content figure.content-image-size-25 { width: 25%; }
.post-content figure.content-image-size-50 { width: 50%; }
.post-content figure.content-image-size-75 { width: 75%; }
.post-content figure.content-image-size-100 { width: 100%; }
.post-content figure.content-image-size-edge { left: 50%; width: 100vw; max-width: none; transform: translateX(-50%); }
.post-content figure.content-image-align-left { float: none !important; margin-right: auto !important; margin-left: 0 !important; }
.post-content figure.content-image-align-center { float: none !important; margin-right: auto !important; margin-left: auto !important; }
.post-content figure.content-image-align-right { float: none !important; margin-right: 0 !important; margin-left: auto !important; }
.post-content figure[class*="content-image-frame-"] { box-sizing: border-box; overflow: hidden; }
.post-content figure.content-image-frame-square { aspect-ratio: 1; }
.post-content figure.content-image-frame-landscape { aspect-ratio: 4 / 3; }
.post-content figure.content-image-frame-wide { aspect-ratio: 16 / 9; }
.post-content figure.content-image-frame-portrait { aspect-ratio: 4 / 5; }
.post-content figure.content-image-frame-screen { height: 100vh; }
.post-content figure.content-image-frame-square img,
.post-content figure.content-image-frame-landscape img,
.post-content figure.content-image-frame-wide img,
.post-content figure.content-image-frame-portrait img,
.post-content figure.content-image-frame-screen img { display: block; width: 100% !important; height: 100% !important; }
.post-content figure.content-image-rounded img { border-radius: 1.25rem !important; }
.post-content figure.content-image-circle img {
	display: block;
	width: 100% !important;
	aspect-ratio: 1;
	border-radius: 50% !important;
	object-fit: cover;
}
.post-content figure.content-image-fit-cover img { object-fit: cover; }
.post-content figure.content-image-fit-contain img { object-fit: contain; }

.post-content .content-divider {
	box-sizing: border-box;
	height: 0;
	margin-right: auto;
	margin-left: auto;
	border: 0;
	border-top-color: var(--content-divider-color);
	color: var(--content-divider-color);
}
.post-content .content-divider-width-25 { width: 25%; }
.post-content .content-divider-width-50 { width: 50%; }
.post-content .content-divider-width-75 { width: 75%; }
.post-content .content-divider-width-100 { width: 100%; }
.post-content .content-divider-tone-subtle { --content-divider-color: var(--colors-grays, #d1d5db); }
.post-content .content-divider-tone-text { --content-divider-color: var(--colors-text, #111827); }
.post-content .content-divider-tone-link { --content-divider-color: var(--colors-links, #111827); }
.post-content .content-divider-thickness-thin { border-top-width: 1px; }
.post-content .content-divider-thickness-medium { border-top-width: 2px; }
.post-content .content-divider-thickness-thick { border-top-width: 4px; }
.post-content .content-divider-style-solid { border-top-style: solid; }
.post-content .content-divider-style-dashed { border-top-style: dashed; }
.post-content .content-divider-style-dotted { border-top-style: dotted; }
.post-content .content-divider-style-double { border-top: 4px double var(--content-divider-color); }
.post-content .content-divider-spacing-compact { margin-top: 1rem; margin-bottom: 1rem; }
.post-content .content-divider-spacing-normal { margin-top: 2rem; margin-bottom: 2rem; }
.post-content .content-divider-spacing-roomy { margin-top: 4rem; margin-bottom: 4rem; }
.post-content .content-divider-style-stars {
	height: auto;
	border: 0;
	line-height: 1;
	text-align: center;
}
.post-content .content-divider-style-stars::before { content: '✦  ✦  ✦  ✦  ✦'; }

.post-content .content-spacer { width: 100%; }
.post-content .content-spacer-small { height: 1rem; }
.post-content .content-spacer-medium { height: 2rem; }
.post-content .content-spacer-large { height: 4rem; }
.post-content .content-spacer-xlarge { height: 7rem; }

.post-content .content-media {
	display: block;
	width: 100%;
	height: auto;
	background: #111827;
}
.post-content .content-media-ratio-square { aspect-ratio: 1; }
.post-content .content-media-ratio-landscape { aspect-ratio: 4 / 3; }
.post-content .content-media-ratio-wide { aspect-ratio: 16 / 9; }
.post-content .content-media-ratio-portrait { aspect-ratio: 4 / 5; }
.post-content .content-media-fit-cover { object-fit: cover; }
.post-content .content-media-fit-contain { object-fit: contain; }

@media only screen and (max-width: 760px) {
	.post-content .content-layout-grid { grid-template-columns: minmax(0, 1fr) !important; }
	.post-content .content-layout-gap-large .content-layout-grid,
	.post-content .content-layout-gap-xlarge .content-layout-grid { gap: 2.5rem; }
	.post-content .content-layout-padding-large { padding: 3rem 1.5rem; }
	.post-content .content-layout-padding-xlarge { padding: 4rem 1.5rem; }
	.post-content figure.content-image-size-25,
	.post-content figure.content-image-size-50,
	.post-content figure.content-image-size-75 { width: 100%; }
	.post-content figure.content-image-size-edge { width: 100vw; }
}
