/*
 * What theme.json cannot express: layout of the header and post rows, form
 * controls, list bullets, the Contents box, footnote notes, comment threads.
 * Every value is a theme.json token; nothing here is a literal.
 */

/* ---------- Page frame ---------- */

.wp-site-blocks > * + * { margin-block-start: 0; }
/* The footer sits at the bottom of the window even on a short page. */
.wp-site-blocks { display: flex; flex-direction: column; min-height: var(--wp--custom--viewport--full); }
.wp-site-blocks > .site-main { flex: 1 0 auto; }

a:where(:not(.wp-element-button)):hover { color: var(--wp--preset--color--brand); }

/* ---------- Header ---------- */

.site-topbar {
	padding: var(--wp--preset--spacing--xx-small) var(--wp--preset--spacing--gutter);
	letter-spacing: var(--wp--custom--tracking--ui);
	text-transform: uppercase;
	font-weight: 500;
	line-height: 1;
}
.site-topbar p { margin: 0; }
.site-topbar a { color: inherit; text-underline-offset: var(--wp--custom--accent--offset-small); }
.site-topbar a:hover { color: var(--wp--preset--color--underline); }

.site-header {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: var(--wp--preset--spacing--small);
	padding: var(--wp--preset--spacing--large) var(--wp--preset--spacing--gutter) var(--wp--preset--spacing--medium);
}
.site-header > * { margin: 0; }

.site-brand { gap: var(--wp--preset--spacing--x-small); color: var(--wp--preset--color--brand); }
.wp-block-intersections-mark { display: block; color: inherit; line-height: 0; }
.wp-block-intersections-mark svg { width: var(--wp--custom--mark--size); height: var(--wp--custom--mark--size); }
.site-brand .wp-block-site-title { margin: 0; font-weight: 500; line-height: 1; letter-spacing: var(--wp--custom--tracking--slight); }
.site-brand .wp-block-site-title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.site-brand .wp-block-site-tagline {
	margin: var(--wp--preset--spacing--tiny) 0 0;
	line-height: 1;
	font-weight: 500;
	letter-spacing: var(--wp--custom--tracking--widest);
	text-transform: uppercase;
}

.site-nav .wp-block-navigation__container { gap: var(--wp--preset--spacing--medium); }
.site-nav a { text-decoration: none; }

.site-tools { justify-self: end; gap: var(--wp--preset--spacing--small); }
.site-tools p { margin: 0; }
.site-tools a { text-decoration: none; }
.site-tools .wp-block-search .wp-block-search__button {
	background: none;
	color: var(--wp--preset--color--ink);
	padding: 0;
	margin: 0;
	border: 0;
}
.site-tools .wp-block-search__input {
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--small);
	border: var(--wp--custom--border--hair) solid var(--wp--preset--color--haze);
	border-radius: var(--wp--custom--radius--pill);
	padding: var(--wp--preset--spacing--tiny) var(--wp--preset--spacing--x-small);
}

/* ---------- Homepage ---------- */

.home-hero {
	margin: 0 var(--wp--preset--spacing--gutter);
	padding: var(--wp--preset--spacing--xx-large) var(--wp--preset--spacing--small) var(--wp--preset--spacing--x-large);
	border-radius: var(--wp--custom--radius--soft);
}
.home-hero h1 { margin: 0; line-height: var(--wp--custom--line-height--tight); }
.home-hero h1 em { color: var(--wp--preset--color--brand); }
.home-hero__line {
	margin: var(--wp--preset--spacing--small) auto 0;
	max-width: var(--wp--custom--measure--line);
	font-size: var(--wp--preset--font-size--lead);
	font-style: italic;
	color: var(--wp--preset--color--muted);
}
.home-hero::after {
	content: "";
	display: block;
	width: var(--wp--custom--accent--bar);
	height: var(--wp--custom--border--bar);
	margin: var(--wp--preset--spacing--medium) auto 0;
	background: var(--wp--preset--color--brand);
}

/* The logo mark behind the hero: large, very faint, cropped at the right edge. */
.home-hero { position: relative; overflow: hidden; isolation: isolate; }
.home-hero::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 50%;
	right: 0;
	width: var(--wp--custom--texture--mark);
	aspect-ratio: 1;
	transform: translate(34%, -50%);
	background: var(--wp--preset--color--haze);
	opacity: var(--wp--custom--texture--mark-opacity);
	mask: url(mark.svg) center / contain no-repeat;
	pointer-events: none;
}

.post-rows { padding: var(--wp--preset--spacing--xx-large) var(--wp--preset--spacing--gutter) 0; }
.post-rows .wp-block-post-template { display: grid; gap: var(--wp--preset--spacing--xx-large); margin: 0; padding: 0; list-style: none; }
.post-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--wp--preset--spacing--x-large); align-items: center; }
.post-rows li:nth-child(even) .post-row__pic { order: 2; }
.post-row__pic { margin: 0; }
.post-row__pic img { width: 100%; object-fit: cover; }
.post-row__text { text-align: center; padding: 0 5%; }
.post-row__text > * { margin-block: 0; }

.post-row__date { gap: 0; line-height: 1; letter-spacing: var(--wp--custom--tracking--wide); font-weight: 500; }
.post-row__date .wp-block-post-terms {
	margin-left: var(--wp--preset--spacing--xx-small);
	padding-left: var(--wp--preset--spacing--xx-small);
	border-left: var(--wp--custom--border--hair) solid var(--wp--preset--color--line);
	text-transform: uppercase;
}
.post-row__date a { color: inherit; text-decoration: none; }

.post-row .wp-block-post-title { margin-block: var(--wp--preset--spacing--x-small); }
.post-row .wp-block-post-title a {
	text-decoration: underline;
	text-decoration-thickness: var(--wp--custom--border--hair);
	text-underline-offset: var(--wp--custom--accent--offset);
	text-decoration-color: var(--wp--preset--color--underline);
}
.post-row .wp-block-post-excerpt { margin-inline: auto; max-width: var(--wp--custom--measure--excerpt); }
.post-row .wp-block-post-excerpt__excerpt { margin: 0; }
.post-row .wp-block-post-excerpt__more-text { display: none; }

.wp-block-intersections-series.is-tag {
	margin-top: var(--wp--preset--spacing--x-small);
	font-size: var(--wp--preset--font-size--ui);
	font-style: italic;
	color: var(--wp--preset--color--brand);
}

.wp-block-query-pagination { margin-top: var(--wp--preset--spacing--x-large); font-size: var(--wp--preset--font-size--small); }

/* ---------- Sign-up panel ---------- */

.wp-block-intersections-signup {
	margin: var(--wp--preset--spacing--huge) var(--wp--preset--spacing--gutter) 0;
	padding: var(--wp--preset--spacing--x-large) var(--wp--preset--spacing--small);
	background: var(--wp--preset--color--panel);
	text-align: center;
}
.wp-block-intersections-signup h2 { margin: 0; font-size: var(--wp--preset--font-size--display); line-height: 1; }
.wp-block-intersections-signup h2 em { color: var(--wp--preset--color--brand); }
.wp-block-intersections-signup p { margin: var(--wp--preset--spacing--x-small) 0 var(--wp--preset--spacing--medium); color: var(--wp--preset--color--panel-ink); }
.wp-block-intersections-signup form { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--wp--preset--spacing--xx-small); }
.wp-block-intersections-signup input {
	width: var(--wp--custom--field--width);
	max-width: 100%;
	padding: var(--wp--preset--spacing--x-small) var(--wp--preset--spacing--small);
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--ui);
	border: var(--wp--custom--border--hair) solid var(--wp--preset--color--haze);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--paper);
	color: var(--wp--preset--color--ink);
}
.wp-block-intersections-signup .signup-note { margin-bottom: 0; font-style: italic; color: var(--wp--preset--color--brand); }

/* ---------- Footer ---------- */

.site-footer {
	gap: var(--wp--preset--spacing--x-small) var(--wp--preset--spacing--medium);
	padding: var(--wp--preset--spacing--medium) var(--wp--preset--spacing--gutter);
}
.site-footer p { margin: 0; }
.site-footer .wp-block-intersections-copyright { margin-right: auto; }
.site-footer a { color: inherit; text-decoration: none; }
.site-footer a:hover { color: var(--wp--preset--color--paper); }

/* ---------- Post head ---------- */

.post-head { text-align: center; padding: var(--wp--preset--spacing--large) 0 var(--wp--preset--spacing--large); }
.post-head > * { margin-block: 0; }
.wp-block-intersections-series.is-crumb,
.wp-block-intersections-series.is-kicker {
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 500;
	line-height: 1;
	letter-spacing: var(--wp--custom--tracking--wide);
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}
.wp-block-intersections-series.is-crumb a { color: var(--wp--preset--color--brand); text-decoration: none; }
.post-head .wp-block-intersections-series.is-kicker {
	margin-top: var(--wp--preset--spacing--small);
	letter-spacing: var(--wp--custom--tracking--wider);
	color: var(--wp--preset--color--brand);
}
.post-head .wp-block-post-title { margin: var(--wp--preset--spacing--x-small) 0 var(--wp--preset--spacing--small); line-height: var(--wp--custom--line-height--title); }
.wp-block-intersections-series.is-dek {
	font-size: var(--wp--preset--font-size--large);
	font-style: italic;
	line-height: var(--wp--custom--line-height--normal);
	color: var(--wp--preset--color--ink-soft);
}
.post-head .post-meta { margin-top: var(--wp--preset--spacing--medium); gap: var(--wp--preset--spacing--tiny) var(--wp--preset--spacing--small); line-height: 1; }
.post-meta .wp-block-post-date,
.post-meta .wp-block-post-author-name { font: inherit; }
.wp-block-intersections-reading-stats { display: contents; }
.wp-block-intersections-reading-stats a { color: inherit; text-decoration: none; }

.post-feature img { width: 100%; }

/* ---------- Series parts bar ---------- */

.wp-block-intersections-series.is-parts { margin-top: var(--wp--preset--spacing--large); }
.is-parts ol {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 1fr;
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: var(--wp--custom--border--bar) solid var(--wp--preset--color--brand);
	background: var(--wp--preset--color--panel);
}
.is-parts li {
	padding: var(--wp--preset--spacing--x-small);
	font-size: var(--wp--preset--font-size--ui);
	line-height: var(--wp--custom--line-height--normal);
	color: var(--wp--preset--color--panel-ink);
}
.is-parts li + li { border-left: var(--wp--custom--border--hair) solid var(--wp--preset--color--panel-line); }
.is-parts a { color: inherit; text-decoration: none; display: block; }
.is-parts b {
	display: block;
	margin-bottom: var(--wp--preset--spacing--tiny);
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 500;
	letter-spacing: var(--wp--custom--tracking--wide);
	text-transform: uppercase;
	color: var(--wp--preset--color--ink);
}
.is-parts .is-current {
	background: var(--wp--preset--color--paper);
	box-shadow: inset 0 0 0 var(--wp--custom--border--hair) var(--wp--preset--color--panel-line);
	color: var(--wp--preset--color--ink);
}
.is-parts .is-current b { color: var(--wp--preset--color--brand); }

/* ---------- Post body ---------- */

.post-body { margin-top: var(--wp--preset--spacing--large); }
.post-body ul { list-style: disc; padding-left: var(--wp--preset--spacing--small); }
.post-body ol { list-style: decimal; padding-left: var(--wp--preset--spacing--small); }
.post-body h2::after {
	content: "";
	display: block;
	width: var(--wp--custom--accent--underline);
	height: var(--wp--custom--border--rule);
	margin-top: var(--wp--preset--spacing--x-small);
	background: var(--wp--preset--color--brand);
}

.post-body .wp-block-quote { text-align: center; }
.post-body .wp-block-quote p { margin: 0; }
.post-body .wp-block-quote cite {
	display: block;
	margin-top: var(--wp--preset--spacing--x-small);
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--label);
	font-style: normal;
	letter-spacing: var(--wp--custom--tracking--wide);
	text-transform: uppercase;
	color: var(--wp--preset--color--panel-ink);
}

/* The Contents box. */
.post-body .wp-block-details summary {
	display: flex;
	justify-content: space-between;
	cursor: pointer;
	list-style: none;
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 500;
	letter-spacing: var(--wp--custom--tracking--wide);
	text-transform: uppercase;
	color: var(--wp--preset--color--brand);
}
.post-body .wp-block-details summary::-webkit-details-marker { display: none; }
.post-body .wp-block-details summary::after { content: "+"; font-size: var(--wp--preset--font-size--compact); line-height: 1; }
.post-body .wp-block-details[open] summary::after { content: "–"; }
.post-body .wp-block-details[open] summary {
	padding-bottom: var(--wp--preset--spacing--xx-small);
	border-bottom: var(--wp--custom--border--hair) solid var(--wp--preset--color--panel-line);
}
.post-body .wp-block-details ol { margin: var(--wp--preset--spacing--x-small) 0 0; }
.post-body .wp-block-details li { padding-block: var(--wp--preset--spacing--tiny) 0; }
.post-body .wp-block-details a {
	color: var(--wp--preset--color--ink);
	text-decoration-color: var(--wp--preset--color--haze);
	text-underline-offset: var(--wp--custom--accent--offset-small);
}

/* "Assumption / Reality" boxes. */
.post-body .is-style-callout {
	padding: var(--wp--preset--spacing--small) var(--wp--preset--spacing--medium);
	border-left: var(--wp--custom--border--bar) solid var(--wp--preset--color--brand);
	background: var(--wp--preset--color--panel);
}
.post-body .is-style-callout p { margin: 0; }
.post-body .is-style-callout p + p { margin-top: var(--wp--preset--spacing--xx-small); }
.post-body .is-style-callout strong {
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 600;
	letter-spacing: var(--wp--custom--tracking--wide);
	text-transform: uppercase;
	color: var(--wp--preset--color--brand);
}

/* Footnotes: a small indigo number that opens the note in place. */
.post-body sup.fn a {
	padding: 0 var(--wp--custom--border--rule);
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 600;
	color: var(--wp--preset--color--brand);
	text-decoration: none;
}
.post-body .fn-note {
	padding: var(--wp--preset--spacing--x-small) var(--wp--preset--spacing--small);
	border-left: var(--wp--custom--border--rule) solid var(--wp--preset--color--brand);
	background: var(--wp--preset--color--panel);
	font-size: var(--wp--preset--font-size--compact);
	color: var(--wp--preset--color--ink-soft);
}
.post-body .fn-note a[href*="-link"] { display: none; }
.post-body .wp-block-footnotes {
	margin-top: var(--wp--preset--spacing--x-large);
	padding-top: var(--wp--preset--spacing--small);
	padding-left: var(--wp--preset--spacing--small);
	border-top: var(--wp--custom--border--hair) solid var(--wp--preset--color--line);
}

/* ---------- After the post ---------- */

.wp-block-intersections-share {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--small);
	margin-top: var(--wp--preset--spacing--x-large);
	padding-top: var(--wp--preset--spacing--small);
	border-top: var(--wp--custom--border--hair) solid var(--wp--preset--color--line);
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}
.wp-block-intersections-share b { color: var(--wp--preset--color--ink); font-weight: 500; }
.wp-block-intersections-share a,
.wp-block-intersections-share button {
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	color: inherit;
	text-decoration: none;
	cursor: pointer;
}
.wp-block-intersections-share button:hover { color: var(--wp--preset--color--brand); }

.wp-block-intersections-series.is-next {
	display: block;
	margin-top: var(--wp--preset--spacing--large);
	padding: var(--wp--preset--spacing--medium) var(--wp--preset--spacing--small);
	background: var(--wp--preset--color--panel);
	text-align: center;
	text-decoration: none;
	color: var(--wp--preset--color--ink);
}
.is-next small {
	display: block;
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 500;
	letter-spacing: var(--wp--custom--tracking--wide);
	text-transform: uppercase;
	color: var(--wp--preset--color--brand);
}
.is-next span {
	display: block;
	margin-top: var(--wp--preset--spacing--xx-small);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--xx-large);
	font-weight: 500;
	line-height: var(--wp--custom--line-height--snug);
}
.is-next:hover span { color: var(--wp--preset--color--brand); }

/* ---------- Comments ---------- */

.post-comments { margin-top: var(--wp--preset--spacing--x-large); }
.post-comments .wp-block-comments-title { margin-bottom: var(--wp--preset--spacing--small); }
.post-comments ol { list-style: none; margin: 0; padding: 0; }
.post-comments .comment { padding-block: var(--wp--preset--spacing--small); border-top: var(--wp--custom--border--hair) solid var(--wp--preset--color--line); }
.post-comments .comment > * { margin-block: 0; }
.post-comments .comment__head { gap: var(--wp--preset--spacing--xx-small); align-items: baseline; }
.post-comments .comment__head > * { margin: 0; }
.post-comments .comment__head a { color: inherit; text-decoration: none; }
.post-comments .wp-block-comment-content p { margin: var(--wp--preset--spacing--xx-small) 0 0; }
.post-comments .wp-block-comment-reply-link { margin-top: var(--wp--preset--spacing--xx-small); }
.post-comments .wp-block-comment-reply-link a { text-decoration: none; }
.post-comments ol ol {
	margin-left: var(--wp--preset--spacing--large);
	padding-left: var(--wp--preset--spacing--small);
	border-left: var(--wp--custom--border--rule) solid var(--wp--preset--color--brand);
}
.post-comments ol ol .comment { border-top: 0; }

.comment-respond {
	margin-top: var(--wp--preset--spacing--small);
	padding-top: var(--wp--preset--spacing--small);
	border-top: var(--wp--custom--border--hair) solid var(--wp--preset--color--brand);
}
.comment-respond .comment-reply-title { margin: 0 0 var(--wp--preset--spacing--xx-small); font-size: var(--wp--preset--font-size--x-large); }
.comment-respond .comment-notes,
.comment-respond .logged-in-as { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.comment-respond label,
.wpcf7 label {
	display: block;
	margin-bottom: var(--wp--preset--spacing--tiny);
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 500;
	letter-spacing: var(--wp--custom--tracking--wide);
	text-transform: uppercase;
}
.comment-respond .comment-form-cookies-consent { display: flex; gap: var(--wp--preset--spacing--xx-small); align-items: baseline; }
.comment-respond .comment-form-cookies-consent label { display: inline; letter-spacing: 0; text-transform: none; font-weight: 400; font-size: var(--wp--preset--font-size--small); }
.comment-respond input[type="text"],
.comment-respond input[type="email"],
.comment-respond input[type="url"],
.comment-respond textarea,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
	box-sizing: border-box;
	width: 100%;
	padding: var(--wp--preset--spacing--xx-small) var(--wp--preset--spacing--x-small);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--compact);
	border: var(--wp--custom--border--hair) solid var(--wp--preset--color--haze);
	border-radius: 0;
	background: var(--wp--preset--color--paper);
	color: var(--wp--preset--color--ink);
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea { margin-top: var(--wp--preset--spacing--tiny); letter-spacing: 0; text-transform: none; font-weight: 400; }
.comment-respond textarea,
.wpcf7 textarea { min-height: var(--wp--custom--field--textarea); }
.comment-respond .form-submit { text-align: center; }

/* ---------- List pages: topic, tag, series, author, search, not found ---------- */

.list-head {
	padding: var(--wp--preset--spacing--x-large) var(--wp--preset--spacing--gutter) var(--wp--preset--spacing--small);
	text-align: center;
}
.list-head > * { margin-block: 0; }
.list-head__label,
.author__label {
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 500;
	line-height: 1;
	letter-spacing: var(--wp--custom--tracking--wider);
	text-transform: uppercase;
	color: var(--wp--preset--color--brand);
}
.list-head h1 {
	margin-top: var(--wp--preset--spacing--x-small);
	font-size: var(--wp--preset--font-size--title);
	line-height: var(--wp--custom--line-height--title);
}
.list-head__dek {
	max-width: var(--wp--custom--measure--excerpt);
	margin: var(--wp--preset--spacing--small) auto 0;
	font-size: var(--wp--preset--font-size--large);
	font-style: italic;
	line-height: var(--wp--custom--line-height--normal);
	color: var(--wp--preset--color--ink-soft);
}
.list-head__dek p { margin: 0; }
.list-head__search { max-width: var(--wp--custom--field--width); margin: var(--wp--preset--spacing--medium) auto 0; }
.list-head__search .wp-block-search__input {
	padding: var(--wp--preset--spacing--xx-small) var(--wp--preset--spacing--small);
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--ui);
	border: var(--wp--custom--border--hair) solid var(--wp--preset--color--haze);
	border-radius: var(--wp--custom--radius--pill);
}
.wp-block-intersections-empty {
	margin: 0 auto;
	text-align: center;
	font-size: var(--wp--preset--font-size--medium);
	font-style: italic;
	color: var(--wp--preset--color--muted);
}

/* ---------- Author: under a post, and heading the author page ---------- */

.author__photo { display: block; object-fit: cover; aspect-ratio: 1; border-radius: var(--wp--custom--radius--pill); }
.author__name { font-family: var(--wp--preset--font-family--display); font-weight: 600; color: var(--wp--preset--color--ink); }
.author__bio { margin: var(--wp--preset--spacing--tiny) 0 0; color: var(--wp--preset--color--ink-soft); }

.wp-block-intersections-author.is-box {
	display: flex;
	gap: var(--wp--preset--spacing--small);
	align-items: center;
	margin-top: var(--wp--preset--spacing--large);
	padding-top: var(--wp--preset--spacing--medium);
	border-top: var(--wp--custom--border--hair) solid var(--wp--preset--color--line);
}
.is-box .author__photo { flex: none; width: var(--wp--custom--portrait--small); height: auto; }
.is-box .author__label { margin: 0 0 var(--wp--preset--spacing--tiny); }
.is-box .author__name { font-size: var(--wp--preset--font-size--large); text-decoration: none; }
.is-box .author__bio { font-size: var(--wp--preset--font-size--compact); }

.wp-block-intersections-author.is-head {
	padding: var(--wp--preset--spacing--x-large) var(--wp--preset--spacing--gutter) var(--wp--preset--spacing--small);
	text-align: center;
}
.is-head .author__photo { width: var(--wp--custom--portrait--large); height: auto; margin: 0 auto var(--wp--preset--spacing--small); }
.is-head .author__label { margin: 0; }
.is-head .author__name { margin: var(--wp--preset--spacing--x-small) 0 0; font-size: var(--wp--preset--font-size--title); line-height: var(--wp--custom--line-height--title); }
.is-head .author__bio { max-width: var(--wp--custom--measure--excerpt); margin: var(--wp--preset--spacing--small) auto 0; font-size: var(--wp--preset--font-size--large); font-style: italic; line-height: var(--wp--custom--line-height--normal); }

/* ---------- Pages ---------- */

.page-intro { display: flex; gap: var(--wp--preset--spacing--large); align-items: center; }
.page-intro .wp-block-image { flex: none; width: var(--wp--custom--portrait--page); margin: 0; }
.page-intro .wp-block-image img { aspect-ratio: 1; object-fit: cover; }
.page-intro h2 { margin-top: 0; }

.page-lede { font-size: var(--wp--preset--font-size--large); font-style: italic; color: var(--wp--preset--color--ink-soft); }

/* The spam trap on the contact and comment forms: never shown to people. */
.form-trap { display: none; }

/* The contact form: fields as in the comment form; its replies in the label type. */
.wpcf7 form > p { margin-block: 0 var(--wp--preset--spacing--small); }
.wpcf7 .wpcf7-not-valid-tip,
.wpcf7 form .wpcf7-response-output {
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0;
	text-transform: none;
}
.wpcf7 form .wpcf7-response-output { margin: var(--wp--preset--spacing--small) 0 0; padding: var(--wp--preset--spacing--x-small) var(--wp--preset--spacing--small); border-width: var(--wp--custom--border--hair); }
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--wp--preset--color--brand); }

/* ---------- Events (The Events Calendar) ----------
   The calendar draws its own pages; these lines hand its colours and fonts to the site's. */

.events-main {
	--tec-font-family-base: var(--wp--preset--font-family--body);
	--tec-font-family-sans-serif: var(--wp--preset--font-family--label);
	--tec-color-accent-primary: var(--wp--preset--color--brand);
	--tec-color-accent-primary-hover: var(--wp--preset--color--deep);
	--tec-color-accent-primary-active: var(--wp--preset--color--deep);
	--tec-color-accent-primary-background: var(--wp--preset--color--panel);
	--tec-color-accent-primary-background-datepicker: var(--wp--preset--color--panel);
	--tec-color-accent-secondary: var(--wp--preset--color--brand);
	--tec-color-button-primary: var(--wp--preset--color--brand);
	--tec-color-button-primary-hover: var(--wp--preset--color--deep);
	--tec-color-button-primary-active: var(--wp--preset--color--deep);
	--tec-color-button-primary-background: var(--wp--preset--color--panel);
	--tec-color-link-accent: var(--wp--preset--color--brand);
	--tec-color-link-accent-hover: var(--wp--preset--color--deep);
	--tec-color-text-primary: var(--wp--preset--color--ink);
	--tec-color-text-secondary: var(--wp--preset--color--ink-soft);
	--tec-color-text-event-date: var(--wp--preset--color--muted);
	--tec-color-text-event-title: var(--wp--preset--color--ink);
	--tec-color-border-default: var(--wp--preset--color--line);
	--tec-color-border-secondary: var(--wp--preset--color--line);
	--tec-color-icon-primary: var(--wp--preset--color--brand);
	--tec-color-icon-focus: var(--wp--preset--color--brand);
	--tec-color-icon-active: var(--wp--preset--color--brand);
	--tec-color-event-icon: var(--wp--preset--color--brand);
	--tec-color-background-events: var(--wp--preset--color--paper);
	--tec-color-background-events-bar-submit-button: var(--wp--preset--color--brand);
	--tec-color-background-events-bar-submit-button-hover: var(--wp--preset--color--deep);
	--tec-color-background-events-bar-submit-button-active: var(--wp--preset--color--deep);
	--tec-border-radius-default: var(--wp--custom--radius--soft);
	padding-inline: var(--wp--preset--spacing--gutter);
}
.events-main .tribe-common-l-container,
.events-main .tribe-events-single { max-width: var(--wp--style--global--wide-size); margin-inline: auto; }
.events-main .tribe-events-single { max-width: var(--wp--style--global--content-size); padding-block: var(--wp--preset--spacing--x-large); }
.events-main .tribe-common .tribe-events-l-container.tribe-common-l-container { padding-top: var(--wp--preset--spacing--small); }

/* Titles and buttons in the site's own type. */
.events-main .tribe-common .tribe-events-calendar-list__event-title,
.events-main .tribe-events-single-event-title { font-family: var(--wp--preset--font-family--display); font-weight: 400; }
/* The calendar resets its title's line spacing with a stronger rule, hence the longer selector. */
.single-tribe_events .events-main .tribe-events-single-event-title { font-size: var(--wp--preset--font-size--title); line-height: var(--wp--custom--line-height--title); }
.events-main .tribe-events-c-search__button,
.events-main .tribe-block__event-website a,
.events-main .tribe-events-back a,
.events-main .tribe-events-c-subscribe-dropdown__button-text,
.events-main .tribe-block__events-link .tribe-events-button {
	font-family: var(--wp--preset--font-family--label);
	font-weight: 500;
	letter-spacing: var(--wp--custom--tracking--wide);
}
.events-main .tribe-events-c-search__button,
.events-main .tribe-block__event-website a {
	padding: var(--wp--preset--spacing--x-small) var(--wp--preset--spacing--medium);
	font-size: var(--wp--preset--font-size--ui);
	text-transform: uppercase;
	color: var(--wp--preset--color--paper);
	background: var(--wp--preset--color--brand);
	border-radius: var(--wp--custom--radius--pill);
}
.events-main .tribe-block__event-website a { min-height: 0; line-height: 1; }
.events-main .tribe-block__event-website a:hover,
.events-main .tribe-events-c-search__button:hover { background: var(--wp--preset--color--deep); }
.events-main .tribe-events-back a { font-size: var(--wp--preset--font-size--small); text-transform: uppercase; }
.events-main .tribe-block__event-datetime { font-family: var(--wp--preset--font-family--label); font-size: var(--wp--preset--font-size--medium); color: var(--wp--preset--color--brand); }
.events-main .tribe-block__venue { box-sizing: border-box; max-width: 100%; border-color: var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--soft); }
.events-main .tribe-events-c-subscribe-dropdown__button,
.events-main .tribe-events-c-subscribe-dropdown .tribe-common-c-btn-border { border-radius: var(--wp--custom--radius--pill); }

/* ---------- Narrow screens ---------- */

/* Contact sits beside search on wide screens and inside the menu on phones. */
.site-nav .is-phone-only { display: none; }

@media (max-width: 760px) {
	/* One row: logo, search, and the menu button at the far right. */
	.site-nav .is-phone-only { display: flex; }
	.site-tools p { display: none; }
	.site-header { grid-template-columns: 1fr auto auto; gap: var(--wp--preset--spacing--x-small); }
	.site-tools { grid-row: 1; grid-column: 2; }
	.site-nav { grid-row: 1; grid-column: 3; }
	.post-row { grid-template-columns: 1fr; gap: var(--wp--preset--spacing--small); }
	.post-rows li:nth-child(even) .post-row__pic { order: 0; }
	.is-parts ol { grid-auto-flow: row; }
	.is-parts li + li { border-left: 0; border-top: var(--wp--custom--border--hair) solid var(--wp--preset--color--panel-line); }
	.page-intro { flex-direction: column; }
}
