/* Field Notes — monochrome editorial.
   Ported from the Claude Design canvas "Monochrome Theme".

   The canvas carried every rule as an inline style on a fixed 1060px column.
   Three things it could not express are handled here:
     - style-hover / style-focus attributes became real :hover / :focus rules
     - the accent was a prop; it is a custom property fed by the Customizer
     - the canvas had no breakpoints at all, so they are added at 900/720/560 */

/* ---------------------------------------------------------------- tokens */

:root {
	--paper: #f6f5f3;
	--surface: #efedea;
	--fill: #e6e4e0;
	--fill-strong: #d9d6d0;

	--rule: #e0ded9;
	--rule-strong: #d6d3cd;

	--ink: #121212;
	--ink-soft: #24221f;
	--ink-softer: #33302c;
	--body: #44413d;
	--body-quote: #4a4741;
	--muted: #55524d;
	--muted-2: #6d6a65;
	--muted-3: #77746f;
	--faint: #8a8782;
	--faint-2: #a8a49e;

	/* Overridden inline from functions.php with the Customizer value. */
	--accent: #121212;
	--accent-hover: #3a3a3a;
	--on-accent: #f6f5f3;

	--serif: "Newsreader", Georgia, "Times New Roman", serif;
	--sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

	--wrap: 1060px;
	--gutter: 32px;
	--measure: 650px;
	--header-h: 70px;
}

/* ------------------------------------------------------------------ base */

* { box-sizing: border-box; }

body {
	margin: 0;
	background: var(--paper);
	font-family: var(--sans);
	color: var(--ink);
	-webkit-font-smoothing: antialiased;
	min-height: 100vh;
}

a { color: var(--ink); text-decoration: none; }
a:hover { color: #5a5a5a; }

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

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

.wrap {
	max-width: var(--wrap);
	margin: 0 auto;
	padding-left: var(--gutter);
	padding-right: var(--gutter);
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100;
	background: var(--ink);
	color: var(--paper);
	font-size: 13px;
	padding: 10px 16px;
}
.skip-link:focus {
	left: var(--gutter);
	top: 10px;
	color: var(--paper);
}

/* --------------------------------------------------------- shared bits */

.eyebrow {
	font-size: 10.5px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--faint);
	margin: 0 0 26px;
}

.label {
	font-size: 10.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--faint);
	margin: 0 0 14px;
	display: block;
}

.btn {
	display: inline-block;
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	padding: 12px 22px;
	border: 1px solid transparent;
	border-radius: 100px;
	cursor: pointer;
}
.btn--solid { background: var(--accent); color: var(--on-accent); }
.btn--solid:hover { background: var(--accent-hover); color: var(--on-accent); }
.btn--ghost { border-color: var(--rule-strong); color: var(--ink); }
.btn--ghost:hover { border-color: var(--ink); color: var(--ink); }

/* ---------------------------------------------------------------- header */

.site-header {
	position: sticky;
	top: 0;
	z-index: 20;
	background: rgba(246, 245, 243, .92);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--rule);
}

.site-header__inner {
	height: var(--header-h);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}

.brand { display: flex; align-items: baseline; gap: 9px; min-width: 0; }
.brand:hover { color: var(--ink); }
.brand__name { font-family: var(--serif); font-size: 22px; letter-spacing: -.01em; }
.brand__tag {
	font-size: 9.5px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--faint);
	padding-bottom: 3px;
	white-space: nowrap;
}

.site-nav { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }

.site-nav__list {
	display: flex;
	align-items: center;
	gap: 4px;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}
.site-nav__list a {
	display: block;
	font-size: 13px;
	line-height: 1.2;
	padding: 8px 13px;
	border-radius: 100px;
	color: var(--muted);
}
.site-nav__list a:hover { background: var(--surface); color: var(--ink); }

.site-nav__list .is-active > a,
.site-nav__list .current-menu-item > a,
.site-nav__list .current_page_item > a,
.site-nav__list .current-menu-parent > a,
.site-nav__list .current_page_parent > a,
.site-nav__list .current-menu-ancestor > a {
	background: var(--accent);
	color: var(--on-accent);
}
.site-nav__list .is-active > a:hover,
.site-nav__list .current-menu-item > a:hover,
.site-nav__list .current_page_item > a:hover,
.site-nav__list .current-menu-parent > a:hover,
.site-nav__list .current_page_parent > a:hover,
.site-nav__list .current-menu-ancestor > a:hover {
	background: var(--accent-hover);
	color: var(--on-accent);
}

.site-nav__cta {
	margin-left: 10px;
	font-size: 12.5px;
	font-weight: 500;
	line-height: 1.2;
	padding: 9px 17px;
	border: 1px solid var(--ink);
	border-radius: 100px;
	white-space: nowrap;
}
.site-nav__cta:hover { background: var(--ink); color: var(--paper); }

.nav-toggle {
	display: none;
	font-family: var(--sans);
	font-size: 12.5px;
	font-weight: 500;
	padding: 8px 14px;
	border: 1px solid var(--rule-strong);
	border-radius: 100px;
	background: transparent;
	color: var(--ink);
	cursor: pointer;
}
.nav-toggle:hover { border-color: var(--ink); }

/* ------------------------------------------------------------------ hero */

.hero { padding-top: 104px; padding-bottom: 84px; }

.hero__title {
	font-family: var(--serif);
	font-weight: 400;
	font-size: clamp(36px, 5.6vw, 66px);
	line-height: 1.07;
	letter-spacing: -.025em;
	margin: 0;
	max-width: 19ch;
	text-wrap: balance;
}

.hero__dek {
	font-size: 16px;
	line-height: 1.7;
	color: var(--muted);
	max-width: 54ch;
	margin: 30px 0 0;
}

.hero__actions { display: flex; gap: 10px; margin-top: 38px; flex-wrap: wrap; }

/* ----------------------------------------------------------------- stats */

.stats {
	border-top: 1px solid var(--rule);
	border-bottom: 1px solid var(--rule);
	background: var(--surface);
}
.stats__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }

.stat { padding: 34px 0 36px 24px; border-left: 1px solid var(--rule); }
.stat__value { font-family: var(--serif); font-size: 32px; line-height: 1; letter-spacing: -.02em; }
.stat__label { font-size: 11.5px; color: var(--muted-3); margin-top: 10px; }

/* --------------------------------------------------------- section heads */

.section { padding-top: 88px; }

.section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 34px;
}

.section__title {
	font-family: var(--serif);
	font-weight: 400;
	font-size: 28px;
	letter-spacing: -.02em;
	margin: 0 0 14px;
}
.section__head .section__title { margin: 0; }

.section__more {
	font-size: 12px;
	color: var(--muted-3);
	border-bottom: 1px solid var(--rule-strong);
	padding-bottom: 2px;
	white-space: nowrap;
}
.section__more:hover { color: var(--ink); border-bottom-color: var(--ink); }

/* ------------------------------------------------------------ note lists */

.notes { display: flex; flex-direction: column; border-top: 1px solid var(--rule); }

.note {
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr) 88px;
	gap: 26px;
	align-items: baseline;
	padding: 24px 8px;
	border-bottom: 1px solid var(--rule);
}
.note:hover { background: var(--surface); color: var(--ink); }

.note__main { display: block; min-width: 0; }

.note__week {
	font-size: 11px;
	color: var(--faint-2);
	letter-spacing: .08em;
	text-transform: uppercase;
	font-variant-numeric: tabular-nums;
}

.note__title {
	display: block;
	font-family: var(--serif);
	font-size: 21px;
	line-height: 1.25;
	letter-spacing: -.015em;
}

.note__dek {
	display: block;
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--muted-2);
	margin-top: 7px;
	max-width: 62ch;
}

.note__cat {
	display: block;
	font-size: 10.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--faint-2);
	margin-top: 10px;
}

.note__read { font-size: 11.5px; color: var(--faint-2); text-align: right; }

.note__aside {
	text-align: right;
	font-size: 11px;
	color: var(--faint-2);
	letter-spacing: .08em;
	text-transform: uppercase;
}
.note__date { display: block; letter-spacing: 0; text-transform: none; }

.notes--archive .note { grid-template-columns: 74px minmax(0, 1fr) 130px; gap: 24px; padding: 22px 8px; }
.notes--archive .note__title { font-size: 19px; line-height: 1.3; letter-spacing: -.01em; }
.notes--archive .note__dek { font-size: 13px; margin-top: 6px; max-width: 64ch; }

.pagination {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 32px 8px 0;
	font-size: 12.5px;
}
.pagination a { color: var(--muted); }
.pagination a:hover { color: var(--ink); }

/* ---------------------------------------------------------------- topics */

.topics {
	padding-top: 84px;
	padding-bottom: 96px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 56px;
}
.topics__intro p { font-size: 14.5px; line-height: 1.7; color: var(--muted); margin: 0; max-width: 36ch; }
.topics__list { display: flex; flex-direction: column; }

.topic { display: flex; gap: 22px; padding: 20px 0; border-top: 1px solid var(--rule); }
.topic:hover { color: var(--ink); }
.topic:hover .topic__title { text-decoration: underline; text-underline-offset: 3px; }
.topic__n { font-size: 11px; color: var(--faint-2); padding-top: 3px; font-variant-numeric: tabular-nums; flex: none; }
.topic__main { display: block; min-width: 0; }
.topic__title { display: block; font-size: 14px; font-weight: 500; }
.topic__body { display: block; font-size: 13.5px; line-height: 1.65; color: var(--muted-2); margin-top: 5px; }

/* --------------------------------------------------------------- archive */

.archive { padding-top: 84px; padding-bottom: 96px; }

.page-head__title {
	font-family: var(--serif);
	font-weight: 400;
	font-size: clamp(32px, 4.6vw, 50px);
	line-height: 1.1;
	letter-spacing: -.025em;
	margin: 0 0 14px;
	max-width: 20ch;
}
.page-head__dek { font-size: 14.5px; line-height: 1.6; color: var(--muted-2); margin: 0 0 40px; max-width: 60ch; }

.filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 6px; }
.filter {
	font-size: 12px;
	line-height: 1.2;
	padding: 7px 14px;
	border-radius: 100px;
	border: 1px solid var(--rule-strong);
	color: var(--muted);
}
.filter:hover { border-color: var(--ink); color: var(--ink); }
.filter.is-active { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.filter.is-active:hover { background: var(--accent-hover); border-color: var(--accent-hover); color: var(--on-accent); }

.filters + .notes { margin-top: 30px; }

.empty { font-size: 14.5px; line-height: 1.7; color: var(--muted-2); margin: 40px 0 0; max-width: 46ch; }

.searchform { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.searchform input[type="search"] {
	font-family: var(--sans);
	font-size: 14px;
	padding: 10px 13px;
	border: 1px solid var(--rule-strong);
	background: var(--paper);
	color: var(--ink);
	border-radius: 2px;
	min-width: 0;
	flex: 1 1 220px;
}
.searchform input[type="search"]:focus { outline: none; border-color: var(--ink); }
.searchform button {
	font-family: var(--sans);
	font-size: 12.5px;
	font-weight: 500;
	padding: 10px 18px;
	border: none;
	border-radius: 100px;
	background: var(--accent);
	color: var(--on-accent);
	cursor: pointer;
}
.searchform button:hover { background: var(--accent-hover); }

/* --------------------------------------------------------------- article */

.article { padding-top: 74px; padding-bottom: 36px; }

.article__back { font-size: 12px; color: var(--faint); }
.article__back:hover { color: var(--ink); }

.article__col { max-width: var(--measure); margin-left: auto; margin-right: auto; }

.article__head { margin-top: 32px; }
.article__head--page { margin-top: 0; }

.article__meta {
	font-size: 10.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--faint);
	margin: 0 0 18px;
}

.article__title {
	font-family: var(--serif);
	font-weight: 400;
	font-size: clamp(31px, 4.3vw, 45px);
	line-height: 1.14;
	letter-spacing: -.025em;
	margin: 0;
}

.article__dek {
	font-family: var(--serif);
	font-size: 20px;
	line-height: 1.55;
	color: var(--body-quote);
	margin: 24px 0 0;
	font-style: italic;
}

.article__byline {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 30px 0 0;
	padding: 18px 0;
	border-top: 1px solid var(--rule);
	border-bottom: 1px solid var(--rule);
}
.article__avatar {
	width: 32px;
	height: 32px;
	flex: none;
	border-radius: 100px;
	background: var(--fill-strong);
	overflow: hidden;
	display: block;
}
.article__avatar img { display: block; width: 100%; height: 100%; }
.article__byline-text { font-size: 12.5px; color: var(--muted-2); }

.article__body { padding-bottom: 36px; }

.article__body p,
.article__body ul,
.article__body ol {
	font-family: var(--serif);
	font-size: 18px;
	line-height: 1.75;
	color: var(--ink-soft);
	margin: 0 0 26px;
}
.article__body ul, .article__body ol { padding-left: 1.2em; }
.article__body li { margin-bottom: 8px; }

.article__body > :first-child { margin-top: 32px; }

.article__body h2 {
	font-family: var(--serif);
	font-weight: 400;
	font-size: 26px;
	letter-spacing: -.02em;
	line-height: 1.25;
	margin: 44px 0 14px;
}
.article__body h3 {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .01em;
	margin: 34px 0 10px;
}

.article__body a { border-bottom: 1px solid var(--rule-strong); }
.article__body a:hover { border-bottom-color: var(--ink); }

.article__body blockquote {
	margin: 32px 0;
	padding-left: 22px;
	border-left: 2px solid var(--rule-strong);
}
.article__body blockquote p { font-style: italic; color: var(--body-quote); }

.article__body code {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 13.5px;
	background: var(--surface);
	border: 1px solid var(--rule);
	padding: 1px 5px;
	border-radius: 2px;
}
.article__body pre {
	background: var(--surface);
	border: 1px solid var(--rule);
	padding: 18px;
	overflow-x: auto;
	font-size: 13px;
	line-height: 1.6;
	margin: 0 0 26px;
}
.article__body pre code { border: none; background: none; padding: 0; }

.article__body figure { margin: 0 0 26px; }
.article__body figcaption,
.wp-element-caption {
	font-family: var(--sans);
	font-size: 11.5px;
	line-height: 1.6;
	color: var(--faint);
	margin-top: 12px;
}
.article__body img { display: block; }
.article__body hr { border: none; border-top: 1px solid var(--rule); margin: 40px 0; }

.article__body table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 0 0 26px; }
.article__body th, .article__body td { border-bottom: 1px solid var(--rule); padding: 9px 10px; text-align: left; }
.article__body th { font-weight: 600; }

.article__figure { margin: 34px 0 0; }
.article__figure img { display: block; width: 100%; border: 1px solid var(--rule); }
.article__figure figcaption { margin: 12px 0 0; }

.page-links { font-size: 12.5px; color: var(--muted-2); margin: 0 0 26px; display: flex; gap: 8px; }

/* ------------------------------------------------------------ takeaways */

.takeaways {
	border: 1px solid var(--rule);
	background: var(--surface);
	padding: 26px 28px;
	margin: 34px 0;
}
.takeaways__title {
	font-size: 10.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--faint);
	margin: 0 0 14px;
}
.takeaways__list { display: flex; flex-direction: column; gap: 11px; list-style: none; margin: 0; padding: 0; }
.takeaways__item {
	display: flex;
	gap: 12px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--ink-softer);
	margin: 0;
}
.takeaways__item::before { content: "\2014"; color: var(--faint-2); flex: none; }

/* --------------------------------------------------------------- related */

.related { border-top: 1px solid var(--rule); margin-top: 64px; }
.related__inner { padding-top: 48px; padding-bottom: 88px; }
.related__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 28px; }
.related__item { display: flex; flex-direction: column; gap: 9px; }
.related__item:hover { opacity: .75; color: var(--ink); }
.related__meta { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--faint-2); }
.related__title { font-family: var(--serif); font-size: 18px; line-height: 1.3; }

/* ----------------------------------------------------------------- about */

.about { padding-top: 84px; padding-bottom: 96px; }
.about__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 56px;
	align-items: start;
}

.about__title {
	font-family: var(--serif);
	font-weight: 400;
	font-size: clamp(31px, 4.4vw, 46px);
	line-height: 1.12;
	letter-spacing: -.025em;
	margin: 0 0 24px;
	max-width: 18ch;
}
.about__body p { font-size: 15px; line-height: 1.75; color: var(--body); margin: 0 0 18px; max-width: 46ch; }
.about__body p:last-child { margin-bottom: 0; }
.about__body a { border-bottom: 1px solid var(--rule-strong); }
.about__body a:hover { border-bottom-color: var(--ink); }

.portrait {
	aspect-ratio: 4 / 5;
	background: var(--fill);
	border: 1px solid var(--rule);
	margin-bottom: 30px;
	overflow: hidden;
}
.portrait img { display: block; width: 100%; height: 100%; object-fit: cover; }

.timeline { display: flex; flex-direction: column; border-top: 1px solid var(--rule); }
.timeline__row {
	display: grid;
	grid-template-columns: 82px minmax(0, 1fr);
	gap: 16px;
	padding: 15px 0;
	border-bottom: 1px solid var(--rule);
}
.timeline__years { font-size: 11.5px; color: var(--faint-2); font-variant-numeric: tabular-nums; }
.timeline__main { display: block; min-width: 0; }
.timeline__role { display: block; font-size: 13.5px; font-weight: 500; }
.timeline__note { display: block; font-size: 12.5px; line-height: 1.5; color: var(--muted-3); margin-top: 3px; }

/* ------------------------------------------------------------- subscribe */

.subscribe {
	padding-top: 84px;
	padding-bottom: 104px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 64px;
	align-items: start;
}

.subscribe__title {
	font-family: var(--serif);
	font-weight: 400;
	font-size: clamp(31px, 4.4vw, 46px);
	line-height: 1.1;
	letter-spacing: -.025em;
	margin: 0 0 22px;
	max-width: 17ch;
}
.subscribe__dek { font-size: 14.5px; line-height: 1.7; color: var(--muted); margin: 0 0 34px; max-width: 42ch; }
.subscribe__content p { font-size: 14.5px; line-height: 1.7; color: var(--muted); margin: 0 0 18px; max-width: 42ch; }

.deflist { display: flex; flex-direction: column; border-top: 1px solid var(--rule); margin: 0; }
.deflist__row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 15px 0;
	border-bottom: 1px solid var(--rule);
	font-size: 13px;
}
.deflist__k { color: var(--faint); }
.deflist__v { margin: 0; text-align: right; }

.signup { background: var(--surface); border: 1px solid var(--rule); padding: 30px; }
.signup__fields { display: flex; flex-direction: column; gap: 18px; }
.signup__label { display: flex; flex-direction: column; gap: 7px; }
.signup__label > span {
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--muted-3);
}
.signup input[type="email"],
.signup textarea {
	font-family: var(--sans);
	font-size: 14px;
	padding: 11px 13px;
	border: 1px solid var(--rule-strong);
	background: var(--paper);
	color: var(--ink);
	border-radius: 2px;
	width: 100%;
}
.signup textarea { resize: vertical; }
.signup input[type="email"]:focus,
.signup textarea:focus { outline: none; border-color: var(--ink); }

.signup__submit {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 500;
	padding: 13px;
	background: var(--accent);
	color: var(--on-accent);
	border: none;
	border-radius: 100px;
	cursor: pointer;
	width: 100%;
}
.signup__submit:hover { background: var(--accent-hover); }
.signup__submit:disabled { background: var(--fill-strong); color: var(--muted-3); cursor: not-allowed; }

.signup__note { font-size: 11.5px; line-height: 1.6; color: var(--faint); margin: 0; }

.signup__warning {
	font-size: 12px;
	line-height: 1.6;
	color: var(--muted-3);
	border: 1px dashed var(--rule-strong);
	padding: 12px 14px;
	margin: 0 0 16px;
}

/* ---------------------------------------------------------------- footer */

.site-footer { border-top: 1px solid var(--rule); background: var(--surface); }

.site-footer__top {
	padding-top: 52px;
	padding-bottom: 40px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 36px;
}

.site-footer__name { font-family: var(--serif); font-size: 20px; letter-spacing: -.01em; margin: 0; }
.site-footer__blurb { font-size: 12.5px; line-height: 1.6; color: var(--muted-3); margin: 10px 0 0; max-width: 26ch; }

.site-footer__col-title {
	display: block;
	font-size: 10.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--faint);
	margin-bottom: 14px;
}

.site-footer__links { display: flex; flex-direction: column; gap: 9px; list-style: none; margin: 0; padding: 0; }
.site-footer__links a { font-size: 13px; color: var(--muted); }
.site-footer__links a:hover { color: var(--ink); }

.site-footer__bar {
	padding-bottom: 38px;
	display: flex;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	font-size: 11.5px;
	color: var(--faint-2);
}

/* -------------------------------------------------------------- comments */

.comments-area { margin: 48px 0 0; padding-top: 32px; border-top: 1px solid var(--rule); }
.comments-area .comment-list { list-style: none; margin: 0; padding: 0; }
.comments-area .comment-list ol { list-style: none; padding-left: 22px; }
.comments-area .comment-body { padding: 18px 0; border-bottom: 1px solid var(--rule); font-size: 14px; line-height: 1.7; }
.comments-area .comment-meta { font-size: 11.5px; color: var(--faint); margin-bottom: 8px; }
.comments-area h2, .comments-area h3 { font-family: var(--serif); font-weight: 400; font-size: 22px; letter-spacing: -.02em; margin: 0 0 20px; }
.comment-form label { display: block; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted-3); margin-bottom: 6px; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	font-family: var(--sans);
	font-size: 14px;
	padding: 11px 13px;
	border: 1px solid var(--rule-strong);
	background: var(--paper);
	color: var(--ink);
	border-radius: 2px;
	width: 100%;
}
.comment-form .submit {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 500;
	padding: 12px 22px;
	background: var(--accent);
	color: var(--on-accent);
	border: none;
	border-radius: 100px;
	cursor: pointer;
}
.comment-form .submit:hover { background: var(--accent-hover); }

/* ----------------------------------------------------------- breakpoints
   The canvas was a single fixed column with no breakpoints at all. */

@media (max-width: 900px) {
	.hero { padding-top: 72px; padding-bottom: 64px; }
	.section { padding-top: 64px; }
	.topics { padding-top: 64px; padding-bottom: 72px; gap: 36px; }
	.archive, .about { padding-top: 64px; padding-bottom: 72px; }
	.subscribe { padding-top: 64px; padding-bottom: 80px; gap: 44px; }
	.about__grid { gap: 40px; }
	.article { padding-top: 56px; }
	.related__inner { padding-bottom: 64px; }
}

@media (max-width: 720px) {
	:root { --gutter: 22px; }

	.site-header__inner { gap: 16px; }
	.nav-toggle { display: block; }

	.site-nav {
		position: absolute;
		top: var(--header-h);
		left: 0;
		right: 0;
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		background: var(--paper);
		border-bottom: 1px solid var(--rule);
		padding: 10px var(--gutter) 18px;
	}
	.site-nav.is-open { display: flex; }
	.site-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
	.site-nav__list a { padding: 11px 13px; }
	.site-nav__cta { margin: 10px 0 0; text-align: center; }

	/* The three-column row stacks; the right-hand column becomes a meta line. */
	.note,
	.notes--archive .note {
		grid-template-columns: 1fr;
		gap: 6px;
		align-items: start;
		padding: 20px 4px;
	}
	.note__read,
	.note__aside { text-align: left; }
	.note__date { display: inline; }
	.note__cat-inline::after { content: " \00B7 "; }

	.section__head { flex-direction: column; align-items: flex-start; gap: 10px; }
	.related__grid { gap: 22px; }
	.takeaways { padding: 22px 20px; }
	.signup { padding: 24px 20px; }
}

@media (max-width: 560px) {
	.hero { padding-top: 56px; padding-bottom: 48px; }
	.hero__actions .btn { flex: 1 1 auto; text-align: center; }
	.stat { padding: 26px 0 28px 18px; }
	.article__body p,
	.article__body ul,
	.article__body ol { font-size: 17px; }
	.article__dek { font-size: 18px; }
	.deflist__row { flex-direction: column; gap: 4px; }
	.deflist__v { text-align: left; }
	.site-footer__bar { flex-direction: column; gap: 6px; }
}

@media (prefers-reduced-motion: reduce) {
	* { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* An About page with no portrait and no timeline has nothing for the right
   column, so it runs as a single measure instead of a half-empty grid. */
.about__grid--solo { grid-template-columns: minmax(0, 1fr); }
.about__grid--solo .about__title { max-width: 22ch; }
