:root {
	--color-bg: #f9f7f4;
	--color-surface: #f0ede7;
	--color-ink: #2d2a26;
	--color-muted: #6b6660;
	--color-border: #e5e1d8;
	--color-accent: #cc785c;
	--color-accent-strong: #b36a4e;
	--color-dark-bg: #1e1c1a;
	--color-dark-surface: #292623;
	--color-dark-ink: #ede9e3;
	--article-width: 760px;
	--archive-width: 1200px;
	--font-heading: "Source Serif 4", Georgia, serif;
	--font-body: "IBM Plex Sans", system-ui, -apple-system, sans-serif;
	--font-code: "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
	--shadow-card: 0 2px 8px rgba(73, 60, 48, 0.05);
	--header-height: 72px;
	color-scheme: light;
}

html[data-theme="dark"] {
	--color-bg: var(--color-dark-bg);
	--color-surface: var(--color-dark-surface);
	--color-ink: var(--color-dark-ink);
	--color-muted: #b7b0a8;
	--color-border: #3b3733;
	--shadow-card: 0 2px 8px rgba(10, 8, 7, 0.18);
	color-scheme: dark;
}

*,
*::before,
*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 24px); }
body {
	margin: 0;
	background: var(--color-bg);
	color: var(--color-ink);
	font-family: var(--font-body);
	font-size: clamp(1rem, .97rem + .12vw, 1.0625rem);
	line-height: 1.68;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	transition: background-color 200ms ease-out, color 200ms ease-out;
}
body.menu-open { overflow: hidden; }
:where(h1,h2,h3,h4,h5,h6,p,figure,blockquote,ul,ol,dl) { margin-top: 0; }
h1,h2,h3,h4,h5,h6 {
	color: var(--color-ink);
	font-family: var(--font-heading);
	letter-spacing: -.01em;
	text-wrap: balance;
}
h1 { font-size: clamp(1.75rem, 1.3rem + 2.1vw, 2.75rem); line-height: 1.12; }
h2 { font-size: clamp(1.5rem, 1.2rem + 1.45vw, 2.25rem); line-height: 1.16; }
h3 { font-size: clamp(1.25rem, 1.05rem + .95vw, 1.75rem); line-height: 1.2; }
a { color: var(--color-accent-strong); text-decoration-thickness: .08em; text-underline-offset: .16em; transition: color 180ms ease-out, transform 180ms ease-out; }
a:hover { color: var(--color-accent); }
button,input,select,textarea { font: inherit; }
button,.button,input[type="submit"] {
	min-height: 44px;
	border: 1px solid var(--color-accent);
	border-radius: 8px;
	background: var(--color-accent);
	color: #fffaf5;
	cursor: pointer;
	padding: .65rem 1rem;
	text-decoration: none;
	transition: transform 180ms ease-out, background-color 180ms ease-out;
}
button:hover,.button:hover,input[type="submit"]:hover { background: var(--color-accent-strong); color: #fffaf5; transform: scale(1.02); }
button:active,.button:active { transform: scale(.99); }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
input[type="search"],input[type="text"],input[type="email"],input[type="url"],textarea,select {
	width: 100%;
	min-height: 44px;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	background: var(--color-bg);
	color: var(--color-ink);
	padding: .7rem .85rem;
}
input:focus,textarea:focus,select:focus { border-color: var(--color-accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-accent) 28%, transparent); outline: 0; }
img { display: block; max-width: 100%; height: auto; }
figure { margin-inline: 0; }
hr { border: 0; border-top: 1px solid var(--color-border); margin-block: 2.5rem; }
table { width: 100%; border-collapse: collapse; font-size: .95em; }
th,td { border-bottom: 1px solid var(--color-border); padding: .75rem; text-align: left; }

.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 {
	position: fixed !important; z-index: 100000; top: 12px; left: 12px;
	width: auto; height: auto; margin: 0; clip: auto; overflow: visible;
	background: var(--color-ink); color: var(--color-bg); padding: .75rem 1rem; border-radius: 8px;
}

.reading-progress { position: fixed; z-index: 1002; inset: 0 0 auto; height: 3px; }
.reading-progress span { display: block; width: 100%; height: 100%; background: var(--color-accent); transform: scaleX(0); transform-origin: left; }
.site-header {
	position: sticky; z-index: 1000; top: 0;
	min-height: var(--header-height);
	border-bottom: 1px solid transparent;
	background: color-mix(in srgb, var(--color-bg) 76%, transparent);
	backdrop-filter: blur(16px);
	transition: background-color 200ms ease-out, border-color 200ms ease-out;
}
.site-header.is-scrolled { border-color: var(--color-border); background: color-mix(in srgb, var(--color-bg) 94%, transparent); }
.site-header__inner {
	display: flex; align-items: center; min-height: var(--header-height);
	width: min(calc(100% - 32px), var(--archive-width)); margin-inline: auto;
}
.site-branding { min-width: 0; margin-right: auto; }
.site-title { color: var(--color-ink); font: 700 clamp(1.15rem,1.02rem + .45vw,1.55rem)/1.1 var(--font-heading); overflow-wrap: anywhere; text-decoration: none; }
.custom-logo { width: auto; max-height: 46px; }
.menu-toggle,.icon-button {
	display: inline-grid; place-items: center; width: 44px; min-height: 44px;
	padding: 0; border: 0; background: transparent; color: var(--color-ink);
}
.menu-toggle { gap: 4px; align-content: center; }
.menu-toggle > span:not(.screen-reader-text) { display: block; width: 22px; height: 1.5px; background: currentColor; }
.primary-navigation {
	position: fixed; inset: var(--header-height) 0 auto;
	display: none; max-height: calc(100dvh - var(--header-height)); overflow: auto;
	border-bottom: 1px solid var(--color-border); background: var(--color-bg); padding: 1rem;
}
.primary-navigation.is-open { display: block; }
.primary-navigation ul,.footer-navigation ul { list-style: none; margin: 0; padding: 0; }
.primary-navigation a {
	display: flex; align-items: center; min-height: 48px; color: var(--color-ink);
	text-decoration: none; border-bottom: 1px solid var(--color-border);
}
.primary-navigation .current-menu-item > a,.primary-navigation .current_page_item > a { color: var(--color-accent-strong); }
.header-actions { display: flex; margin-left: .25rem; }
.header-actions .search-toggle { display: none; }
.icon-button:hover,.menu-toggle:hover { background: var(--color-surface); color: var(--color-ink); transform: none; }
.header-search { border-top: 1px solid var(--color-border); padding: 12px 16px; background: var(--color-bg); }
.header-search .search-form { max-width: 560px; margin-inline: auto; }
.search-form { display: flex; gap: 8px; width: 100%; }
.search-form label { flex: 1; }

.site-main { min-height: 55vh; }
.archive-main,.glossary-archive { width: min(calc(100% - 32px), var(--archive-width)); margin-inline: auto; padding-block: clamp(2.5rem,6vw,5.5rem); }
.archive-header { max-width: 720px; margin-bottom: clamp(2.5rem,5vw,4.5rem); }
.archive-header h1 { margin-bottom: 1rem; font-size: clamp(2.2rem,1.5rem + 3.2vw,4.3rem); line-height: 1.02; overflow-wrap: anywhere; }
.archive-kicker { margin-bottom: .75rem; color: var(--color-accent-strong); font-size: .875rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.archive-description { max-width: 620px; color: var(--color-muted); font-size: clamp(1.05rem,.98rem + .4vw,1.25rem); }
.post-grid { display: grid; gap: 24px; }
.post-grid > .ad-space { grid-column: 1 / -1; }
.post-card {
	overflow: clip; border: 1px solid var(--color-border); border-radius: 12px;
	background: var(--color-surface); box-shadow: var(--shadow-card);
	transition: transform 200ms ease-out, box-shadow 200ms ease-out;
}
.post-card:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(73,60,48,.08); }
.post-card__media { display: block; aspect-ratio: 16/9; overflow: hidden; background: var(--color-border); }
.post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 220ms ease-out; }
.post-card:hover .post-card__media img { transform: scale(1.02); }
.media-placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(135deg,var(--color-border),var(--color-surface) 45%,color-mix(in srgb,var(--color-accent) 18%,var(--color-surface))); }
.post-card__body { padding: 20px; }
.tag-pill,.tag-list a {
	display: inline-flex; align-items: center; min-height: 30px; border-radius: 999px;
	background: color-mix(in srgb,var(--color-accent) 12%,var(--color-surface));
	color: var(--color-accent-strong); font-size: .8125rem; font-weight: 600; padding: .25rem .65rem; text-decoration: none;
}
.post-card__title { margin: .85rem 0 .7rem; font-size: clamp(1.35rem,1.2rem + .5vw,1.65rem); }
.post-card__title a { color: var(--color-ink); font-family: inherit; text-decoration: none; }
.card-meta,.entry-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; color: var(--color-muted); font-size: .875rem; }
.card-meta span + span::before,.entry-meta span + span::before { content: ""; display: inline-block; width: 3px; height: 3px; margin: 0 10px 3px 0; border-radius: 50%; background: var(--color-border); }
.post-card__excerpt { margin-top: 1rem; color: var(--color-muted); }
.post-card__excerpt p { margin: 0; }
.pagination,.nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 3rem; }
.page-numbers { display: grid; place-items: center; min-width: 44px; min-height: 44px; border: 1px solid var(--color-border); border-radius: 8px; text-decoration: none; }
.page-numbers.current { background: var(--color-accent); color: #fffaf5; border-color: var(--color-accent); }

.article-header,.page-header {
	width: min(calc(100% - 32px), 860px); margin: 0 auto;
	padding-block: clamp(2.75rem,7vw,6.5rem) clamp(2rem,4vw,3.5rem);
}
.article-header h1 { max-width: 820px; margin: .9rem 0 1.25rem; font-size: clamp(2.2rem,1.45rem + 3.3vw,4.5rem); line-height: 1.02; }
.article-deck { max-width: 680px; color: var(--color-muted); font-size: clamp(1.1rem,1rem + .55vw,1.35rem); }
.byline { display: flex; align-items: center; gap: 12px; margin-top: 1.75rem; }
.byline img { border-radius: 50%; }
.article-featured,.page-featured { width: min(100%, 1280px); margin: 0 auto clamp(2.5rem,6vw,5rem); }
.article-featured img,.page-featured img { width: 100%; max-height: 720px; object-fit: cover; }
.article-layout { width: min(calc(100% - 32px), 1100px); margin-inline: auto; }
.article-column,.single-page .entry-content,.definition-content { width: min(100%, var(--article-width)); margin-inline: auto; }
.entry-content { overflow-wrap: break-word; }
.entry-content > * { margin-bottom: 1.35em; }
.entry-content > h2 { margin-top: 2.2em; margin-bottom: .75em; }
.entry-content > h3 { margin-top: 1.8em; margin-bottom: .65em; }
.entry-content a { text-decoration-thickness: .08em; }
.entry-content ul,.entry-content ol { padding-left: 1.35em; }
.entry-content li + li { margin-top: .45em; }
.entry-content blockquote {
	margin: 2rem 0; border: 0; border-left: 3px solid var(--color-accent);
	padding: .25rem 0 .25rem 1.35rem; color: var(--color-ink); font-family: var(--font-heading); font-size: clamp(1.2rem,1.05rem + .65vw,1.5rem); font-style: italic;
}
.entry-content blockquote p:last-child { margin-bottom: 0; }
.entry-content pre {
	overflow-x: auto; border-radius: 12px; background: #292623; color: #ede9e3;
	padding: 1.25rem; tab-size: 2;
}
.entry-content :not(pre) > code { border-radius: 4px; background: var(--color-surface); color: var(--color-accent-strong); padding: .12em .32em; }
.entry-content figcaption { margin-top: .6rem; color: var(--color-muted); text-align: center; }
.article-footer { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--color-border); }
.tag-list { display: flex; flex-wrap: wrap; gap: 8px; }
.article-toc { display: none; }
.ad-space {
	width: min(calc(100% - 32px), 970px); margin: 24px auto; overflow: hidden;
	color: var(--color-muted); text-align: center;
}
.article-column > .ad-space { width: 100%; margin-block: 2rem; }
.comments-area { margin-top: 4rem; padding-top: 2.5rem; border-top: 1px solid var(--color-border); }
.comment-list { list-style: none; padding: 0; }
.comment-body { margin-bottom: 1rem; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface); padding: 1rem; }

.page-main,.glossary-single { width: min(calc(100% - 32px), var(--article-width)); margin-inline: auto; padding-bottom: 5rem; }
.page-header { width: 100%; padding-inline: 0; }
.glossary-single .article-header { width: 100%; padding-inline: 0; }
.glossary-single .article-header h1 { margin-top: .5rem; }
.back-link { display: inline-flex; min-height: 44px; align-items: center; }
.definition-content { font-size: clamp(1.05rem,1rem + .2vw,1.15rem); }
.related-terms { margin-top: 3rem; border-top: 1px solid var(--color-border); padding-top: 2rem; }
.related-term-list { display: flex; flex-wrap: wrap; gap: 10px; }
.related-term-list a { border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-surface); padding: .7rem .9rem; text-decoration: none; }
.alphabet-nav { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 3rem; }
.alphabet-nav a { display: grid; place-items: center; min-width: 38px; min-height: 44px; border-radius: 8px; color: var(--color-muted); text-decoration: none; }
.alphabet-nav a:hover { background: var(--color-surface); color: var(--color-accent-strong); }
.glossary-group { display: grid; grid-template-columns: 48px 1fr; gap: 20px; padding-block: 2rem; border-top: 1px solid var(--color-border); }
.glossary-group > h2 { position: sticky; top: calc(var(--header-height) + 16px); align-self: start; color: var(--color-accent-strong); }
.glossary-list { display: grid; gap: 1.5rem; }
.glossary-list article { padding-bottom: 1.5rem; border-bottom: 1px solid var(--color-border); }
.glossary-list article:last-child { padding-bottom: 0; border-bottom: 0; }
.glossary-list h3 { margin-bottom: .35rem; }
.glossary-list h3 a { color: var(--color-ink); font-family: inherit; text-decoration: none; }
.glossary-list p { margin-bottom: 0; color: var(--color-muted); }

.empty-state { width: min(calc(100% - 32px), 680px); margin: 0 auto; padding-block: clamp(4rem,10vw,8rem); text-align: center; }
.empty-state .search-form { margin: 1.5rem auto; }
.back-to-top {
	position: fixed; z-index: 900; right: 16px; bottom: 16px;
	width: 48px; min-height: 48px; padding: 0; border-radius: 50%;
	opacity: 0; pointer-events: none; transform: translateY(8px);
	box-shadow: 0 6px 20px rgba(73,60,48,.14);
}
.back-to-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.site-footer { margin-top: 4rem; border-top: 1px solid var(--color-border); background: var(--color-surface); }
.site-footer__inner {
	display: grid; gap: 2rem; width: min(calc(100% - 32px), var(--archive-width));
	margin-inline: auto; padding-block: 3.5rem 2rem;
}
.site-footer p { color: var(--color-muted); }
.footer-navigation ul { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.footer-navigation a { color: var(--color-ink); text-decoration: none; }
.site-credit { margin: 0; font-size: .875rem; }

/* Rich editorial home */
.magazine-home {
	width: min(calc(100% - 32px), var(--archive-width));
	margin-inline: auto;
	padding-block: clamp(2rem,5vw,4.5rem);
}
.section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 24px;
}
.section-heading h1,.section-heading h2 { margin-bottom: 0; }
.section-heading > p { max-width: 410px; margin-bottom: .25rem; color: var(--color-muted); }
.section-heading--hero h1 { font-size: clamp(2rem,1.45rem + 2.3vw,3.6rem); }
.section-heading--compact {
	align-items: center;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--color-border);
}
.section-heading--compact h2 { font-size: clamp(1.65rem,1.35rem + 1.25vw,2.35rem); }
.section-heading--compact > a { font-size: .875rem; font-weight: 600; white-space: nowrap; }
.section-label {
	margin-bottom: .45rem;
	color: var(--color-accent-strong);
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.hero-composition { display: grid; gap: 16px; }
.hero-story {
	position: relative;
	overflow: clip;
	min-height: 250px;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	background: var(--color-surface);
}
.hero-story__media,.hero-story__media img,.hero-story__media .media-placeholder {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.hero-story__media img { object-fit: cover; }
.hero-story__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg,rgba(30,28,26,.05) 18%,rgba(30,28,26,.86) 100%);
}
.hero-story__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: end;
	min-height: inherit;
	padding: 24px;
	color: #f9f7f4;
}
.hero-story__title { margin: .7rem 0 .65rem; }
.hero-story__title a { color: #f9f7f4; font-family: inherit; text-decoration: none; }
.hero-story--lead .hero-story__title { max-width: 760px; font-size: clamp(1.9rem,1.35rem + 2vw,3.35rem); line-height: 1.06; }
.hero-story--support .hero-story__title { font-size: clamp(1.25rem,1.1rem + .55vw,1.65rem); }
.hero-story__excerpt { max-width: 680px; margin-bottom: .9rem; color: #ded8cf; }
.hero-story .card-meta { color: #d8d1c8; }
.hero-story .tag-pill { align-self: start; background: rgba(249,247,244,.9); color: #8f4e39; }

.topic-strip {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-block: 32px clamp(3rem,6vw,5rem);
	border-block: 1px solid var(--color-border);
	padding-block: 16px;
}
.topic-strip > strong { font-family: var(--font-heading); font-size: 1.05rem; }
.topic-strip > div { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: thin; padding-bottom: 2px; }
.topic-strip a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 38px;
	border: 1px solid var(--color-border);
	border-radius: 999px;
	background: var(--color-surface);
	color: var(--color-ink);
	padding: .35rem .75rem;
	font-size: .875rem;
	text-decoration: none;
	white-space: nowrap;
}
.topic-strip a span { color: var(--color-muted); font-size: .75rem; }
.home-content-shell { display: grid; gap: clamp(2.5rem,6vw,5rem); }
.story-list { display: grid; }
.horizontal-story {
	display: grid;
	gap: 20px;
	border-bottom: 1px solid var(--color-border);
	padding-block: 24px;
}
.horizontal-story:first-child { padding-top: 0; }
.horizontal-story__media {
	display: block;
	overflow: hidden;
	aspect-ratio: 16/10;
	border-radius: 12px;
	background: var(--color-surface);
}
.horizontal-story__media img,.horizontal-story__media .media-placeholder { width: 100%; height: 100%; object-fit: cover; }
.story-category { font-size: .8125rem; font-weight: 700; text-decoration: none; }
.horizontal-story h3 { margin: .45rem 0 .55rem; font-size: clamp(1.4rem,1.2rem + .7vw,1.85rem); }
.horizontal-story h3 a { color: var(--color-ink); font-family: inherit; text-decoration: none; }
.horizontal-story__content > p { margin-bottom: 1rem; color: var(--color-muted); }
.story-footer { display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.read-link { flex: 0 0 auto; font-size: .875rem; font-weight: 700; text-decoration: none; }
.read-link span { display: inline-block; transition: transform 180ms ease-out; }
.read-link:hover span { transform: translateX(3px); }
.story-list > .ad-space { margin-block: 28px; }

.reading-rail { min-width: 0; }
.rail-heading {
	border-radius: 12px;
	background: var(--color-ink);
	color: var(--color-bg);
	padding: 22px;
}
.rail-heading span { color: color-mix(in srgb,var(--color-bg) 70%,transparent); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.rail-heading h2 { margin: .35rem 0 0; color: var(--color-bg); font-size: 1.8rem; }
.rail-section { padding-block: 28px; border-bottom: 1px solid var(--color-border); }
.rail-section h3 { margin-bottom: 1rem; font-size: 1.25rem; }
.rail-posts ol,.rail-glossary ul { list-style: none; margin: 0; padding: 0; }
.rail-posts li { display: grid; grid-template-columns: 34px 1fr; gap: 10px; padding-block: 14px; border-bottom: 1px solid var(--color-border); }
.rail-posts li:last-child { border-bottom: 0; }
.rail-posts li > span { color: var(--color-accent-strong); font: 600 1.1rem/1.4 var(--font-heading); }
.rail-posts a { color: var(--color-ink); font-family: var(--font-heading); font-weight: 600; text-decoration: none; }
.rail-posts small { display: block; margin-top: .3rem; color: var(--color-muted); }
.rail-title-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.rail-title-row > a { font-size: .8125rem; }
.rail-glossary li + li { margin-top: 18px; }
.rail-glossary li > a { color: var(--color-ink); font-family: var(--font-heading); font-size: 1.05rem; font-weight: 600; }
.rail-glossary p { margin: .2rem 0 0; color: var(--color-muted); font-size: .875rem; line-height: 1.5; }
.reading-rail > .ad-space { width: min(100%,300px); margin-block: 28px; }

.ad-space { position: relative; }
.ad-label {
	display: block;
	margin-bottom: 5px;
	color: var(--color-muted);
	font-size: .625rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-align: center;
	text-transform: uppercase;
}
.ad-space[data-ad-format="leaderboard"] { max-width: 970px; }
.ad-space[data-ad-format="article-banner"],.ad-space[data-ad-format="in-feed"] { max-width: 728px; }
.ad-space[data-ad-format="rectangle"] { max-width: 336px; }

.share-tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 24px;
}
.share-tools strong { margin-right: 4px; font-family: var(--font-heading); }
.share-tools button {
	min-height: 38px;
	border-color: var(--color-border);
	background: var(--color-surface);
	color: var(--color-ink);
	padding: .45rem .75rem;
	font-size: .8125rem;
}
.share-tools button:hover { border-color: var(--color-accent); background: var(--color-bg); color: var(--color-accent-strong); }
.author-card {
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: 18px;
	margin-top: 3rem;
	border-radius: 12px;
	background: var(--color-surface);
	padding: 24px;
}
.author-card img { border-radius: 50%; }
.author-card span { color: var(--color-muted); font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.author-card h2 { margin: .2rem 0 .35rem; font-size: 1.4rem; }
.author-card p { margin-bottom: 0; color: var(--color-muted); }
.post-navigation-cards { display: grid; gap: 12px; margin-top: 2rem; }
.post-navigation-cards a {
	display: flex;
	flex-direction: column;
	min-height: 100px;
	justify-content: center;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	background: var(--color-bg);
	padding: 18px;
	text-decoration: none;
}
.post-navigation-cards span { color: var(--color-muted); font-size: .75rem; font-weight: 700; text-transform: uppercase; }
.post-navigation-cards strong { margin-top: .3rem; color: var(--color-ink); font-family: var(--font-heading); }
.related-reading { margin-top: 4rem; }
.related-grid { display: grid; gap: 20px; }

.site-footer__inner { grid-template-columns: 1fr; }
.site-footer h2 { margin-bottom: 1rem; font-size: 1.15rem; }
.footer-intro { max-width: 460px; }
.footer-glossary-link { display: inline-block; margin-top: .5rem; font-size: .875rem; font-weight: 700; }
.footer-topics ul { list-style: none; margin: 0; padding: 0; columns: 2; }
.footer-topics li { margin-bottom: .5rem; }
.footer-topics a { color: var(--color-ink); text-decoration: none; }

.js .reveal { opacity: 0; transform: translateY(10px); }
.js .reveal.is-visible { opacity: 1; transform: translateY(0); transition: opacity 220ms ease-out var(--reveal-delay,0ms), transform 220ms ease-out var(--reveal-delay,0ms); }

@media (min-width: 768px) {
	.site-header__inner,.archive-main,.glossary-archive,.article-layout { width: min(calc(100% - 48px), var(--archive-width)); }
	.menu-toggle { display: none; }
	.primary-navigation { position: static; display: block; max-height: none; overflow: visible; border: 0; background: transparent; padding: 0; }
	.primary-navigation ul { display: flex; align-items: center; gap: clamp(12px,2vw,28px); }
	.primary-navigation a { position: relative; min-height: var(--header-height); border: 0; font-size: .9375rem; white-space: nowrap; }
	.primary-navigation .current-menu-item > a::after,.primary-navigation .current_page_item > a::after {
		content: ""; position: absolute; inset: auto 0 10px; height: 2px; background: var(--color-accent);
	}
	.header-actions .search-toggle { display: inline-grid; }
	.post-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.glossary-group { grid-template-columns: 72px 1fr; gap: 36px; }
	.glossary-list { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 32px; }
	.site-footer__inner { grid-template-columns: 1.4fr 1fr; }
	.site-credit { grid-column: 1/-1; }
	.hero-composition { grid-template-columns: minmax(0,1.45fr) minmax(250px,.75fr); }
	.hero-story--lead { grid-row: span 3; min-height: 560px; }
	.hero-story--support { min-height: 176px; }
	.hero-story--support .hero-story__content { padding: 18px; }
	.topic-strip { flex-direction: row; align-items: center; }
	.topic-strip > strong { flex: 0 0 auto; }
	.horizontal-story { grid-template-columns: minmax(210px,.75fr) minmax(0,1.25fr); align-items: center; }
	.post-navigation-cards,.related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.related-grid .post-card:last-child:nth-child(3) { grid-column: 1/-1; }
	.site-footer__inner { grid-template-columns: 1.35fr .8fr .8fr; }
	.site-credit { grid-column: 1/-1; }
}

@media (min-width: 1024px) {
	.post-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.article-layout { position: relative; }
	.article-toc {
		position: absolute; display: block; top: 0; right: calc(50% + (var(--article-width) / 2) + 32px);
		width: 170px; max-height: calc(100vh - var(--header-height) - 40px); overflow: auto;
		color: var(--color-muted); font-size: .8125rem;
	}
	.article-toc strong { display: block; margin-bottom: .7rem; color: var(--color-ink); }
	.article-toc ol { list-style: none; margin: 0; padding: 0; }
	.article-toc li + li { margin-top: .5rem; }
	.article-toc .toc-child { padding-left: .65rem; }
	.article-toc a { color: var(--color-muted); text-decoration: none; }
	.article-toc a:hover { color: var(--color-accent-strong); }
	.home-content-shell { grid-template-columns: minmax(0,1fr) 310px; align-items: start; }
	.home-content-shell--full { grid-template-columns: 1fr; }
	.reading-rail { position: sticky; top: calc(var(--header-height) + 24px); }
	.related-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.related-grid .post-card:last-child:nth-child(3) { grid-column: auto; }
}

@media (max-width: 767px) {
	.article-featured { width: 100%; }
	.article-header,.page-header { width: min(calc(100% - 32px),860px); }
	.glossary-list { min-width: 0; }
	.section-heading { display: block; }
	.section-heading > p { margin-top: .8rem; }
	.hero-story--support:nth-child(n+4) { display: none; }
	.story-footer { align-items: start; flex-direction: column; }
	.author-card { grid-template-columns: 52px 1fr; padding: 18px; }
	.author-card img { width: 52px; height: 52px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*,*::before,*::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
	.js .reveal { opacity: 1; transform: none; }
}

@media print {
	.site-header,.site-footer,.reading-progress,.back-to-top,.article-toc,.ad-space { display: none !important; }
	body { background: white; color: #2d2a26; }
	.article-column { width: 100%; }
}

/* Publication frame, v2.2 */
:root { --utility-height: 34px; }
.utility-bar { min-height: var(--utility-height); background: var(--color-accent-strong); color: #fffaf5; font-size: .75rem; }
.utility-bar__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: min(calc(100% - 32px),var(--archive-width)); min-height: var(--utility-height); margin-inline: auto; }
.utility-bar a { color: #fffaf5; }
.utility-bar time { margin-left: auto; }
.site-header { top: 0; background: color-mix(in srgb,var(--color-bg) 94%,transparent); }
.site-header__inner { gap: 22px; }
.site-branding { display: flex; align-items: center; gap: 15px; }
.site-tagline { display: none; max-width: 190px; border-left: 1px solid var(--color-border); padding-left: 15px; color: var(--color-muted); font-size: .72rem; line-height: 1.35; }
.news-ticker { border-bottom: 1px solid var(--color-border); background: var(--color-surface); }
.news-ticker__inner { display: flex; align-items: stretch; width: min(100%,var(--archive-width)); margin-inline: auto; }
.news-ticker__inner > strong { display: flex; align-items: center; flex: 0 0 auto; background: var(--color-accent); color: #fffaf5; padding: .6rem 1rem; font-size: .76rem; text-transform: uppercase; letter-spacing: .06em; }
.news-ticker__stories { display: flex; min-width: 0; overflow: hidden; }
.news-ticker__stories a { display: flex; align-items: center; min-width: min(360px,75vw); border-right: 1px solid var(--color-border); color: var(--color-ink); padding: .55rem 1rem; font-family: var(--font-heading); font-size: .82rem; font-weight: 600; line-height: 1.25; text-decoration: none; }

.archive-main { padding-top: clamp(2rem,4vw,3.75rem); }
.archive-header { margin-bottom: 2.25rem; }
.archive-header h1 { font-size: clamp(2.15rem,1.6rem + 2.3vw,3.6rem); }
.archive-shell { display: grid; gap: 32px; align-items: start; }
.archive-feed { display: grid; gap: 18px; min-width: 0; }
.archive-feed > .ad-space { margin-block: 8px; }
.post-card--archive { display: grid; min-width: 0; border-color: color-mix(in srgb,var(--color-border) 82%,transparent); background: color-mix(in srgb,var(--color-bg) 72%,var(--color-surface)); }
.post-card--archive:hover { transform: translateY(-1px); }
.post-card--archive .post-card__media { aspect-ratio: 16/10; }
.post-card--archive .post-card__body { display: flex; flex-direction: column; align-items: start; padding: clamp(20px,3vw,30px); }
.post-card--archive .post-card__title { margin: .65rem 0 .75rem; font-size: clamp(1.4rem,1.2rem + .65vw,1.85rem); }
.post-card--archive .post-card__excerpt { margin: .85rem 0 1.1rem; }
.post-card--archive .read-link { margin-top: auto; }
.post-card--archive.is-text-only { position: relative; overflow: hidden; }
.post-card--archive.is-text-only::after { content: ""; position: absolute; inset: 0 0 0 auto; width: 6px; background: var(--color-accent); }
.post-card--archive.is-text-only .post-card__body { min-height: 230px; padding-right: clamp(28px,4vw,44px); }
.card-author { display: inline-flex; align-items: center; gap: 7px; }
.card-author img { border-radius: 50%; }

.content-sidebar { display: grid; gap: 18px; min-width: 0; }
.content-sidebar > .ad-space { width: 100%; margin: 0; }
.sidebar-module,.sidebar-glossary { border: 1px solid var(--color-border); border-radius: 12px; background: color-mix(in srgb,var(--color-bg) 70%,var(--color-surface)); padding: 22px; }
.sidebar-module h2 { margin: 0 0 15px; padding-bottom: 11px; border-bottom: 1px solid var(--color-border); font-size: 1.15rem; }
.sidebar-module h2::after { content: ""; display: block; width: 34px; height: 2px; margin-top: 10px; background: var(--color-accent); }
.sidebar-posts,.sidebar-categories { list-style: none; margin: 0; padding: 0; }
.sidebar-posts li { display: grid; grid-template-columns: 64px 1fr; gap: 11px; padding-block: 12px; border-bottom: 1px solid var(--color-border); }
.sidebar-posts li:first-child { padding-top: 0; }
.sidebar-posts li:last-child { padding-bottom: 0; border-bottom: 0; }
.sidebar-posts li:not(:has(.sidebar-thumb)) { grid-template-columns: 1fr; }
.sidebar-thumb { overflow: hidden; align-self: start; aspect-ratio: 1; border-radius: 8px; }
.sidebar-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sidebar-posts a { color: var(--color-ink); font-family: var(--font-heading); font-size: .9rem; font-weight: 600; line-height: 1.3; text-decoration: none; }
.sidebar-posts time { display: block; margin-top: 4px; color: var(--color-muted); font-size: .7rem; }
.sidebar-categories li { display: flex; justify-content: space-between; gap: 8px; padding: 8px 0; border-bottom: 1px solid var(--color-border); color: var(--color-muted); font-size: .84rem; }
.sidebar-categories li:last-child { border-bottom: 0; }
.sidebar-categories a { color: var(--color-ink); text-decoration: none; }
.sidebar-glossary { display: flex; flex-direction: column; gap: 8px; background: var(--color-ink); color: var(--color-bg); text-decoration: none; }
.sidebar-glossary strong { color: var(--color-bg); font: 700 1.25rem/1.15 var(--font-heading); }
.sidebar-glossary span { color: color-mix(in srgb,var(--color-bg) 72%,transparent); font-size: .85rem; }
.sidebar-glossary b { color: var(--color-accent); font-size: .82rem; }

.single-main { width: min(calc(100% - 32px),var(--archive-width)); margin-inline: auto; padding-block: clamp(2rem,4vw,4rem); }
.single-shell { display: grid; gap: 32px; align-items: start; }
.single-article { min-width: 0; overflow: clip; border: 1px solid var(--color-border); border-radius: 12px; background: color-mix(in srgb,var(--color-bg) 78%,var(--color-surface)); box-shadow: var(--shadow-card); }
.single-article .article-header { width: 100%; padding: clamp(26px,5vw,56px) clamp(22px,5vw,58px) clamp(24px,4vw,42px); }
.single-article .article-header h1 { max-width: 760px; margin: .75rem 0 1rem; font-size: clamp(2rem,1.45rem + 2.7vw,3.65rem); line-height: 1.04; }
.single-article .article-featured { width: 100%; margin-bottom: 0; }
.single-article .article-featured img { max-height: 600px; }
.single-article .article-column { width: min(calc(100% - 40px),var(--article-width)); padding-block: clamp(2.25rem,5vw,4.5rem); }
.single-article .article-toc { display: none; position: static; width: 100%; max-height: none; margin-bottom: 2rem; border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-surface); padding: 17px; }
.single-article .article-toc ol { margin: .7rem 0 0; padding-left: 1.2rem; }
.single-article .article-toc li + li { margin-top: .4rem; }
.single-article .article-toc a { color: var(--color-muted); font-size: .84rem; text-decoration: none; }
.single-article .related-grid .post-card { display: block; }

.site-footer { margin-top: 5rem; background: var(--color-surface); }
.site-footer__inner { gap: clamp(2.5rem,5vw,5rem); padding-block: clamp(3.5rem,7vw,6rem); }
.footer-intro .custom-logo { margin-bottom: 1.25rem; max-height: 58px; }
.footer-intro p { max-width: 430px; }
.footer-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 1.25rem; }
.footer-actions a { border: 1px solid var(--color-accent); border-radius: 999px; padding: .42rem .75rem; font-size: .78rem; font-weight: 700; text-decoration: none; }
.site-footer h2 { position: relative; padding-bottom: 12px; }
.site-footer h2::after { content: ""; position: absolute; bottom: 0; left: 0; width: 34px; height: 2px; background: var(--color-accent); }
.footer-navigation li + li { margin-top: .55rem; }
.footer-popular ol { list-style: none; margin: 0; padding: 0; }
.footer-popular li + li { margin-top: 1.1rem; }
.footer-popular a { display: block; color: var(--color-ink); font-family: var(--font-heading); font-size: .92rem; font-weight: 600; line-height: 1.3; text-decoration: none; }
.footer-popular time { color: var(--color-muted); font-size: .72rem; }
.site-footer__base { background: var(--color-ink); color: var(--color-bg); }
.site-footer__base > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; width: min(calc(100% - 32px),var(--archive-width)); margin-inline: auto; padding-block: 16px; font-size: .75rem; }

@media (min-width: 768px) {
	.site-tagline { display: block; }
	.archive-shell { grid-template-columns: minmax(0,1fr) 290px; }
	.post-card--archive.has-media { grid-template-columns: minmax(220px,.75fr) minmax(0,1.25fr); }
	.post-card--archive:nth-of-type(even).has-media .post-card__media { order: 2; }
	.content-sidebar { position: sticky; top: calc(var(--header-height) + 24px); }
}
@media (min-width: 1080px) {
	.single-shell { grid-template-columns: 290px minmax(0,1fr); gap: 36px; }
	.single-shell > .content-sidebar { grid-column: 1; }
	.single-shell > .single-article { grid-column: 2; }
	.single-article .article-toc { display: block; }
}
@media (max-width: 767px) {
	.utility-bar__inner > span { overflow: hidden; max-width: 55vw; text-overflow: ellipsis; white-space: nowrap; }
	.utility-bar__inner a { display: none; }
	.site-tagline { display: none; }
	.news-ticker__stories a:nth-child(n+2) { display: none; }
	.single-shell > .content-sidebar { order: 2; }
	.single-shell > .single-article { order: 1; }
	.sidebar-module,.sidebar-glossary { padding: 18px; }
}

/* Three-tier customizable header, v2.3 */
.utility-bar { background: var(--color-ink); color: var(--color-bg); }
.utility-bar__inner { min-height: 32px; }
.utility-social,.utility-links ul { display: flex; align-items: center; gap: 14px; margin: 0; padding: 0; list-style: none; }
.utility-bar a { color: var(--color-bg); font-size: .72rem; text-decoration: none; }
.utility-social > span { color: color-mix(in srgb,var(--color-bg) 72%,transparent); font-size: .72rem; }
.utility-links a:hover { color: var(--color-accent); }
.site-header { position: relative; min-height: 0; border: 0; background: var(--color-bg); backdrop-filter: none; }
.header-brand-row { display: flex; align-items: center; justify-content: space-between; gap: clamp(24px,5vw,70px); width: min(calc(100% - 32px),var(--archive-width)); min-height: 112px; margin-inline: auto; padding-block: 18px; }
.header-brand-row .site-branding { flex: 1 1 310px; }
.header-brand-row .site-title { font-size: clamp(1.65rem,1.2rem + 1.3vw,2.45rem); }
.header-brand-row .site-tagline { display: block; }
.header-brand-row > .ad-space { flex: 1 1 728px; width: auto; max-width: 728px; margin: 0; }
.header-navigation-row { background: var(--color-ink); color: var(--color-bg); }
.header-navigation-row .site-header__inner { min-height: 52px; }
.home-button { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; background: var(--color-accent); color: #fffaf5; font-size: 1.2rem; text-decoration: none; }
.home-button:hover { color: #fffaf5; background: var(--color-accent-strong); }
.header-navigation-row .primary-navigation a { color: var(--color-bg); }
.header-navigation-row .icon-button,.header-navigation-row .menu-toggle { color: var(--color-bg); }
.header-navigation-row .icon-button:hover,.header-navigation-row .menu-toggle:hover { background: color-mix(in srgb,var(--color-bg) 10%,transparent); color: var(--color-bg); }
.header-navigation-row .primary-navigation .current-menu-item > a,.header-navigation-row .primary-navigation .current_page_item > a { color: var(--color-accent); }
.header-navigation-row .primary-navigation .current-menu-item > a::after,.header-navigation-row .primary-navigation .current_page_item > a::after { bottom: 0; }
.theme-icon { display: block; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.theme-icon__wash { fill: var(--color-accent); stroke: none; opacity: .18; }
.header-actions--left { flex: 0 0 auto; margin: 0; padding-right: 10px; border-right: 1px solid color-mix(in srgb,var(--color-bg) 18%,transparent); }
.header-actions--left .icon-button { width: 40px; }
.home-button .theme-icon { width: 18px; height: 18px; }
.primary-navigation .menu-item-has-children > a::after { content: ""; width: 7px; height: 7px; margin: -4px 2px 0 9px; border-right: 1.5px solid var(--color-accent); border-bottom: 1.5px solid var(--color-accent); transform: rotate(45deg); }
.search-submit { display: grid; place-items: center; flex: 0 0 44px; width: 44px; padding: 0; }
.read-link { display: inline-flex; align-items: center; gap: 7px; }
.read-link .theme-icon,.sidebar-glossary b .theme-icon { width: 16px; height: 16px; transition: transform 180ms ease-out; }
.read-link:hover .theme-icon,.sidebar-glossary:hover b .theme-icon { transform: translateX(3px); }
.sidebar-glossary b { display: inline-flex; align-items: center; gap: 7px; }
.back-to-top .theme-icon { width: 19px; height: 19px; margin-inline: auto; }
.submenu-toggle { display: none; }
.news-ticker { background: var(--color-surface); }
.news-ticker__inner { width: min(100%,var(--archive-width)); overflow: hidden; }
.news-ticker__inner > strong { z-index: 2; min-width: 112px; justify-content: center; }
.news-ticker__viewport { min-width: 0; overflow-x: auto; scrollbar-width: none; }
.news-ticker__viewport::-webkit-scrollbar { display: none; }
.news-ticker__track { display: flex; width: max-content; animation: ticker-left-to-right var(--ticker-duration,36s) linear infinite; will-change: transform; }
.news-ticker__track:hover { animation-play-state: paused; }
.news-ticker__track a { display: flex; align-items: center; gap: 9px; min-width: min(350px,75vw); border-right: 1px solid var(--color-border); color: var(--color-ink); padding: .56rem 1rem; font-family: var(--font-heading); font-size: .84rem; font-weight: 600; line-height: 1.25; text-decoration: none; }
.news-ticker__track time { color: var(--color-accent-strong); font-family: var(--font-body); font-size: .67rem; font-weight: 700; text-transform: uppercase; }
@keyframes ticker-left-to-right { from { transform: translateX(-50%); } to { transform: translateX(0); } }

@media (min-width: 768px) {
	.header-navigation-row .primary-navigation { align-self: stretch; }
	.header-navigation-row .primary-navigation > ul { height: 100%; }
	.header-navigation-row .primary-navigation > ul > li { position: relative; height: 100%; }
	.header-navigation-row .primary-navigation > ul > li > a { min-height: 52px; padding-inline: 3px; }
	.primary-navigation .sub-menu { position: absolute; z-index: 1005; top: calc(100% - 1px); left: -16px; display: block; visibility: hidden; min-width: 230px; border: 1px solid var(--color-border); border-top: 3px solid var(--color-accent); background: var(--color-bg); padding: 8px; opacity: 0; transform: translateY(8px); box-shadow: 0 12px 30px rgba(73,60,48,.13); transition: opacity 180ms ease-out,transform 180ms ease-out,visibility 180ms;
	}
	.primary-navigation .sub-menu .sub-menu { top: -9px; left: calc(100% + 8px); }
	.primary-navigation li:hover > .sub-menu,.primary-navigation li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: translateY(0); }
	.header-navigation-row .primary-navigation .sub-menu a { min-height: 42px; border-radius: 6px; color: var(--color-ink); padding: .55rem .75rem; white-space: nowrap; }
	.header-navigation-row .primary-navigation .sub-menu a:hover { background: var(--color-surface); color: var(--color-accent-strong); }
}
@media (max-width: 767px) {
	.utility-links { display: none; }
	.header-brand-row { min-height: 88px; }
	.header-brand-row > .ad-space,.header-brand-row .site-tagline { display: none; }
	.header-navigation-row .site-header__inner { min-height: 54px; }
	.header-navigation-row .primary-navigation { position: absolute; top: 100%; right: 0; bottom: auto; left: 0; background: var(--color-ink); border-color: color-mix(in srgb,var(--color-bg) 15%,transparent); }
	.header-navigation-row .primary-navigation li { position: relative; }
	.header-navigation-row .primary-navigation a { padding-right: 54px; border-color: color-mix(in srgb,var(--color-bg) 15%,transparent); }
	.primary-navigation .menu-item-has-children > a::after { content: none; }
	.submenu-toggle { position: absolute; top: 2px; right: 0; display: grid; width: 44px; min-height: 44px; border: 0; background: transparent; color: var(--color-bg); padding: 0; }
	.submenu-toggle:hover { background: color-mix(in srgb,var(--color-bg) 10%,transparent); transform: none; }
	.primary-navigation .sub-menu { display: none; padding-left: 18px; list-style: none; }
	.primary-navigation .menu-item-has-children.submenu-open > .sub-menu { display: block; }
	.news-ticker__inner > strong { min-width: 92px; }
}
@media (prefers-reduced-motion: reduce) {
	.news-ticker__track { animation: none; }
}

/* Four-column dark publication footer, v2.4 */
.site-footer { margin-top: 5rem; border-top: 3px solid var(--color-accent); background: var(--color-dark-surface); color: var(--color-dark-ink); }
.site-footer__inner { display: grid; grid-template-columns: 1fr; gap: 2.5rem; width: min(calc(100% - 32px),var(--archive-width)); margin-inline: auto; padding-block: clamp(3.5rem,7vw,5.5rem); }
.site-footer h2,.site-footer .site-title,.site-footer a { color: var(--color-dark-ink); }
.site-footer h2 { margin: 0 0 1.25rem; padding-bottom: 13px; font-size: 1.15rem; }
.site-footer h2::after { background: var(--color-accent); }
.site-footer p { color: color-mix(in srgb,var(--color-dark-ink) 72%,transparent); }
.footer-brand .custom-logo { max-height: 62px; margin-bottom: 1.35rem; filter: brightness(0) invert(1); }
.footer-brand > p { max-width: 330px; margin-bottom: 1.35rem; font-size: .9rem; line-height: 1.65; }
.footer-socials { display: flex; flex-wrap: wrap; gap: 9px; }
.footer-socials a { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid color-mix(in srgb,var(--color-dark-ink) 22%,transparent); border-radius: 50%; color: var(--color-dark-ink); text-decoration: none; }
.footer-socials a:hover { border-color: var(--color-accent); background: var(--color-accent); color: #fffaf5; transform: translateY(-2px); }
.footer-socials .theme-icon { width: 17px; height: 17px; }
.footer-socials .theme-icon { fill: currentColor; stroke: currentColor; stroke-width: 1.35; }
.footer-posts ol { list-style: none; margin: 0; padding: 0; }
.site-footer .footer-navigation ul { display: block; margin: 0; padding: 0; list-style: none; columns: auto; }
.site-footer .footer-navigation li { position: relative; display: block; margin: 0; padding: 0 0 .95rem 1.05rem; border: 0; color: var(--color-dark-ink); }
.site-footer .footer-navigation li + li { margin-top: .95rem; }
.site-footer .footer-navigation li:last-child { padding-bottom: 0; }
.site-footer .footer-navigation li::before { content: ""; position: absolute; top: .47rem; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--color-accent); }
.site-footer .footer-navigation a { display: block; min-height: 0; padding: 0; color: var(--color-dark-ink); font-family: var(--font-heading); font-size: .9rem; font-weight: 600; line-height: 1.35; text-decoration: none; }
.footer-navigation a:hover { color: var(--color-accent); }
.footer-posts li { padding-bottom: .95rem; border-bottom: 1px solid color-mix(in srgb,var(--color-dark-ink) 11%,transparent); }
.footer-posts li + li { margin-top: .95rem; }
.footer-posts li:last-child { padding-bottom: 0; border-bottom: 0; }
.footer-posts a { display: block; color: var(--color-dark-ink); font-family: var(--font-heading); font-size: .9rem; font-weight: 600; line-height: 1.35; text-decoration: none; }
.footer-posts a:hover { color: var(--color-accent); }
.footer-posts time { display: block; margin-top: .35rem; color: color-mix(in srgb,var(--color-dark-ink) 55%,transparent); font-size: .7rem; }
.site-footer__base { border-top: 1px solid color-mix(in srgb,var(--color-dark-ink) 12%,transparent); background: var(--color-dark-bg); color: color-mix(in srgb,var(--color-dark-ink) 70%,transparent); }
.site-footer__base > div { justify-content: center; padding-block: 18px; text-align: center; }

@media (min-width: 640px) {
	.site-footer__inner { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 1024px) {
	.site-footer__inner { grid-template-columns: 1.25fr .8fr 1fr 1fr; gap: clamp(2.25rem,4vw,4.5rem); }
}

/* Unified homepage and archive reading cards, v2.5 */
.story-list { gap: 18px; }
.story-list .post-card--archive,.archive-feed .post-card--archive { width: 100%; min-height: 250px; }
.story-list .post-card--archive .post-card__title,.archive-feed .post-card--archive .post-card__title {
	margin: .65rem 0 .72rem;
	font-size: clamp(1.7rem,1.4rem + .85vw,2.15rem);
	font-weight: 700;
	line-height: 1.12;
}
.story-list .post-card--archive .post-card__title a,.archive-feed .post-card--archive .post-card__title a { font-weight: inherit; }
.story-list .post-card--archive .post-card__excerpt,.archive-feed .post-card--archive .post-card__excerpt { font-size: .96rem; line-height: 1.6; }
.story-list .post-card--archive.is-text-only,.archive-feed .post-card--archive.is-text-only { grid-template-columns: 1fr; }

@media (min-width: 768px) {
	.story-list .post-card--archive,.archive-feed .post-card--archive { height: 290px; min-height: 290px; }
	.story-list .post-card--archive.has-media,.archive-feed .post-card--archive.has-media { grid-template-columns: minmax(220px,34%) minmax(0,1fr); }
	.story-list .post-card--archive.has-media .post-card__media,.archive-feed .post-card--archive.has-media .post-card__media { order: 0; width: 100%; height: 100%; aspect-ratio: auto; }
	.story-list .post-card--archive.has-media .post-card__body,.archive-feed .post-card--archive.has-media .post-card__body { order: 1; }
	.story-list .post-card--archive .post-card__title,.archive-feed .post-card--archive .post-card__title {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
	.story-list .post-card--archive .post-card__excerpt,.archive-feed .post-card--archive .post-card__excerpt {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}
}

/* Single article editorial refinement, v2.6 */
.single-shell { grid-template-columns: minmax(0,1fr); }
.single-shell > .content-sidebar { order: 2; }
.single-shell > .single-article { order: 1; }
.single-article .article-header h1 { max-width: 720px; font-size: clamp(1.9rem,1.45rem + 2vw,3.1rem); line-height: 1.08; }
.single-article .entry-content { font-size: clamp(1rem,.98rem + .16vw,1.075rem); line-height: 1.74; }
.single-article .entry-content > p,.single-article .entry-content > ul,.single-article .entry-content > ol { max-width: 68ch; }
.entry-meta { align-items: center; gap: 8px 18px; }
.entry-meta > time,.entry-meta > span { display: inline-flex; align-items: center; gap: 6px; }
.entry-meta .theme-icon { width: 16px; height: 16px; color: var(--color-accent-strong); }

.content-sidebar .article-toc { position: static; display: block; visibility: visible; width: 100%; max-height: none; margin: 0; overflow: visible; border: 1px solid var(--color-border); border-top: 3px solid var(--color-accent); border-radius: 12px; background: color-mix(in srgb,var(--color-bg) 70%,var(--color-surface)); padding: 22px; color: var(--color-ink); }
.content-sidebar .article-toc .toc-label { display: block; color: var(--color-ink); font: 700 1.25rem/1.15 var(--font-heading); }
.content-sidebar .article-toc > p { margin: .35rem 0 1rem; color: var(--color-muted); font-size: .78rem; }
.content-sidebar .article-toc ol { margin: 0; padding: 0; list-style: none; counter-reset: toc; }
.content-sidebar .article-toc li { position: relative; counter-increment: toc; padding: .62rem 0 .62rem 2rem; border-top: 1px solid var(--color-border); line-height: 1.35; }
.content-sidebar .article-toc li::before { content: counter(toc,decimal-leading-zero); position: absolute; top: .66rem; left: 0; color: var(--color-accent-strong); font-size: .68rem; font-weight: 700; }
.content-sidebar .article-toc .toc-child { padding-left: 2.75rem; }
.content-sidebar .article-toc a { color: var(--color-ink); font-size: .82rem; font-weight: 600; text-decoration: none; }
.content-sidebar .article-toc a:hover { color: var(--color-accent-strong); }

.share-tools { align-items: flex-start; flex-direction: column; gap: 12px; }
.share-tools > strong { font-size: 1.05rem; }
.share-links { display: flex; flex-wrap: wrap; gap: 9px; }
.share-links a,.share-links button { display: grid; place-items: center; width: 42px; min-height: 42px; border: 1px solid var(--color-border); border-radius: 50%; background: var(--color-surface); color: var(--color-ink); padding: 0; text-decoration: none; }
.share-links a:hover,.share-links button:hover { border-color: var(--color-accent); background: var(--color-accent); color: #fffaf5; transform: translateY(-2px); }
.share-links .theme-icon { width: 18px; height: 18px; }
.share-links .is-copied { border-color: var(--color-accent); background: var(--color-accent); color: #fffaf5; }
.author-card { grid-template-columns: 88px 1fr; align-items: center; }
.author-card .author-logo { width: 88px; height: 88px; border-radius: 12px; object-fit: contain; background: var(--color-bg); padding: 8px; }
.author-card h2 { font-size: 1.55rem; }
.related-grid { align-items: stretch; }
.related-grid .post-card { height: 100%; }

@media (min-width: 960px) {
	.single-shell { grid-template-columns: 290px minmax(0,1fr); gap: 36px; }
	.single-shell > .content-sidebar { grid-column: 1; grid-row: 1; order: 0; }
	.single-shell > .single-article { grid-column: 2; grid-row: 1; order: 0; }
}
@media (max-width: 767px) {
	.author-card { grid-template-columns: 64px 1fr; }
	.author-card .author-logo { width: 64px; height: 64px; }
}

/* Audited single-post and discussion system, v2.7 */
.article-meta-separator { margin-top: 1.5rem; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); padding-block: 13px; }
.article-meta-separator .entry-meta { margin: 0; }
.content-sidebar .article-toc .toc-empty { padding-left: 0; color: var(--color-muted); font-size: .8rem; font-weight: 400; }
.content-sidebar .article-toc .toc-empty::before { content: none; }
.related-reading { margin-top: 3rem; padding-top: 2.25rem; border-top: 1px solid var(--color-border); }
.related-reading > h2 { margin-bottom: 1.4rem; font-size: clamp(1.55rem,1.35rem + .7vw,2rem); }
.related-reading .related-grid { gap: 16px; }
.related-reading .post-card__title { font-size: 1.25rem; line-height: 1.2; }
.related-reading .post-card__excerpt { display: none; }
.related-reading .post-card__body { padding: 17px; }
.related-reading .post-card__media { aspect-ratio: 16/9; }

.comments-area { margin-top: 3.5rem; border-top: 1px solid var(--color-border); padding-top: 2.5rem; }
.comments-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 1.5rem; }
.comments-heading h2 { margin: 0; font-size: clamp(1.65rem,1.45rem + .6vw,2rem); }
.comments-heading p { margin: 0; color: var(--color-muted); font-size: .8rem; }
.comment-list,.comment-list .children { list-style: none; margin: 0; padding: 0; }
.comment-list .children { margin: 14px 0 0 clamp(18px,5vw,46px); }
.comment-card { margin-bottom: 14px; }
.comment-card__body { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 14px; border: 1px solid var(--color-border); border-radius: 12px; background: color-mix(in srgb,var(--color-bg) 72%,var(--color-surface)); padding: 18px; }
.comment-card__avatar img { width: 44px; height: 44px; border-radius: 50%; }
.comment-card__header { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 14px; margin-bottom: .6rem; }
.comment-card__name,.comment-card__name a { color: var(--color-ink); font-family: var(--font-heading); font-size: 1rem; font-weight: 700; text-decoration: none; }
.comment-card__date { color: var(--color-muted); font-size: .7rem; text-decoration: none; }
.comment-card__text { font-size: .94rem; line-height: 1.62; }
.comment-card__text p:last-child { margin-bottom: 0; }
.comment-card__actions { display: flex; gap: 12px; margin-top: .8rem; font-size: .72rem; }
.comment-awaiting-moderation { color: var(--color-accent-strong); font-size: .8rem; font-style: italic; }
.comment-respond { margin-top: 2.25rem; border-radius: 12px; background: var(--color-surface); padding: clamp(20px,4vw,30px); }
.comment-reply-title { margin-bottom: .45rem; font-size: 1.55rem; }
.comment-guidance { margin-bottom: 1.25rem; color: var(--color-muted); font-size: .8rem; }
.comment-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.comment-form > p { margin: 0; }
.comment-form-comment,.comment-form-url,.comment-form-cookies-consent,.comment-challenge,.form-submit,.logged-in-as { grid-column: 1/-1; }
.comment-form label { display: block; margin-bottom: .35rem; color: var(--color-ink); font-size: .78rem; font-weight: 700; }
.comment-form textarea { min-height: 150px; resize: vertical; }
.comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 9px; }
.comment-form-cookies-consent input { flex: 0 0 auto; margin-top: 5px; }
.comment-form-cookies-consent label { font-weight: 400; }
.comment-challenge { max-width: 320px; border-left: 3px solid var(--color-accent); background: var(--color-bg); padding: 13px 15px; }
.comment-challenge input[type="number"] { max-width: 110px; }
.comment-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-submit input { min-width: 150px; }

@media (max-width: 600px) {
	.comment-form { grid-template-columns: 1fr; }
	.comment-form > p { grid-column: 1; }
	.comment-card__body { grid-template-columns: 36px minmax(0,1fr); padding: 14px; }
	.comment-card__avatar img { width: 36px; height: 36px; }
}

/* Single-post composition refinement, v2.8 */
.single-article .article-table-of-contents {
	position: static;
	display: block;
	visibility: visible;
	width: 100%;
	max-height: none;
	margin: 0 0 2rem;
	overflow: hidden;
	border: 1px solid var(--color-border);
	border-left: 4px solid var(--color-accent);
	border-radius: 12px;
	background: var(--color-surface);
	padding: 0;
	color: var(--color-ink);
}
.article-table-of-contents__header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--color-border); padding: 17px 20px; }
.article-table-of-contents__header > span { color: var(--color-ink); font: 700 1.2rem/1.15 var(--font-heading); }
.article-table-of-contents__header small { color: var(--color-muted); font-size: .72rem; }
.single-article .article-table-of-contents ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; margin: 0; padding: 10px 20px 14px; list-style: none; counter-reset: article-toc; }
.single-article .article-table-of-contents li { position: relative; counter-increment: article-toc; min-width: 0; border-bottom: 1px solid color-mix(in srgb,var(--color-border) 75%,transparent); padding: 10px 12px 10px 28px; line-height: 1.35; }
.single-article .article-table-of-contents li::before { content: counter(article-toc,decimal-leading-zero); position: absolute; top: 11px; left: 0; color: var(--color-accent-strong); font-size: .66rem; font-weight: 700; }
.single-article .article-table-of-contents .toc-child { padding-left: 38px; }
.single-article .article-table-of-contents a { color: var(--color-ink); font-size: .84rem; font-weight: 600; text-decoration: none; }
.single-article .article-table-of-contents a:hover { color: var(--color-accent-strong); }
.single-article .article-table-of-contents .toc-empty { grid-column: 1/-1; border: 0; padding-left: 0; color: var(--color-muted); font-size: .82rem; font-weight: 400; }
.single-article .article-table-of-contents .toc-empty::before { content: none; }

.content-sidebar .sidebar-module h2 { margin: 0 0 15px; color: var(--color-ink); font: 700 1.1rem/1.2 var(--font-heading); letter-spacing: -.01em; }
.content-sidebar .sidebar-module,.content-sidebar .sidebar-module p,.content-sidebar .sidebar-module li,.content-sidebar .sidebar-module input { font-family: var(--font-body); font-size: .86rem; line-height: 1.5; }
.content-sidebar .sidebar-posts a,.content-sidebar .sidebar-categories a { color: var(--color-ink); font-family: var(--font-body); font-size: .86rem; font-weight: 600; line-height: 1.4; }
.content-sidebar .sidebar-posts time { color: var(--color-muted); font-family: var(--font-body); font-size: .7rem; }
.content-sidebar .sidebar-categories li { font-size: .84rem; line-height: 1.4; }

.share-links { gap: 10px; }
.share-links a,.share-links button {
	position: relative;
	width: 46px;
	min-height: 46px;
	border: 1px solid color-mix(in srgb,var(--color-border) 86%,var(--color-accent));
	border-radius: 12px;
	background: linear-gradient(145deg,var(--color-bg),var(--color-surface));
	color: var(--color-ink);
	box-shadow: inset 0 1px 0 color-mix(in srgb,var(--color-bg) 90%,transparent),0 4px 12px rgba(73,60,48,.07);
	cursor: pointer;
	transition: transform 180ms ease-out,border-color 180ms ease-out,background-color 180ms ease-out,color 180ms ease-out,box-shadow 180ms ease-out;
}
.share-links a::after,.share-links button::after {
	content: attr(aria-label);
	position: absolute;
	z-index: 4;
	bottom: calc(100% + 8px);
	left: 50%;
	width: max-content;
	max-width: 180px;
	border-radius: 6px;
	background: var(--color-ink);
	color: var(--color-bg);
	padding: 5px 8px;
	font-size: .66rem;
	line-height: 1.2;
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%,4px);
	transition: opacity 150ms ease-out,transform 150ms ease-out;
}
.share-links a:hover,.share-links button:hover,.share-links a:focus-visible,.share-links button:focus-visible { border-color: var(--color-accent); background: var(--color-accent); color: #fffaf5; box-shadow: 0 7px 16px color-mix(in srgb,var(--color-accent) 24%,transparent); transform: translateY(-2px); }
.share-links a:hover::after,.share-links button:hover::after,.share-links a:focus-visible::after,.share-links button:focus-visible::after { opacity: 1; transform: translate(-50%,0); }
.share-links .theme-icon { width: 20px; height: 20px; stroke-width: 1.65; }
.share-links a:nth-child(1) .theme-icon,.share-links a:nth-child(3) .theme-icon,.share-links a:nth-child(4) .theme-icon { fill: currentColor; }

.author-card--text { display: block; grid-template-columns: none; }
.author-card--text > div { max-width: 68ch; }

.related-reading { display: none !important; }
.related-articles { margin-top: 3rem; border-top: 1px solid var(--color-border); padding-top: 2.25rem; }
.related-articles > h2 { margin-bottom: 1.4rem; font-size: clamp(1.55rem,1.35rem + .7vw,2rem); }
.related-articles .related-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.related-articles .post-card { display: flex; height: 100%; flex-direction: column; }
.related-articles .post-card__media { flex: 0 0 auto; aspect-ratio: 16/9; }
.related-articles .post-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 17px; }
.related-articles .post-card__title { font-size: 1.2rem; line-height: 1.2; }
.related-articles .post-card__excerpt { display: none; }
.related-articles .read-link { margin-top: auto; }

@media (min-width: 960px) {
	.single-shell { grid-template-columns: 290px minmax(0,1fr) !important; }
	.single-shell > .content-sidebar { grid-column: 1 !important; grid-row: 1 !important; order: 0 !important; }
	.single-shell > .single-article { grid-column: 2 !important; grid-row: 1 !important; order: 0 !important; }
}
@media (max-width: 767px) {
	.single-article .article-table-of-contents ol { grid-template-columns: 1fr; }
	.article-table-of-contents__header { align-items: flex-start; flex-direction: column; gap: 4px; }
	.related-articles .related-grid { grid-template-columns: 1fr; }
}

/* Single-post layout correction, v2.9 */
.single-article .article-column {
	width: calc(100% - 40px);
	max-width: none;
	padding-top: 1rem;
}
.single-article .entry-content > * {
	max-width: none;
	width: 100%;
}
.single-article .entry-content > p,
.single-article .entry-content > ul,
.single-article .entry-content > ol,
.single-article .article-header h1 {
	max-width: none;
}
.single-article .article-table-of-contents {
	margin: 0 0 1.4rem;
}
.single-article .article-table-of-contents summary {
	display: grid;
	grid-template-columns: minmax(0,1fr) auto auto;
	align-items: center;
	gap: 12px;
	border-bottom: 1px solid transparent;
	padding: 15px 18px;
	cursor: pointer;
	list-style: none;
}
.single-article .article-table-of-contents summary::-webkit-details-marker { display: none; }
.single-article .article-table-of-contents[open] summary { border-bottom-color: var(--color-border); }
.single-article .article-table-of-contents summary > span { color: var(--color-ink); font: 700 1.15rem/1.2 var(--font-heading); }
.single-article .article-table-of-contents summary small { color: var(--color-muted); font-size: .72rem; }
.single-article .article-table-of-contents summary .theme-icon { width: 18px; height: 18px; transition: transform 180ms ease-out; }
.single-article .article-table-of-contents[open] summary .theme-icon { transform: rotate(180deg); }
.single-article .article-table-of-contents ol {
	display: grid;
	grid-template-columns: 1fr;
	padding: 8px 18px 12px;
}
.single-article .article-table-of-contents .toc-empty { grid-column: 1; }

.share-links { align-items: center; gap: 9px; }
.share-links .share-link {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	min-height: 44px;
	border: 1px solid var(--color-border);
	border-radius: 50%;
	background: var(--color-surface);
	color: var(--color-ink);
	box-shadow: 0 3px 10px color-mix(in srgb,var(--color-ink) 8%,transparent);
	padding: 0;
	line-height: 1;
}
.share-links .share-link svg { display: block; width: 19px; height: 19px; overflow: visible; fill: currentColor; stroke: none; }
.share-links .share-link--copy svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.share-links .share-link:hover,
.share-links .share-link:focus-visible {
	border-color: var(--color-accent);
	background: var(--color-ink);
	color: var(--color-bg);
	box-shadow: 0 6px 14px color-mix(in srgb,var(--color-ink) 16%,transparent);
}

.related-articles .related-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.related-article-card {
	display: flex;
	min-height: 190px;
	flex-direction: column;
	border: 1px solid var(--color-border);
	border-top: 3px solid var(--color-accent);
	border-radius: 10px;
	background: var(--color-surface);
	padding: 18px;
}
.related-article-card h3 { margin: 0 0 1rem; font-size: 1.16rem; line-height: 1.25; }
.related-article-card h3 a { color: var(--color-ink); text-decoration: none; }
.related-article-card h3 a:hover { color: var(--color-accent-strong); }
.related-article-card__meta { display: flex; flex-wrap: wrap; gap: 5px 12px; color: var(--color-muted); font-size: .72rem; line-height: 1.4; }
.related-article-card__link { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; color: var(--color-accent-strong); font-size: .8rem; font-weight: 700; text-decoration: none; }
.related-article-card__link .theme-icon { width: 15px; height: 15px; transition: transform 180ms ease-out; }
.related-article-card__link:hover .theme-icon { transform: translateX(3px); }

@media (min-width: 960px) {
	.single-shell { grid-template-columns: minmax(0,1fr) 290px !important; }
	.single-shell > .single-article { grid-column: 1 !important; grid-row: 1 !important; }
	.single-shell > .content-sidebar { grid-column: 2 !important; grid-row: 1 !important; }
}
@media (max-width: 767px) {
	.single-article .article-table-of-contents summary { grid-template-columns: minmax(0,1fr) auto; }
	.single-article .article-table-of-contents summary small { display: none; }
	.related-articles .related-grid { grid-template-columns: 1fr; }
}
/* Professional article feeds, v3.0 */
.magazine-home .home-content-shell,
.archive-main .archive-shell { gap: clamp(28px,4vw,48px); }
.latest-feed,
.archive-feed { min-width: 0; }
.latest-feed .section-heading--compact {
	align-items: end;
	margin-bottom: 1.35rem;
	border-bottom: 1px solid var(--color-border);
	padding-bottom: 1rem;
}
.latest-feed .section-heading--compact h2 { margin: 0; font-size: clamp(1.9rem,1.6rem + 1vw,2.55rem); line-height: 1.08; }
.latest-feed .section-heading--compact > a { color: var(--color-accent-strong); font-size: .82rem; font-weight: 700; text-decoration: none; }
.latest-feed .section-heading--compact > a:hover { text-decoration: underline; text-underline-offset: 4px; }

.archive-main { padding-top: clamp(2.5rem,5vw,4.75rem); }
.archive-header {
	display: grid;
	max-width: 820px;
	gap: .7rem;
	margin-bottom: clamp(2rem,4vw,3.25rem);
	border-bottom: 1px solid var(--color-border);
	padding-bottom: clamp(1.4rem,3vw,2.1rem);
}
.archive-kicker { margin: 0; color: var(--color-accent-strong); font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.archive-header h1 { max-width: 18ch; margin: 0; font-size: clamp(2.35rem,1.75rem + 2.4vw,4.15rem); line-height: 1.02; }
.archive-description { max-width: 66ch; color: var(--color-muted); font-size: 1rem; line-height: 1.65; }
.archive-description > :last-child { margin-bottom: 0; }
.archive-count { margin: .2rem 0 0; color: var(--color-muted); font-size: .78rem; font-weight: 600; }

.story-list,
.archive-feed { gap: 20px; }
.story-list .post-card--archive,
.archive-feed .post-card--archive {
	position: relative;
	display: grid;
	width: 100%;
	height: auto;
	min-height: 250px;
	overflow: hidden;
	border: 1px solid color-mix(in srgb,var(--color-border) 90%,transparent);
	border-radius: 10px;
	background: var(--color-surface);
	box-shadow: 0 1px 0 color-mix(in srgb,var(--color-ink) 4%,transparent),0 8px 26px color-mix(in srgb,var(--color-ink) 5%,transparent);
	transition: border-color 180ms ease-out,box-shadow 180ms ease-out,transform 180ms ease-out;
}
.story-list .post-card--archive:hover,
.archive-feed .post-card--archive:hover {
	border-color: color-mix(in srgb,var(--color-accent) 45%,var(--color-border));
	box-shadow: 0 2px 0 color-mix(in srgb,var(--color-ink) 4%,transparent),0 14px 32px color-mix(in srgb,var(--color-ink) 8%,transparent);
	transform: translateY(-2px);
}
.story-list .post-card--archive.has-media,
.archive-feed .post-card--archive.has-media { grid-template-columns: minmax(220px,34%) minmax(0,1fr); }
.story-list .post-card--archive .post-card__media,
.archive-feed .post-card--archive .post-card__media {
	order: 0;
	width: 100%;
	height: 100%;
	min-height: 250px;
	aspect-ratio: auto;
	background: var(--color-border);
}
.story-list .post-card--archive .post-card__media img,
.archive-feed .post-card--archive .post-card__media img { width: 100%; height: 100%; object-fit: cover; }
.story-list .post-card--archive .post-card__body,
.archive-feed .post-card--archive .post-card__body {
	order: 1;
	display: flex;
	min-width: 0;
	min-height: 250px;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	padding: clamp(22px,3vw,34px);
}
.story-list .post-card--archive .tag-pill,
.archive-feed .post-card--archive .tag-pill {
	min-height: 0;
	border-radius: 0;
	background: transparent;
	padding: 0;
	color: var(--color-accent-strong);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .055em;
	text-transform: uppercase;
}
.story-list .post-card--archive .post-card__title,
.archive-feed .post-card--archive .post-card__title {
	display: block;
	overflow: visible;
	margin: .65rem 0 .72rem;
	font-size: clamp(1.5rem,1.28rem + .6vw,1.9rem);
	font-weight: 700;
	line-height: 1.13;
	-webkit-line-clamp: unset;
}
.story-list .post-card--archive .post-card__title a,
.archive-feed .post-card--archive .post-card__title a { color: var(--color-ink); text-decoration-thickness: 1px; text-underline-offset: 4px; }
.story-list .post-card--archive .post-card__title a:hover,
.archive-feed .post-card--archive .post-card__title a:hover { color: var(--color-accent-strong); text-decoration: underline; }
.story-list .post-card--archive .card-meta,
.archive-feed .post-card--archive .card-meta {
	order: 3;
	margin-top: auto;
	padding-top: 1rem;
	color: var(--color-muted);
	font-size: .74rem;
	line-height: 1.4;
}
.story-list .post-card--archive .card-meta .card-author,
.archive-feed .post-card--archive .card-meta .card-author { color: color-mix(in srgb,var(--color-muted) 82%,var(--color-ink)); }
.story-list .post-card--archive .post-card__excerpt,
.archive-feed .post-card--archive .post-card__excerpt {
	display: -webkit-box;
	order: 2;
	overflow: hidden;
	margin: 0;
	color: var(--color-muted);
	font-size: .96rem;
	line-height: 1.62;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.story-list .post-card--archive .read-link,
.archive-feed .post-card--archive .read-link {
	order: 4;
	margin-top: .9rem;
	color: var(--color-ink);
	font-size: .79rem;
	font-weight: 700;
	text-decoration: none;
}
.story-list .post-card--archive .read-link:hover,
.archive-feed .post-card--archive .read-link:hover { color: var(--color-accent-strong); }
.story-list .post-card--archive.is-text-only,
.archive-feed .post-card--archive.is-text-only { grid-template-columns: 1fr; }
.story-list .post-card--archive.is-text-only::after,
.archive-feed .post-card--archive.is-text-only::after { inset: 0 auto 0 0; width: 4px; }
.story-list .post-card--archive.is-text-only .post-card__body,
.archive-feed .post-card--archive.is-text-only .post-card__body { min-height: 235px; padding-left: clamp(26px,3.5vw,40px); padding-right: clamp(22px,3vw,34px); }
.story-list > .ad-space,
.archive-feed > .ad-space { border-block: 1px solid var(--color-border); padding-block: 18px; }

@media (max-width: 767px) {
	.latest-feed .section-heading--compact { display: flex; align-items: flex-start; gap: 12px; }
	.story-list .post-card--archive.has-media,
	.archive-feed .post-card--archive.has-media { grid-template-columns: 1fr; }
	.story-list .post-card--archive .post-card__media,
	.archive-feed .post-card--archive .post-card__media { height: auto; min-height: 0; aspect-ratio: 16/9; }
	.story-list .post-card--archive .post-card__body,
	.archive-feed .post-card--archive .post-card__body { min-height: 0; padding: 22px; }
	.story-list .post-card--archive .post-card__title,
	.archive-feed .post-card--archive .post-card__title { font-size: clamp(1.4rem,1.24rem + .8vw,1.7rem); }
	.story-list .post-card--archive .post-card__excerpt,
	.archive-feed .post-card--archive .post-card__excerpt { -webkit-line-clamp: 3; }
}
/* Feed card detail refinement, v3.1 */
.story-list .post-card--archive .post-card__title,
.archive-feed .post-card--archive .post-card__title {
	margin: .7rem 0 .8rem;
	font-size: clamp(1.8rem,1.48rem + .9vw,2.3rem);
	line-height: 1.08;
	letter-spacing: -.015em;
}
.story-list .post-card--archive .card-meta,
.archive-feed .post-card--archive .card-meta {
	align-items: center;
	gap: 7px 0;
}
.story-list .post-card--archive .card-meta > * + *::before,
.archive-feed .post-card--archive .card-meta > * + *::before {
	content: "";
	display: inline-block;
	width: 1px;
	height: 12px;
	margin: 0 11px -2px;
	border: 0;
	border-radius: 0;
	background: var(--color-border);
}
.story-list .post-card--archive .read-link,
.archive-feed .post-card--archive .read-link {
	min-height: 40px;
	border: 1px solid var(--color-accent);
	border-radius: 8px;
	background: var(--color-accent);
	color: var(--color-bg);
	box-shadow: 0 4px 10px color-mix(in srgb,var(--color-accent) 18%,transparent);
	padding: .6rem .9rem;
	font-size: .79rem;
	font-weight: 700;
	transition: background-color 180ms ease-out,border-color 180ms ease-out,box-shadow 180ms ease-out,transform 180ms ease-out;
}
.story-list .post-card--archive .read-link:hover,
.archive-feed .post-card--archive .read-link:hover,
.story-list .post-card--archive .read-link:focus-visible,
.archive-feed .post-card--archive .read-link:focus-visible {
	border-color: var(--color-accent-strong);
	background: var(--color-accent-strong);
	color: var(--color-bg);
	box-shadow: 0 7px 15px color-mix(in srgb,var(--color-accent) 24%,transparent);
	transform: translateY(-1px);
}
.story-list .post-card--archive .read-link:active,
.archive-feed .post-card--archive .read-link:active { transform: translateY(0); }
.story-list .post-card--archive.is-text-only::after,
.archive-feed .post-card--archive.is-text-only::after { content: none; display: none; }
.story-list .post-card--archive.is-text-only .post-card__body,
.archive-feed .post-card--archive.is-text-only .post-card__body { padding-left: clamp(22px,3vw,34px); }

@media (max-width: 767px) {
	.story-list .post-card--archive .post-card__title,
	.archive-feed .post-card--archive .post-card__title { font-size: clamp(1.6rem,1.38rem + 1vw,1.9rem); line-height: 1.1; }
}
/* Editable editorial pages and contact form, v3.2 */
.editorial-page { width: min(calc(100% - 32px),var(--archive-width)); margin-inline: auto; padding-block: clamp(2.5rem,6vw,6rem); }
.editorial-page__article { width: 100%; }
.editorial-page__header { display: grid; max-width: 940px; gap: .8rem; margin-bottom: clamp(2.25rem,5vw,4.5rem); border-bottom: 1px solid var(--color-border); padding-bottom: clamp(1.6rem,4vw,3rem); }
.editorial-page__kicker { margin: 0; color: var(--color-accent-strong); font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.editorial-page__header h1 { max-width: 14ch; margin: 0; font-size: clamp(2.8rem,2rem + 3.6vw,5.8rem); line-height: 1.01; letter-spacing: -.025em; }
.editorial-page__deck { max-width: 62ch; margin: .25rem 0 0; color: var(--color-muted); font-size: clamp(1.05rem,1rem + .25vw,1.22rem); line-height: 1.6; }
.editorial-page__body { width: min(100%,920px); margin: 0; font-size: 1.06rem; line-height: 1.75; }
.editorial-page__body > * { max-width: 72ch; }
.editorial-page__body > h2 { max-width: 28ch; margin-top: 2.4em; font-size: clamp(1.85rem,1.55rem + 1vw,2.6rem); line-height: 1.1; }
.editorial-page__body > h3 { margin-top: 2em; font-size: clamp(1.35rem,1.2rem + .55vw,1.75rem); line-height: 1.15; }
.editorial-page__body > ul,.editorial-page__body > ol { padding-left: 1.25rem; }
.editorial-page__body > hr { max-width: 100%; margin-block: 3rem; border: 0; border-top: 1px solid var(--color-border); }

.contact-panel { display: grid; grid-template-columns: minmax(220px,.65fr) minmax(0,1.35fr); gap: clamp(28px,5vw,72px); width: 100%; margin-top: clamp(3rem,6vw,6rem); border-top: 1px solid var(--color-border); padding-top: clamp(2.2rem,5vw,4rem); }
.contact-panel__intro h2 { margin: 0 0 .8rem; font-size: clamp(2rem,1.7rem + 1vw,2.8rem); line-height: 1.08; }
.contact-panel__intro p { max-width: 38ch; color: var(--color-muted); line-height: 1.65; }
.contact-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface); box-shadow: var(--shadow-card); padding: clamp(22px,4vw,38px); }
.contact-form p { margin: 0; }
.contact-form__wide,.contact-form__submit { grid-column: 1/-1; }
.contact-form label { display: block; margin-bottom: 7px; color: var(--color-ink); font-size: .78rem; font-weight: 700; }
.contact-form input,.contact-form textarea { width: 100%; border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-bg); color: var(--color-ink); padding: .78rem .85rem; font: inherit; }
.contact-form textarea { min-height: 170px; resize: vertical; }
.contact-form input:focus,.contact-form textarea:focus { border-color: var(--color-accent); outline: 3px solid color-mix(in srgb,var(--color-accent) 18%,transparent); outline-offset: 1px; }
.contact-form__submit button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; border: 1px solid var(--color-accent); border-radius: 8px; background: var(--color-accent); color: var(--color-bg); padding: .72rem 1.05rem; cursor: pointer; }
.contact-form__submit button:hover,.contact-form__submit button:focus-visible { border-color: var(--color-accent-strong); background: var(--color-accent-strong); color: var(--color-bg); transform: translateY(-1px); }
.contact-form__submit .theme-icon { width: 17px; height: 17px; }
.contact-form__honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.contact-notice { grid-column: 2; border: 1px solid var(--color-border); border-radius: 8px; padding: .85rem 1rem; font-size: .88rem; }
.contact-notice--success { border-color: color-mix(in srgb,var(--color-accent) 55%,var(--color-border)); background: color-mix(in srgb,var(--color-accent) 9%,var(--color-surface)); }
.contact-notice--error { border-color: var(--color-accent-strong); }

@media (max-width: 767px) {
	.editorial-page__header h1 { max-width: 100%; }
	.contact-panel { grid-template-columns: 1fr; }
	.contact-notice { grid-column: 1; }
	.contact-form { grid-template-columns: 1fr; }
	.contact-form__wide,.contact-form__submit { grid-column: 1; }
}
/* Full-width editorial page surfaces, v3.3 */
.editorial-page__header {
	position: relative;
	max-width: none;
	overflow: hidden;
	margin-bottom: clamp(2rem,4vw,3.5rem);
	border: 1px solid var(--color-border);
	border-top: 4px solid var(--color-accent);
	border-radius: 12px;
	background: color-mix(in srgb,var(--color-surface) 72%,var(--color-bg));
	box-shadow: 0 12px 34px color-mix(in srgb,var(--color-ink) 6%,transparent);
	padding: clamp(30px,6vw,76px);
}
.editorial-page__header::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: clamp(90px,15vw,190px);
	height: 4px;
	background: var(--color-ink);
}
.editorial-page__header h1 { max-width: 16ch; }
.editorial-page__header .editorial-page__deck { max-width: 76ch; }
.editorial-page__body {
	width: 100%;
	max-width: none;
	margin: 0;
}
.editorial-page__body > * { width: 100%; max-width: none; }
.editorial-page__body > p {
	margin-bottom: 1.5rem;
	font-size: clamp(1rem,.98rem + .14vw,1.08rem);
	line-height: 1.78;
}
.editorial-page__body > p.has-large-font-size {
	max-width: none;
	margin-bottom: clamp(2.2rem,4vw,3.4rem);
	border-left: 4px solid var(--color-accent);
	background: color-mix(in srgb,var(--color-accent) 7%,var(--color-surface));
	padding: clamp(20px,3vw,32px);
	font-family: var(--font-heading);
	font-size: clamp(1.3rem,1.12rem + .65vw,1.75rem);
	font-weight: 600;
	line-height: 1.45;
}
.editorial-page__body > h2 {
	max-width: none;
	margin: clamp(2.8rem,6vw,5rem) 0 1.4rem;
	border-top: 1px solid var(--color-border);
	border-left: 4px solid var(--color-accent);
	background: color-mix(in srgb,var(--color-surface) 74%,var(--color-bg));
	padding: clamp(18px,2.5vw,28px) clamp(20px,3vw,36px);
	font-size: clamp(1.9rem,1.55rem + 1.15vw,2.7rem);
	line-height: 1.08;
}
.editorial-page__body > h2:first-child { margin-top: 0; }
.editorial-page__body > h3 {
	max-width: none;
	margin-top: 2.3rem;
	border-bottom: 1px solid var(--color-border);
	padding-bottom: .75rem;
}
.editorial-page__body > ul,
.editorial-page__body > ol {
	columns: 2;
	column-gap: clamp(28px,5vw,70px);
	margin: 1.4rem 0 2rem;
	border-block: 1px solid var(--color-border);
	background: var(--color-surface);
	padding: clamp(20px,3vw,32px) clamp(26px,4vw,48px);
}
.editorial-page__body > ul li,
.editorial-page__body > ol li { break-inside: avoid; margin: 0 0 .8rem; line-height: 1.6; }
.editorial-page__body > hr { width: 100%; max-width: none; }
.contact-panel { width: 100%; max-width: none; }

@media (max-width: 767px) {
	.editorial-page { width: min(calc(100% - 24px),var(--archive-width)); }
	.editorial-page__header { border-radius: 10px; padding: 28px 22px; }
	.editorial-page__header h1 { max-width: 100%; }
	.editorial-page__body > ul,
	.editorial-page__body > ol { columns: 1; padding: 20px 24px; }
	.editorial-page__body > h2 { padding: 18px 20px; }
}
/* Reliable premium contact form, v3.4 */
.contact-panel {
	grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr);
	gap: 0;
	overflow: hidden;
	margin-top: clamp(3rem,6vw,5.5rem);
	border: 1px solid var(--color-border);
	border-top: 4px solid var(--color-accent);
	border-radius: 12px;
	background: var(--color-surface);
	box-shadow: 0 16px 42px color-mix(in srgb,var(--color-ink) 8%,transparent);
	padding: 0;
}
.contact-panel__intro {
	position: relative;
	background: var(--color-ink);
	color: var(--color-bg);
	padding: clamp(30px,4.5vw,56px);
}
.contact-panel__intro::after { content: ""; position: absolute; right: 0; bottom: 0; width: 72px; height: 72px; border-top: 1px solid color-mix(in srgb,var(--color-bg) 24%,transparent); border-left: 1px solid color-mix(in srgb,var(--color-bg) 24%,transparent); }
.contact-panel__intro h2 { max-width: 9ch; margin: 0 0 1rem; color: var(--color-bg); font-size: clamp(2.2rem,1.75rem + 1.5vw,3.35rem); line-height: 1.02; }
.contact-panel__intro > p:not(.contact-panel__eyebrow) { max-width: 34ch; margin: 0; color: color-mix(in srgb,var(--color-bg) 78%,transparent); font-size: .96rem; line-height: 1.68; }
.contact-panel__eyebrow { margin: 0 0 1rem; color: var(--color-accent); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.contact-panel__assurances { margin: 2rem 0 0; padding: 0; list-style: none; }
.contact-panel__assurances li { position: relative; margin: 0 0 .8rem; padding-left: 22px; color: color-mix(in srgb,var(--color-bg) 72%,transparent); font-size: .76rem; line-height: 1.5; }
.contact-panel__assurances li::before { content: "✓"; position: absolute; left: 0; color: var(--color-accent); font-weight: 700; }
.contact-panel__form-wrap { min-width: 0; background: var(--color-bg); padding: clamp(26px,4.5vw,52px); }
.contact-form { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; border: 0; border-radius: 0; background: transparent; box-shadow: none; padding: 0; }
.contact-form label { margin-bottom: 8px; font-size: .77rem; letter-spacing: .015em; }
.contact-form label span { color: var(--color-accent-strong); }
.contact-form input,.contact-form textarea { min-height: 50px; border-color: color-mix(in srgb,var(--color-border) 82%,var(--color-ink)); border-radius: 8px; background: var(--color-surface); padding: .82rem .9rem; transition: border-color 160ms ease-out,background-color 160ms ease-out,box-shadow 160ms ease-out; }
.contact-form textarea { min-height: 180px; }
.contact-form input:hover,.contact-form textarea:hover { border-color: color-mix(in srgb,var(--color-accent) 55%,var(--color-border)); }
.contact-form input:focus,.contact-form textarea:focus { border-color: var(--color-accent); background: var(--color-bg); box-shadow: 0 0 0 3px color-mix(in srgb,var(--color-accent) 15%,transparent); outline: 0; }
.contact-form__security { grid-column: 1; border-left: 3px solid var(--color-accent); background: var(--color-surface); padding: 14px 16px; }
.contact-form__security p { margin: 0; }
.contact-form__security input { width: 110px; min-height: 42px; background: var(--color-bg); }
.contact-form__security small { display: block; margin-top: 8px; color: var(--color-muted); font-size: .7rem; line-height: 1.4; }
.contact-form__submit { display: flex; align-items: flex-end; justify-content: flex-end; flex-direction: column; gap: 8px; }
.contact-form__submit button { min-width: 168px; min-height: 50px; border-radius: 8px; padding-inline: 1.25rem; font-weight: 700; box-shadow: 0 7px 18px color-mix(in srgb,var(--color-accent) 22%,transparent); transition: transform 160ms ease-out,background-color 160ms ease-out,box-shadow 160ms ease-out; }
.contact-form__submit button:hover,.contact-form__submit button:focus-visible { box-shadow: 0 10px 22px color-mix(in srgb,var(--color-accent) 28%,transparent); }
.contact-form__submit small { color: var(--color-muted); font-size: .68rem; line-height: 1.4; text-align: right; }
.contact-notice { grid-column: auto; margin-bottom: 20px; border-radius: 8px; padding: 14px 16px; font-size: .86rem; line-height: 1.5; }
.contact-notice strong { font-family: var(--font-heading); }
.contact-notice--success { border-left: 4px solid var(--color-accent); }
.contact-notice--error { border-left: 4px solid var(--color-accent-strong); background: var(--color-surface); }

@media (max-width: 860px) {
	.contact-panel { grid-template-columns: 1fr; }
	.contact-panel__intro h2 { max-width: none; }
	.contact-panel__intro::after { display: none; }
}
@media (max-width: 600px) {
	.contact-panel { border-radius: 10px; }
	.contact-panel__intro,.contact-panel__form-wrap { padding: 26px 20px; }
	.contact-form { grid-template-columns: 1fr; }
	.contact-form__wide,.contact-form__security,.contact-form__submit { grid-column: 1; }
	.contact-form__submit { align-items: stretch; }
	.contact-form__submit button { width: 100%; }
	.contact-form__submit small { text-align: left; }
}
/* Refined information pages and honeypot-only contact, v3.5 */
.editorial-page {
	width: min(calc(100% - 40px),1180px);
	padding-block: clamp(2.25rem,5vw,4.75rem);
}
.editorial-page__header {
	margin-bottom: clamp(2.5rem,5vw,4.25rem);
	border: 1px solid var(--color-border);
	border-top: 0;
	border-radius: 12px;
	background: var(--color-surface);
	box-shadow: none;
	padding: 0;
}
.editorial-page__header::after { top: 0; right: auto; left: 0; width: 100%; height: 4px; background: var(--color-accent); }
.editorial-page__header-inner {
	display: grid;
	grid-template-columns: minmax(150px,210px) minmax(0,1fr);
	column-gap: clamp(28px,5vw,72px);
	align-items: start;
	padding: clamp(30px,5vw,62px);
}
.editorial-page__kicker {
	grid-column: 1;
	grid-row: 1 / span 2;
	margin: .45rem 0 0;
	color: var(--color-accent-strong);
	font-size: .7rem;
	line-height: 1.45;
	letter-spacing: .075em;
}
.editorial-page__header h1 {
	grid-column: 2;
	max-width: none;
	margin: 0;
	font-size: clamp(2.65rem,2.1rem + 2.1vw,4.45rem);
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -.022em;
}
.editorial-page__header .editorial-page__deck {
	grid-column: 2;
	max-width: 64ch;
	margin: 1rem 0 0;
	font-size: clamp(1rem,.96rem + .22vw,1.15rem);
	line-height: 1.62;
}
.editorial-page__body { width: 100%; }
.editorial-page__body > p {
	width: min(100%,76ch);
	max-width: 76ch;
	margin: 0 0 1.35rem;
	font-size: clamp(1rem,.98rem + .12vw,1.06rem);
	line-height: 1.75;
}
.editorial-page__body > p.has-large-font-size {
	width: 100%;
	max-width: none;
	margin: 0 0 clamp(2.75rem,5vw,4.5rem);
	border: 1px solid var(--color-border);
	border-left: 0;
	border-radius: 12px;
	background: var(--color-surface);
	padding: clamp(24px,4vw,42px);
	font-size: clamp(1.2rem,1.08rem + .55vw,1.55rem);
	font-weight: 600;
	line-height: 1.48;
}
.editorial-page__body > h2 {
	position: relative;
	width: 100%;
	max-width: none;
	margin: clamp(3rem,6vw,5rem) 0 1.2rem;
	border: 0;
	border-bottom: 1px solid var(--color-border);
	background: transparent;
	padding: 0 0 .8rem 22px;
	font-size: clamp(1.65rem,1.45rem + .75vw,2.2rem);
	font-weight: 700;
	line-height: 1.1;
}
.editorial-page__body > h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: .14em;
	width: 4px;
	height: .82em;
	border-radius: 999px;
	background: var(--color-accent);
}
.editorial-page__body > h2:first-child { margin-top: 0; }
.editorial-page__body > h3 {
	width: min(100%,76ch);
	max-width: 76ch;
	margin: 2.4rem 0 1rem;
	border: 0;
	padding: 0;
	font-size: clamp(1.25rem,1.16rem + .35vw,1.55rem);
}
.editorial-page__body > ul,
.editorial-page__body > ol {
	width: min(100%,76ch);
	max-width: 76ch;
	columns: 1;
	margin: 1.4rem 0 2rem;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	background: var(--color-surface);
	padding: 22px 24px 22px 46px;
}
.editorial-page__body > ul li,
.editorial-page__body > ol li { margin-bottom: .65rem; }

.contact-panel {
	grid-template-columns: minmax(240px,.62fr) minmax(0,1.38fr);
	margin-top: clamp(3.25rem,6vw,5.5rem);
	border: 1px solid var(--color-border);
	border-top: 4px solid var(--color-accent);
	background: var(--color-bg);
	box-shadow: none;
}
.contact-panel__intro {
	border-right: 1px solid var(--color-border);
	background: var(--color-surface);
	color: var(--color-ink);
	padding: clamp(28px,4vw,46px);
}
.contact-panel__intro::after { display: none; }
.contact-panel__intro h2 { max-width: none; color: var(--color-ink); font-size: clamp(1.8rem,1.55rem + .8vw,2.35rem); line-height: 1.08; }
.contact-panel__intro > p:not(.contact-panel__eyebrow) { color: var(--color-muted); }
.contact-panel__assurances { margin-top: 1.6rem; }
.contact-panel__assurances li { color: var(--color-muted); }
.contact-panel__form-wrap { padding: clamp(28px,4vw,48px); }
.contact-form { gap: 18px 20px; }
.contact-form__submit { grid-column: 1 / -1; align-items: flex-start; justify-content: flex-start; }
.contact-form__submit small { text-align: left; }
.contact-form__submit button { box-shadow: none; }
.contact-form__submit button:hover,.contact-form__submit button:focus-visible { box-shadow: none; }
.contact-form__security { display: none !important; }

@media (max-width: 820px) {
	.editorial-page__header-inner { grid-template-columns: 1fr; gap: 12px; }
	.editorial-page__kicker,.editorial-page__header h1,.editorial-page__header .editorial-page__deck { grid-column: 1; grid-row: auto; }
	.editorial-page__kicker { margin-top: 0; }
	.contact-panel { grid-template-columns: 1fr; }
	.contact-panel__intro { border-right: 0; border-bottom: 1px solid var(--color-border); }
}
@media (max-width: 600px) {
	.editorial-page { width: min(calc(100% - 24px),1180px); }
	.editorial-page__header-inner { padding: 28px 22px; }
	.editorial-page__header h1 { font-size: clamp(2.35rem,1.95rem + 2vw,3rem); }
	.editorial-page__body > h2 { padding-left: 18px; }
	.editorial-page__body > p.has-large-font-size { padding: 22px 20px; }
	.editorial-page__body > ul,.editorial-page__body > ol { padding: 20px 20px 20px 40px; }
}
/* Fixed responsive feed-card title sizes, v3.5.2 */
body.home .story-list .post-card--archive .post-card__title,
body.blog .story-list .post-card--archive .post-card__title,
body.archive .archive-feed .post-card--archive .post-card__title,
body.category .archive-feed .post-card--archive .post-card__title {
	font-size: 34px !important;
	line-height: 39px !important;
	letter-spacing: -0.3px;
}
@media (max-width: 1023px) {
	body.home .story-list .post-card--archive .post-card__title,
	body.blog .story-list .post-card--archive .post-card__title,
	body.archive .archive-feed .post-card--archive .post-card__title,
	body.category .archive-feed .post-card--archive .post-card__title {
		font-size: 30px !important;
		line-height: 35px !important;
	}
}
@media (max-width: 767px) {
	body.home .story-list .post-card--archive .post-card__title,
	body.blog .story-list .post-card--archive .post-card__title,
	body.archive .archive-feed .post-card--archive .post-card__title,
	body.category .archive-feed .post-card--archive .post-card__title {
		font-size: 26px !important;
		line-height: 31px !important;
		letter-spacing: -0.15px;
	}
}
/* Feed-card title link sizing and full width, v3.5.3 */
body.home .story-list .post-card--archive .post-card__body,
body.blog .story-list .post-card--archive .post-card__body,
body.archive .archive-feed .post-card--archive .post-card__body,
body.category .archive-feed .post-card--archive .post-card__body {
	width: 100%;
}
body.home .story-list .post-card--archive .post-card__title,
body.blog .story-list .post-card--archive .post-card__title,
body.archive .archive-feed .post-card--archive .post-card__title,
body.category .archive-feed .post-card--archive .post-card__title {
	width: 100%;
	max-width: none;
	align-self: stretch;
}
body.home .story-list .post-card--archive .post-card__title > a,
body.blog .story-list .post-card--archive .post-card__title > a,
body.archive .archive-feed .post-card--archive .post-card__title > a,
body.category .archive-feed .post-card--archive .post-card__title > a {
	display: block;
	width: 100%;
	max-width: none;
	font-family: var(--font-heading) !important;
	font-size: 34px !important;
	font-weight: 700 !important;
	line-height: 39px !important;
	letter-spacing: -0.3px !important;
}
@media (max-width: 1023px) {
	body.home .story-list .post-card--archive .post-card__title > a,
	body.blog .story-list .post-card--archive .post-card__title > a,
	body.archive .archive-feed .post-card--archive .post-card__title > a,
	body.category .archive-feed .post-card--archive .post-card__title > a {
		font-size: 30px !important;
		line-height: 35px !important;
	}
}
@media (max-width: 767px) {
	body.home .story-list .post-card--archive .post-card__title > a,
	body.blog .story-list .post-card--archive .post-card__title > a,
	body.archive .archive-feed .post-card--archive .post-card__title > a,
	body.category .archive-feed .post-card--archive .post-card__title > a {
		font-size: 26px !important;
		line-height: 31px !important;
		letter-spacing: -0.15px !important;
	}
}