/*
Theme Name: Aurevia Nexus
Description: A premium app-inspired WordPress publishing theme with separate Blog Posts and long-form Articles, responsive bento layouts, Gutenberg support, and practical security hardening.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Author: Nexus Studio
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aurevia-nexus
Tags: blog, news, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, wide-blocks
*/

/* --------------------------------------------------------------------------
   Foundation
   -------------------------------------------------------------------------- */
:root {
	--color-ink: #101827;
	--color-ink-soft: #18243a;
	--color-accent: #6c5ce7;
	--color-accent-bright: #e5bc74;
	--color-accent-pale: #f5ead9;
	--color-paper: #f8f7f3;
	--color-surface: #ffffff;
	--color-border: #e7e3da;
	--color-muted: #6d7380;
	--color-text: #252b35;
	--font-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
	--font-body: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--shadow-soft: 0 20px 60px rgba(16, 24, 39, 0.08);
	--shadow-card: 0 14px 40px rgba(16, 24, 39, 0.07);
	--radius-sm: 10px;
	--radius-md: 18px;
	--radius-lg: 28px;
	--container: 1240px;
	--container-wide: 1380px;
	--container-narrow: 850px;
	--header-height: 86px;
}

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

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

body {
	margin: 0;
	background: var(--color-paper);
	color: var(--color-text);
	font-family: var(--font-body);
	font-size: 17px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

body.nav-open,
body.search-open {
	overflow: hidden;
}

img,
svg,
video {
	display: block;
	max-width: 100%;
}

img {
	height: auto;
}

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

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

a {
	color: var(--color-ink);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

a:hover,
a:focus {
	color: var(--color-accent);
}

:focus-visible {
	outline: 3px solid var(--color-accent-bright);
	outline-offset: 4px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 0.55em;
	color: var(--color-ink);
	font-family: var(--font-display);
	font-weight: 600;
	letter-spacing: -0.035em;
	line-height: 1.08;
}

h1 { font-size: clamp(2.75rem, 6vw, 5.8rem); }
h2 { font-size: clamp(2.1rem, 4vw, 4rem); }
h3 { font-size: clamp(1.45rem, 2.4vw, 2.25rem); }
h4 { font-size: 1.35rem; }

p {
	margin: 0 0 1.35em;
}

blockquote {
	margin: 2.4rem 0;
	padding: 0.4rem 0 0.4rem 2rem;
	border-left: 4px solid var(--color-accent);
	color: var(--color-ink);
	font-family: var(--font-display);
	font-size: clamp(1.35rem, 2.5vw, 2rem);
	font-style: italic;
	line-height: 1.45;
}

hr {
	margin: 3rem 0;
	border: 0;
	border-top: 1px solid var(--color-border);
}

table {
	width: 100%;
	border-collapse: collapse;
}

th,
td {
	padding: 0.85rem 1rem;
	border: 1px solid var(--color-border);
	text-align: left;
}

th {
	background: var(--color-accent-pale);
	color: var(--color-ink);
}

::selection {
	background: var(--color-accent);
	color: var(--color-ink);
}

.container,
.container-wide,
.container-narrow {
	width: min(calc(100% - 40px), var(--container));
	margin-inline: auto;
}

.container-wide { max-width: var(--container-wide); }
.container-narrow { max-width: var(--container-narrow); }

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

.screen-reader-text:focus,
.skip-link:focus {
	z-index: 100000;
	top: 12px;
	left: 12px;
	width: auto;
	height: auto;
	padding: 12px 18px;
	clip: auto;
	background: #fff;
	color: #000;
	font-weight: 700;
}

.section {
	padding: clamp(76px, 10vw, 140px) 0;
}

.eyebrow,
.card-kicker {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 1rem;
	color: #9a6724;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.15em;
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
}

.eyebrow::before {
	width: 27px;
	height: 1px;
	background: currentColor;
	content: "";
}

.eyebrow-light,
.section-heading-light h2 {
	color: #f9f2e7;
}

.button,
button.button,
input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0.8rem 1.45rem;
	border: 1px solid var(--color-ink);
	border-radius: 999px;
	background: var(--color-ink);
	color: #fff;
	font-size: 0.85rem;
	font-weight: 800;
	letter-spacing: 0.035em;
	line-height: 1;
	text-decoration: none;
	transition: transform 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.button:hover,
.button:focus,
input[type="submit"]:hover,
input[type="submit"]:focus {
	transform: translateY(-2px);
	border-color: var(--color-accent);
	background: var(--color-accent);
	color: var(--color-ink);
}

.button-small {
	min-height: 43px;
	padding-inline: 1.15rem;
	font-size: 0.76rem;
}

.button-light {
	border-color: #fff;
	background: #fff;
	color: var(--color-ink);
}

.button-light:hover,
.button-light:focus {
	border-color: var(--color-accent-bright);
	background: var(--color-accent-bright);
}

.button-ghost-light {
	border-color: rgba(255, 255, 255, 0.38);
	background: transparent;
	color: #fff;
}

.button-ghost-light:hover,
.button-ghost-light:focus {
	border-color: #fff;
	background: #fff;
	color: var(--color-ink);
}

.text-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--color-ink);
	font-size: 0.84rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: uppercase;
}

.text-link span {
	transition: transform 180ms ease;
}

.text-link:hover span { transform: translateX(4px); }
.text-link-light { color: #fff; }

.reveal {
	animation: aurevia-fade-up 700ms cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

@keyframes aurevia-fade-up {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: translateY(0); }
}

/* --------------------------------------------------------------------------
   Header and navigation
   -------------------------------------------------------------------------- */
.site-header {
	position: relative;
	z-index: 1000;
	border-bottom: 1px solid var(--color-border);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 2px 20px rgba(16, 24, 39, 0.03);
}

.header-accent {
	background: var(--color-ink);
	color: #f4eee4;
	font-size: 0.73rem;
	letter-spacing: 0.05em;
}

.header-accent-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 33px;
}

.header-accent p { margin: 0; }
.header-accent a { color: var(--color-accent-bright); font-weight: 700; text-decoration: none; }

.header-main {
	display: grid;
	grid-template-columns: minmax(190px, 1fr) auto minmax(190px, 1fr);
	align-items: center;
	min-height: var(--header-height);
	gap: 24px;
}

.site-branding { min-width: 0; }
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { width: auto; max-width: 220px; max-height: 58px; }

.brand-wordmark,
.footer-wordmark {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--color-ink);
	text-decoration: none;
}

.brand-wordmark strong,
.footer-wordmark strong {
	display: block;
	font-family: var(--font-display);
	font-size: 1.35rem;
	letter-spacing: -0.025em;
	line-height: 1.05;
}

.brand-wordmark small {
	display: block;
	max-width: 190px;
	margin-top: 4px;
	overflow: hidden;
	color: var(--color-muted);
	font-size: 0.62rem;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.brand-mark {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: 50% 50% 50% 12px;
	background: var(--color-accent);
	color: var(--color-ink);
	font-family: var(--font-display);
	font-size: 1.35rem;
	font-weight: 700;
}

.primary-navigation { justify-self: center; }
.primary-menu,
.primary-navigation .menu {
	display: flex;
	align-items: center;
	gap: clamp(18px, 2.3vw, 34px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.primary-menu li,
.primary-navigation .menu li { position: relative; }

.primary-menu a,
.primary-navigation .menu a {
	position: relative;
	display: block;
	padding: 30px 0;
	color: var(--color-ink);
	font-size: 0.82rem;
	font-weight: 750;
	letter-spacing: 0.035em;
	text-decoration: none;
}

.primary-menu > li > a::after,
.primary-navigation .menu > li > a::after {
	position: absolute;
	right: 0;
	bottom: 23px;
	left: 0;
	height: 2px;
	transform: scaleX(0);
	background: var(--color-accent);
	content: "";
	transition: transform 180ms ease;
}

.primary-menu > li:hover > a::after,
.primary-menu > li.current-menu-item > a::after,
.primary-navigation .menu > li:hover > a::after,
.primary-navigation .menu > li.current_page_item > a::after { transform: scaleX(1); }

.primary-menu .sub-menu,
.primary-navigation .menu .children {
	position: absolute;
	top: calc(100% - 8px);
	left: -22px;
	width: 220px;
	margin: 0;
	padding: 12px;
	visibility: hidden;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: #fff;
	box-shadow: var(--shadow-card);
	list-style: none;
	opacity: 0;
	transform: translateY(8px);
	transition: 160ms ease;
}

.primary-menu .sub-menu a,
.primary-navigation .menu .children a { padding: 10px 12px; border-radius: 7px; }
.primary-menu .sub-menu a:hover,
.primary-navigation .menu .children a:hover { background: var(--color-accent-pale); }
.primary-menu li:hover > .sub-menu,
.primary-menu li:focus-within > .sub-menu,
.primary-navigation .menu li:hover > .children,
.primary-navigation .menu li:focus-within > .children { visibility: visible; opacity: 1; transform: none; }

.header-actions {
	display: flex;
	align-items: center;
	justify-self: end;
	gap: 10px;
}

.icon-button,
.search-close {
	display: grid;
	width: 43px;
	height: 43px;
	place-items: center;
	padding: 0;
	border: 1px solid var(--color-border);
	border-radius: 50%;
	background: transparent;
	color: var(--color-ink);
}

.icon-button:hover { border-color: var(--color-accent); background: var(--color-accent-pale); }
.icon-button svg,
.search-submit svg { width: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 2; }

.menu-toggle {
	display: none;
	width: 44px;
	height: 44px;
	padding: 10px;
	border: 1px solid var(--color-border);
	border-radius: 50%;
	background: #fff;
}

.menu-toggle > span:not(.screen-reader-text) {
	display: block;
	width: 20px;
	height: 2px;
	margin: 4px auto;
	background: var(--color-ink);
	transition: 180ms ease;
}

.menu-toggle[aria-expanded="true"] > span:nth-of-type(2) { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] > span:nth-of-type(3) { opacity: 0; }
.menu-toggle[aria-expanded="true"] > span:nth-of-type(4) { transform: translateY(-6px) rotate(-45deg); }

.header-search {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	padding: 22px 0;
	border-top: 1px solid var(--color-border);
	background: #fff;
	box-shadow: 0 18px 35px rgba(16, 24, 39, 0.08);
}

.header-search-inner { display: flex; align-items: center; gap: 14px; }
.header-search .search-form { flex: 1; }
.search-close { font-size: 1.6rem; }

.search-form {
	display: flex;
	align-items: stretch;
	gap: 8px;
	width: 100%;
}

.search-form label { flex: 1; }
.search-field,
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
textarea,
select {
	width: 100%;
	min-height: 52px;
	padding: 0.75rem 1rem;
	border: 1px solid #d9d6ce;
	border-radius: 10px;
	background: #fff;
	color: var(--color-text);
}

textarea { min-height: 150px; resize: vertical; }
.search-field:focus,
input:focus,
textarea:focus,
select:focus { border-color: var(--color-accent); outline: 2px solid rgba(201, 151, 79, 0.2); }

.search-submit {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0.75rem 1.15rem;
	border: 0;
	border-radius: 10px;
	background: var(--color-ink);
	color: #fff;
	font-size: 0.82rem;
	font-weight: 750;
}

/* --------------------------------------------------------------------------
   Homepage
   -------------------------------------------------------------------------- */
.home-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(75px, 9vw, 130px) 0;
	background: var(--color-ink);
	color: #fff;
}

.home-hero::before {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
	background-size: 55px 55px;
	content: "";
	mask-image: linear-gradient(to bottom, #000, transparent 90%);
}

.hero-orb { position: absolute; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.hero-orb-one { top: -260px; right: -180px; width: 620px; height: 620px; border: 1px solid rgba(229,188,116,.18); box-shadow: 0 0 120px rgba(201,151,79,.08) inset; }
.hero-orb-two { bottom: -310px; left: 24%; width: 500px; height: 500px; border: 1px solid rgba(255,255,255,.07); }

.hero-grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(420px, .85fr);
	align-items: center;
	gap: clamp(55px, 8vw, 120px);
}

.hero-copy h1 {
	max-width: 780px;
	margin-bottom: 0.34em;
	color: #fff;
	font-size: clamp(3.35rem, 7vw, 7rem);
}

.hero-copy > p {
	max-width: 670px;
	color: #cdd2dc;
	font-size: clamp(1.05rem, 1.6vw, 1.28rem);
}

.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 2.2rem; }
.hero-stats { display: flex; flex-wrap: wrap; gap: 36px; margin-top: 4rem; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.12); }
.hero-stats div { display: grid; gap: 2px; }
.hero-stats strong { color: var(--color-accent-bright); font-family: var(--font-display); font-size: 1.6rem; }
.hero-stats span { color: #aeb5c0; font-size: .7rem; letter-spacing: .09em; text-transform: uppercase; }

.hero-feature { position: relative; }
.hero-feature::before {
	position: absolute;
	top: -22px;
	right: -22px;
	width: 100%;
	height: 100%;
	border: 1px solid rgba(229,188,116,.3);
	border-radius: var(--radius-lg);
	content: "";
}

.hero-story {
	position: relative;
	overflow: hidden;
	border-radius: var(--radius-lg);
	background: #fff;
	box-shadow: 0 30px 90px rgba(0,0,0,.25);
}

.hero-story-media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--color-ink-soft); }
.hero-story-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.hero-story:hover .hero-story-media img { transform: scale(1.035); }
.hero-story-body { padding: clamp(24px, 4vw, 40px); }
.hero-featured-label { display: block; margin-bottom: .8rem; color: #9a6724; font-size: .7rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.hero-story h2 { font-size: clamp(1.75rem, 3vw, 2.75rem); }
.hero-story h2 a { text-decoration: none; }
.hero-story .entry-meta { color: var(--color-muted); }
.hero-placeholder { display: grid; min-height: 330px; place-items: center; background: radial-gradient(circle at 70% 30%, #35445e, var(--color-ink)); color: var(--color-accent-bright); font-family: var(--font-display); font-size: 5rem; }

.topic-strip { border-bottom: 1px solid var(--color-border); background: #fff; }
.topic-strip-inner { display: flex; align-items: center; gap: 26px; min-height: 70px; overflow-x: auto; scrollbar-width: none; }
.topic-strip-inner::-webkit-scrollbar { display: none; }
.topic-strip span { flex: 0 0 auto; color: var(--color-muted); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.topic-strip a { flex: 0 0 auto; color: var(--color-ink); font-size: .82rem; font-weight: 750; text-decoration: none; }
.topic-strip a:hover { color: var(--color-accent); }

.home-page-content { padding-top: 70px; }
.section-blog { background: var(--color-paper); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: clamp(34px, 5vw, 62px); }
.section-heading h2 { margin: 0; }
.section-heading .eyebrow { margin-bottom: 10px; }

.card-grid { display: grid; gap: clamp(24px, 3vw, 38px); }
.card-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.card-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.content-card {
	min-width: 0;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: var(--color-surface);
	box-shadow: 0 0 0 rgba(16,24,39,0);
	transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.content-card:hover { transform: translateY(-6px); border-color: #d8c8ae; box-shadow: var(--shadow-card); }
.card-media { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; border-radius: calc(var(--radius-md) - 1px) calc(var(--radius-md) - 1px) 0 0; background: #e9e5dc; }
.card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 450ms ease; }
.content-card:hover .card-media img { transform: scale(1.035); }
.card-body { padding: clamp(22px, 2.6vw, 32px); }
.card-body .card-kicker { margin-bottom: .9rem; }
.card-title { margin-bottom: .55em; font-size: clamp(1.45rem, 2.2vw, 2rem); }
.card-title a { color: inherit; text-decoration: none; }
.card-excerpt { color: var(--color-muted); font-size: .94rem; }
.card-excerpt p { margin-bottom: 1rem; }
.entry-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--color-muted); font-size: .72rem; font-weight: 650; letter-spacing: .025em; }
.image-fallback { display: grid; width: 100%; height: 100%; place-items: center; background: radial-gradient(circle at 72% 20%, #42516a, var(--color-ink)); color: var(--color-accent-bright); }
.image-fallback span { font-family: var(--font-display); font-size: clamp(4rem, 9vw, 8rem); opacity: .72; }
.article-badge { position: absolute; top: 16px; right: 16px; padding: 7px 11px; border-radius: 999px; background: rgba(16,24,39,.88); color: #fff; font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; backdrop-filter: blur(10px); }

.section-articles { position: relative; overflow: hidden; background: var(--color-ink); }
.section-articles::before { position: absolute; top: -300px; right: -200px; width: 650px; height: 650px; border: 1px solid rgba(201,151,79,.13); border-radius: 50%; content: ""; }
.section-articles > .container { position: relative; }
.featured-article { display: grid; grid-template-columns: 1.08fr .92fr; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: var(--radius-lg); background: #172238; }
.featured-article-media { min-height: 510px; overflow: hidden; }
.featured-article-media img,
.featured-article-media .image-fallback { width: 100%; height: 100%; object-fit: cover; }
.featured-article-body { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(38px, 6vw, 76px); color: #cdd2dc; }
.featured-article-body h3 { color: #fff; font-size: clamp(2.3rem, 4.5vw, 4.6rem); }
.featured-article-body h3 a { color: inherit; text-decoration: none; }
.featured-article-body .entry-meta { margin: .5rem 0 2rem; color: #aeb5c0; }
.article-feature-excerpt p { margin-bottom: 1rem; }
.article-grid-dark { margin-top: 34px; }
.article-grid-dark .content-card { border-color: rgba(255,255,255,.1); background: #172238; }
.article-grid-dark .card-title,
.article-grid-dark .card-title a { color: #fff; }
.article-grid-dark .card-excerpt,
.article-grid-dark .entry-meta { color: #aeb5c0; }
.article-grid-dark .card-kicker { color: var(--color-accent-bright); }
.article-empty { display: flex; align-items: center; gap: 30px; padding: clamp(35px, 6vw, 70px); border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius-lg); color: #bfc6d1; }
.article-empty > span { color: var(--color-accent-bright); font-size: 4rem; }
.article-empty h3 { color: #fff; }

.home-promise { background: #fff; }
.promise-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(50px, 9vw, 130px); }
.promise-heading { position: sticky; top: 50px; align-self: start; }
.promise-items { border-top: 1px solid var(--color-border); }
.promise-item { display: grid; grid-template-columns: 70px 1fr; gap: 20px; padding: 34px 0; border-bottom: 1px solid var(--color-border); }
.promise-item > span { color: var(--color-accent); font-family: var(--font-display); font-size: 1.5rem; }
.promise-item h3 { margin-bottom: .35rem; font-size: 1.55rem; }
.promise-item p { margin: 0; color: var(--color-muted); }

/* --------------------------------------------------------------------------
   Archives and search
   -------------------------------------------------------------------------- */
.archive-hero,
.page-header,
.search-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(65px, 8vw, 115px) 0;
	background: var(--color-ink);
	color: #fff;
}

.archive-hero::after,
.page-header::after,
.search-hero::after { position: absolute; top: -260px; right: -170px; width: 560px; height: 560px; border: 1px solid rgba(201,151,79,.2); border-radius: 50%; content: ""; }
.archive-hero .container,
.page-header .container-narrow,
.search-hero .container-narrow { position: relative; z-index: 1; }
.archive-hero-copy { max-width: 800px; }
.archive-hero h1,
.page-header h1,
.search-hero h1 { color: #fff; font-size: clamp(3rem, 6vw, 6rem); }
.archive-hero-copy > p,
.archive-description,
.page-deck { max-width: 700px; color: #c7ccd5; font-size: 1.12rem; }
.archive-description p { margin-bottom: 0; }

.breadcrumbs { margin-bottom: 2.2rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li { display: flex; align-items: center; gap: 7px; color: inherit; font-size: .72rem; font-weight: 700; letter-spacing: .04em; opacity: .74; }
.breadcrumbs li:not(:last-child)::after { content: "/"; opacity: .45; }
.breadcrumbs a { color: inherit; text-decoration: none; }

.archive-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: start; gap: clamp(45px, 7vw, 90px); padding-top: clamp(70px, 8vw, 110px); padding-bottom: clamp(80px, 10vw, 140px); }
.archive-toolbar { display: flex; justify-content: space-between; margin-bottom: 30px; padding-bottom: 16px; border-bottom: 1px solid var(--color-border); }
.archive-toolbar p,
.search-result-count { margin: 0 0 30px; color: var(--color-muted); font-size: .78rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }

.sidebar { position: sticky; top: 30px; }
.widget { margin-bottom: 22px; padding: 26px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: #fff; }
.widget-title { margin-bottom: 1rem; font-family: var(--font-body); font-size: .76rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.widget ul { margin: 0; padding: 0; list-style: none; }
.widget li { padding: 9px 0; border-bottom: 1px solid #eeeae3; color: var(--color-muted); font-size: .88rem; }
.widget li:last-child { border: 0; }
.widget li a { color: var(--color-text); text-decoration: none; }
.widget li a:hover { color: var(--color-accent); }
.widget .search-form { display: grid; }
.widget .search-submit { justify-content: center; }

.article-archive .archive-hero { padding-bottom: 0; }
.archive-hero-grid { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 60px; }
.archive-monogram { color: transparent; font-family: var(--font-display); font-size: clamp(10rem, 24vw, 22rem); font-weight: 700; line-height: .65; -webkit-text-stroke: 1px rgba(229,188,116,.2); }
.archive-taxonomy { display: flex; gap: 10px; padding: 36px 0; overflow-x: auto; border-top: 1px solid rgba(255,255,255,.1); scrollbar-width: none; }
.archive-taxonomy a { flex: 0 0 auto; padding: 9px 14px; border: 1px solid rgba(255,255,255,.17); border-radius: 999px; color: #e7e9ee; font-size: .73rem; font-weight: 700; text-decoration: none; }
.archive-taxonomy a:hover { border-color: var(--color-accent); background: var(--color-accent); color: var(--color-ink); }
.article-archive-feed .section-heading .search-form { max-width: 390px; }
.article-archive-feed .section-heading .search-submit span { display: none; }
.article-archive-grid .card-lead { grid-column: span 2; display: grid; grid-template-columns: 1.15fr .85fr; }
.article-archive-grid .card-lead .card-media { height: 100%; min-height: 420px; border-radius: calc(var(--radius-md) - 1px) 0 0 calc(var(--radius-md) - 1px); }
.article-archive-grid .card-lead .card-body { display: flex; flex-direction: column; justify-content: center; }
.article-archive-grid .card-lead .card-title { font-size: clamp(2rem, 3.6vw, 3.6rem); }

.navigation.pagination { margin-top: 60px; }
.nav-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
.page-numbers { display: grid; min-width: 44px; height: 44px; place-items: center; padding: 0 12px; border: 1px solid var(--color-border); border-radius: 999px; background: #fff; color: var(--color-ink); font-size: .78rem; font-weight: 750; text-decoration: none; }
.page-numbers.current,
.page-numbers:hover { border-color: var(--color-ink); background: var(--color-ink); color: #fff; }

.search-hero .search-form { max-width: 680px; margin-top: 30px; }
.search-hero .search-field { border-color: rgba(255,255,255,.15); background: rgba(255,255,255,.08); color: #fff; }
.search-hero .search-field::placeholder { color: #aeb5c0; }
.search-hero .search-submit { background: var(--color-accent); color: var(--color-ink); }
.search-page-result { padding: 30px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: #fff; }
.search-page-result h2 { font-size: 1.8rem; }
.search-page-result h2 a { text-decoration: none; }

.empty-state { grid-column: 1 / -1; padding: clamp(50px, 8vw, 90px); border: 1px dashed #d5cbbd; border-radius: var(--radius-lg); background: #fff; text-align: center; }
.empty-state-icon { display: block; margin-bottom: 20px; color: var(--color-accent); font-size: 3rem; }
.empty-state h2 { font-size: clamp(2rem, 4vw, 3.6rem); }
.empty-state p { max-width: 600px; margin-inline: auto; color: var(--color-muted); }
.empty-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 20px; margin-top: 30px; }

/* --------------------------------------------------------------------------
   Singular content
   -------------------------------------------------------------------------- */
.single-post-main,
.page-main { padding-top: clamp(55px, 7vw, 95px); }
.single-header { padding-bottom: clamp(40px, 6vw, 70px); text-align: center; }
.single-header .breadcrumbs { color: var(--color-muted); }
.single-header .breadcrumbs ol { justify-content: center; }
.single-header h1 { font-size: clamp(3rem, 6.8vw, 6.7rem); }
.single-header .card-kicker { margin-bottom: 1.4rem; }
.single-deck { color: var(--color-muted); font-family: var(--font-display); font-size: clamp(1.2rem, 2vw, 1.55rem); }
.single-header .entry-meta { justify-content: center; margin-top: 2rem; }

.single-cover,
.article-cover,
.page-cover { margin-bottom: clamp(55px, 8vw, 100px); }
.single-cover img,
.article-cover img,
.page-cover img { width: 100%; max-height: 820px; border-radius: var(--radius-lg); object-fit: cover; box-shadow: var(--shadow-soft); }
figcaption { margin-top: 10px; color: var(--color-muted); font-size: .73rem; text-align: center; }

.single-content-layout { display: grid; grid-template-columns: 170px minmax(0, 820px) 170px; justify-content: center; gap: 40px; }
.single-share-sticky { grid-column: 1; }
.single-content { grid-column: 2; }
.share-links { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.single-share-sticky .share-links { position: sticky; top: 30px; }
.share-links > span { margin-bottom: 5px; color: var(--color-muted); font-size: .68rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.share-links a,
.copy-link { padding: 0; border: 0; background: transparent; color: var(--color-ink); font-size: .75rem; font-weight: 700; text-decoration: none; }
.share-links a:hover,
.copy-link:hover { color: var(--color-accent); }
.copy-link.is-copied { color: #287a45; }
.mobile-share { display: none; }

.entry-content {
	color: #303640;
	font-family: var(--font-body);
	font-size: clamp(1.02rem, 1.4vw, 1.14rem);
	line-height: 1.82;
}

.entry-content > * { max-width: 100%; }
.entry-content h2 { margin-top: 1.65em; font-size: clamp(2rem, 4vw, 3.25rem); }
.entry-content h3 { margin-top: 1.55em; font-size: clamp(1.55rem, 3vw, 2.2rem); }
.entry-content h4 { margin-top: 1.45em; }
.entry-content a { color: #8b5e22; }
.entry-content ul,
.entry-content ol { margin: 1.5rem 0; padding-left: 1.4rem; }
.entry-content li { margin-bottom: .65rem; }
.entry-content figure { margin: 2.5rem 0; }
.entry-content img { border-radius: var(--radius-sm); }
.entry-content pre { overflow-x: auto; padding: 1.5rem; border-radius: var(--radius-sm); background: #111827; color: #f1f3f7; font-size: .88rem; }
.entry-content code { padding: .15em .35em; border-radius: 4px; background: #efede7; font-size: .9em; }
.entry-content pre code { padding: 0; background: transparent; }
.entry-content .wp-block-pullquote { padding: 2rem 0; border-top: 1px solid var(--color-accent); border-bottom: 1px solid var(--color-accent); }
.entry-content .wp-block-pullquote blockquote { border: 0; padding-left: 0; }
.entry-content .alignwide { width: min(1100px, calc(100vw - 40px)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.entry-content .alignfull { width: 100vw; max-width: none; margin-left: 50%; transform: translateX(-50%); }
.entry-content iframe { max-width: 100%; }

.entry-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--color-border); }
.entry-tags span { margin-right: 5px; color: var(--color-muted); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.entry-tags a { padding: 7px 11px; border-radius: 999px; background: var(--color-accent-pale); color: #724914; font-size: .72rem; font-weight: 700; text-decoration: none; }

.single-footer { padding-top: clamp(65px, 9vw, 110px); padding-bottom: 70px; }
.author-box { display: grid; grid-template-columns: 112px 1fr; align-items: center; gap: 28px; padding: clamp(28px, 4vw, 46px); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: #fff; }
.author-avatar { border-radius: 50%; }
.author-box h2 { margin-bottom: .3rem; font-size: 2rem; }
.author-box p { margin: 0; color: var(--color-muted); }
.author-box .eyebrow { margin-bottom: .7rem; }
.author-box-dark { border-color: var(--color-ink); background: var(--color-ink); color: #c7ccd5; }
.author-box-dark h2 { color: #fff; }
.author-box-dark p { color: #c7ccd5; }

.post-navigation-premium { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 30px; }
.post-navigation-premium > div { padding: 25px 0; border-top: 1px solid var(--color-border); }
.post-navigation-premium > div:last-child { text-align: right; }
.post-navigation-premium span { display: block; margin-bottom: 7px; color: var(--color-muted); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.post-navigation-premium a { color: var(--color-ink); font-family: var(--font-display); font-size: 1.25rem; font-weight: 600; text-decoration: none; }

.related-section { border-top: 1px solid var(--color-border); background: #fff; }
.related-articles { background: var(--color-paper); }

.article-header { position: relative; overflow: hidden; padding: clamp(70px, 10vw, 150px) 0 clamp(140px, 16vw, 240px); background: var(--color-ink); color: #fff; text-align: center; }
.article-header-pattern { position: absolute; inset: 0; background: radial-gradient(circle at 15% 20%, rgba(201,151,79,.13), transparent 28%), radial-gradient(circle at 85% 70%, rgba(57,89,141,.18), transparent 35%); }
.article-header-pattern::after { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 65px 65px; content: ""; }
.article-header .container-narrow { position: relative; }
.article-header .breadcrumbs { color: #d6d9df; }
.article-header .breadcrumbs ol { justify-content: center; }
.article-label-row { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 1.3rem; }
.article-label-row .eyebrow,
.article-label-row .card-kicker { margin: 0; color: var(--color-accent-bright); }
.article-type-label { padding: 7px 11px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; color: #fff; font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.article-header h1 { color: #fff; font-size: clamp(3.2rem, 7.6vw, 7.6rem); }
.article-subtitle { max-width: 760px; margin: 1.5rem auto 0; color: #c4cad4; font-family: var(--font-display); font-size: clamp(1.2rem, 2vw, 1.65rem); }
.article-header .entry-meta { justify-content: center; margin-top: 2.3rem; color: #aeb5c0; }
.article-cover { position: relative; z-index: 2; margin-top: clamp(-150px, -10vw, -90px); }
.article-reading-layout { display: grid; grid-template-columns: 250px minmax(0, 820px) 170px; justify-content: center; gap: clamp(30px, 5vw, 75px); }
.article-toc-wrap { grid-column: 1; }
.article-content { grid-column: 2; }
.article-toc { position: sticky; top: 25px; padding-left: 18px; border-left: 1px solid var(--color-border); }
.article-toc > span { display: block; margin-bottom: 14px; color: var(--color-muted); font-size: .68rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.article-toc ol { margin: 0; padding: 0; list-style: none; }
.article-toc li { margin-bottom: 10px; line-height: 1.35; }
.article-toc li.toc-level-3 { padding-left: 12px; }
.article-toc a { color: var(--color-muted); font-size: .76rem; font-weight: 650; text-decoration: none; }
.article-toc a:hover,
.article-toc a.is-active { color: var(--color-accent); }
.article-toc-wrap > .share-links { margin-top: 35px; padding-left: 18px; }
.reading-progress { position: fixed; z-index: 1500; top: 0; right: 0; left: 0; height: 3px; background: transparent; }
.reading-progress span { display: block; width: 0; height: 100%; background: var(--color-accent); }

.page-main { padding-top: 0; }
.page-header { text-align: center; }
.page-header .breadcrumbs ol { justify-content: center; }
.page-cover { margin-top: -45px; position: relative; z-index: 2; }
.page-content { padding-bottom: clamp(80px, 10vw, 140px); }
.simple-page-header { padding: 65px 0 35px; }
.simple-page-header h1 { font-size: clamp(2.5rem, 5vw, 5rem); }
.full-width-content { overflow: hidden; }

/* --------------------------------------------------------------------------
   Comments, 404, and footer
   -------------------------------------------------------------------------- */
.comments-wrap { padding-bottom: 100px; }
.comments-area { padding-top: 60px; border-top: 1px solid var(--color-border); }
.comments-title,
.comment-reply-title { font-size: clamp(2rem, 4vw, 3rem); }
.comment-list { margin: 0 0 60px; padding: 0; list-style: none; }
.comment-list .children { margin-left: 45px; list-style: none; }
.comment-body { position: relative; margin-bottom: 18px; padding: 25px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: #fff; }
.comment-meta { display: flex; align-items: center; gap: 12px; }
.comment-author { display: flex; align-items: center; gap: 10px; }
.comment-author img { border-radius: 50%; }
.comment-metadata { font-size: .7rem; }
.comment-content { margin-top: 14px; }
.reply { font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.comment-form label { display: block; margin-bottom: 6px; font-size: .75rem; font-weight: 750; }
.comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 8px; }
.comment-form-cookies-consent input { width: auto; margin-top: 6px; }

.error-section { position: relative; display: grid; min-height: 75vh; place-items: center; overflow: hidden; padding: 90px 0; background: var(--color-ink); color: #fff; text-align: center; }
.error-copy { position: relative; z-index: 2; }
.error-copy h1 { color: #fff; }
.error-copy > p { color: #c7ccd5; }
.error-copy .search-form { max-width: 650px; margin: 32px auto; }
.error-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 22px; }
.error-orbit { position: absolute; display: flex; gap: clamp(20px, 6vw, 80px); color: transparent; font-family: var(--font-display); font-size: clamp(13rem, 34vw, 34rem); font-weight: 700; line-height: 1; -webkit-text-stroke: 1px rgba(255,255,255,.055); }

.site-footer { padding-top: 20px; background: #0b111d; color: #aeb5c0; }
.footer-cta { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding-top: 70px; padding-bottom: 70px; border-bottom: 1px solid rgba(255,255,255,.1); }
.footer-cta h2 { max-width: 720px; margin: 0; color: #fff; font-size: clamp(2.2rem, 4.5vw, 4.8rem); }
.footer-cta-actions { display: flex; flex-direction: column; align-items: center; gap: 18px; flex: 0 0 auto; }
.footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3, .7fr); gap: clamp(35px, 6vw, 80px); padding-top: 75px; padding-bottom: 75px; }
.footer-brand p { max-width: 390px; margin-top: 22px; }
.footer-wordmark { color: #fff; }
.brand-mark-light { background: var(--color-accent); }
.footer-socials { display: flex; flex-wrap: wrap; gap: 16px; }
.footer-socials a { color: var(--color-accent-bright); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.footer-column .widget { padding: 0; border: 0; background: transparent; }
.footer-column .widget-title { margin-bottom: 20px; color: #fff; }
.footer-column ul { margin: 0; padding: 0; list-style: none; }
.footer-column li { margin-bottom: 11px; }
.footer-column a { color: #aeb5c0; font-size: .84rem; text-decoration: none; }
.footer-column a:hover { color: var(--color-accent-bright); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 75px; border-top: 1px solid rgba(255,255,255,.1); font-size: .72rem; }
.footer-bottom p { margin: 0; }
.legal-menu { display: flex; gap: 20px; margin: 0; padding: 0; list-style: none; }
.legal-menu a { color: #aeb5c0; text-decoration: none; }

/* --------------------------------------------------------------------------
   WordPress core classes
   -------------------------------------------------------------------------- */
.alignleft { float: left; margin: .5rem 2rem 1rem 0; }
.alignright { float: right; margin: .5rem 0 1rem 2rem; }
.aligncenter { display: block; margin-right: auto; margin-left: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text,
.gallery-caption { color: var(--color-muted); font-size: .75rem; }
.sticky { border-top: 3px solid var(--color-accent); }
.bypostauthor > .comment-body { border-left: 3px solid var(--color-accent); }
.gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.gallery-item { margin: 0; }
.page-links { display: flex; gap: 8px; margin-top: 2rem; }

/* --------------------------------------------------------------------------
   Responsive layout
   -------------------------------------------------------------------------- */
@media (max-width: 1100px) {
	.header-main { grid-template-columns: 1fr auto auto; }
	.menu-toggle { display: block; order: 2; }
	.primary-navigation {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		width: min(430px, 88vw);
		padding: 120px 34px 40px;
		visibility: hidden;
		background: #fff;
		box-shadow: -20px 0 50px rgba(16,24,39,.16);
		opacity: 0;
		transform: translateX(100%);
		transition: 220ms ease;
	}
	.primary-navigation.is-open { visibility: visible; opacity: 1; transform: none; }
	.primary-menu,
	.primary-navigation .menu { display: block; }
	.primary-menu a,
	.primary-navigation .menu a { padding: 14px 0; border-bottom: 1px solid var(--color-border); font-family: var(--font-display); font-size: 1.5rem; }
	.primary-menu > li > a::after,
	.primary-navigation .menu > li > a::after { display: none; }
	.primary-menu .sub-menu,
	.primary-navigation .menu .children { position: static; width: auto; padding: 0 0 0 16px; visibility: visible; border: 0; box-shadow: none; opacity: 1; transform: none; }
	.primary-menu .sub-menu a,
	.primary-navigation .menu .children a { font-family: var(--font-body); font-size: .88rem; }
	.header-actions { order: 1; }
	.menu-toggle { position: relative; z-index: 2; }
	.hero-grid { grid-template-columns: 1fr 430px; gap: 50px; }
	.card-grid-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.card-grid-three > :last-child:nth-child(odd) { grid-column: auto; }
	.featured-article { grid-template-columns: 1fr; }
	.featured-article-media { min-height: 440px; }
	.footer-grid { grid-template-columns: 1.3fr repeat(2, .7fr); }
	.footer-column:last-child { display: none; }
	.single-content-layout { grid-template-columns: 130px minmax(0, 820px); }
	.article-reading-layout { grid-template-columns: 210px minmax(0, 820px); }
}

@media (max-width: 820px) {
	:root { --header-height: 74px; }
	body { font-size: 16px; }
	.header-accent-inner { justify-content: center; }
	.header-accent p { display: none; }
	.header-main { grid-template-columns: 1fr auto auto; gap: 10px; }
	.header-actions .button { display: none; }
	.brand-wordmark small { display: none; }
	.hero-grid { grid-template-columns: 1fr; }
	.hero-copy h1 { font-size: clamp(3.2rem, 13vw, 6rem); }
	.hero-feature { max-width: 560px; margin: 10px auto 0; }
	.topic-strip-inner { gap: 20px; }
	.card-grid-two,
	.card-grid-three { grid-template-columns: 1fr 1fr; }
	.article-grid-dark > :last-child { display: none; }
	.promise-grid { grid-template-columns: 1fr; }
	.promise-heading { position: static; }
	.archive-layout { grid-template-columns: 1fr; }
	.sidebar { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
	.sidebar .widget { margin: 0; }
	.sidebar .widget-search { grid-column: 1 / -1; }
	.archive-monogram { display: none; }
	.archive-hero-grid { grid-template-columns: 1fr; }
	.article-archive-grid .card-lead { grid-column: 1 / -1; }
	.article-archive-feed .section-heading { align-items: stretch; }
	.article-archive-feed .section-heading .search-form { max-width: none; }
	.single-content-layout,
	.article-reading-layout { display: block; width: min(calc(100% - 40px), var(--container-narrow)); }
	.single-share-sticky,
	.article-toc-wrap { display: none; }
	.mobile-share { display: block; margin-top: 3rem; }
	.mobile-share .share-links { flex-direction: row; flex-wrap: wrap; align-items: center; padding: 18px 0; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
	.footer-cta { align-items: flex-start; flex-direction: column; }
	.footer-cta-actions { align-items: flex-start; }
	.footer-grid { grid-template-columns: 1.3fr .7fr; }
	.footer-column:nth-of-type(n+3) { display: none; }
}

@media (max-width: 600px) {
	.container,
	.container-wide,
	.container-narrow { width: min(calc(100% - 28px), var(--container)); }
	.header-accent { font-size: .66rem; }
	.header-main { min-height: 70px; }
	.brand-mark { width: 38px; height: 38px; }
	.brand-wordmark strong { max-width: 140px; overflow: hidden; font-size: 1.1rem; text-overflow: ellipsis; white-space: nowrap; }
	.icon-button { width: 40px; height: 40px; }
	.menu-toggle { width: 40px; height: 40px; }
	.header-search-inner { align-items: stretch; }
	.header-search .search-form { display: grid; }
	.header-search .search-submit { justify-content: center; }
	.home-hero { padding-top: 58px; }
	.hero-actions { display: grid; }
	.hero-actions .button { width: 100%; }
	.hero-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
	.hero-stats strong { font-size: 1.3rem; }
	.hero-feature::before { top: -10px; right: -10px; }
	.card-grid-two,
	.card-grid-three { grid-template-columns: 1fr; }
	.article-grid-dark > :last-child { display: block; }
	.section-heading { align-items: flex-start; flex-direction: column; }
	.featured-article-media { min-height: 300px; }
	.featured-article-body { padding: 30px 24px 38px; }
	.promise-item { grid-template-columns: 48px 1fr; }
	.sidebar { grid-template-columns: 1fr; }
	.sidebar .widget-search { grid-column: auto; }
	.article-archive-feed .section-heading .search-form { display: grid; }
	.article-archive-grid .card-lead { display: block; }
	.article-archive-grid .card-lead .card-media { min-height: 0; border-radius: calc(var(--radius-md) - 1px) calc(var(--radius-md) - 1px) 0 0; }
	.article-archive-grid .card-lead .card-title { font-size: 2rem; }
	.single-header { text-align: left; }
	.single-header .breadcrumbs ol,
	.single-header .entry-meta { justify-content: flex-start; }
	.single-header h1 { font-size: clamp(2.7rem, 13vw, 4.5rem); }
	.article-header { text-align: left; }
	.article-header .breadcrumbs ol,
	.article-label-row,
	.article-header .entry-meta { justify-content: flex-start; }
	.article-subtitle { margin-left: 0; }
	.article-cover { margin-top: -80px; }
	.author-box { grid-template-columns: 1fr; }
	.author-avatar { width: 78px; height: 78px; }
	.post-navigation-premium { grid-template-columns: 1fr; }
	.post-navigation-premium > div:last-child { text-align: left; }
	.comment-list .children { margin-left: 12px; padding: 0; }
	.footer-grid { grid-template-columns: 1fr; }
	.footer-column { display: block !important; }
	.footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; padding: 22px 0; }
	.legal-menu { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

@media print {
	.site-header,
	.site-footer,
	.single-share-sticky,
	.article-toc-wrap,
	.reading-progress,
	.related-section,
	.comments-wrap { display: none !important; }
	body { background: #fff; color: #000; font-size: 12pt; }
	.article-header { padding: 30px 0; background: #fff; color: #000; text-align: left; }
	.article-header h1,
	.single-header h1 { color: #000; }
	.article-subtitle,
	.article-header .entry-meta { color: #333; }
	.article-cover { margin-top: 20px; }
	.single-content-layout,
	.article-reading-layout { display: block; width: 100%; }
	a { color: #000; }
}

/* --------------------------------------------------------------------------
   Legacy structural layer (overridden by the Nexus UI stylesheet)
   Inspired by premium independent journals while preserving all functionality.
   -------------------------------------------------------------------------- */
:root {
	--color-ink: #151a2d;
	--color-ink-soft: #28564c;
	--color-accent: #6c5ce7;
	--color-accent-bright: #e2ba78;
	--color-accent-pale: #eee0c8;
	--color-paper: #f5f7fb;
	--color-surface: #fcfaf5;
	--color-border: #ddd4c6;
	--color-muted: #6c776f;
	--color-text: #33443e;
	--shadow-soft: 0 22px 55px rgba(38, 54, 47, 0.09);
	--shadow-card: 0 14px 30px rgba(38, 54, 47, 0.08);
	--radius-sm: 8px;
	--radius-md: 14px;
	--radius-lg: 20px;
}

body {
	background: var(--color-paper);
	color: var(--color-text);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--color-ink);
	letter-spacing: -0.042em;
}

.site-header {
	position: relative;
	padding: 10px 0 14px;
	border: 0;
	background: #fbf8f2;
	box-shadow: none;
}

.header-accent {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 3px;
	background: var(--color-ink);
}

.header-accent-inner {
	display: none;
}

.header-main {
	grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr);
	min-height: 58px;
	padding: 0 20px;
	border: 1px solid #e1d8ca;
	border-radius: 999px;
	background: #eee7dc;
}

.brand-mark {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--color-ink);
	color: #f6ead7;
	font-size: 1rem;
}

.brand-wordmark strong {
	font-size: 1.12rem;
}

.brand-wordmark small {
	font-size: 0.52rem;
}

.custom-logo {
	max-height: 42px;
}

.primary-menu,
.primary-navigation .menu {
	gap: clamp(17px, 2vw, 28px);
}

.primary-menu a,
.primary-navigation .menu a {
	padding: 19px 0;
	color: var(--color-ink);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.075em;
	text-transform: uppercase;
}

.primary-menu > li > a::after,
.primary-navigation .menu > li > a::after {
	bottom: 13px;
	background: var(--color-accent);
}

.header-actions .button {
	min-height: 34px;
	padding: 0.62rem 1rem;
	border-color: var(--color-ink);
	background: #fbf8f2;
	color: var(--color-ink);
	font-size: 0.62rem;
}

.header-actions .button:hover {
	background: var(--color-ink);
	color: #fff;
}

.icon-button {
	width: 36px;
	height: 36px;
	border-color: #d8cfbf;
	background: #fbf8f2;
}

.header-search {
	top: calc(100% - 7px);
	border: 0;
	background: #fbf8f2;
	box-shadow: var(--shadow-soft);
}

.button,
button.button,
input[type="submit"] {
	border-color: var(--color-ink);
	background: var(--color-ink);
}

.button:hover,
.button:focus,
input[type="submit"]:hover,
input[type="submit"]:focus {
	border-color: var(--color-accent);
	background: var(--color-accent);
	color: var(--color-ink);
}

.eyebrow,
.card-kicker {
	color: #9b6c2f;
}

/* Homepage restyle */
.home-hero {
	padding: clamp(64px, 8vw, 112px) 0;
	background: var(--color-paper);
	color: var(--color-text);
}

.home-hero::before {
	background-image: radial-gradient(rgba(23, 63, 55, 0.07) 0.7px, transparent 0.7px);
	background-size: 18px 18px;
	mask-image: linear-gradient(to right, #000, transparent 75%);
}

.hero-orb-one {
	border-color: rgba(201, 155, 85, 0.26);
}

.hero-orb-two {
	border-color: rgba(23, 63, 55, 0.12);
}

.hero-copy h1 {
	color: var(--color-ink);
	font-size: clamp(3.5rem, 7vw, 7.1rem);
}

.hero-copy > p {
	color: var(--color-muted);
}

.home-hero .eyebrow-light {
	color: #9b6c2f;
}

.home-hero .button-light {
	border-color: var(--color-ink);
	background: var(--color-ink);
	color: #fff;
}

.home-hero .button-ghost-light {
	border-color: #b9ad9a;
	color: var(--color-ink);
}

.home-hero .button-ghost-light:hover {
	border-color: var(--color-accent);
	background: var(--color-accent);
}

.hero-stats {
	border-color: #d9d0c2;
}

.hero-stats strong {
	color: var(--color-ink);
}

.hero-stats span {
	color: var(--color-muted);
}

.hero-feature::before {
	border-color: rgba(23, 63, 55, 0.2);
}

.hero-story {
	background: var(--color-surface);
	box-shadow: var(--shadow-soft);
}

.hero-story-media {
	background: #d7cab8;
}

.topic-strip {
	border-color: var(--color-border);
	background: #ece3d5;
}

.section-blog,
.home-promise {
	background: var(--color-paper);
}

.section-articles,
.site-footer {
	background: var(--color-ink);
}

.featured-article,
.article-grid-dark .content-card {
	background: #214a42;
}

.related-section {
	background: #eee5d8;
}

/* Blog and Article archive hero */
.journal-archive {
	background: var(--color-paper);
}

.journal-archive-hero {
	--journal-hero: linear-gradient(135deg, #7a8b7d, #274c43);
	position: relative;
	display: flex;
	min-height: clamp(390px, 38vw, 540px);
	align-items: flex-end;
	overflow: hidden;
	background-color: var(--color-ink);
	background-image: var(--journal-hero);
	background-position: center;
	background-size: cover;
}

.journal-archive-hero::before {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
	background-size: 70px 70px;
	content: "";
	opacity: .45;
}

.journal-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(15, 39, 34, .84) 0%, rgba(15, 39, 34, .56) 48%, rgba(15, 39, 34, .22) 100%), linear-gradient(0deg, rgba(15, 39, 34, .52), transparent 55%);
}

.journal-hero-content {
	position: relative;
	z-index: 1;
	padding-top: 70px;
	padding-bottom: clamp(54px, 8vw, 95px);
	color: #fff;
}

.journal-hero-content .breadcrumbs {
	margin-bottom: clamp(40px, 9vw, 100px);
	color: #f3eee4;
}

.journal-overline {
	display: inline-block;
	margin-bottom: 14px;
	color: var(--color-accent-bright);
	font-size: .68rem;
	font-weight: 850;
	letter-spacing: .17em;
	line-height: 1.35;
	text-transform: uppercase;
}

.journal-overline-dark {
	color: #9a6b2e;
}

.journal-hero-content h1 {
	margin-bottom: .16em;
	color: #fff;
	font-size: clamp(4.2rem, 9vw, 8.5rem);
}

.journal-hero-content > p {
	max-width: 660px;
	margin: 0;
	color: rgba(255,255,255,.84);
	font-size: clamp(1rem, 1.5vw, 1.18rem);
}

.journal-feed-section {
	padding: clamp(58px, 8vw, 105px) 0 clamp(85px, 11vw, 145px);
}

.journal-feed-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 34px;
	margin-bottom: 38px;
	padding-bottom: 24px;
	border-bottom: 1px solid #d8cfc1;
}

.journal-feed-heading h2 {
	margin: 0;
	font-size: clamp(2.35rem, 5vw, 4.8rem);
}

.journal-filter {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px;
	max-width: 620px;
}

.journal-filter a {
	display: inline-flex;
	min-height: 34px;
	align-items: center;
	padding: 7px 13px;
	border: 1px solid #d7cdbc;
	border-radius: 999px;
	background: rgba(255,255,255,.34);
	color: var(--color-ink);
	font-size: .65rem;
	font-weight: 800;
	letter-spacing: .025em;
	text-decoration: none;
}

.journal-filter a:hover,
.journal-filter a.is-active {
	border-color: var(--color-accent);
	background: var(--color-accent);
	color: var(--color-ink);
}

.journal-card-grid {
	gap: 24px;
}

.journal-card-grid .content-card {
	display: flex;
	min-height: 100%;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid #d9d0c2;
	border-radius: 14px;
	background: var(--color-surface);
	box-shadow: 0 7px 18px rgba(41, 58, 51, 0.055);
}

.journal-card-grid .content-card:hover {
	transform: translateY(-5px);
	border-color: #c7b89e;
	box-shadow: var(--shadow-card);
}

.journal-card-grid .card-media {
	aspect-ratio: 4 / 3;
	border-radius: 0;
	background: #ddd0bd;
}

.journal-card-grid .card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	padding: 20px 21px 22px;
}

.journal-card-grid .card-kicker {
	margin-bottom: .65rem;
	font-size: .6rem;
	letter-spacing: .14em;
}

.journal-card-grid .card-title {
	margin-bottom: .55rem;
	font-size: clamp(1.45rem, 2.25vw, 2rem);
	line-height: 1.02;
}

.journal-card-grid .card-excerpt {
	display: -webkit-box;
	overflow: hidden;
	color: #667169;
	font-size: .86rem;
	line-height: 1.55;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.journal-card-grid .card-excerpt p {
	margin-bottom: .8rem;
}

.journal-card-grid .entry-meta {
	margin-top: auto;
	padding-top: .25rem;
	font-size: .62rem;
}

.card-read-more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 1.2rem;
	color: var(--color-ink);
	font-size: .63rem;
	font-weight: 850;
	letter-spacing: .12em;
	text-decoration: none;
	text-transform: uppercase;
}

.card-read-more span {
	transition: transform .18s ease;
}

.card-read-more:hover span {
	transform: translate(2px, -2px);
}

.journal-card-grid .article-badge {
	top: 12px;
	right: 12px;
	background: rgba(23,63,55,.88);
}

.journal-feed-section .navigation.pagination {
	margin-top: 52px;
}

.journal-feed-section .page-numbers {
	min-width: 38px;
	height: 38px;
	border-color: #d8cebd;
	background: transparent;
	font-size: .65rem;
}

.journal-feed-section .page-numbers.current,
.journal-feed-section .page-numbers:hover {
	border-color: var(--color-accent);
	background: var(--color-accent);
	color: var(--color-ink);
}

/* Premium Blog and Article detail */
.editorial-detail-main,
.editorial-story {
	background: var(--color-paper);
}

.editorial-story-header {
	padding: 24px 0 0;
	background: var(--color-paper);
	text-align: center;
}

.editorial-story-header .breadcrumbs {
	margin: 0 0 22px;
	color: var(--color-muted);
}

.editorial-story-header .breadcrumbs ol {
	justify-content: flex-start;
}

.editorial-story-cover {
	margin: 0;
}

.editorial-story-cover img {
	width: 100%;
	max-height: 670px;
	aspect-ratio: 2.05 / 1;
	border-radius: 18px;
	box-shadow: var(--shadow-soft);
	object-fit: cover;
}

.editorial-title-block {
	padding-top: clamp(38px, 6vw, 70px);
	padding-bottom: clamp(42px, 6vw, 68px);
}

.editorial-kicker-row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-bottom: 14px;
}

.editorial-kicker-row .journal-overline,
.editorial-kicker-row .card-kicker {
	margin: 0;
}

.editorial-title-block > .card-kicker {
	margin-bottom: 14px;
}

.editorial-title-block h1 {
	margin-bottom: .35em;
	font-size: clamp(3rem, 6.5vw, 6.5rem);
	font-weight: 600;
	line-height: .98;
}

.editorial-subtitle {
	max-width: 690px;
	margin: 0 auto;
	color: var(--color-muted);
	font-family: var(--font-display);
	font-size: clamp(1.05rem, 1.8vw, 1.38rem);
	line-height: 1.45;
}

.editorial-subtitle p {
	margin: 0;
}

.article-type-label {
	padding: 6px 10px;
	border: 1px solid #d3c6b3;
	background: #f9f4eb;
	color: var(--color-ink);
}

.editorial-byline {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	margin-top: 24px;
	padding: 9px 15px 9px 9px;
	border: 1px solid #dcd2c4;
	border-radius: 999px;
	background: rgba(255,255,255,.38);
	text-align: left;
}

.editorial-byline-avatar {
	width: 38px;
	height: 38px;
	border-radius: 50%;
}

.editorial-byline strong {
	display: block;
	color: var(--color-ink);
	font-size: .73rem;
	line-height: 1.2;
}

.editorial-byline .entry-meta {
	margin-top: 3px;
	font-size: .58rem;
}

.editorial-reading-shell {
	display: grid;
	width: min(calc(100% - 40px), 1340px);
	grid-template-columns: minmax(120px, 155px) minmax(0, 740px) minmax(260px, 310px);
	align-items: start;
	justify-content: center;
	gap: clamp(26px, 4vw, 56px);
	padding-top: 8px;
}

.editorial-share-column {
	position: sticky;
	top: 25px;
}

.editorial-share-column .article-toc {
	position: static;
	margin-bottom: 28px;
	padding-left: 12px;
	border-color: #d2c7b8;
}

.editorial-share-column .article-toc a {
	font-size: .68rem;
}

.editorial-share-column .share-links {
	align-items: stretch;
	gap: 7px;
	padding-left: 12px;
}

.editorial-share-column .share-links > span {
	margin-bottom: 3px;
}

.editorial-share-column .share-links a,
.editorial-share-column .copy-link {
	padding: 7px 9px;
	border: 1px solid #d9d0c3;
	border-radius: 999px;
	background: rgba(255,255,255,.35);
	font-size: .62rem;
	text-align: center;
}

.editorial-reading-content {
	color: #3b4944;
	font-family: var(--font-body);
	font-size: clamp(1rem, 1.2vw, 1.08rem);
	line-height: 1.8;
}

.editorial-reading-content > p:first-child::first-letter {
	float: left;
	margin: .08em .1em 0 0;
	color: #a86f2a;
	font-family: var(--font-display);
	font-size: 4.7em;
	font-weight: 600;
	line-height: .72;
}

.editorial-reading-content h2 {
	margin-top: 1.75em;
	font-size: clamp(2rem, 3.5vw, 3.2rem);
}

.editorial-reading-content h3 {
	font-size: clamp(1.45rem, 2.5vw, 2.15rem);
}

.editorial-reading-content blockquote {
	padding: 24px 28px;
	border: 1px solid #d9c39d;
	border-radius: 10px;
	background: #f1e3cd;
	color: var(--color-ink);
	font-style: normal;
}

.editorial-reading-content figure img,
.editorial-reading-content > img {
	border-radius: 12px;
}

.editorial-detail-sidebar {
	position: sticky;
	top: 25px;
}

.editorial-side-card {
	margin-bottom: 16px;
	padding: 20px;
	border: 1px solid #d9d0c2;
	border-radius: 11px;
	background: #fbf8f2;
	box-shadow: 0 6px 16px rgba(41,58,51,.04);
}

.editorial-side-title {
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid #e1d8cb;
	font-family: var(--font-body);
	font-size: .72rem;
	font-weight: 850;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.journal-letter-card {
	padding: 25px 22px;
	background: #ece1d0;
	text-align: center;
}

.journal-letter-card h2 {
	font-size: 1.7rem;
}

.journal-letter-card p {
	color: var(--color-muted);
	font-size: .78rem;
	line-height: 1.55;
}

.journal-letter-card .button {
	min-height: 38px;
	padding: .7rem 1rem;
	font-size: .62rem;
}

.editorial-mini-list {
	display: grid;
	gap: 13px;
}

.editorial-mini-story {
	display: grid;
	grid-template-columns: 72px 1fr;
	align-items: center;
	gap: 11px;
	color: var(--color-ink);
	text-decoration: none;
}

.editorial-mini-media {
	display: grid;
	width: 72px;
	height: 55px;
	place-items: center;
	overflow: hidden;
	border-radius: 7px;
	background: var(--color-ink);
	color: var(--color-accent-bright);
	font-family: var(--font-display);
}

.editorial-mini-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.editorial-mini-story strong {
	display: -webkit-box;
	overflow: hidden;
	font-family: var(--font-display);
	font-size: .9rem;
	line-height: 1.15;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.editorial-mini-story small {
	display: block;
	margin-top: 5px;
	color: var(--color-muted);
	font-size: .56rem;
	font-weight: 750;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.editorial-category-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.editorial-category-list li {
	border-bottom: 1px solid #e5ddd1;
}

.editorial-category-list li:last-child {
	border: 0;
}

.editorial-category-list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 0;
	color: var(--color-text);
	font-size: .72rem;
	font-weight: 700;
	text-decoration: none;
}

.editorial-category-list small {
	color: var(--color-muted);
}

.editorial-tag-cloud {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.editorial-tag-cloud a {
	padding: 6px 9px;
	border: 1px solid #d9d0c2;
	border-radius: 999px;
	color: var(--color-ink);
	line-height: 1;
	text-decoration: none;
}

.editorial-tag-cloud a:hover {
	border-color: var(--color-accent);
	background: var(--color-accent-pale);
}

.editorial-blog-reading-shell {
	grid-template-columns: minmax(105px, 135px) minmax(0, 740px) minmax(260px, 300px);
}

.editorial-blog-reading-shell > .sidebar {
	position: sticky;
	top: 25px;
}

.editorial-blog-reading-shell .widget {
	margin-bottom: 16px;
	padding: 20px;
	border-color: #d9d0c2;
	border-radius: 11px;
	background: #fbf8f2;
	box-shadow: 0 6px 16px rgba(41,58,51,.04);
}

.editorial-story-footer {
	padding-top: clamp(65px, 9vw, 110px);
}

.editorial-story-footer .author-box {
	border-color: #d5cabb;
	background: #eee4d5;
}

.editorial-story-footer .author-box .journal-overline {
	margin-bottom: 7px;
}

.journal-related-section {
	border-top: 1px solid #d7cdbf;
	background: #e9decd;
}

.journal-related-section .section-heading h2 {
	font-size: clamp(2.1rem, 4vw, 4rem);
}

.reading-progress span {
	background: var(--color-accent);
}

.comments-area,
.comment-body {
	border-color: #d9d0c2;
}

.comment-body {
	background: #fbf8f2;
}

/* Generic inner pages, footer and search */
.archive-hero,
.page-header,
.search-hero {
	background: var(--color-ink);
}

.site-footer {
	color: #cbd5cf;
}

.footer-cta,
.footer-bottom {
	border-color: rgba(255,255,255,.12);
}

.footer-column a,
.legal-menu a {
	color: #c3cec8;
}

.footer-socials a,
.footer-column a:hover {
	color: var(--color-accent-bright);
}

@media (max-width: 1180px) {
	.editorial-reading-shell,
	.editorial-blog-reading-shell {
		grid-template-columns: 110px minmax(0, 680px) minmax(240px, 280px);
		gap: 28px;
	}
}

@media (max-width: 1020px) {
	.header-main {
		grid-template-columns: 1fr auto auto;
	}

	.editorial-reading-shell,
	.editorial-blog-reading-shell {
		grid-template-columns: minmax(0, 760px) minmax(250px, 290px);
	}

	.editorial-share-column {
		display: none;
	}

	.editorial-reading-content {
		grid-column: 1;
	}

	.editorial-detail-sidebar,
	.editorial-blog-reading-shell > .sidebar {
		grid-column: 2;
	}
}

@media (max-width: 820px) {
	.site-header {
		padding: 8px 0 10px;
	}

	.header-main {
		min-height: 54px;
		padding: 0 12px 0 16px;
	}

	.primary-navigation {
		background: #fbf8f2;
	}

	.primary-menu a,
	.primary-navigation .menu a {
		font-family: var(--font-display);
		font-size: 1.35rem;
		text-transform: none;
	}

	.journal-archive-hero {
		min-height: 440px;
	}

	.journal-feed-heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.journal-filter {
		justify-content: flex-start;
	}

	.journal-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.editorial-story-cover img {
		aspect-ratio: 16 / 9;
	}

	.editorial-reading-shell,
	.editorial-blog-reading-shell {
		display: block;
		width: min(calc(100% - 40px), 760px);
	}

	.editorial-detail-sidebar,
	.editorial-blog-reading-shell > .sidebar {
		position: static;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
		margin-top: 55px;
	}

	.editorial-detail-sidebar .editorial-side-card,
	.editorial-blog-reading-shell > .sidebar .widget {
		margin: 0;
	}

	.journal-letter-card {
		grid-column: 1 / -1;
	}
}

@media (max-width: 600px) {
	.header-main {
		border-radius: 18px;
	}

	.journal-archive-hero {
		min-height: 390px;
	}

	.journal-hero-content .breadcrumbs {
		margin-bottom: 65px;
	}

	.journal-hero-content h1 {
		font-size: clamp(3.6rem, 19vw, 6rem);
	}

	.journal-filter {
		flex-wrap: nowrap;
		width: 100%;
		overflow-x: auto;
		padding-bottom: 5px;
		scrollbar-width: none;
	}

	.journal-filter a {
		flex: 0 0 auto;
	}

	.journal-card-grid {
		grid-template-columns: 1fr;
	}

	.editorial-story-header {
		padding-top: 12px;
	}

	.editorial-story-header .breadcrumbs {
		margin-bottom: 14px;
	}

	.editorial-story-cover img {
		aspect-ratio: 4 / 3;
		border-radius: 12px;
	}

	.editorial-title-block {
		text-align: left;
	}

	.editorial-kicker-row {
		justify-content: flex-start;
	}

	.editorial-title-block h1 {
		font-size: clamp(2.75rem, 13.5vw, 4.4rem);
	}

	.editorial-subtitle {
		margin-left: 0;
	}

	.editorial-byline {
		max-width: 100%;
	}

	.editorial-reading-content > p:first-child::first-letter {
		font-size: 4em;
	}

	.editorial-detail-sidebar,
	.editorial-blog-reading-shell > .sidebar {
		grid-template-columns: 1fr;
	}

	.journal-letter-card {
		grid-column: auto;
	}

	.journal-related-section .section-heading {
		align-items: flex-start;
	}
}
