/*
Theme Name: CamsNerd Hub
Theme URI: https://camsnerd.com/
Author: CamsNerd.com
Author URI: https://camsnerd.com/
Description: Magazine platform-hub theme for CamsNerd.com.
Version: 0.3.8
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: camsnerd-hub
Tags: full-site-editing, block-patterns, block-styles, custom-colors, custom-menu, featured-images, translation-ready
*/

/*
 * Magazine desk chrome. Original. Black / yellow / white.
 * No glass, no gradients, no neon, no tube thumbs, no sticky 18+ bar.
 */

:root {
	--cn-paper: #ffffff;
	--cn-paper-deep: #ffffff;
	--cn-rule: #e5e5e5;
	--cn-rule-on-ink: #2a2a2a;
	--cn-ink: #111111;
	--cn-ink-secondary: #5a5a5a;
	--cn-ink-muted: #5a5a5a;
	--cn-yellow: #ffd200;
	--cn-teal: #ffd200;
	--cn-teal-hover: #111111;
	--cn-black: #000000;
	--cn-paper-on-ink: #ffffff;
	--cn-muted-on-ink: #b3b3b3;
	--cn-gap: 24px;
	--cn-well: 1520px;
	--cn-prose: 72ch;
}

/* --- Header: full-bleed black bar, wordmark + category nav --- */

.cn-header {
	background: var(--cn-ink);
	color: var(--cn-paper-on-ink);
	border-bottom: 3px solid var(--cn-yellow);
}

/* Full-bleed bar; inner row matches the 1520 article well even if a saved
   template part dropped the constrained layout. */
.cn-header > .wp-block-group,
.cn-footer > .wp-block-group,
.cn-footer > .cn-fineprint {
	max-width: var(--cn-well);
	margin-inline: auto;
	width: 100%;
	box-sizing: border-box;
}

.cn-header .cn-wordmark,
.cn-header .cn-wordmark.wp-block-site-title,
.cn-header .wp-block-site-title {
	margin: 0;
	font-family: "Source Serif 4", "Source Serif Pro", Georgia, "Times New Roman", serif;
	font-size: 1.25rem;
	font-weight: 700;
	font-style: normal;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}

.cn-header .cn-wordmark a,
.cn-header .cn-wordmark.wp-block-site-title a,
.cn-header .wp-block-site-title a,
.cn-header .wp-block-site-title a:hover,
.cn-header .wp-block-site-title a:focus {
	color: var(--cn-paper-on-ink);
	text-decoration: none;
	background: transparent;
}

.cn-nav,
.cn-header .cn-nav,
.cn-header .wp-block-navigation {
	gap: 0 22px;
}

.cn-header .cn-nav a,
.cn-header .wp-block-navigation-item a,
.cn-header .wp-block-navigation-item__content {
	color: var(--cn-paper-on-ink);
	font-family: "Source Sans 3", "Source Sans Pro", system-ui, sans-serif;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	background: transparent;
}

.cn-header .cn-nav a:hover,
.cn-header .cn-nav a:focus,
.cn-header .wp-block-navigation-item a:hover,
.cn-header .wp-block-navigation-item a:focus,
.cn-header .wp-block-navigation-item__content:hover,
.cn-header .wp-block-navigation-item__content:focus {
	color: var(--cn-yellow);
	text-decoration: none;
	background: transparent;
}

.cn-header .wp-block-navigation__responsive-container-open,
.cn-header .wp-block-navigation__responsive-container-close {
	color: var(--cn-paper-on-ink);
}

.cn-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--cn-ink);
	color: var(--cn-paper-on-ink);
}

.cn-header .wp-block-navigation__responsive-container.is-menu-open a:hover,
.cn-header .wp-block-navigation__responsive-container.is-menu-open a:focus {
	color: var(--cn-yellow);
}

/* --- Now strip: yellow utility bar --- */

.cn-now {
	background: var(--cn-yellow);
	color: var(--cn-ink);
	border-bottom: 0;
}

.cn-now__kicker,
.cn-kicker {
	margin: 0 0 8px;
	font-family: "Source Sans 3", "Source Sans Pro", system-ui, sans-serif;
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--cn-ink);
}

.cn-kicker {
	display: inline-block;
	background: var(--cn-yellow);
	padding: 3px 8px;
	margin: 0 0 12px;
}

.cn-now .cn-now__kicker {
	margin: 0 16px 0 0;
	white-space: nowrap;
	background: transparent;
	padding: 0;
	font-weight: 800;
}

.cn-now__deck {
	margin: 0;
	color: var(--cn-ink);
	font-size: 0.8125rem;
	line-height: 1.4;
	font-weight: 600;
}

/* --- Featured mosaic: large lead + stacked rail --- */

.cn-mosaic {
	margin: 0;
	border-bottom: 1px solid var(--cn-rule);
	background: var(--cn-paper);
}

.cn-mosaic.wp-block-columns {
	gap: 0;
	align-items: stretch;
}

.cn-mosaic .wp-block-column {
	margin: 0;
}

.cn-mosaic__lead {
	padding: 40px 40px 40px 0;
	border-right: 1px solid var(--cn-rule);
	background: var(--cn-paper);
}

.cn-mosaic__lead h1,
.cn-mosaic__lead .cn-mosaic__headline {
	margin: 0 0 16px;
	max-width: 16ch;
	font-family: "Source Serif 4", "Source Serif Pro", Georgia, serif;
	font-size: clamp(2.35rem, 4.6vw, 4rem);
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -0.03em;
	color: var(--cn-ink);
}

.cn-mosaic__deck {
	margin: 0;
	max-width: 38rem;
	color: var(--cn-ink-secondary);
	font-size: 1.0625rem;
	line-height: 1.5;
}

.cn-mosaic__rail {
	padding: 0;
	display: flex;
	flex-direction: column;
}

.cn-chip {
	flex: 1 1 auto;
	padding: 20px 24px;
	border-bottom: 2px solid var(--cn-ink);
	background: var(--cn-yellow);
	color: var(--cn-ink);
}

.cn-chip:last-child {
	border-bottom: 0;
}

.cn-chip .cn-kicker {
	background: var(--cn-ink);
	color: var(--cn-yellow);
	margin: 0 0 10px;
}

.cn-chip h3,
.cn-chip .cn-chip__title {
	margin: 0 0 6px;
	font-family: "Source Serif 4", "Source Serif Pro", Georgia, serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--cn-ink);
}

.cn-chip p:last-child,
.cn-chip__deck {
	margin: 0;
	color: var(--cn-ink);
	font-size: 0.875rem;
	line-height: 1.45;
}

/* --- Module bands --- */

.cn-module {
	padding: 36px 0 40px;
	border-bottom: 1px solid var(--cn-rule);
	background: var(--cn-paper);
}

.cn-module__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 24px;
	margin: 0 0 20px;
	padding: 0 0 10px;
	border-bottom: 4px solid var(--cn-ink);
}

.cn-module__head h2,
.cn-module__head .wp-block-heading {
	margin: 0;
	font-family: "Source Sans 3", "Source Sans Pro", system-ui, sans-serif;
	font-size: 1.5rem;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.cn-module__head .cn-kicker {
	margin: 0 0 6px;
}

.cn-module__more,
.cn-archive-link {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.cn-module__more a,
.cn-archive-link a {
	color: var(--cn-ink);
	text-decoration: none;
	background: transparent;
}

.cn-module__more a:hover,
.cn-module__more a:focus,
.cn-archive-link a:hover,
.cn-archive-link a:focus {
	color: var(--cn-ink);
	background: var(--cn-yellow);
	text-decoration: none;
}

.cn-module__deck {
	margin: 0 0 20px;
	max-width: 46rem;
	color: var(--cn-ink-secondary);
	font-size: 0.9375rem;
	line-height: 1.5;
}

/* --- Spec / magazine cards --- */

.cn-spec-card,
.cn-news-card {
	height: 100%;
	border: 1px solid var(--cn-rule);
	border-radius: 0;
	background: var(--cn-paper);
	overflow: hidden;
	padding: 0;
}

.cn-spec-card .wp-block-post-featured-image,
.cn-news-card .wp-block-post-featured-image {
	margin: 0;
	background: var(--cn-ink);
}

.cn-spec-card .wp-block-post-featured-image a,
.cn-news-card .wp-block-post-featured-image a {
	display: block;
	line-height: 0;
}

.cn-spec-card .wp-block-post-featured-image img,
.cn-news-card .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.cn-spec-card__body,
.cn-news-card__body {
	padding: 20px;
}

.cn-spec-card .cn-kicker,
.cn-news-card .cn-kicker {
	margin-bottom: 10px;
}

.cn-spec-card .wp-block-post-title,
.cn-news-card .wp-block-post-title,
.cn-spec-card .wp-block-post-title a,
.cn-news-card .wp-block-post-title a {
	font-family: "Source Serif 4", "Source Serif Pro", Georgia, serif;
	font-size: 1.3125rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.015em;
	color: var(--cn-ink);
	text-decoration: none;
	background: transparent;
}

.cn-spec-card .wp-block-post-title a:hover,
.cn-spec-card .wp-block-post-title a:focus,
.cn-news-card .wp-block-post-title a:hover,
.cn-news-card .wp-block-post-title a:focus {
	color: var(--cn-ink);
	background: var(--cn-yellow);
}

.cn-spec-card .wp-block-post-excerpt p,
.cn-news-card .wp-block-post-excerpt p {
	margin: 0;
	color: var(--cn-ink-secondary);
	font-size: 0.9375rem;
	line-height: 1.45;
}

.cn-spec-card .wp-block-post-date,
.cn-news-card .wp-block-post-date {
	color: var(--cn-ink-muted);
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.cn-module .wp-block-post-template.is-layout-grid,
.cn-platform-grid .wp-block-post-template.is-layout-grid {
	gap: 16px;
}

/* --- News list (archives / fallback row) --- */

.cn-news-item {
	border-top: 1px solid var(--cn-rule);
	display: flex;
	gap: 16px;
	align-items: flex-start;
}

.cn-news-item .wp-block-post-featured-image {
	flex: 0 0 160px;
	margin: 0;
	background: var(--cn-ink);
}

.cn-news-item .wp-block-post-featured-image a {
	display: block;
	line-height: 0;
}

.cn-news-item .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.cn-news-item__body {
	flex: 1 1 auto;
	min-width: 0;
}

.cn-news-item .wp-block-post-title,
.cn-news-item .wp-block-post-title a {
	font-family: "Source Serif 4", "Source Serif Pro", Georgia, serif;
	color: var(--cn-ink);
	text-decoration: none;
	background: transparent;
}

.cn-news-item .wp-block-post-title a:hover,
.cn-news-item .wp-block-post-title a:focus {
	color: var(--cn-ink);
	background: var(--cn-yellow);
}

/* --- Empty inventory --- */

.cn-empty {
	border: 1px solid var(--cn-rule);
	border-radius: 0;
	background: var(--cn-paper);
}

.cn-empty h2,
.cn-empty h3 {
	margin-top: 0;
}

/* --- Footer: full-bleed black --- */

.cn-footer {
	background: var(--cn-black);
	color: var(--cn-muted-on-ink);
	border-top: 3px solid var(--cn-yellow);
}

.cn-footer a {
	color: var(--cn-paper-on-ink);
	text-decoration: none;
	background: transparent;
}

.cn-footer a:hover,
.cn-footer a:focus {
	color: var(--cn-ink);
	background: var(--cn-yellow);
	text-decoration: none;
}

.cn-fineprint {
	margin: 0;
	color: var(--cn-muted-on-ink);
	font-size: 0.8125rem;
	letter-spacing: 0.02em;
}

.cn-footer .cn-fineprint {
	color: var(--cn-muted-on-ink);
}


.cn-kicker a,
.wp-block-post-terms.cn-kicker a {
	color: inherit;
	text-decoration: none;
	background: transparent;
	font-weight: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}

.cn-kicker a:hover,
.cn-kicker a:focus,
.wp-block-post-terms.cn-kicker a:hover,
.wp-block-post-terms.cn-kicker a:focus {
	color: inherit;
	background: transparent;
	text-decoration: none;
}

.wp-block-post-terms.cn-kicker {
	display: inline-block;
	margin: 0 0 16px;
}

.cn-article:has(.wp-block-post-terms.cn-kicker a) .cn-kicker--news {
	display: none;
}

/* --- Article well (single / page / spec) --- */

.cn-article-page {
	background: var(--cn-paper);
}

.cn-article {
	background: var(--cn-paper);
	color: var(--cn-ink);
	max-width: var(--cn-well);
	margin-inline: auto;
	width: 100%;
}

.cn-article .cn-kicker,
.cn-article-page .cn-kicker {
	margin: 0 0 16px;
}

.cn-article__title,
.cn-article .wp-block-post-title,
.cn-article-page .wp-block-post-title {
	margin: 0 0 16px;
	font-family: "Source Serif 4", "Source Serif Pro", Georgia, serif;
	font-size: clamp(2.25rem, 4.2vw, 3.25rem);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: var(--cn-ink);
}

.cn-article__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px 16px;
	margin: 0 0 32px;
	padding: 0 0 14px;
	border-bottom: 1px solid var(--cn-rule);
	color: var(--cn-ink-muted);
	font-family: "Source Sans 3", "Source Sans Pro", system-ui, sans-serif;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cn-article__meta .wp-block-post-date,
.cn-article__meta .wp-block-post-author-name {
	color: var(--cn-ink-muted);
	margin: 0;
}

.cn-article__rule {
	margin: 0 0 32px;
	border: 0;
	border-bottom: 1px solid var(--cn-rule);
}

.cn-spec-sheet {
	border-top: 0;
}

/* --- Post body: magazine article --- */

.wp-block-post-content,
.post-content,
.cn-article .wp-block-post-content,
.cn-article__body {
	max-width: none;
	color: var(--cn-ink);
	font-family: "Source Sans 3", "Source Sans Pro", system-ui, sans-serif;
}

.wp-block-post-content > p,
.wp-block-post-content > h2,
.wp-block-post-content > h3,
.wp-block-post-content > h4,
.wp-block-post-content > ul,
.wp-block-post-content > ol,
.wp-block-post-content > blockquote,
.wp-block-post-content > .wp-block-quote,
.wp-block-post-content > .wp-block-list,
.wp-block-post-content > .wp-block-heading,
.post-content > p,
.post-content > h2,
.post-content > h3,
.post-content > h4,
.post-content > ul,
.post-content > ol,
.post-content > blockquote {
	max-width: var(--cn-prose);
	margin-inline: auto;
}

.wp-block-post-content p,
.post-content p {
	margin: 0 0 1.25em;
	font-size: 1.125rem;
	line-height: 1.7;
	color: var(--cn-ink);
}

.wp-block-post-content p:last-child,
.post-content p:last-child {
	margin-bottom: 0;
}

.wp-block-post-content h2,
.post-content h2 {
	margin: 2.25em 0 0.75em;
	padding: 0 0 8px;
	font-family: "Source Sans 3", "Source Sans Pro", system-ui, sans-serif;
	font-size: 1.125rem;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--cn-ink);
	border-bottom: 4px solid var(--cn-ink);
}

.wp-block-post-content h3,
.post-content h3 {
	margin: 1.75em 0 0.6em;
	font-family: "Source Sans 3", "Source Sans Pro", system-ui, sans-serif;
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.01em;
	color: var(--cn-ink);
}

.wp-block-post-content h4,
.post-content h4 {
	margin: 1.5em 0 0.5em;
	font-size: 0.9375rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--cn-ink);
}

.wp-block-post-content ul,
.wp-block-post-content ol,
.post-content ul,
.post-content ol {
	margin: 0 0 1.25em;
	padding: 0 0 0 1.35em;
	font-size: 1.125rem;
	line-height: 1.7;
}

.wp-block-post-content li,
.post-content li {
	margin: 0 0 0.45em;
	padding-left: 0.35em;
}

.wp-block-post-content li:last-child,
.post-content li:last-child {
	margin-bottom: 0;
}

.wp-block-post-content ul,
.post-content ul {
	list-style: disc;
}

.wp-block-post-content ol,
.post-content ol {
	list-style: decimal;
}

.wp-block-post-content a,
.post-content a {
	color: var(--cn-ink);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
	background: transparent;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.wp-block-post-content a:hover,
.wp-block-post-content a:focus,
.post-content a:hover,
.post-content a:focus {
	color: var(--cn-ink);
	background: var(--cn-yellow);
	text-decoration: none;
}

.wp-block-post-content blockquote,
.wp-block-post-content .wp-block-quote,
.post-content blockquote {
	margin: 1.75em 0;
	padding: 4px 0 4px 20px;
	border: 0;
	border-left: 4px solid var(--cn-yellow);
	color: var(--cn-ink);
	font-size: 1.125rem;
	line-height: 1.6;
}

.wp-block-post-content blockquote p,
.wp-block-post-content .wp-block-quote p,
.post-content blockquote p {
	margin: 0 0 0.75em;
}

.wp-block-post-content blockquote cite,
.wp-block-post-content .wp-block-quote cite,
.post-content blockquote cite {
	display: block;
	margin-top: 8px;
	font-size: 0.75rem;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--cn-ink-muted);
}

.wp-block-post-content code,
.post-content code {
	font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
	font-size: 0.875em;
	background: #f0f0f0;
	color: var(--cn-ink);
	padding: 0.1em 0.35em;
	border: 1px solid var(--cn-rule);
	border-radius: 0;
}

.wp-block-post-content pre,
.wp-block-post-content .wp-block-code,
.wp-block-post-content .wp-block-preformatted,
.post-content pre {
	max-width: 100%;
	margin: 1.5em 0;
	padding: 14px 16px;
	background: #f0f0f0;
	color: var(--cn-ink);
	border: 1px solid var(--cn-rule);
	border-radius: 0;
	overflow-x: auto;
	font-size: 0.875rem;
	line-height: 1.5;
}

.wp-block-post-content pre code,
.post-content pre code {
	background: transparent;
	border: 0;
	padding: 0;
	font-size: inherit;
}

.wp-block-post-content figure,
.wp-block-post-content .wp-block-image,
.wp-block-post-content .wp-block-table,
.post-content figure,
.post-content table {
	max-width: 100%;
	width: 100%;
	margin: 1.75em 0;
}

.wp-block-post-content img,
.post-content img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0;
}

.wp-block-post-content figcaption,
.wp-block-post-content .wp-element-caption,
.post-content figcaption {
	margin: 0;
	padding: 6px 10px;
	background: var(--cn-yellow);
	color: var(--cn-ink);
	font-family: "Source Sans 3", "Source Sans Pro", system-ui, sans-serif;
	font-size: 0.6875rem;
	font-style: normal;
	font-weight: 800;
	font-variant: small-caps;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1.35;
}

.wp-block-post-content table,
.post-content table,
.cn-spec-sheet table {
	width: 100%;
	max-width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--cn-rule);
	font-size: 0.9375rem;
	line-height: 1.45;
	table-layout: auto;
}

.wp-block-post-content .wp-block-table,
.cn-spec-sheet .wp-block-table {
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
}

.wp-block-post-content th,
.post-content th,
.cn-spec-sheet th {
	background: var(--cn-ink);
	color: var(--cn-paper-on-ink);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-align: left;
	padding: 10px 12px;
	border: 1px solid var(--cn-ink);
}

.wp-block-post-content td,
.post-content td,
.cn-spec-sheet td {
	padding: 10px 12px;
	border: 1px solid var(--cn-rule);
	color: var(--cn-ink);
	vertical-align: top;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.wp-block-post-content tbody tr:nth-child(even) td,
.post-content tbody tr:nth-child(even) td,
.cn-spec-sheet tbody tr:nth-child(even) td {
	background: #f7f7f7;
}

.wp-block-post-content td a,
.post-content td a,
.cn-spec-sheet td a {
	overflow-wrap: anywhere;
	word-break: break-word;
}

.wp-block-post-content hr,
.wp-block-post-content .wp-block-separator,
.post-content hr {
	margin: 2em 0;
	border: 0;
	border-top: 1px solid var(--cn-rule);
	background: transparent;
	max-width: var(--cn-prose);
}

/* --- Buttons / inputs: square, no chrome --- */

.wp-block-button__link,
.wp-block-search__input,
.wp-block-search__button {
	border-radius: 0;
}

.wp-block-button__link {
	background: var(--cn-yellow);
	color: var(--cn-ink);
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.wp-block-button__link:hover,
.wp-block-button__link:focus {
	background: var(--cn-ink);
	color: var(--cn-yellow);
}

.wp-block-separator {
	background: var(--cn-rule);
	border-color: var(--cn-rule);
}

.wp-block-query-pagination {
	margin-top: 24px;
	font-size: 0.875rem;
}

.wp-block-query-pagination a {
	color: var(--cn-ink);
	text-decoration: none;
}

.wp-block-query-pagination a:hover,
.wp-block-query-pagination a:focus {
	background: var(--cn-yellow);
}


/* --- Platform wiki: 1520 magazine well, first table floats like an infobox --- */

.single-cn_platform .cn-article,
.cn-article.cn-wiki {
	max-width: 1520px;
	margin-inline: auto;
}

.single-cn_platform .wp-block-post-content,
.single-cn_platform .cn-article__body {
	overflow: auto;
}

.single-cn_platform .wp-block-post-content > p,
.single-cn_platform .wp-block-post-content > h2,
.single-cn_platform .wp-block-post-content > h3,
.single-cn_platform .wp-block-post-content > h4,
.single-cn_platform .wp-block-post-content > ul,
.single-cn_platform .wp-block-post-content > ol,
.single-cn_platform .wp-block-post-content > blockquote,
.single-cn_platform .wp-block-post-content > .wp-block-quote,
.single-cn_platform .wp-block-post-content > .wp-block-list,
.single-cn_platform .wp-block-post-content > .wp-block-heading,
.single-cn_platform .wp-block-post-content > hr,
.single-cn_platform .wp-block-post-content > .wp-block-separator {
	max-width: none;
	margin-inline: 0;
}

.single-cn_platform .wp-block-post-content > .wp-block-table:first-child,
.single-cn_platform .wp-block-post-content > figure.wp-block-table:first-child {
	float: right;
	width: min(20rem, 38%);
	max-width: 20rem;
	margin: 0 0 1.5rem 1.75rem;
	background: var(--cn-paper);
	position: relative;
	z-index: 2;
}

.single-cn_platform .wp-block-post-content > .wp-block-table:first-child table,
.single-cn_platform .wp-block-post-content > figure.wp-block-table:first-child table {
	margin: 0;
}

/* Dummy / empty header row was painting as a black bar through the infobox. */
.single-cn_platform .wp-block-post-content > .wp-block-table:first-child thead,
.single-cn_platform .wp-block-post-content > figure.wp-block-table:first-child thead {
	display: none;
}

.single-cn_platform .wp-block-post-content > .wp-block-table:first-child th,
.single-cn_platform .wp-block-post-content > figure.wp-block-table:first-child th {
	background: var(--cn-paper);
	color: var(--cn-ink);
	font-size: inherit;
	letter-spacing: 0;
	text-transform: none;
	font-weight: 700;
	border: 1px solid var(--cn-rule);
}

@media (max-width: 781px) {
	.single-cn_platform .wp-block-post-content > .wp-block-table:first-child,
	.single-cn_platform .wp-block-post-content > figure.wp-block-table:first-child {
		float: none;
		width: 100%;
		max-width: 100%;
		margin: 0 0 1.5rem;
	}
}

/* --- Narrow viewports: stack the mosaic, keep the bar --- */

@media (max-width: 781px) {
	.cn-mosaic.wp-block-columns {
		flex-direction: column;
	}

	.cn-mosaic__lead {
		padding: 28px 0 24px;
		border-right: 0;
		border-bottom: 1px solid var(--cn-rule);
	}

	.cn-mosaic__lead h1,
	.cn-mosaic__lead .cn-mosaic__headline {
		max-width: none;
	}

	.cn-chip {
		padding: 18px 16px;
	}

	.cn-now {
		align-items: flex-start;
	}

	.cn-now__kicker {
		margin-bottom: 4px;
	}
}
