:root {
	--mc-red: #e21f2f;
	--mc-red-dark: #b91624;
	--mc-ink: #121417;
	--mc-body: #30363b;
	--mc-muted: #66707a;
	--mc-canvas: #f5f6f7;
	--mc-surface: #ffffff;
	--mc-footer: #fbfaf7;
	--mc-border: #e2e5e8;
	--mc-border-strong: #cfd4d9;
	--mc-radius: 10px;
	--mc-focus: #1263d6;
	--mc-shell: 1320px;
	--mc-gutter: 24px;
	--mc-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--mc-canvas);
	color: var(--mc-body);
	font-family: var(--mc-font);
	font-size: 16px;
	line-height: 1.6;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

body.mc-menu-open {
	overflow: hidden;
}

button,
input,
select,
textarea {
	font: inherit;
}

button,
input[type="button"],
input[type="submit"] {
	cursor: pointer;
}

a {
	color: var(--mc-red-dark);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

a:hover {
	color: #8d111a;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

figure {
	margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 0;
	color: var(--mc-ink);
	font-weight: 750;
	letter-spacing: -0.025em;
	line-height: 1.16;
}

p {
	margin-top: 0;
}

.site {
	min-height: 100vh;
	overflow-x: clip;
}

.mc-shell {
	width: min(calc(100% - (var(--mc-gutter) * 2)), var(--mc-shell));
	margin-inline: auto;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus,
.skip-link:focus {
	top: 12px;
	left: 12px;
	z-index: 100000;
	display: block;
	width: auto;
	height: auto;
	padding: 10px 14px;
	clip: auto !important;
	background: var(--mc-surface);
	color: var(--mc-ink);
	font-weight: 700;
	white-space: normal;
	border: 2px solid var(--mc-focus);
	border-radius: 5px;
}

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--mc-focus);
	outline-offset: 2px;
}

/* Header */
.mc-site-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 100;
	background: var(--mc-surface);
	box-shadow: 0 1px 0 rgba(18, 20, 23, 0.08);
}

.mc-masthead-row {
	display: grid;
	grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr);
	align-items: center;
	min-height: 64px;
	gap: 20px;
}

.mc-brand {
	display: flex;
	align-items: center;
	min-width: 0;
}

.mc-brand-link,
.custom-logo-link {
	display: inline-flex;
	align-items: center;
}

.mc-brand-image,
.custom-logo {
	width: auto;
	max-width: 180px;
	max-height: 50px;
}

.mc-desktop-navigation {
	min-width: 0;
}

.mc-desktop-navigation .mc-nav-list {
	justify-content: center;
	min-width: 0;
}

.mc-desktop-navigation .mc-nav-list > li > a {
	min-height: 64px;
	padding-inline: 12px;
}

.mc-header-tools {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 18px;
}

.mc-menu-toggle,
.mc-menu-close,
.mc-search-toggle {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	background: transparent;
	color: var(--mc-ink);
	border: 0;
	border-radius: 6px;
}

.mc-menu-toggle {
	display: none;
	align-content: center;
	gap: 5px;
}

.mc-menu-toggle > span[aria-hidden="true"] {
	display: block;
	width: 22px;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
}

.mc-search-toggle svg {
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 1.8;
}

.mc-language-switcher ul,
.mc-nav-list,
.mc-drawer-list,
.mc-footer-links,
.mc-social-links,
.mc-footer-legal {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mc-language-switcher ul {
	display: flex;
	align-items: center;
	gap: 6px;
}

.mc-language-switcher a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding-inline: 10px;
	color: var(--mc-body);
	font-size: 14px;
	font-weight: 650;
	text-decoration: none;
	border-radius: 5px;
}

.mc-language-switcher .is-active a {
	background: #f0f1f3;
	color: var(--mc-ink);
}

.mc-search-panel {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	padding-block: 14px;
	background: var(--mc-surface);
	border-top: 1px solid var(--mc-border);
	box-shadow: 0 12px 24px rgba(18, 20, 23, 0.08);
}

.mc-search-panel[hidden] {
	display: none;
}

.mc-search-panel .mc-search-form {
	max-width: 720px;
	margin-inline: auto;
}

.mc-search-form {
	display: flex;
	width: 100%;
}

.mc-search-field {
	min-width: 0;
	width: 100%;
	height: 46px;
	padding: 0 14px;
	background: var(--mc-surface);
	color: var(--mc-ink);
	border: 1px solid var(--mc-border-strong);
	border-right: 0;
	border-radius: 7px 0 0 7px;
}

.mc-search-submit,
.mc-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 20px;
	background: var(--mc-red);
	color: #fff;
	font-weight: 750;
	text-decoration: none;
	border: 1px solid var(--mc-red);
	border-radius: 0 7px 7px 0;
}

.mc-search-submit:hover,
.mc-button:hover {
	background: var(--mc-red-dark);
	color: #fff;
	border-color: var(--mc-red-dark);
}

.mc-topic-navigation {
	display: none;
	background: var(--mc-surface);
	border-top: 1px solid var(--mc-border);
}

.mc-topic-scroll {
	overflow: visible;
	scrollbar-width: none;
}

.mc-topic-scroll::-webkit-scrollbar {
	display: none;
}

.mc-nav-list {
	display: flex;
	align-items: stretch;
	min-width: max-content;
	gap: 4px;
}

.mc-nav-list > li {
	position: relative;
}

.mc-nav-list > li > a {
	display: flex;
	align-items: center;
	min-height: 48px;
	padding-inline: 15px;
	color: var(--mc-body);
	font-size: 15px;
	font-weight: 650;
	text-decoration: none;
}

.mc-nav-list > li > a:hover,
.mc-nav-list > .current-menu-item > a,
.mc-nav-list > .current-menu-ancestor > a {
	color: var(--mc-ink);
}

.mc-nav-list > .current-menu-item > a::after,
.mc-nav-list > .current-menu-ancestor > a::after {
	position: absolute;
	right: 14px;
	bottom: 0;
	left: 14px;
	height: 2px;
	background: var(--mc-red);
	content: "";
}

.mc-nav-list .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 20;
	min-width: 230px;
	margin: 0;
	padding: 8px;
	visibility: hidden;
	opacity: 0;
	background: var(--mc-surface);
	list-style: none;
	border: 1px solid var(--mc-border);
	border-radius: 0 0 8px 8px;
	box-shadow: 0 14px 30px rgba(18, 20, 23, 0.1);
	transform: translateY(-4px);
	transition: opacity 140ms ease, transform 140ms ease, visibility 140ms;
}

.mc-nav-list li:hover > .sub-menu,
.mc-nav-list li:focus-within > .sub-menu {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}

.mc-nav-list .sub-menu a {
	display: block;
	padding: 9px 10px;
	color: var(--mc-body);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	border-radius: 5px;
}

.mc-nav-list .sub-menu a:hover,
.mc-nav-list .sub-menu a:focus-visible {
	background: #f3f4f5;
	color: var(--mc-ink);
}

@media (min-width: 1025px) {
	.mc-nav-list > li:nth-last-child(-n + 2) > .sub-menu {
		right: 0;
		left: auto;
	}
}

/* Mobile drawer */
.mc-mobile-drawer,
.mc-nav-scrim {
	display: none;
}

/* Homepage */
.mc-home-main {
	padding-block: 32px 0;
}

.mc-home-top-slot:empty {
	display: none;
}

.mc-home-top-slot {
	margin-bottom: 24px;
}

.mc-home-slot {
	min-height: 90px;
	display: grid;
	place-items: center;
	overflow: hidden;
	background: #eceff1;
	border-radius: 6px;
}

/* Density: the homepage surfaced 3 stories above the fold against roughly 8 on
   the MSN reference. This row is the single largest cost, and its min-height —
   not the card — is what sets the lead height. Trimming it moves the second row
   of stories into the first screen without restyling anything. */
.mc-lead-grid {
	display: grid;
	grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr));
	gap: 16px;
	min-height: 340px;
}

.mc-lead-grid.mc-lead-count-1 {
	grid-template-columns: 1fr;
}

.mc-lead-grid.mc-lead-count-2 {
	grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
}

.mc-card {
	position: relative;
	min-width: 0;
	overflow: hidden;
	background: var(--mc-surface);
	border: 1px solid var(--mc-border);
	border-radius: var(--mc-radius);
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.mc-card:hover {
	border-color: var(--mc-border-strong);
	box-shadow: 0 8px 22px rgba(18, 20, 23, 0.07);
	transform: translateY(-2px);
}

.mc-card-link {
	display: block;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.mc-card-link:hover {
	color: inherit;
}

.mc-card-media {
	display: block;
	overflow: hidden;
	background: #edf0f2;
	aspect-ratio: 16 / 9;
}

.mc-card-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 240ms ease;
}

.mc-card:hover .mc-card-image {
	transform: scale(1.015);
}

.mc-media-placeholder {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	padding: 24px;
	background: linear-gradient(145deg, #f7f8f9, #e9edef);
}

.mc-media-placeholder img {
	width: min(72%, 230px);
	mix-blend-mode: multiply;
}

.mc-card-body {
	display: block;
	padding: 15px 16px 18px;
}

.mc-card-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px;
	margin-bottom: 7px;
	color: var(--mc-muted);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.35;
}

.mc-card-category {
	position: relative;
	z-index: 2;
	color: var(--mc-red-dark);
	font-weight: 750;
	text-decoration: none;
}

.mc-card-category::before {
	position: absolute;
	inset: -4px -5px;
	content: "";
}

.mc-card-category:focus-visible {
	outline-offset: 4px;
}

.mc-card-category:hover {
	text-decoration: underline;
}

.mc-card-title {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	color: var(--mc-ink);
	font-size: clamp(1.05rem, 0.96rem + 0.25vw, 1.28rem);
	font-weight: 750;
	letter-spacing: -0.025em;
	line-height: 1.25;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.mc-card-title a {
	color: inherit;
	text-decoration: none;
}

.mc-card-title a:focus-visible {
	outline: none;
}

.mc-card-title a::after {
	position: absolute;
	inset: 0;
	content: "";
}

.mc-card-title a:focus-visible::after {
	outline: 3px solid var(--mc-focus);
	outline-offset: -4px;
}

.mc-card-excerpt {
	display: -webkit-box;
	margin-top: 10px;
	overflow: hidden;
	color: var(--mc-muted);
	font-size: 15px;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

/* Kept in step with .mc-lead-grid, which is what actually sets the lead height. */
.mc-card-featured {
	position: relative;
	min-height: 340px;
	border: 0;
}

.mc-card-featured .mc-card-media {
	height: 100%;
	aspect-ratio: auto;
}

.mc-card-featured .mc-card-link {
	position: relative;
}

.mc-featured-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: clamp(22px, 3vw, 38px);
	/* The scrim must guarantee legible white text over ANY featured photo, not
	   just dark ones. At the previous 0.1 mid-stop a bright image region behind
	   the category label measured 1.89:1 against white — well under the 4.5:1
	   minimum. Raising the mid-stop keeps the photograph clearly visible through
	   the upper two-thirds while making the text band reliably dark. */
	background: linear-gradient(180deg, transparent 24%, rgba(8, 10, 12, 0.5) 58%, rgba(8, 10, 12, 0.92) 100%);
}

.mc-card-featured .mc-card-meta,
.mc-card-featured .mc-card-title {
	color: #fff;
	/* The scrim carries most of the contrast, but a featured photo can still
	   have a bright patch behind a few percent of the text area. This shadow
	   keeps glyph edges legible there without darkening the image further. It
	   is imperceptible over the dark majority of the scrim. */
	text-shadow: 0 1px 3px rgba(8, 10, 12, 0.65);
}

.mc-card-featured .mc-card-category {
	color: #fff;
	text-shadow: 0 1px 3px rgba(8, 10, 12, 0.65);
}

.mc-card-featured .mc-card-title {
	max-width: 19ch;
	font-size: clamp(2rem, 1.55rem + 1.4vw, 2.75rem);
	line-height: 1.08;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
	-webkit-line-clamp: 3;
}

.mc-lead-secondary .mc-card-link {
	display: flex;
	flex-direction: column;
}

.mc-lead-secondary .mc-card-media {
	flex: 0 0 48%;
	aspect-ratio: auto;
}

.mc-lead-secondary .mc-card-body {
	flex: 1;
}

.mc-lead-secondary .mc-card-excerpt {
	font-size: 14px;
	-webkit-line-clamp: 4;
}

.mc-home-section {
	margin-top: 48px;
}

.mc-section-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--mc-border-strong);
}

.mc-section-header h2 {
	margin: 0;
	font-size: clamp(1.65rem, 1.45rem + 0.55vw, 2rem);
}

.mc-section-header h2 a {
	color: inherit;
	text-decoration: none;
}

.mc-section-header h2 a:hover {
	color: var(--mc-red-dark);
}

.mc-section-header > a {
	flex: 0 0 auto;
	color: var(--mc-red-dark);
	font-size: 14px;
	font-weight: 750;
	text-decoration: none;
}

.mc-section-header > a:hover {
	text-decoration: underline;
}

/* Homepage rail.
   The ad used to sit in a full-width band between the lead and Latest, costing
   288px of the first screen and pushing four stories below the fold. Beside the
   grid it costs no editorial space, and the rail also carries a text-only
   headline list — five stories in the height one picture card would occupy.
   Single column below 1180px, where a rail would only push content down. */
.mc-home-columns {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
}

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

.mc-home-rail {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}

.mc-rail-block {
	padding: 18px 18px 6px;
	border: 1px solid var(--mc-border);
	border-radius: 10px;
	background: var(--mc-surface);
}

.mc-rail-title {
	margin: 0 0 12px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mc-muted);
}

.mc-headline-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mc-headline {
	padding: 12px 0;
	border-top: 1px solid var(--mc-border);
}

.mc-headline:first-child {
	padding-top: 0;
	border-top: 0;
}

.mc-headline-link {
	display: block;
	margin-top: 4px;
	color: var(--mc-ink);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.01em;
	text-decoration: none;
}

.mc-headline-link:hover,
.mc-headline-link:focus-visible {
	color: var(--mc-red-dark, #b91624);
}

.mc-category-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
	gap: 16px;
}

.mc-category-layout.mc-category-count-1 {
	grid-template-columns: minmax(0, 1fr);
}

.mc-category-count-1 .mc-category-feature .mc-card-link {
	display: grid;
	grid-template-columns: minmax(320px, 1.08fr) minmax(0, 1fr);
	align-items: stretch;
}

.mc-category-count-1 .mc-category-feature .mc-card-media {
	height: 100%;
	aspect-ratio: 16 / 9;
}

.mc-category-count-1 .mc-category-feature .mc-card-body {
	align-self: center;
}

.mc-category-feature .mc-card-title {
	font-size: clamp(1.4rem, 1.18rem + 0.45vw, 1.78rem);
}

.mc-category-supporting {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.mc-card-compact .mc-card-link {
	display: grid;
	grid-template-columns: minmax(104px, 42%) minmax(0, 1fr);
	align-items: stretch;
}

.mc-card-compact .mc-card-media {
	height: 100%;
	min-height: 132px;
	aspect-ratio: auto;
}

.mc-card-compact .mc-card-body {
	align-self: center;
	padding: 13px;
}

.mc-card-compact .mc-card-title {
	font-size: 1rem;
	-webkit-line-clamp: 3;
}

.mc-card-compact .mc-card-meta {
	display: block;
}

.mc-card-compact .mc-card-meta time {
	display: block;
	margin-top: 2px;
}

@media (min-width: 1025px) {
	.mc-category-supporting {
		align-self: start;
		align-content: start;
	}

	.mc-category-supporting .mc-card-compact .mc-card-link {
		display: block;
		height: auto;
	}

	.mc-category-supporting .mc-card-compact .mc-card-media {
		height: auto;
		min-height: 0;
		aspect-ratio: 16 / 9;
	}

	.mc-category-supporting .mc-card-compact .mc-card-body {
		align-self: auto;
		padding: 13px 14px 15px;
	}
}

/* Listings */
.mc-listing-main,
.mc-page-main,
.mc-error-main {
	padding-block: 48px 72px;
}

.mc-page-header {
	margin-bottom: 28px;
}

.mc-page-header h1 {
	margin-bottom: 8px;
	font-size: clamp(2rem, 1.6rem + 1.2vw, 3rem);
}

.mc-archive-description {
	max-width: 760px;
	color: var(--mc-muted);
	font-size: 17px;
}

.mc-archive-description > :last-child {
	margin-bottom: 0;
}

.mc-author-main {
	background: var(--mc-surface);
}

.mc-author-shell {
	max-width: 1040px;
}

.mc-author-header {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	align-items: start;
	gap: 28px;
	margin: 0;
	padding: 10px 0 34px;
	border-bottom: 1px solid var(--mc-border-strong);
}

.mc-author-avatar {
	padding-top: 2px;
}

.mc-author-avatar img {
	display: block;
	width: 112px;
	height: 112px;
	object-fit: cover;
	border: 1px solid var(--mc-border);
	border-radius: 50%;
}

.mc-author-profile-copy {
	max-width: 760px;
}

.mc-author-label {
	margin-bottom: 5px;
	color: var(--mc-red-dark);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.mc-author-header h1 {
	margin: 0;
	font-size: clamp(2rem, 1.82rem + 0.5vw, 2.25rem);
	letter-spacing: -0.035em;
	line-height: 1.12;
}

.mc-author-count {
	margin: 7px 0 0;
	color: var(--mc-muted);
	font-size: 13px;
	font-weight: 650;
}

.mc-author-header .mc-archive-description {
	max-width: 700px;
	margin-top: 14px;
	font-size: 16px;
	line-height: 1.625;
}

.mc-author-stories {
	margin-top: 34px;
}

.mc-author-section-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 0;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--mc-border-strong);
}

.mc-author-section-header h2 {
	margin: 0;
	font-size: 1.625rem;
	letter-spacing: -0.025em;
	line-height: 1.2;
}

.mc-author-feed {
	display: grid;
}

.mc-author-story {
	overflow: visible;
	border: 0;
	border-bottom: 1px solid var(--mc-border);
	border-radius: 0;
}

.mc-author-story:hover {
	border-color: var(--mc-border-strong);
	box-shadow: none;
	transform: none;
}

.mc-author-story .mc-card-link {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	align-items: center;
	gap: 22px;
	padding: 20px 0;
}

.mc-author-story .mc-card-media {
	height: auto;
	aspect-ratio: 16 / 9;
	border-radius: 7px;
}

.mc-author-story .mc-card-body {
	padding: 0;
}

.mc-author-story .mc-card-meta {
	margin-bottom: 7px;
}

.mc-author-story .mc-card-title {
	font-size: 1.375rem;
	line-height: 1.22;
	-webkit-line-clamp: 2;
}

.mc-author-story .mc-card-excerpt {
	margin-top: 8px;
	font-size: 15px;
	line-height: 1.55;
	-webkit-line-clamp: 2;
}

.mc-author-stories .navigation.pagination {
	margin-top: 32px;
}

.mc-author-v1-main .mc-author-header {
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 20px;
	margin-bottom: 28px;
	padding: 0;
	border: 0;
}

.mc-author-v1-main .mc-author-avatar {
	padding: 0;
}

.mc-author-v1-main .mc-author-avatar img {
	width: 96px;
	height: 96px;
	border: 0;
}

.mc-author-v1-main .mc-author-label {
	margin-bottom: 4px;
	font-size: 13px;
	letter-spacing: 0.06em;
}

.mc-author-v1-main .mc-author-header h1 {
	margin-bottom: 6px;
	font-size: clamp(2rem, 1.6rem + 1.2vw, 3rem);
	letter-spacing: -0.025em;
	line-height: 1.16;
}

.mc-author-v1-main .mc-author-header .mc-archive-description {
	max-width: 760px;
	margin-top: 0;
	font-size: 17px;
	line-height: 1.6;
}

@media (max-width: 767px) {
	.mc-author-header {
		grid-template-columns: 88px minmax(0, 1fr);
		gap: 20px;
		padding: 6px 0 28px;
	}

	.mc-author-avatar img {
		width: 88px;
		height: 88px;
	}

	.mc-author-story .mc-card-link {
		grid-template-columns: 180px minmax(0, 1fr);
		gap: 18px;
		padding-block: 18px;
	}

	.mc-author-story .mc-card-title {
		font-size: 1.1875rem;
	}

	.mc-author-story .mc-card-excerpt {
		font-size: 14px;
	}

	.mc-author-v1-main .mc-author-header {
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		gap: 20px;
		padding: 0;
	}

	.mc-author-v1-main .mc-author-avatar img {
		width: 96px;
		height: 96px;
	}
}

@media (max-width: 599px) {
	.mc-author-header {
		display: block;
		padding: 2px 0 26px;
	}

	.mc-author-avatar {
		padding: 0;
	}

	.mc-author-avatar img {
		width: 80px;
		height: 80px;
	}

	.mc-author-profile-copy {
		margin-top: 14px;
	}

	.mc-author-header h1 {
		font-size: 1.75rem;
	}

	.mc-author-header .mc-archive-description {
		margin-top: 12px;
		font-size: 15.5px;
		line-height: 1.6;
	}

	.mc-author-stories {
		margin-top: 28px;
	}

	.mc-author-section-header h2 {
		font-size: 1.4rem;
	}

	.mc-author-story .mc-card-link {
		grid-template-columns: 112px minmax(0, 1fr);
		gap: 14px;
		padding-block: 14px;
	}

	.mc-author-story .mc-card-media {
		height: 100%;
		min-height: 96px;
		aspect-ratio: auto;
		border-radius: 6px;
	}

	.mc-author-story .mc-card-meta {
		gap: 6px;
		margin-bottom: 5px;
		font-size: 12px;
	}

	.mc-author-story .mc-card-meta time {
		display: none;
	}

	.mc-author-story .mc-card-title {
		font-size: 1rem;
		line-height: 1.3;
		-webkit-line-clamp: 3;
	}

	.mc-author-story .mc-card-excerpt {
		display: none;
	}

	.mc-author-v1-main .mc-author-header {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		gap: 20px;
		padding: 0;
	}

	.mc-author-v1-main .mc-author-avatar {
		padding: 0;
	}

	.mc-author-v1-main .mc-author-avatar img {
		width: 96px;
		height: 96px;
	}

	.mc-author-v1-main .mc-author-header h1 {
		font-size: clamp(2rem, 1.6rem + 1.2vw, 3rem);
	}

	.mc-author-v1-main .mc-author-header .mc-archive-description {
		margin-top: 0;
		font-size: 17px;
		line-height: 1.6;
	}
}

.mc-archive-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.navigation.pagination {
	margin-top: 40px;
}

.nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	flex-wrap: wrap;
}

.page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 42px;
	min-height: 42px;
	padding-inline: 10px;
	background: var(--mc-surface);
	color: var(--mc-body);
	font-weight: 650;
	text-decoration: none;
	border: 1px solid var(--mc-border);
	border-radius: 6px;
}

.page-numbers.current {
	background: var(--mc-ink);
	color: #fff;
	border-color: var(--mc-ink);
}

.mc-empty-state,
.mc-error-card {
	padding: 48px;
	background: var(--mc-surface);
	text-align: center;
	border: 1px solid var(--mc-border);
	border-radius: var(--mc-radius);
}

.mc-empty-state h1,
.mc-empty-state h2,
.mc-error-card h1 {
	font-size: clamp(1.75rem, 1.45rem + 1vw, 2.5rem);
}

.mc-error-code {
	margin-bottom: 8px;
	color: var(--mc-red);
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.12em;
}

.mc-error-card .mc-search-form {
	max-width: 560px;
	margin: 24px auto;
}

.mc-error-card .mc-button {
	border-radius: 7px;
}

/* Article and pages */
.mc-article-main,
.mc-page-main {
	background: var(--mc-surface);
}

.mc-article-main {
	padding-block: 40px 80px;
	background: var(--mc-surface);
}

.mc-article {
	padding: 0;
}

.mc-article-shell {
	max-width: 1180px;
}

.mc-article-lead {
	width: 100%;
}

.mc-article-header {
	width: 100%;
}

.mc-article-layout {
	display: grid;
	grid-template-columns: minmax(0, 720px) minmax(300px, 320px);
	align-items: start;
	justify-content: center;
	gap: 48px;
}

.mc-article-layout-solo {
	grid-template-columns: minmax(0, 720px);
}

.mc-article-primary {
	width: 100%;
	max-width: 720px;
	min-width: 0;
}

.mc-article-body-card {
	margin-top: 24px;
}

.mc-article-comments-card {
	max-width: 640px;
	margin: 48px auto 0;
	padding-top: 36px;
	border-top: 1px solid var(--mc-border);
}

.mc-article-width {
	width: 100%;
	max-width: 640px;
	margin-inline: auto;
}

.mc-article-header.mc-article-width {
	max-width: 720px;
}

.mc-breadcrumbs {
	margin-bottom: 20px;
	color: var(--mc-muted);
	font-size: 13px;
	line-height: 1.5;
}

.mc-breadcrumbs a {
	color: inherit;
}

.mc-article-header .mc-breadcrumbs {
	margin-bottom: 18px;
}

.mc-article-category {
	display: inline-block;
	margin-bottom: 12px;
	color: var(--mc-red-dark);
	font-size: 12.5px;
	font-weight: 800;
	letter-spacing: 0.07em;
	text-decoration: none;
	text-transform: uppercase;
}

.mc-article-category:hover {
	color: #94111c;
	text-decoration: underline;
}

.mc-article-header h1 {
	max-width: 22ch;
	margin: 0;
	font-size: clamp(2rem, 1.92rem + 0.22vw, 2.125rem);
	font-weight: 780;
	letter-spacing: -0.03em;
	line-height: 1.2;
	overflow-wrap: break-word;
}

.mc-article-deck {
	max-width: 60ch;
	margin: 10px 0 0;
	color: #4c555d;
	font-size: clamp(1.1875rem, 1.15rem + 0.12vw, 1.25rem);
	line-height: 1.45;
}

.mc-article-meta-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 12px;
}

.mc-article-byline {
	display: flex;
	align-items: center;
	gap: 11px;
}

.mc-article-author-avatar {
	flex: 0 0 42px;
}

.mc-article-author-avatar img {
	display: block;
	width: 42px;
	height: 42px;
	object-fit: cover;
	border-radius: 50%;
}

.mc-article-byline-copy {
	min-width: 0;
}

.mc-article-author {
	margin: 0 0 3px;
	color: var(--mc-body);
	font-size: 14px;
	line-height: 1.4;
}

.mc-article-author a {
	color: var(--mc-ink);
	font-weight: 760;
	text-decoration: none;
}

.mc-article-author a:hover {
	color: var(--mc-red-dark);
	text-decoration: underline;
}

.mc-article-timing {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px 0;
	color: var(--mc-muted);
	font-size: 13px;
	line-height: 1.45;
}

.mc-article-timing > * + *::before {
	margin-inline: 8px;
	content: "\2022";
}

.mc-article-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
}

.mc-article-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	gap: 7px;
	padding: 8px 12px;
	background: #fff;
	color: var(--mc-body);
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	border: 1px solid var(--mc-border);
	border-radius: 999px;
}

.mc-article-action:hover {
	background: #eef0f2;
	border-color: var(--mc-border-strong);
}

.mc-article-action.is-copied {
	background: #edf7f1;
	color: #1f6840;
	border-color: #bddcc8;
}

.mc-article-action svg {
	flex: 0 0 auto;
}

.mc-article-hero {
	width: 100%;
	margin: 28px 0 0;
}

.mc-article-hero img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 8px;
}

.mc-article-hero figcaption {
	width: 100%;
	margin: 9px auto 0;
	color: var(--mc-muted);
	font-size: 13px;
	line-height: 1.5;
}

.mc-article-content {
	color: #292e33;
	font-family: var(--mc-font);
	font-size: 1.125rem;
	line-height: 1.67;
	overflow-wrap: break-word;
}

.mc-article-content > * {
	margin-top: 0;
	margin-bottom: 1.15em;
}

.mc-article-main .mc-article-content > p:first-child {
	color: #1e2327;
}

.mc-article-content h2,
.mc-article-content h3,
.mc-article-content h4 {
	margin-top: 1.85em;
	margin-bottom: 0.65em;
	font-family: var(--mc-font);
	line-height: 1.22;
	scroll-margin-top: calc(96px + var(--wp-admin--admin-bar--height, 0px));
}

.mc-article-content h2 {
	font-size: clamp(1.55rem, 1.4rem + 0.48vw, 1.9rem);
}

.mc-article-content h3 {
	font-size: clamp(1.28rem, 1.18rem + 0.32vw, 1.5rem);
}

.mc-article-content a {
	font-weight: 600;
}

.mc-article-main .mc-article-content a {
	text-decoration-thickness: 1.5px;
}

.mc-article-content blockquote {
	margin: 2em 0;
	padding: 4px 0 4px 24px;
	font-size: 1.15em;
	font-style: italic;
	border-left: 3px solid var(--mc-red);
}

.mc-article-main .mc-article-content blockquote {
	padding: 20px 24px;
	background: #f7f8f9;
	color: #343a40;
	border-left-width: 4px;
	border-radius: 0 10px 10px 0;
}

.mc-article-main .mc-article-content blockquote > :last-child {
	margin-bottom: 0;
}

.mc-article-content :where(ul, ol) {
	padding-left: 1.35em;
}

.mc-article-main .mc-article-content :where(ul, ol) {
	padding-left: 1.4em;
}

.mc-article-content :where(li + li) {
	margin-top: 0.42em;
}

.mc-article-main .mc-article-content li::marker {
	color: var(--mc-red-dark);
	font-weight: 700;
}

.mc-article-content :where(img, video, iframe, table) {
	max-width: 100%;
	border-radius: 8px;
}

.mc-article-main .mc-article-content :where(img, video, iframe, table) {
	border-radius: 10px;
}

.mc-article-content pre {
	overflow-x: auto;
}

.mc-article-main .mc-article-content .wp-block-table,
.mc-article-main .mc-article-content > table {
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.mc-article-main .mc-article-content > table {
	display: block;
}

.mc-article-main .mc-article-content .wp-block-table table {
	min-width: 100%;
}

.mc-article-main .mc-article-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.94em;
}

.mc-article-main .mc-article-content :where(th, td) {
	padding: 11px 12px;
	text-align: left;
	border: 1px solid var(--mc-border);
}

.mc-article-main .mc-article-content th {
	background: #f5f6f7;
	color: var(--mc-ink);
}

.mc-article-main .mc-article-content .wp-block-separator {
	margin-block: 2.3em;
	border-color: var(--mc-border);
}

.mc-article-content .alignwide,
.mc-article-content .alignfull {
	width: 100%;
	max-width: 100%;
	margin-inline: 0;
	transform: none;
}

.mc-article-footer {
	margin-top: 48px;
	padding-top: 28px;
	border-top: 1px solid var(--mc-border);
}

.mc-article-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.mc-article-tags a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 5px 10px;
	background: #f2f4f5;
	color: var(--mc-body);
	font-size: 13px;
	text-decoration: none;
	border: 1px solid transparent;
	border-radius: 999px;
}

.mc-article-tags a:hover {
	background: #fff;
	color: var(--mc-red-dark);
	border-color: var(--mc-border-strong);
}

.mc-article-rail {
	display: grid;
	align-content: start;
	gap: 20px;
	min-width: 0;
}

.mc-article-toc,
.mc-article-related {
	background: var(--mc-surface);
	border: 1px solid var(--mc-border);
	border-radius: 14px;
}

.mc-article-toc-inline {
	display: none;
}

.mc-article-toc {
	overflow: clip;
}

.mc-article-toc summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 54px;
	gap: 16px;
	padding: 14px 18px;
	color: var(--mc-ink);
	font-size: 15px;
	font-weight: 780;
	list-style: none;
	cursor: pointer;
}

.mc-article-toc summary::-webkit-details-marker {
	display: none;
}

.mc-article-toc summary:focus-visible {
	outline-offset: -3px;
}

.mc-article-toc summary svg {
	flex: 0 0 auto;
	transition: transform 160ms ease;
}

.mc-article-toc[open] summary {
	border-bottom: 1px solid var(--mc-border);
}

.mc-article-toc[open] summary svg {
	transform: rotate(180deg);
}

.mc-article-toc ol {
	margin: 0;
	max-height: 430px;
	padding: 16px 18px 18px;
	overflow-y: auto;
	list-style: none;
	counter-reset: article-toc;
}

.mc-article-toc li {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	align-items: start;
	counter-increment: article-toc;
}

.mc-article-toc li::before {
	padding-top: 1px;
	color: var(--mc-red-dark);
	font-size: 12px;
	font-weight: 800;
	content: counter(article-toc, decimal-leading-zero);
}

.mc-article-toc li + li {
	margin-top: 11px;
}

.mc-article-toc a {
	color: #454d55;
	font-size: 13.5px;
	font-weight: 650;
	line-height: 1.4;
	text-decoration: none;
}

.mc-article-toc a:hover {
	color: var(--mc-red-dark);
	text-decoration: underline;
}

.mc-article-related {
	padding: 20px;
}

.mc-article-rail-header {
	margin-bottom: 17px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--mc-border);
}

.mc-article-rail-header p {
	margin: 0 0 4px;
	color: var(--mc-muted);
	font-size: 12px;
	font-weight: 760;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.mc-article-rail-header h2 {
	margin: 0;
	font-size: 1.36rem;
	line-height: 1.2;
}

.mc-article-rail-header a {
	color: inherit;
	text-decoration: none;
}

.mc-article-rail-header a:hover {
	color: var(--mc-red-dark);
}

.mc-article-related-list {
	display: grid;
	gap: 12px;
}

.mc-article-rail .mc-card {
	box-shadow: none;
	border-radius: 10px;
}

.mc-article-rail .mc-card:hover {
	box-shadow: 0 6px 16px rgba(18, 20, 23, 0.055);
}

.mc-article-rail .mc-card-compact .mc-card-link {
	grid-template-columns: 96px minmax(0, 1fr);
}

.mc-article-rail .mc-card-compact .mc-card-media {
	min-height: 96px;
}

.mc-article-rail .mc-card-compact .mc-card-body {
	padding: 11px 12px;
}

.mc-article-rail .mc-card-compact .mc-card-meta {
	font-size: 11.5px;
}

.mc-article-rail .mc-card-compact .mc-card-title {
	font-size: 0.95rem;
	line-height: 1.27;
}

.post-navigation {
	margin-top: 32px;
}

.post-navigation .nav-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	justify-content: stretch;
	gap: 24px;
}

.post-navigation a {
	display: block;
	height: 100%;
	padding: 17px 18px;
	background: #fafbfb;
	color: var(--mc-body);
	text-decoration: none;
	border: 1px solid var(--mc-border);
	border-radius: 10px;
}

.post-navigation a:hover {
	background: #fff;
	border-color: var(--mc-border-strong);
	box-shadow: 0 5px 14px rgba(18, 20, 23, 0.05);
}

.post-navigation span {
	display: block;
	margin-bottom: 4px;
	color: var(--mc-muted);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.post-navigation strong {
	display: block;
	color: var(--mc-ink);
	line-height: 1.3;
}

.nav-next {
	grid-column: 2;
	text-align: right;
}

.mc-comments {
	margin-top: 48px;
	padding-top: 32px;
	border-top: 1px solid var(--mc-border);
}

.mc-article-comments-card .mc-comments {
	margin: 0;
	padding: 0;
	border: 0;
}

.mc-article-comments-card .mc-comments > h2,
.mc-article-comments-card .comment-reply-title {
	font-size: clamp(1.45rem, 1.3rem + 0.4vw, 1.7rem);
}

.comment-list {
	padding-left: 0;
	list-style: none;
}

.comment-body {
	margin-bottom: 20px;
	padding: 20px;
	background: #f7f8f9;
	border-radius: 8px;
}

.mc-article-comments-card .comment-body {
	border: 1px solid var(--mc-border);
	border-radius: 10px;
}

.comment-form :where(input[type="text"], input[type="email"], input[type="url"], textarea) {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--mc-border-strong);
	border-radius: 6px;
}

.comment-form input[type="submit"] {
	min-height: 44px;
	padding-inline: 18px;
	background: var(--mc-red);
	color: #fff;
	font-weight: 750;
	border: 0;
	border-radius: 6px;
}

/* Footer */
.mc-site-footer {
	margin-top: 80px;
	background: var(--mc-footer);
	color: var(--mc-body);
	border-top: 1px solid #e4e1dc;
}

/* These templates already close with their own bottom spacing, so the footer's
   80px lead-in would read as an empty band. The homepage is included because it
   ends on the compact newsletter card. Article and static-page spacing is
   unchanged. */
.mc-home-main + .mc-site-footer,
.mc-article-main + .mc-site-footer,
.mc-page-main + .mc-site-footer,
.mc-error-main + .mc-site-footer {
	margin-top: 0;
}

.mc-footer-grid {
	display: grid;
	grid-template-columns: 1.45fr repeat(3, minmax(0, 1fr));
	gap: 40px;
	padding-block: 60px 52px;
}

.mc-footer-brand .mc-brand {
	margin-bottom: 18px;
}

.mc-footer-brand .mc-brand-image,
.mc-footer-brand .custom-logo {
	max-width: 205px;
	mix-blend-mode: multiply;
}

.mc-footer-brand p {
	max-width: 34ch;
	margin-bottom: 0;
	color: #4f575e;
	font-size: 16px;
	line-height: 1.55;
}

.mc-footer-heading {
	margin: 3px 0 17px;
	font-size: 17px;
	letter-spacing: -0.01em;
}

.mc-footer-links,
.mc-social-links {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 9px;
}

.mc-footer-links a,
.mc-social-links a,
.mc-footer-legal a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	color: var(--mc-body);
	font-size: 15px;
	text-decoration: none;
}

.mc-footer-links a:hover,
.mc-social-links a:hover,
.mc-footer-legal a:hover {
	color: var(--mc-red-dark);
	text-decoration: underline;
}

.mc-footer-newsletter {
	grid-column: 1 / -1;
	max-width: 700px;
}

.mc-footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 70px;
	padding-block: 16px;
	color: var(--mc-muted);
	font-size: 14px;
	border-top: 1px solid #dedbd5;
}

.mc-footer-bottom p {
	margin: 0;
}

.mc-footer-legal {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
}

.mc-footer-legal a {
	min-height: 36px;
	color: var(--mc-muted);
	font-size: 14px;
}

@media (max-width: 1279px) {
	:root {
		--mc-gutter: 20px;
	}

	.mc-lead-grid {
		grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr);
		grid-template-rows: repeat(2, minmax(0, 1fr));
	}

	.mc-lead-primary {
		grid-row: 1 / 3;
	}

	.mc-lead-grid.mc-lead-count-1,
	.mc-lead-grid.mc-lead-count-2 {
		grid-template-rows: auto;
	}

	.mc-lead-count-1 .mc-lead-primary,
	.mc-lead-count-2 .mc-lead-primary {
		grid-row: auto;
	}

	.mc-lead-secondary .mc-card-link {
		display: grid;
		grid-template-columns: minmax(130px, 42%) minmax(0, 1fr);
	}

	.mc-lead-secondary .mc-card-media {
		height: 100%;
		min-height: 0;
		aspect-ratio: auto;
	}

	.mc-lead-secondary .mc-card-body {
		align-self: center;
		padding: 13px;
	}

	.mc-lead-secondary .mc-card-title {
		display: block;
		overflow: visible;
		font-size: 1.02rem;
		-webkit-line-clamp: unset;
	}

	.mc-lead-secondary .mc-card-excerpt {
		display: none;
	}

	.mc-latest-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.mc-category-layout {
		grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.2fr);
	}

	.mc-footer-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.mc-footer-brand {
		grid-column: 1 / -1;
	}
}

@media (min-width: 1180px) {
	/* Rail appears only where there is width to spare. Below this the columns
	   stack, and a rail would just push stories further down. */
	.mc-home-columns {
		grid-template-columns: minmax(0, 1fr) 300px;
		gap: 24px;
		align-items: start;
	}

	.mc-home-rail {
		position: sticky;
		top: 80px;
	}

	.mc-article-main {
		padding-block: 48px 88px;
		background: #f3f4f5;
	}

	.mc-article-layout {
		grid-template-columns: minmax(0, 820px) minmax(280px, 320px);
		gap: 32px;
	}

	.mc-article-primary {
		max-width: 820px;
	}

	.mc-article-lead,
	.mc-article-body-card {
		background: var(--mc-surface);
		border: 1px solid #e1e4e7;
		border-radius: 16px;
		box-shadow: 0 8px 28px rgba(18, 20, 23, 0.045);
	}

	.mc-article-lead {
		padding: 34px 32px 24px;
	}

	.mc-article-header.mc-article-width {
		max-width: 756px;
	}

	.mc-article-header h1 {
		max-width: none;
		font-size: clamp(2.4rem, 2.15rem + 0.6vw, 2.75rem);
		font-weight: 700;
		letter-spacing: -0.025em;
		line-height: 1.1;
		text-wrap: balance;
	}

	.mc-article-deck {
		max-width: 58ch;
		margin-top: 16px;
		font-size: 1.25rem;
	}

	.mc-article-meta-row {
		margin-top: 24px;
		padding-top: 0;
		border-top: 0;
	}

	.mc-article-hero {
		margin-top: 18px;
	}

	/* Reading should start high on the page. At 16/9 this image was 424px tall
	   on a 754px column, pushing the first paragraph to y=978 — a third of a
	   screen of scrolling before a word of the story, where MSN reaches text at
	   about 650. A 21/9 crop keeps the photograph as the article's visual
	   identity and returns ~100px of that. Mobile keeps 16/9 full-bleed, where
	   the image is already short. */
	.mc-article-hero img {
		aspect-ratio: 21 / 9;
		border-radius: 12px;
	}

	.mc-article-body-card {
		margin-top: 10px;
		padding: 26px 0 46px;
	}

	.mc-article-width {
		max-width: 680px;
	}

	.mc-article-content {
		font-size: 1.1875rem;
		line-height: 1.68;
	}

	.mc-article-content h2,
	.mc-article-content h3,
	.mc-article-content h4 {
		font-weight: 700;
		text-wrap: balance;
	}

	.mc-article-toc,
	.mc-article-related {
		border-radius: 16px;
		box-shadow: 0 8px 28px rgba(18, 20, 23, 0.04);
	}

	.mc-article-toc summary {
		font-weight: 700;
	}

	.mc-article-toc a {
		font-weight: 600;
	}

	.mc-article-related {
		padding: 20px 20px 16px;
	}

	.mc-article-rail-header {
		margin-bottom: 0;
	}

	.mc-article-rail-header h2 {
		font-weight: 700;
	}

	.mc-article-related-list {
		gap: 0;
	}

	.mc-article-rail .mc-card {
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.mc-article-rail .mc-card + .mc-card {
		border-top: 1px solid #eceef0;
	}

	.mc-article-rail .mc-card:hover {
		box-shadow: none;
		transform: none;
	}

	.mc-article-rail .mc-card-compact .mc-card-link {
		grid-template-columns: 100px minmax(0, 1fr);
		align-items: center;
		min-height: 94px;
		gap: 12px;
		padding: 9px 0;
	}

	.mc-article-rail .mc-card-compact .mc-card-media {
		align-self: center;
		height: auto;
		min-height: 0;
		aspect-ratio: 4 / 3;
		border-radius: 8px;
	}

	.mc-article-rail .mc-card-compact .mc-card-body {
		min-width: 0;
		padding: 0;
		overflow: hidden;
	}

	.mc-article-rail .mc-card-compact .mc-card-meta {
		display: flex;
		gap: 0 7px;
		margin-bottom: 4px;
		font-size: 11px;
		line-height: 1.25;
	}

	.mc-article-rail .mc-card-compact .mc-card-meta time {
		display: inline;
		margin-top: 0;
	}

	.mc-article-rail .mc-card-compact .mc-card-category {
		font-weight: 700;
	}

	.mc-article-rail .mc-card-compact .mc-card-title {
		font-size: 0.9rem;
		font-weight: 650;
		letter-spacing: -0.015em;
		line-height: 1.28;
		text-wrap: pretty;
		-webkit-line-clamp: 2;
	}
}

@media (max-width: 1179px) {
	.mc-article-layout {
		grid-template-columns: minmax(0, 720px);
		row-gap: 40px;
	}

	.mc-article-header h1 {
		font-size: 1.875rem;
		line-height: 1.2667;
	}

	.mc-article-rail {
		width: 100%;
		max-width: 720px;
		margin: 0 auto;
		padding: 0;
	}

	.mc-article-toc-inline:not([hidden]) {
		display: block;
		width: 100%;
		max-width: 640px;
		margin: 28px auto 0;
	}

	.mc-article-toc-rail,
	.mc-article-rail-toc-only {
		display: none;
	}

	.mc-article-related {
		width: 100%;
		max-width: 720px;
		margin-inline: auto;
	}

	.mc-article-related-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}
}

@media (max-width: 1024px) {
	.mc-article-content h2,
	.mc-article-content h3,
	.mc-article-content h4 {
		scroll-margin-top: calc(144px + var(--wp-admin--admin-bar--height, 0px));
	}

	.mc-desktop-navigation {
		display: none;
	}

	.mc-topic-navigation {
		display: block;
	}

	.mc-search-panel {
		position: static;
		box-shadow: none;
	}

	.mc-topic-scroll {
		overflow-x: auto;
		overflow-y: hidden;
		scroll-padding-inline: 16px 48px;
		overscroll-behavior-inline: contain;
		touch-action: pan-x pan-y;
	}

	.mc-topic-navigation .sub-menu {
		display: none;
	}

	.mc-navigation-ready .mc-topic-navigation.is-scrollable {
		position: relative;
	}

	.mc-navigation-ready .mc-topic-navigation.is-scrollable::after {
		position: absolute;
		inset-block: 1px;
		inset-inline-end: 0;
		z-index: 2;
		display: grid;
		width: 42px;
		place-items: center;
		color: var(--mc-ink);
		font-size: 24px;
		font-weight: 700;
		background: linear-gradient(to right, rgba(255, 255, 255, 0), var(--mc-surface) 58%);
		content: "›";
		pointer-events: none;
		transition: opacity 140ms ease;
	}

	[dir="rtl"] .mc-navigation-ready .mc-topic-navigation.is-scrollable::after {
		background: linear-gradient(to left, rgba(255, 255, 255, 0), var(--mc-surface) 58%);
		content: "‹";
	}

	.mc-navigation-ready .mc-topic-navigation.is-scrollable.is-at-end::after {
		opacity: 0;
	}

	.mc-menu-toggle {
		display: inline-grid;
	}

	.mc-masthead-row {
		grid-template-columns: 44px 1fr auto;
		min-height: 76px;
		gap: 12px;
	}

	.mc-brand-image,
	.custom-logo {
		max-width: 205px;
		max-height: 57px;
	}

	.mc-masthead-row > .mc-brand {
		justify-content: center;
	}

	.mc-header-tools > .mc-language-switcher {
		display: none;
	}

	.mc-mobile-drawer {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 1002;
		display: block;
		width: min(88vw, 380px);
		padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));
		overflow-y: auto;
		background: var(--mc-surface);
		box-shadow: 12px 0 32px rgba(18, 20, 23, 0.2);
		transform: translateX(-105%);
		transition: transform 200ms ease;
	}

	.mc-mobile-drawer.is-open {
		transform: translateX(0);
	}

	.mc-nav-scrim {
		position: fixed;
		inset: 0;
		z-index: 1001;
		display: block;
		width: 100%;
		height: 100%;
		padding: 0;
		background: rgba(9, 12, 15, 0.5);
		border: 0;
		backdrop-filter: blur(2px);
	}

	.mc-nav-scrim[hidden] {
		display: none;
	}

	body.admin-bar .mc-mobile-drawer,
	body.admin-bar .mc-nav-scrim {
		top: var(--wp-admin--admin-bar--height, 32px);
	}

	.mc-drawer-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 48px;
		margin-bottom: 16px;
	}

	.mc-drawer-header strong {
		color: var(--mc-ink);
		font-size: 18px;
	}

	.mc-menu-close span[aria-hidden="true"] {
		font-size: 31px;
		font-weight: 300;
		line-height: 1;
	}

	.mc-drawer-list,
	.mc-mobile-drawer .mc-nav-list {
		display: block;
		min-width: 0;
		margin-top: 20px;
		padding-block: 8px;
		border-top: 1px solid var(--mc-border);
		border-bottom: 1px solid var(--mc-border);
	}

	.mc-drawer-list li,
	.mc-mobile-drawer .mc-nav-list li {
		display: block;
	}

	.mc-drawer-list a,
	.mc-mobile-drawer .mc-nav-list a {
		display: flex;
		align-items: center;
		min-height: 47px;
		padding: 7px 4px;
		color: var(--mc-body);
		font-weight: 680;
		text-decoration: none;
		border-bottom: 1px solid #f0f1f2;
	}

	.mc-drawer-list li:last-child > a,
	.mc-mobile-drawer .mc-nav-list li:last-child > a {
		border-bottom: 0;
	}

	.mc-drawer-list .sub-menu,
	.mc-mobile-drawer .mc-nav-list .sub-menu {
		position: static;
		min-width: 0;
		margin: 0 0 0 14px;
		padding: 0;
		visibility: visible;
		opacity: 1;
		box-shadow: none;
		border: 0;
		transform: none;
	}

	.mc-drawer-list .sub-menu a,
	.mc-mobile-drawer .mc-nav-list .sub-menu a {
		font-size: 14px;
		font-weight: 550;
	}

	.mc-drawer-languages {
		margin-top: 20px;
	}

	.mc-drawer-languages .mc-language-switcher ul {
		flex-wrap: wrap;
	}

	.mc-drawer-social {
		margin-top: 18px;
	}

	.mc-drawer-social .mc-social-links {
		flex-direction: row;
		gap: 14px;
		flex-wrap: wrap;
	}

	.mc-drawer-social .mc-social-links a {
		min-height: 44px;
	}

	.mc-lead-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto;
		min-height: 0;
	}

	.mc-lead-grid.mc-lead-count-1,
	.mc-lead-grid.mc-lead-count-2 {
		grid-template-columns: 1fr;
	}

	.mc-lead-primary {
		grid-column: 1 / -1;
		grid-row: auto;
	}

	.mc-lead-count-1 .mc-lead-primary,
	.mc-lead-count-2 .mc-lead-primary {
		grid-column: auto;
	}

	.mc-lead-secondary .mc-card-link {
		display: block;
	}

	.mc-lead-secondary .mc-card-media {
		height: auto;
		aspect-ratio: 16 / 9;
	}

	.mc-latest-grid,
	.mc-archive-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mc-category-layout {
		grid-template-columns: 1fr;
	}

	.mc-category-count-1 .mc-category-feature .mc-card-link {
		display: block;
	}

	.mc-category-count-1 .mc-category-feature .mc-card-media {
		height: auto;
	}

	.mc-category-supporting {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 900px) and (max-width: 1179px) {
	.mc-lead-grid {
		grid-template-columns: minmax(0, 3fr) minmax(300px, 2fr);
		grid-template-rows: repeat(2, minmax(0, 1fr));
		min-height: 420px;
	}

	.mc-lead-primary {
		grid-column: auto;
		grid-row: 1 / 3;
	}

	.mc-lead-secondary .mc-card-link {
		display: grid;
		grid-template-columns: minmax(130px, 42%) minmax(0, 1fr);
	}

	.mc-lead-secondary .mc-card-media {
		height: 100%;
		min-height: 0;
		aspect-ratio: auto;
	}

	.mc-lead-secondary .mc-card-body {
		align-self: center;
		padding: 13px;
	}

	.mc-lead-secondary .mc-card-title {
		font-size: 1.02rem;
	}

	.mc-lead-secondary .mc-card-excerpt {
		display: none;
	}
}

@media (max-width: 782px) {
	body.admin-bar .mc-mobile-drawer,
	body.admin-bar .mc-nav-scrim {
		top: var(--wp-admin--admin-bar--height, 46px);
	}
}

@media (max-width: 767px) {
	:root {
		--mc-gutter: 16px;
	}

	.mc-site-header {
		backdrop-filter: none;
	}

	.mc-masthead-row {
		min-height: 62px;
	}

	.mc-brand-image,
	.custom-logo {
		max-width: 162px;
		max-height: 46px;
	}

	.mc-topic-navigation .mc-shell {
		width: 100%;
		padding-inline: 8px;
	}

	.mc-nav-list > li > a {
		min-height: 46px;
		padding-inline: 12px;
		font-size: 14px;
	}

	.mc-home-main {
		padding-top: 20px;
	}

	.mc-lead-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto;
		min-height: 0;
	}

	.mc-lead-grid.mc-lead-count-1,
	.mc-lead-grid.mc-lead-count-2 {
		grid-template-columns: 1fr;
	}

	.mc-lead-count-1 .mc-lead-primary,
	.mc-lead-count-2 .mc-lead-primary {
		grid-column: auto;
	}

	.mc-lead-primary {
		grid-column: 1 / -1;
		grid-row: auto;
	}

	.mc-card-featured {
		min-height: 0;
	}

	.mc-card-featured .mc-card-link {
		display: block;
	}

	.mc-card-featured .mc-card-media {
		height: auto;
		aspect-ratio: 16 / 9;
	}

	.mc-featured-overlay {
		position: static;
		padding: 17px;
		background: var(--mc-surface);
	}

	/*
	 * At this breakpoint the overlay stops sitting on top of the photo and
	 * becomes a solid panel beneath it, so the text is dark on a light surface.
	 * The scrim text-shadow exists only to keep white text legible over an
	 * image; leaving it here would put a dark halo behind dark text and reduce
	 * contrast rather than improve it.
	 */
	.mc-card-featured .mc-card-meta,
	.mc-card-featured .mc-card-title,
	.mc-card-featured .mc-card-category {
		text-shadow: none;
	}

	.mc-card-featured .mc-card-meta {
		color: var(--mc-muted);
	}

	.mc-card-featured .mc-card-category {
		color: var(--mc-red-dark);
	}

	.mc-card-featured .mc-card-title {
		max-width: none;
		color: var(--mc-ink);
		font-size: clamp(1.65rem, 1.35rem + 1.2vw, 2rem);
		line-height: 1.12;
		text-shadow: none;
	}

	.mc-lead-secondary .mc-card-link {
		display: block;
	}

	.mc-lead-secondary .mc-card-media {
		height: auto;
		aspect-ratio: 16 / 9;
	}

	.mc-lead-secondary .mc-card-title {
		font-size: 1.04rem;
	}

	.mc-home-section {
		margin-top: 36px;
	}

	.mc-section-header {
		margin-bottom: 14px;
		padding-bottom: 10px;
	}

	.mc-section-header h2 {
		font-size: 1.55rem;
	}

	.mc-card:hover {
		box-shadow: none;
		transform: none;
	}

	.mc-listing-main,
	.mc-page-main,
	.mc-error-main {
		padding-block: 32px 52px;
	}

	.mc-article-main {
		padding-block: 0 48px;
		background: var(--mc-surface);
	}

	.mc-article-shell {
		width: 100%;
	}

	.mc-article-lead {
		padding: 24px 16px 0;
	}

	.mc-article-header {
		max-width: none;
	}

	.mc-article-header .mc-breadcrumbs {
		margin-bottom: 18px;
		font-size: 12px;
	}

	.mc-article-category {
		margin-bottom: 12px;
	}

	.mc-article-header h1 {
		font-size: 1.625rem;
		letter-spacing: -0.025em;
		line-height: 1.25;
	}

	.mc-article-deck {
		margin-top: 14px;
		font-size: 1.125rem;
		line-height: 1.45;
	}

	.mc-article-meta-row {
		align-items: flex-start;
		flex-direction: column;
		gap: 14px;
		margin-top: 16px;
		padding-top: 0;
	}

	.mc-article-byline {
		align-items: flex-start;
		gap: 11px;
	}

	.mc-article-author-avatar {
		flex-basis: 42px;
	}

	.mc-article-author-avatar img {
		width: 42px;
		height: 42px;
	}

	.mc-article-timing > * + *::before {
		margin-inline: 6px;
	}

	.mc-article-timing-updated {
		align-items: flex-start;
		flex-direction: column;
		gap: 1px;
	}

	.mc-article-timing-updated > * + *::before {
		display: none;
	}

	.mc-article-action {
		min-height: 44px;
		padding-inline: 14px;
	}

	.mc-article-hero {
		width: calc(100% + 32px);
		margin: 24px -16px 0;
	}

	.mc-article-hero img {
		border-radius: 0;
	}

	.mc-article-hero figcaption {
		width: auto;
		margin-inline: 16px;
	}

	.mc-article-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.mc-article-primary {
		max-width: none;
	}

	.mc-article-body-card {
		margin-top: 24px;
		padding: 0 16px 40px;
	}

	.mc-article-comments-card {
		margin: 0 16px;
		padding: 32px 0 38px;
	}

	.mc-article-content {
		font-size: 1.0625rem;
		line-height: 1.647;
	}

	.mc-article-content h2,
	.mc-article-content h3,
	.mc-article-content h4 {
		scroll-margin-top: calc(128px + var(--wp-admin--admin-bar--height, 0px));
	}

	.mc-article-rail {
		max-width: none;
		gap: 0;
		margin: 40px 0 0;
	}

	.mc-article-toc-inline:not([hidden]) {
		width: auto;
		max-width: none;
		margin: 24px 16px 0;
	}

	.mc-article-toc,
	.mc-article-related {
		border-inline: 0;
		border-radius: 0;
	}

	.mc-article-related {
		padding: 24px 16px;
	}

	.mc-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px 24px;
		padding-block: 40px 34px;
	}

	.mc-footer-brand,
	.mc-footer-follow,
	.mc-footer-newsletter {
		grid-column: 1 / -1;
	}

	.mc-footer-brand .mc-brand-image,
	.mc-footer-brand .custom-logo {
		max-width: 190px;
	}

	.mc-footer-heading {
		margin-bottom: 12px;
	}

	.mc-footer-links,
	.mc-social-links {
		gap: 5px;
	}

	.mc-footer-follow .mc-social-links {
		flex-direction: row;
		gap: 10px 20px;
		flex-wrap: wrap;
	}

	.mc-footer-follow .mc-social-links a {
		min-height: 44px;
	}

	.mc-footer-links a,
	.mc-footer-legal a {
		min-height: 44px;
	}

	.mc-footer-bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
		padding-block: 18px 24px;
	}
}

@media (max-width: 599px) {
	.mc-lead-grid,
	.mc-lead-grid.mc-lead-count-1,
	.mc-lead-grid.mc-lead-count-2,
	.mc-latest-grid,
	.mc-archive-grid,
	.mc-category-supporting {
		grid-template-columns: 1fr;
	}

	.mc-latest-grid .mc-card-standard .mc-card-link,
	.mc-archive-grid .mc-card-standard .mc-card-link {
		display: grid;
		grid-template-columns: 112px minmax(0, 1fr);
		align-items: stretch;
	}

	.mc-latest-grid .mc-card-standard .mc-card-media,
	.mc-archive-grid .mc-card-standard .mc-card-media {
		height: 100%;
		min-height: 96px;
		aspect-ratio: auto;
	}

	.mc-latest-grid .mc-card-standard .mc-card-body,
	.mc-archive-grid .mc-card-standard .mc-card-body {
		align-self: center;
		padding: 12px;
	}

	.mc-latest-grid .mc-card-standard .mc-card-title,
	.mc-archive-grid .mc-card-standard .mc-card-title {
		font-size: 1rem;
		-webkit-line-clamp: 3;
	}

	.mc-latest-grid .mc-card-standard .mc-card-excerpt,
	.mc-archive-grid .mc-card-standard .mc-card-excerpt {
		display: none;
	}

	.mc-card-compact .mc-card-link {
		grid-template-columns: 112px minmax(0, 1fr);
	}

	.mc-card-compact .mc-card-media {
		min-height: 96px;
	}

	.mc-card-compact .mc-card-meta time {
		display: none;
	}

	.mc-article-related-list {
		grid-template-columns: 1fr;
	}

	.mc-empty-state,
	.mc-error-card {
		padding: 32px 20px;
	}

	.post-navigation .nav-links {
		grid-template-columns: 1fr;
	}

	.nav-next {
		grid-column: auto;
		text-align: left;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* Monetization layout: high-viewability units without editorial obstruction. */
.mc-ad-slot {
	position: relative;
	flex-direction: column;
	gap: 8px;
}

.mc-ad-label {
	display: block;
	color: #737b83;
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	line-height: 1;
	text-transform: uppercase;
}

.mc-ad-slot-placeholder {
	position: relative;
	background:
		linear-gradient(135deg, rgba(226, 31, 47, 0.025), transparent 42%),
		#fafbfc;
	color: #6c747c;
	border: 1px solid #dde1e5;
	border-radius: 10px;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.8);
}

.mc-ad-slot-placeholder::before {
	display: grid;
	width: 30px;
	height: 22px;
	margin-bottom: 7px;
	place-items: center;
	background: #eceff2;
	color: #717981;
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	border-radius: 4px;
	content: "AD";
}

.mc-ad-slot-placeholder-title {
	color: #555e66;
	font-size: 0.75rem;
	font-weight: 750;
}

.mc-ad-slot-placeholder-meta {
	max-width: 58ch;
	color: #78818a;
	line-height: 1.45;
}

.mc-ad-slot--in-content {
	margin-block: 44px;
	padding-block: 26px;
	border-block: 1px solid var(--mc-border);
}

.mc-ad-slot--leaderboard,
.mc-ad-slot--archive,
.mc-ad-slot--end {
	padding: 18px;
	background: #f7f8f9;
	border: 1px solid #eceef0;
	border-radius: 12px;
}

.mc-ad-slot--sidebar {
	align-self: start;
	width: 100%;
	margin: 0;
	background: #f7f8f9;
	border: 1px solid #eceef0;
	border-radius: 12px;
}

/* At 1025–1179px the article rail becomes a below-content module, so a tall
   300x600 unit is neither a sidebar nor sufficiently viewable. */
@media (min-width: 1025px) and (max-width: 1179px) {
	.mc-ad-slot--sidebar {
		display: none;
		min-height: 0;
	}
}

/* Sticky is reserved for the true desktop rail and only when the viewport can
   contain a 600px unit plus the fixed header and breathing room. */
@media (min-width: 1180px) and (min-height: 760px) {
	.mc-article-rail {
		align-self: stretch;
	}

	.mc-ad-slot--sidebar.mc-ad-slot--sticky {
		position: sticky;
		top: calc(88px + var(--wp-admin--admin-bar--height, 0px));
	}
}

@media (max-width: 767px) {
	.mc-ad-slot {
		margin-block: 28px;
	}

	.mc-ad-slot--in-content {
		margin-block: 34px;
		padding-block: 22px;
	}

	.mc-ad-slot--leaderboard {
		min-height: var(--mc-ad-reserved-mobile, 100px);
		padding: 10px;
	}

	.mc-ad-slot--archive,
	.mc-ad-slot--end {
		margin-inline: 0;
		padding-inline: 10px;
	}

	.mc-ad-slot-placeholder-meta {
		max-width: 32ch;
		font-size: 0.625rem;
	}
}

@media print {
	.mc-site-header,
	.mc-site-footer,
	.mc-comments,
	.mc-article-comments-card,
	.mc-article-rail,
	.mc-article-toc,
	.mc-article-actions,
	.post-navigation,
	.mc-breadcrumbs {
		display: none !important;
	}

	body,
	.mc-article-main {
		background: #fff;
		color: #000;
	}

	.mc-article-main {
		padding: 0;
	}

	.mc-article-layout {
		display: block;
		width: 100%;
	}

	.mc-article-primary {
		max-width: none;
	}

	.mc-article-lead,
	.mc-article-body-card {
		padding: 0;
		border: 0;
		box-shadow: none;
	}

	.mc-article-hero {
		width: 100%;
		margin: 24px 0 0;
	}

	.mc-article-width {
		width: 100%;
		max-width: none;
	}
}

/* Monetization: ad slots, reserved space prevents layout shift. */
.mc-ad-slot {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 32px auto;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: var(--mc-ad-reserved-mobile, 250px);
}

@media (min-width: 1025px) {
	.mc-ad-slot {
		min-height: var(--mc-ad-reserved-desktop, 250px);
	}
}

.mc-ad-slot--desktop-only {
	display: none;
}

@media (min-width: 1025px) {
	.mc-ad-slot--desktop-only {
		display: flex;
	}
}

.mc-ad-slot--sidebar {
	margin: 24px 0;
}

.mc-ad-slot-placeholder {
	width: 100%;
	height: 100%;
	min-height: inherit;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	text-align: center;
	padding: 16px;
	border: 1px dashed color-mix(in srgb, currentColor 25%, transparent);
	border-radius: 8px;
	background: color-mix(in srgb, currentColor 4%, transparent);
	/* 55% left the placeholder text at ~3.2:1, below the 4.5:1 minimum. 78%
	   keeps it visibly subdued while meeting WCAG AA. */
	color: color-mix(in srgb, currentColor 78%, transparent);
}

.mc-ad-slot-placeholder-title {
	font-size: 13px;
	font-weight: 600;
	margin: 0;
}

.mc-ad-slot-placeholder-meta {
	font-size: 11px;
	margin: 0;
	/* No additional opacity: it compounds with the container's colour-mix and
	   pushed this 11px text below the contrast minimum. */
}

/* Newsletter capture
   The module is a compact, centred, visually subordinate card — it must never
   stretch across the full content shell or leave a tall blank band before the
   footer. The same restrained card is used for the capturing form and for the
   non-capturing coming-soon state. */
.mc-newsletter {
	margin: 24px auto 16px;
	padding: 20px 24px;
	border-radius: 10px;
	background: var(--mc-surface-muted, #f5f5f5);
	max-width: 640px;
}

.mc-newsletter-title {
	margin: 0 0 4px;
	font-weight: 700;
	font-size: 17px;
	letter-spacing: -0.015em;
}

.mc-newsletter-description {
	margin: 0 0 14px;
	font-size: 13.5px;
	opacity: 0.8;
	line-height: 1.5;
}

/* The coming-soon card carries no controls, so its description is the last
   element; drop the trailing gap that exists only to separate it from them. */
.mc-newsletter--coming-soon .mc-newsletter-description {
	margin-bottom: 0;
}

.mc-newsletter-fields {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: stretch;
	max-width: 480px;
}

.mc-newsletter-input {
	flex: 1 1 200px;
	min-width: 0;
	min-height: 48px;
	padding: 11px 14px;
	border-radius: 6px;
	border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
	font-size: 15px;
	line-height: 1.3;
	box-sizing: border-box;
}

.mc-newsletter-submit {
	flex: 0 0 auto;
	min-height: 48px;
	padding: 11px 22px;
	border-radius: 6px;
	border: none;
	font-weight: 700;
	font-size: 14px;
	color: #fff;
	background: var(--mc-red, #e21f2f);
	cursor: pointer;
	box-sizing: border-box;
	white-space: nowrap;
}

.mc-newsletter-submit:hover,
.mc-newsletter-submit:focus-visible {
	background: var(--mc-red-dark, #b5121f);
}

.mc-newsletter-submit:disabled {
	opacity: 0.6;
	cursor: default;
}

.mc-newsletter-consent {
	margin: 10px 0 0;
	font-size: 11.5px;
	line-height: 1.5;
	/* A blanket opacity dimmed the privacy-policy link below the 4.5:1 minimum.
	   The subdued look is kept with an explicit accessible colour instead. */
	color: var(--mc-text-muted, #5b6166);
}

.mc-newsletter-consent a {
	color: var(--mc-red-dark, #b91624);
}

/* The status node is a permanent live region, so it stays in the accessibility
   tree rather than being display:none. While empty it must contribute no
   height and no margin; it takes space only once it carries a real message. */
.mc-newsletter-status {
	margin: 0;
	font-size: 13px;
}

.mc-newsletter-status:not(:empty) {
	margin-top: 8px;
}

.mc-newsletter-status--error {
	color: #b3261e;
}

.mc-newsletter-status--success {
	color: #146c2e;
}

.mc-newsletter-status--duplicate {
	color: #8a6d00;
}

/* Tablet: keep the control row horizontal while space allows. */
@media (min-width: 600px) and (max-width: 899px) {
	.mc-newsletter-fields {
		max-width: 480px;
	}

	.mc-newsletter-input {
		flex: 1 1 calc(100% - 150px);
	}

	.mc-newsletter-submit {
		flex: 0 0 140px;
	}
}

@media (max-width: 599px) {
	.mc-newsletter {
		padding: 18px 20px;
		border-radius: 8px;
		margin: 18px auto 12px;
	}

	.mc-newsletter-title {
		font-size: 16.5px;
	}

	.mc-newsletter-description {
		font-size: 13px;
		margin-bottom: 12px;
	}

	.mc-newsletter-fields {
		flex-direction: column;
		align-items: stretch;
		max-width: 100%;
		gap: 10px;
	}

	/* Prevent the column flex-basis from becoming the control height, and make
	   both controls full-width with comfortable touch heights. */
	.mc-newsletter-input {
		flex: 0 0 auto;
		width: 100%;
		min-height: 48px;
		font-size: 16px; /* 16px prevents iOS focus zoom */
	}

	.mc-newsletter-submit {
		flex: 0 0 auto;
		width: 100%;
		min-height: 48px;
		font-size: 15px;
	}

	.mc-newsletter-consent {
		margin-top: 8px;
		font-size: 11px;
	}
}

/* Disclosures and commercial CTA */
.mc-disclosure {
	margin: 16px 0;
	padding: 10px 14px;
	border-left: 3px solid currentColor;
	font-size: 13px;
	opacity: 0.85;
	background: color-mix(in srgb, currentColor 5%, transparent);
}

.mc-commercial-cta {
	margin: 24px 0;
	padding: 16px;
	border-radius: 8px;
	background: var(--mc-surface-muted, #f5f5f5);
	text-align: center;
}

.mc-commercial-cta p {
	margin: 0 0 8px;
	font-size: 14px;
}

.mc-commercial-cta-link {
	display: inline-block;
	font-weight: 600;
}

/* Restrained "report a correction" CTA that replaces the comment form. */
.mc-correction-cta {
	margin: 32px 0 8px;
	padding-top: 20px;
	border-top: 1px solid var(--mc-border, #e2e5e8);
	text-align: center;
}

.mc-correction-cta-link {
	display: inline-block;
	font-size: 14px;
	font-weight: 600;
	/* The brand red reaches only 4.27:1 on this block's tinted background; the
	   darker brand red reaches 5.8:1. Same colour family, AA compliant. */
	color: var(--mc-red-dark, #b91624);
	text-decoration: none;
}

.mc-correction-cta-link:hover,
.mc-correction-cta-link:focus-visible {
	text-decoration: underline;
}

/* Morsilla Core 0.3.2 — editorial UI refinement */
:root {
	--mc-shadow-card: 0 12px 34px rgba(18, 20, 23, 0.065);
	--mc-shadow-panel: 0 24px 60px rgba(18, 20, 23, 0.09);
}

.mc-card {
	box-shadow: 0 1px 2px rgba(18, 20, 23, 0.025);
}

.mc-card:hover {
	box-shadow: var(--mc-shadow-card);
}

.mc-section-header h2 {
	display: flex;
	align-items: center;
	gap: 10px;
}

.mc-section-header h2::before {
	flex: 0 0 auto;
	width: 4px;
	height: 1.05em;
	background: var(--mc-red);
	border-radius: 99px;
	content: "";
}

.mc-page-main {
	background:
		linear-gradient(180deg, rgba(242, 244, 246, 0.9), rgba(255, 255, 255, 0) 260px),
		var(--mc-surface);
}

.mc-static-page {
	width: min(calc(100% - (var(--mc-gutter) * 2)), 820px);
	max-width: 820px;
	padding: 46px 56px 58px;
	background: var(--mc-surface);
	border: 1px solid var(--mc-border);
	border-radius: 16px;
	box-shadow: var(--mc-shadow-panel);
}

.mc-static-page > .mc-breadcrumbs {
	margin-bottom: 24px;
}

.mc-static-page .mc-page-header {
	margin-bottom: 28px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--mc-border);
}

.mc-static-page .mc-page-header h1 {
	max-width: 18ch;
	margin: 0;
	font-size: clamp(2.15rem, 1.75rem + 1.25vw, 3.1rem);
	letter-spacing: -0.04em;
	line-height: 1.06;
	text-wrap: balance;
}

.mc-static-page .mc-article-content {
	color: #343a40;
	font-size: 1.0625rem;
	line-height: 1.72;
}

.mc-static-page .mc-article-content h2 {
	position: relative;
	padding-left: 16px;
}

.mc-static-page .mc-article-content h2::before {
	position: absolute;
	top: 0.12em;
	bottom: 0.12em;
	left: 0;
	width: 3px;
	background: var(--mc-red);
	border-radius: 99px;
	content: "";
}

.mc-static-page .mc-article-content > :last-child {
	margin-bottom: 0;
}

.mc-page-eyebrow {
	margin: 0 0 12px;
	color: var(--mc-red);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.mc-search-hub,
.mc-sitemap-page {
	width: min(calc(100% - (var(--mc-gutter) * 2)), 1120px);
	max-width: 1120px;
}

.mc-search-hub-panel {
	display: grid;
	grid-template-columns: minmax(0, 0.88fr) minmax(360px, 1fr);
	align-items: center;
	gap: 48px;
	padding: 48px;
	overflow: hidden;
	background:
		radial-gradient(circle at 10% 0, rgba(226, 31, 47, 0.26), transparent 42%),
		linear-gradient(135deg, #16191d, #252a30);
	color: #d8dde2;
	border-radius: 14px;
}

.mc-search-hub-copy h2,
.mc-sitemap-intro h2 {
	margin-bottom: 14px;
	color: #fff;
	font-size: clamp(1.7rem, 1.35rem + 1vw, 2.35rem);
	line-height: 1.12;
	text-wrap: balance;
}

.mc-search-hub-copy > :last-child,
.mc-sitemap-intro > div > :last-child {
	margin-bottom: 0;
}

.mc-search-hub-form {
	padding: 28px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2);
}

.mc-search-hub-form .mc-search-field {
	height: 52px;
}

.mc-search-hub-form .mc-search-submit {
	min-height: 52px;
}

.mc-search-hub-form > p {
	margin: 10px 0 0;
	color: var(--mc-muted);
	font-size: 0.8125rem;
	line-height: 1.45;
}

.mc-search-topics {
	margin-top: 40px;
}

.mc-search-topics > h2 {
	margin-bottom: 16px;
	font-size: 1.2rem;
}

.mc-search-topic-list,
.mc-search-topics > ul {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mc-search-topic-list a,
.mc-search-topics > ul a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 64px;
	padding: 16px 18px;
	background: #f7f8f9;
	color: var(--mc-ink);
	font-weight: 750;
	line-height: 1.2;
	text-decoration: none;
	border: 1px solid var(--mc-border);
	border-radius: 10px;
	transition: background-color 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.mc-search-topic-list a::after,
.mc-search-topics > ul a::after {
	color: var(--mc-red);
	font-size: 1.2em;
	content: "›";
}

.mc-search-topic-list a:hover,
.mc-search-topics > ul a:hover {
	background: #fff;
	color: var(--mc-red-dark);
	border-color: var(--mc-border-strong);
	transform: translateY(-1px);
}

.mc-sitemap-intro {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 40px;
	padding: 40px 42px;
	background:
		radial-gradient(circle at 90% 10%, rgba(226, 31, 47, 0.3), transparent 40%),
		linear-gradient(135deg, #14171a, #292e34);
	color: #d8dde2;
	border-radius: 14px;
}

.mc-sitemap-intro > div:first-child {
	max-width: 660px;
}

.mc-sitemap-stats {
	display: flex;
	flex: 0 0 auto;
	gap: 10px;
}

.mc-sitemap-stats span {
	display: grid;
	min-width: 104px;
	padding: 15px 17px;
	color: #c9ced4;
	font-size: 0.75rem;
	line-height: 1.25;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 10px;
}

.mc-sitemap-stats strong {
	margin-bottom: 3px;
	color: #fff;
	font-size: 1.5rem;
	line-height: 1;
}

.mc-sitemap-filter {
	position: sticky;
	top: calc(66px + var(--wp-admin--admin-bar--height, 0px));
	z-index: 5;
	margin: 24px 0;
	padding: 18px 20px;
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid var(--mc-border);
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(18, 20, 23, 0.07);
	backdrop-filter: blur(12px);
}

.mc-sitemap-filter label {
	display: block;
	margin-bottom: 8px;
	color: var(--mc-ink);
	font-size: 0.8125rem;
	font-weight: 750;
}

.mc-sitemap-filter input {
	width: 100%;
	height: 48px;
	padding: 0 14px;
	background: #fff;
	color: var(--mc-ink);
	border: 1px solid var(--mc-border-strong);
	border-radius: 8px;
}

.mc-sitemap-filter-status {
	margin: 8px 0 0;
	color: var(--mc-muted);
	font-size: 0.75rem;
	line-height: 1.35;
}

.mc-sitemap-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 16px;
}

.mc-sitemap-group {
	overflow: clip;
	background: #fff;
	border: 1px solid var(--mc-border);
	border-radius: 12px;
	box-shadow: 0 2px 8px rgba(18, 20, 23, 0.035);
}

.mc-sitemap-group[hidden],
.mc-sitemap-group li[hidden] {
	display: none !important;
}

.mc-sitemap-group summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 62px;
	padding: 16px 18px;
	color: var(--mc-ink);
	font-weight: 780;
	line-height: 1.25;
	cursor: pointer;
	list-style: none;
}

.mc-sitemap-group summary::-webkit-details-marker {
	display: none;
}

.mc-sitemap-group summary::before {
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	border-right: 2px solid var(--mc-red);
	border-bottom: 2px solid var(--mc-red);
	content: "";
	transform: rotate(-45deg);
	transition: transform 140ms ease;
}

.mc-sitemap-group[open] summary::before {
	transform: rotate(45deg);
}

.mc-sitemap-group summary span {
	flex: 1 1 auto;
}

.mc-sitemap-group summary small {
	display: inline-grid;
	min-width: 30px;
	height: 28px;
	place-items: center;
	padding-inline: 7px;
	background: #f2f3f5;
	color: var(--mc-muted);
	font-size: 0.75rem;
	border-radius: 999px;
}

.mc-sitemap-group[open] summary {
	border-bottom: 1px solid var(--mc-border);
}

.mc-sitemap-group ul {
	margin: 0;
	padding: 8px 18px 14px 44px;
	list-style: none;
}

.mc-sitemap-group li {
	border-bottom: 1px solid #eef0f2;
}

.mc-sitemap-group li:last-child {
	border-bottom: 0;
}

.mc-sitemap-group a {
	display: block;
	padding: 10px 0;
	color: #3e464d;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
}

.mc-sitemap-group a:hover {
	color: var(--mc-red-dark);
}

@media (max-width: 1024px) {
	.mc-site-header,
	.mc-topic-navigation {
		transition: box-shadow 180ms ease, max-height 180ms ease, opacity 140ms ease, border-color 180ms ease;
	}

	.mc-topic-navigation {
		max-height: 49px;
		overflow: hidden;
	}

	.mc-topic-scroll {
		scroll-snap-type: x proximity;
	}

	.mc-topic-scroll li {
		scroll-snap-align: start;
	}

	.mc-site-header.is-condensed {
		box-shadow: 0 8px 24px rgba(18, 20, 23, 0.12);
	}

	.mc-site-header.is-condensed .mc-topic-navigation {
		max-height: 0;
		opacity: 0;
		border-color: transparent;
		pointer-events: none;
	}

	.mc-navigation-ready .mc-topic-navigation.is-scrollable::after {
		width: 52px;
		color: var(--mc-red-dark);
		background: linear-gradient(to right, rgba(255, 255, 255, 0), var(--mc-surface) 52%);
	}

	.mc-search-hub-panel {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.mc-search-topic-list,
	.mc-search-topics > ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mc-sitemap-intro {
		align-items: start;
		flex-direction: column;
	}

	.mc-sitemap-filter {
		top: calc(78px + var(--wp-admin--admin-bar--height, 0px));
	}
}

@media (max-width: 767px) {
	.mc-card {
		box-shadow: 0 1px 3px rgba(18, 20, 23, 0.04);
	}

	.mc-page-main {
		padding-block: 20px 48px;
	}

	.mc-static-page,
	.mc-search-hub,
	.mc-sitemap-page {
		width: calc(100% - 32px);
		padding: 27px 22px 34px;
		border-radius: 14px;
	}

	.mc-static-page > .mc-breadcrumbs {
		margin-bottom: 20px;
	}

	.mc-static-page .mc-page-header {
		margin-bottom: 23px;
		padding-bottom: 20px;
	}

	.mc-static-page .mc-page-header h1 {
		font-size: clamp(2rem, 1.65rem + 1.8vw, 2.35rem);
		line-height: 1.08;
	}

	.mc-static-page .mc-article-content {
		font-size: 1rem;
		line-height: 1.68;
	}

	.mc-article-content h2,
	.mc-article-content h3,
	.mc-article-content h4 {
		scroll-margin-top: calc(84px + var(--wp-admin--admin-bar--height, 0px));
	}

	.mc-search-hub-panel,
	.mc-sitemap-intro {
		margin-inline: -6px;
		padding: 30px 24px;
		border-radius: 12px;
	}

	.mc-search-hub-form {
		padding: 20px;
	}

	.mc-search-hub-form .mc-search-form {
		flex-direction: column;
		gap: 10px;
	}

	.mc-search-hub-form .mc-search-field,
	.mc-search-hub-form .mc-search-submit {
		width: 100%;
		border: 1px solid var(--mc-border-strong);
		border-radius: 7px;
	}

	.mc-search-hub-form .mc-search-submit {
		border-color: var(--mc-red);
	}

	.mc-search-topic-list,
	.mc-search-topics > ul,
	.mc-sitemap-grid {
		grid-template-columns: 1fr;
	}

	.mc-search-topic-list a,
	.mc-search-topics > ul a {
		min-height: 56px;
	}

	.mc-sitemap-stats {
		width: 100%;
	}

	.mc-sitemap-stats span {
		flex: 1 1 0;
		min-width: 0;
	}

	.mc-sitemap-filter {
		top: calc(66px + var(--wp-admin--admin-bar--height, 0px));
		margin: 18px -6px;
		padding: 14px;
		border-radius: 10px;
	}

	.mc-sitemap-group summary {
		min-height: 58px;
		padding: 14px 16px;
	}

	.mc-sitemap-group ul {
		padding-inline: 40px 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mc-site-header,
	.mc-topic-navigation,
	.mc-card,
	.mc-card-image,
	.mc-search-topic-list a,
	.mc-sitemap-group summary::before {
		transition: none;
	}
}
