.navbar .logo {
	font-size: calc(var(--font-small) * 2);
}

.navbar .logo-img,
.navbar .logo-img img {
	max-height: 3.5rem;
}

.footer > .footer-info > p {
	font-size: .7rem;
}

.post-header-no-excerpt .feature-media {
	margin-top: var(--spacing-9);
}

.post-header {
	margin-top: var(--layout--gap);
}

.post-template .post-header {
	margin-top: calc(var(--layout--gap) - var(--spacing-5));
}

.post-header > p + .feature-media {
	margin-top: calc(var(--layout--gap) / 2);
}

h1,
.h1 {
	font-size: 1.5rem !important;
}

h2,
.h2 {
	font-size: 1.35rem !important;
}

h3,
.h3 {
	font-size: 1.2rem !important;
}

.section-posts .card h3 {
	font-size: 1rem !important;
}

.section:not(.section-subscription) > h2:not(.screen-reader-only),
.section-posts-style-grid.section-posts-with-ad .section-posts-main > h2:not(.screen-reader-only),
.section-title:not(.screen-reader-only) {
	font-size: var(--font-x-small) !important;
}

.section-featured .carousel-controls button,
.section-featured .carousel-controls button:hover {
	color: var(--ghost-accent-color);
}

.section-subscription {
	--promotion-text-color: var(--core-promotion-text);
	--promotion-button-background: var(--core-promotion-button-background);
	--promotion-button-color: var(--core-promotion-button-color);
	width: calc(var(--container--width) + var(--layout--offset) * 2);
	max-width: calc(100vw - (var(--layout--padding) - var(--layout--offset)) * 2);
	margin-right: auto;
	margin-left: auto;
	padding: clamp(var(--spacing-8), 3.5vw, 40px);
	border-radius: var(--radius-5);
	background: var(--branding-accent-color, var(--ghost-accent-color));
	color: var(--promotion-text-color);
	text-align: left;
}

.section-subscription > h2 {
	display: block;
	max-width: 700px;
	margin-top: var(--spacing-6);
	margin-bottom: 0;
	color: var(--promotion-text-color);
	font-size: 1.875rem;
	font-weight: var(--font-bold);
	line-height: 1.05;
	letter-spacing: -.04em;
}

.section-subscription .section-subscription-eyebrow {
	width: auto;
	max-width: none;
	margin: 0;
	color: var(--promotion-text-color);
	font-size: var(--font-small);
	font-weight: var(--font-medium);
	opacity: .75;
}

.section-subscription .section-subscription-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--spacing-4);
	width: 100%;
	min-height: clamp(48px, 6vw, 56px);
	margin-top: clamp(var(--spacing-7), 2.5vw, var(--spacing-9));
	padding: var(--spacing-6) var(--spacing-8);
	border-radius: var(--radius-5);
	background-color: var(--promotion-button-background);
	color: var(--promotion-button-color);
	font-size: 1rem;
	font-weight: var(--font-medium);
	text-align: center;
	transition: opacity .2s ease, transform .2s ease;
}

.section-subscription .section-subscription-button:hover {
	color: var(--promotion-button-color);
	opacity: .9;
	transform: translateY(-1px);
}

.section-subscription .section-subscription-button > span:last-child {
	display: flex;
	font-size: 1.2em;
}

.section-subscription .section-subscription-button > span:last-child > svg,
.announcement-bar > a > span:last-child > svg {
	width: 1em;
	height: 1em;
}

.section-posts-style-grid .section-posts-main > .section-list {
	display: grid;
	gap: var(--layout--padding);
	margin-right: calc(var(--layout--offset) * -1);
	margin-left: calc(var(--layout--offset) * -1);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.section-posts-style-grid.section-posts-with-ad .section-posts-main > h2:not(.screen-reader-only) {
	display: flex;
	width: 100%;
	margin-bottom: var(--layout--padding);
	color: var(--color-secondary);
	font-size: var(--font-x-small);
	font-weight: var(--font-medium);
}

.section-posts-style-grid.section-posts-with-ad .section-posts-main > h2 > a {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: var(--spacing-2);
	color: var(--color-secondary);
	transition: color .2s ease-in-out, transform .3s cubic-bezier(.4,0,.2,2.4);
}

.section-posts-style-grid.section-posts-with-ad .section-posts-main > h2 > a::before {
	position: absolute;
	z-index: -1;
	border: 1px solid transparent;
	border-radius: var(--radius-1);
	background-color: transparent;
	transition: background-color .15s ease-in-out;
	content: "";
	inset: calc(var(--spacing-2) * -1 - 1px) calc(var(--spacing-4) * -1);
}

.section-posts-style-grid.section-posts-with-ad .section-posts-main > h2 > a > svg {
	flex: 0 0 auto;
	width: 1em;
	height: 1em;
	transition: transform .2s ease-in-out;
}

.section-posts-style-grid.section-posts-with-ad .section-posts-main > h2 > a:hover {
	color: var(--color-contrast);
	transform: translateY(-1px);
}

.section-posts-style-grid.section-posts-with-ad .section-posts-main > h2 > a:hover > svg {
	transform: translateX(1px);
}

.section-posts-style-grid.section-posts-with-ad .section-posts-main > h2 > a:hover::before {
	border-color: var(--color-background-200);
	background-color: var(--color-background-200);
}

.section-posts-style-grid.section-posts-with-ad .section-posts-layout {
	display: grid;
	align-items: start;
	gap: clamp(var(--spacing-8), 6vw, var(--spacing-10));
	grid-template-columns: minmax(0, 1fr) 160px;
}

.section-posts-style-grid.section-posts-with-ad .section-posts-main {
	min-width: 0;
	grid-column: 1;
	grid-row: 1;
}

.section-posts-style-grid.section-posts-with-ad .section-posts-main > .section-list {
	grid-template-columns: minmax(0, 1fr);
}

.section-posts-style-grid.section-posts-with-ad .section-posts-ad {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: var(--spacing-2);
	width: 160px;
	grid-column: 2;
	grid-row: 1;
}

.section-posts-style-grid.section-posts-with-ad .section-posts-ad > span {
	padding-top: 3px;
	color: var(--color-secondary);
	font-size: .625rem;
	line-height: 1.4;
	letter-spacing: .08em;
}

.section-posts-style-grid.section-posts-with-ad .section-posts-ad a,
.section-posts-style-grid.section-posts-with-ad .section-posts-ad img {
	display: block;
}

.section-posts-style-grid.section-posts-with-ad .section-posts-ad img {
	width: 160px;
	max-width: 100%;
	height: auto;
	border-radius: var(--radius-4);
}

@media (width < 700px) {
	.section-posts-style-grid.section-posts-with-ad .section-posts-layout {
		gap: var(--layout--gap);
		grid-template-columns: minmax(0, 1fr);
	}

	.section-posts-style-grid.section-posts-with-ad .section-posts-main,
	.section-posts-style-grid.section-posts-with-ad .section-posts-ad {
		width: 100%;
		grid-column: 1;
	}

	.section-posts-style-grid.section-posts-with-ad .section-posts-main {
		grid-row: 1;
	}

	.section-posts-style-grid.section-posts-with-ad .section-posts-ad {
		grid-row: 2;
	}

	.section-posts-style-grid.section-posts-with-ad .section-posts-ad a {
		width: min(100%, 160px);
	}
}

@container posts (width < 700px) {
	.section-posts-style-grid .section-posts-main > .section-list {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (width < 700px) {
	.section-posts-with-ad + .section {
		margin-top: var(--layout--gap);
	}
}

.google-preferred-source {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--spacing-4);
	width: fit-content;
	max-width: 100%;
	min-height: var(--button--min-height);
	margin: var(--spacing-6) auto 0;
	padding: var(--button--padding-v) var(--button--padding-h);
	border: var(--button--border-width) solid var(--button--border-color);
	border-radius: var(--button--border-radius);
	background-color: var(--button--background-color);
	color: var(--button--color);
	font-family: var(--font-button);
	font-size: var(--button--font-size);
	font-weight: var(--button--font-weight);
	line-height: 1.25;
	text-align: center;
	opacity: var(--button--opacity);
	transition: var(--button--transition);
}

.google-preferred-source:hover {
	border-color: var(--button-hover--border-color);
	background-color: var(--button-hover--background-color);
	color: var(--button-hover--color);
	opacity: var(--button-hover--opacity);
	transform: var(--button-hover--transform);
}

.google-preferred-source-logo {
	flex: 0 0 auto;
	width: 1.5em;
	height: 1.5em;
}

.post-elfsight-ad {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: var(--spacing-2);
	width: 100%;
	max-width: var(--container--width);
	margin: var(--spacing-8) auto 0;
}

.post-elfsight-ad > span {
	padding-top: 3px;
	color: var(--color-secondary);
	font-size: .625rem;
	line-height: 1.4;
	letter-spacing: .08em;
}

.post-header:has(> .post-elfsight-ad) + .content-wrapper {
	margin-top: calc(var(--layout--gap) / 2);
}

/* Preserve the uploaded site logo in every color scheme. */
.dark .logo-img:has(> img.logo-light:only-child) {
	filter: none;
}

.dark .logo-light {
	display: block;
}

/* Smaller media captions in posts and pages. */
:where(.post-content, .page-content, .content) figcaption,
.feature-media-image > figcaption {
	font-size: var(--font-x-small);
}
