/* The Clean Reset: styles theme.json cannot express.
   Torn-paper masks, paper grain, button arrows, decorative dividers.
   Texture URLs come from CSS variables printed by functions.php (--tcr-*),
   with relative fallbacks for safety. Loaded on the front end and in the editor. */

:root {
	--tcr-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--tcr-leaf: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%238C9A72' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 25c-1-11 6-18 19-19 1 12-6 19-17 19z'/%3E%3Cpath d='M7 25 18 14'/%3E%3C/svg%3E");
	--tcr-edge: 26px;
}

/* ---------- Paper grain over the whole page (subtle, non-interactive) ---------- */
body::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 9999;
	pointer-events: none;
	background-image: var(--tcr-grain, url("../textures/paper-grain.webp"));
	opacity: 0.22;
	mix-blend-mode: multiply;
}

::selection { background: var(--wp--preset--color--sand); color: var(--wp--preset--color--ink); }

/* ---------- Buttons: arrow on every pill button (Terra) ---------- */
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.7em;
	transition: background-color 0.25s var(--wp--custom--ease), color 0.25s var(--wp--custom--ease), border-color 0.25s var(--wp--custom--ease), transform 0.25s var(--wp--custom--ease);
}
.wp-block-button__link::after {
	content: "";
	flex: none;
	width: 1.1em;
	height: 1.1em;
	background: currentColor;
	-webkit-mask: var(--tcr-arrow) center / contain no-repeat;
	        mask: var(--tcr-arrow) center / contain no-repeat;
	transition: transform 0.25s var(--wp--custom--ease);
}
.wp-block-button__link:hover { transform: translateY(-1px); }
.wp-block-button__link:hover::after { transform: translateX(3px); }

/* Text link with arrow */
.wp-block-button.is-style-link-arrow .wp-block-button__link { gap: 0.5em; }
.wp-block-button.is-style-link-arrow .wp-block-button__link:hover { transform: none; color: var(--wp--preset--color--forest-deep); }
.wp-block-button.is-style-link-arrow .wp-block-button__link::after { width: 1em; height: 1em; }

/* Circle arrow: icon-only round link. Button text stays for screen readers. */
.wp-block-button.is-style-circle-arrow .wp-block-button__link {
	width: 2.4rem;
	height: 2.4rem;
	padding: 0;
	justify-content: center;
	font-size: 0;
	gap: 0;
}
.wp-block-button.is-style-circle-arrow .wp-block-button__link::after { width: 1rem; height: 1rem; }
.wp-block-button.is-style-circle-arrow .wp-block-button__link:hover {
	background: var(--wp--preset--color--forest);
	border-color: var(--wp--preset--color--forest);
	color: var(--wp--preset--color--ivory);
	transform: none;
}

/* ---------- Torn-paper masks ---------- */
.is-style-torn-bottom:is(.wp-block-group, .wp-block-cover),
.is-style-torn-bottom img,
.is-style-torn-bottom.wp-block-post-featured-image :is(img, a) {
	-webkit-mask: var(--tcr-torn-card, url("../textures/torn-card.svg")) center / 100% 100% no-repeat;
	        mask: var(--tcr-torn-card, url("../textures/torn-card.svg")) center / 100% 100% no-repeat;
}
.is-style-torn-frame:is(.wp-block-group, .wp-block-cover),
.is-style-torn-frame img,
.is-style-torn-frame.wp-block-post-featured-image :is(img, a) {
	-webkit-mask: var(--tcr-torn-frame, url("../textures/torn-frame.svg")) center / 100% 100% no-repeat;
	        mask: var(--tcr-torn-frame, url("../textures/torn-frame.svg")) center / 100% 100% no-repeat;
}
.is-style-torn-frame { filter: drop-shadow(0 18px 24px rgba(21, 35, 58, 0.18)); }

/* Book cover image: slight tilt, real-book shadow */
.wp-block-image.is-style-book-cover { box-shadow: none; }
.wp-block-image.is-style-book-cover img {
	transform: rotate(-3deg);
	border-radius: 2px 4px 4px 2px;
	box-shadow: var(--wp--preset--shadow--book);
}

/* ---------- Sections with torn top and bottom edges ---------- */
:is(.is-style-section-forest, .is-style-section-night, .is-style-section-paper) {
	position: relative;
	margin-block: calc(var(--tcr-edge) + var(--wp--preset--spacing--30));
}
:is(.is-style-section-forest, .is-style-section-night, .is-style-section-paper)::before,
:is(.is-style-section-forest, .is-style-section-night, .is-style-section-paper)::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	height: var(--tcr-edge);
	background-color: inherit;
	pointer-events: none;
}
.is-style-section-night::before { background-color: #163F6D; } /* matches night-sky gradient start */
.is-style-section-night::after { background-color: #0A2147; }  /* and end */
:is(.is-style-section-forest, .is-style-section-night, .is-style-section-paper)::before {
	bottom: calc(100% - 1px);
	-webkit-mask: var(--tcr-torn-strip-bottom, url("../textures/torn-strip-bottom.svg")) center / 100% 100% no-repeat;
	        mask: var(--tcr-torn-strip-bottom, url("../textures/torn-strip-bottom.svg")) center / 100% 100% no-repeat;
}
:is(.is-style-section-forest, .is-style-section-night, .is-style-section-paper)::after {
	top: calc(100% - 1px);
	-webkit-mask: var(--tcr-torn-strip-top, url("../textures/torn-strip-top.svg")) center / 100% 100% no-repeat;
	        mask: var(--tcr-torn-strip-top, url("../textures/torn-strip-top.svg")) center / 100% 100% no-repeat;
}
/* Eyebrows read in sand on dark grounds */
:is(.is-style-section-forest, .is-style-section-night) .is-style-eyebrow { color: var(--wp--preset--color--sand); }
/* Form panels inside dark sections stay light */
:is(.is-style-section-forest, .is-style-section-night) .is-style-card { color: var(--wp--preset--color--ink); }
:is(.is-style-section-forest, .is-style-section-night) .is-style-card :is(h1, h2, h3, h4) { color: var(--wp--preset--color--forest); }

/* ---------- Card ---------- */
.wp-block-group.is-style-card {
	transition: transform 0.3s var(--wp--custom--ease), box-shadow 0.3s var(--wp--custom--ease);
}
.wp-block-group.is-style-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--wp--preset--shadow--soft);
}

/* ---------- Leaf divider ---------- */
.wp-block-separator.is-style-leaf {
	border: 0;
	height: 18px;
	opacity: 1;
	background:
		var(--tcr-leaf) center / 18px 18px no-repeat,
		linear-gradient(to right,
			var(--wp--preset--color--rule) calc(50% - 22px), transparent calc(50% - 22px),
			transparent calc(50% + 22px), var(--wp--preset--color--rule) calc(50% + 22px)) center / 100% 1px no-repeat;
}

/* ---------- Small details ---------- */
h1.wp-block-heading em, .wp-block-post-title em { color: var(--wp--preset--color--teal); }
:is(.is-style-section-forest, .is-style-section-night) h1.wp-block-heading em { color: var(--wp--preset--color--sand); }
:where(.wp-site-blocks) :focus-visible { outline: 2px solid var(--wp--preset--color--amber); outline-offset: 3px; }
.is-style-script { transform-origin: left center; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; }
	.wp-block-button__link:hover, .wp-block-group.is-style-card:hover { transform: none; }
}

/* Outline buttons on dark sections */
:is(.is-style-section-forest, .is-style-section-night) .wp-block-button.is-style-outline .wp-block-button__link { color: var(--wp--preset--color--ivory); border-color: var(--wp--preset--color--ivory); background: transparent; }
:is(.is-style-section-forest, .is-style-section-night) .wp-block-button.is-style-outline .wp-block-button__link:hover { color: var(--wp--preset--color--ink); background: var(--wp--preset--color--sand); border-color: var(--wp--preset--color--sand); }

/* =====================================================================
   Layout components (template parts and patterns)
   ===================================================================== */

/* ---------- Header ---------- */
.tcr-header { position: relative; z-index: 20; }
.tcr-brand .wp-block-site-title { margin: 0; }
.tcr-brand .wp-block-site-tagline { margin: 0; }
.tcr-brand .wp-block-image { margin: 0; flex: none; }
.tcr-nav .wp-block-navigation-item__content { padding-block: 0.4rem; border-bottom: 1.5px solid transparent; }
.tcr-nav .wp-block-navigation-item__content:hover,
.tcr-nav .current-menu-item > .wp-block-navigation-item__content { border-color: var(--wp--preset--color--sun); }
.tcr-search .wp-block-search__button { background: transparent; color: var(--wp--preset--color--ink); border: 0; padding: 0.4rem; }
.tcr-search .wp-block-search__button svg { width: 22px; height: 22px; }
.tcr-search .wp-block-search__button::after { display: none; }
.tcr-search .wp-block-search__input { border-radius: var(--wp--custom--radius--pill); border-color: var(--wp--preset--color--rule); padding-inline: 1em; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--ivory) !important; padding: var(--wp--custom--gutter); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.15rem; padding-block: 0.6rem; }
@media (max-width: 640px) {
	.tcr-header .tcr-header__cta.wp-block-buttons { display: none !important; }
	.tcr-header .tcr-brand { min-width: 0; }
	.tcr-book__visual .wp-block-image img { width: min(100%, 240px) !important; }
	.tcr-brand .wp-block-image img { width: 36px !important; height: 36px !important; }
	.tcr-brand .wp-block-site-title { font-size: 0.9rem; letter-spacing: 0.16em; }
	.tcr-brand .wp-block-site-tagline { font-size: 0.52rem; letter-spacing: 0.2em; }
	.tcr-header__actions { gap: 0.5rem !important; }
}
.wp-block-site-title, .wp-block-site-tagline { white-space: nowrap; }

/* ---------- Section head (title left, note + link right) ---------- */
.tcr-section-head > :last-child p { margin-bottom: 0.5rem; }

/* ---------- Hero ---------- */
.tcr-hero { position: relative; --vbw: 1440; aspect-ratio: 1440 / 820; min-height: 560px; padding-top: clamp(1.5rem, 4.5vw, 4.5rem); }
.tcr-hero > .tcr-hero__text { position: relative; z-index: 2; }
.tcr-hero__text > * { max-width: min(36vw, 34rem); }
.tcr-hero__text h1 { margin-block: 1rem 1.4rem; }
.tcr-hero__text .is-style-lede { max-width: min(32vw, 25rem); margin-bottom: 2rem; }
.tcr-hero > .tcr-hero__art { position: absolute; inset: 0; z-index: 0; margin: 0 !important; max-width: none !important; width: 100%; height: 100%; }
.tcr-hero__art img { width: 100%; height: 100%; object-fit: cover; object-position: right center; border-radius: 0; }
.tcr-hero > .tcr-hero__pillars {
	position: absolute; z-index: 2; top: 6.5%; left: calc(1110 / var(--vbw) * 100%);
	list-style: none; margin: 0 !important; padding: 0; max-width: none !important;
	font-size: clamp(0.58rem, 0.72vw, 0.7rem); font-weight: 500; letter-spacing: 0.26em; line-height: 2;
}
.tcr-hero__pillars::after { content: ""; display: block; width: 1.8rem; height: 1px; background: currentColor; margin-top: 0.6rem; }
.tcr-hero > .tcr-hero__script {
	position: absolute; z-index: 2; top: 44.5%; right: calc(70 / var(--vbw) * 100%); left: auto;
	margin: 0 !important; max-width: none !important; white-space: nowrap;
	font-size: clamp(0.9rem, 1.55vw, 1.45rem); color: var(--wp--preset--color--sand);
	transform: rotate(-21.5deg); transform-origin: right center;
}
@media (max-width: 900px) {
	.tcr-hero { aspect-ratio: auto; min-height: 0; --vbw: 960; padding-top: var(--wp--preset--spacing--40); }
	.tcr-hero__text > *, .tcr-hero__text .is-style-lede { max-width: 34rem; }
	.tcr-hero > .tcr-hero__art { position: relative; inset: auto; aspect-ratio: 960 / 820; height: auto; margin-top: 1rem !important; margin-inline: calc(-1 * var(--wp--custom--gutter)) !important; width: calc(100% + 2 * var(--wp--custom--gutter)); }
	/* Art is the hero's last in-flow block and spans the full width: --art-h = its height. */
	.tcr-hero { --art-h: calc(100vw * 820 / 960); }
	.tcr-hero > .tcr-hero__pillars { top: auto; bottom: calc(var(--art-h) * 0.95); translate: 0 100%; left: calc((1110 - 480) / 960 * 100vw); }
	.tcr-hero > .tcr-hero__script { top: auto; bottom: calc(var(--art-h) * 0.555); translate: 0 100%; right: calc(70 / 960 * 100vw); }
}
}

/* ---------- Topic cards ---------- */
.tcr-cards.is-layout-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1180px) { .tcr-cards.is-layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) {
	.tcr-cards.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tcr-cards > :last-child { grid-column: 1 / -1; }
}
.tcr-card { height: 100%; }
.tcr-card > * { margin: 0; }
.tcr-card .tcr-card__media { width: 100%; margin-bottom: 0.4rem; }
.tcr-card h3 { font-size: clamp(1.15rem, 1.6vw, 1.45rem); line-height: 1.2; }
.tcr-card h3 a { color: inherit; text-decoration: none; }
.tcr-card h3 a:hover { color: var(--wp--preset--color--forest-deep); text-decoration: underline; text-decoration-thickness: 1px; }
.tcr-card > .wp-block-buttons { margin-top: auto !important; padding-top: 0.6rem; }

/* ---------- Book feature ---------- */
.tcr-book { overflow: hidden; }
.tcr-book__visual { position: relative; padding-block: 3rem; }
.tcr-book__visual::before { /* sun */
	content: ""; position: absolute; width: 58%; aspect-ratio: 1; border-radius: 50%; top: 2%; right: 4%;
	background: var(--wp--preset--gradient--sun);
}
.tcr-book__visual::after { /* torn sage paper */
	content: ""; position: absolute; inset: 22% -4% 6% -14%; background: var(--wp--preset--color--sage);
	-webkit-mask: var(--tcr-torn-frame, url("../textures/torn-frame.svg")) center / 100% 100% no-repeat;
	        mask: var(--tcr-torn-frame, url("../textures/torn-frame.svg")) center / 100% 100% no-repeat;
	transform: rotate(-6deg);
}
.tcr-book__visual > * { position: relative; z-index: 1; }
.tcr-book .wp-block-column:not(.tcr-book__visual) { position: relative; z-index: 2; }
.tcr-book__visual .wp-block-image img { width: min(100%, 300px) !important; }

/* ---------- Pillar row ---------- */
.tcr-pillars { border-block: 1px solid var(--wp--preset--color--rule); padding-block: 1.3rem; }
.tcr-pillar { flex: 1 1 0; min-width: 0; }
.tcr-pillar + .tcr-pillar { border-left: 1px solid var(--wp--preset--color--rule); }
.tcr-pillar .wp-block-image { margin: 0; }
.tcr-pillar p { margin: 0; }
@media (max-width: 480px) {
	.tcr-pillar .wp-block-image img { width: 24px !important; height: 24px !important; }
	.tcr-pillar p { font-size: 0.85rem; letter-spacing: 0.08em; }
}

/* ---------- Post cards and grids ---------- */
.tcr-post-grid.is-layout-grid { gap: clamp(1rem, 2.5vw, 2rem); }
.tcr-post-grid--3.is-layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tcr-post-grid--2.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 900px) { .tcr-post-grid.is-layout-grid { grid-template-columns: 1fr !important; max-width: 560px; } }
.tcr-post-card { height: 100%; }
.tcr-post-card .wp-block-post-featured-image { margin: 0; }
.tcr-post-card .wp-block-post-featured-image img { border-radius: 0; }
.tcr-post-card .wp-block-post-terms a { color: var(--wp--preset--color--teal); }
.tcr-post-card .wp-block-post-title a:hover { color: var(--wp--preset--color--forest); }
.tcr-pagination { font-size: var(--wp--preset--font-size--small); font-weight: 600; gap: 0.5rem; }
.tcr-pagination a, .tcr-pagination .current { padding: 0.4rem 0.8rem; border-radius: var(--wp--custom--radius--pill); text-decoration: none; }
.tcr-pagination .current { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--ivory); }

/* ---------- Author note ---------- */
.tcr-author .wp-block-pullquote { margin-block: 1.4rem; }
.tcr-author .wp-block-pullquote p { font-size: clamp(1.5rem, 2.4vw, 2.2rem); }
@media (max-width: 781px) { .tcr-author__note { order: 3; } }

/* ---------- Checklist band ---------- */
.tcr-signup.is-style-section-forest { margin-top: calc(var(--wp--preset--spacing--80) + 3rem); }
.tcr-signup > .tcr-signup__sun {
	position: absolute; z-index: -1; margin: 0 !important; max-width: none !important;
	width: clamp(160px, 20vw, 280px) !important; height: auto !important; aspect-ratio: 1; border-radius: 50%;
	right: 8%; left: auto; bottom: calc(100% - clamp(60px, 7vw, 100px));
	background: var(--wp--preset--gradient--sun);
}
.tcr-signup > :not(.tcr-signup__sun) { position: relative; z-index: 1; }
.tcr-checks { list-style: none; padding-left: 0; display: grid; gap: 0.6rem; }
.tcr-checks li { display: flex; gap: 0.7rem; align-items: center; }
.tcr-checks li::before {
	content: ""; width: 18px; height: 18px; flex: none; background: var(--wp--preset--color--sand);
	-webkit-mask: url("../icons/check.svg") center / contain no-repeat; mask: url("../icons/check.svg") center / contain no-repeat;
}
.tcr-form label { display: block; font-size: var(--wp--preset--font-size--x-small); font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; margin-bottom: 0.7rem; }
.tcr-form__row { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.tcr-form input[type="email"] {
	flex: 1 1 14rem; min-width: 0; padding: 0.9em 1.2em; font: 500 0.92rem var(--wp--preset--font-family--sans);
	border: 1.5px solid var(--wp--preset--color--rule); border-radius: var(--wp--custom--radius--pill); background: #fff; color: var(--wp--preset--color--ink);
}
.tcr-form input[type="email"]:focus { outline: 2px solid var(--wp--preset--color--amber); outline-offset: 1px; border-color: var(--wp--preset--color--forest); }
.tcr-form__button { cursor: pointer; }
.tcr-signup .tcr-form__button { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--ivory); border-color: var(--wp--preset--color--forest); }
.tcr-form small { display: block; margin-top: 0.9rem; font-size: 0.74rem; }
.tcr-signup__panel a { color: var(--wp--preset--color--teal); }

/* ---------- Footer ---------- */
.tcr-value { padding-left: 1.4rem; border-left: 1px solid var(--wp--preset--color--rule); }
.tcr-value .wp-block-image, .tcr-badge { margin: 0; }
.tcr-value p { margin: 0; }
.tcr-values__lead { margin: 0; }
.tcr-footer { position: relative; margin-top: var(--tcr-edge); }
.tcr-footer::before {
	content: ""; position: absolute; left: 0; right: 0; bottom: calc(100% - 1px); height: var(--tcr-edge);
	background-color: inherit;
	-webkit-mask: var(--tcr-torn-strip-bottom, url("../textures/torn-strip-bottom.svg")) center / 100% 100% no-repeat;
	        mask: var(--tcr-torn-strip-bottom, url("../textures/torn-strip-bottom.svg")) center / 100% 100% no-repeat;
}
.tcr-footer-nav { font-size: var(--wp--preset--font-size--small); }
.tcr-footer-nav a:hover { color: var(--wp--preset--color--forest); text-decoration: underline; }
.tcr-social .wp-social-link { color: var(--wp--preset--color--ink); }
@media (max-width: 1180px) { .tcr-badge { display: none !important; } }
@media (max-width: 640px) {
	.tcr-values__row { flex-direction: column; align-items: flex-start !important; }
	.tcr-value { border-left: 0; padding-left: 0; }
}

/* Template parts sit flush; page sections handle their own spacing */
.wp-site-blocks > * + * { margin-block-start: 0; }

/* ---------- Seven steps (alternating rows) ---------- */
.tcr-step { gap: 0 !important; background: var(--wp--preset--color--ivory); }
.tcr-step > .wp-block-column { box-sizing: border-box; }
@media (min-width: 782px) { .tcr-step > .wp-block-column { flex: 1 1 50% !important; } }
.tcr-step:nth-of-type(odd) { background: var(--wp--preset--color--paper); }
.tcr-step__media { align-self: stretch !important; }
.tcr-step__media .wp-block-image, .tcr-step__media .wp-block-image img { height: 100%; margin: 0; }
.tcr-step__media .wp-block-image img { border-radius: 0; }
@media (min-width: 782px) { .tcr-step--flip { flex-direction: row-reverse; } }
.tcr-step__num { font-size: clamp(3rem, 6vw, 4.8rem); line-height: 1; color: var(--wp--preset--color--ink); margin: 0; }
.tcr-step__num::after { content: ""; display: block; width: 2.4rem; height: 2px; background: var(--wp--preset--color--amber); margin: 1.2rem 0 0.4rem; }
@media (max-width: 781px) { .tcr-step__text { padding: var(--wp--preset--spacing--50) var(--wp--custom--gutter) !important; } }

/* ---------- Category pills (core/categories) ---------- */
.tcr-pills.wp-block-categories, ul.tcr-pills { list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0; margin: var(--wp--preset--spacing--30) 0 0; }
.tcr-pills li { margin: 0; }
.tcr-pills a {
	display: inline-block; padding: 0.55em 1.1em; border: 1.3px solid var(--wp--preset--color--forest); border-radius: var(--wp--custom--radius--pill);
	font-size: var(--wp--preset--font-size--x-small); font-weight: 600; letter-spacing: 0.04em; color: var(--wp--preset--color--forest); text-decoration: none;
	transition: background-color 0.2s, color 0.2s;
}
.tcr-pills a:hover, .tcr-pills .current-cat > a { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--ivory); }
.tcr-archive-head > :is(.is-style-lede, .wp-block-term-description, .tcr-search-field),
.tcr-page-intro > .is-style-lede {
	/* Narrower than the 1240px column but aligned to its left edge, not centered */
	max-width: 40rem; margin-left: max(0px, calc((100% - 1240px) / 2)) !important;
}

/* ---------- Single article ---------- */
.tcr-post-header__cat a { color: var(--wp--preset--color--teal); text-decoration: none; }
.tcr-post-header .wp-block-post-title { margin-block: 0.2rem 0.4rem; }
.tcr-post-meta, .tcr-post-meta p { margin: 0; color: color-mix(in srgb, var(--wp--preset--color--ink) 78%, var(--wp--preset--color--ivory)); }
.tcr-post-meta .wp-block-post-author-name a { color: var(--wp--preset--color--ink); font-weight: 700; text-decoration: none; }
.tcr-post-meta .wp-block-post-author-name::before { content: "By "; }
.tcr-prose > * + * { margin-block-start: 1.2em; }
.tcr-prose h2 { font-size: var(--wp--preset--font-size--xx-large); margin-block-start: 1.8em; }
.tcr-prose h2.is-style-eyebrow { font-size: var(--wp--preset--font-size--x-small); margin-block-start: 0; }
.tcr-prose h3 { margin-block-start: 1.5em; }
.tcr-why .is-style-script { margin-top: 0.4rem; }
.wp-block-post-author { align-items: flex-start; gap: 1rem; }
.wp-block-post-author__avatar img { border-radius: 50%; }
.wp-block-post-author__name { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--forest); }
.tcr-book-cta .wp-block-image { margin: 0; flex: none; }
.tcr-book-cta .wp-block-image img { transform: rotate(-4deg); }
.tcr-disclosure p { margin: 0; }
.tcr-checks--forest li::before { background: var(--wp--preset--color--forest); }

/* Comparison table */
.tcr-compare table { border-collapse: collapse; width: 100%; font-size: var(--wp--preset--font-size--small); }
.tcr-compare thead { border-bottom: 2px solid var(--wp--preset--color--forest); }
.tcr-compare th { text-align: left; font-size: var(--wp--preset--font-size--x-small); letter-spacing: 0.12em; text-transform: uppercase; }
.tcr-compare th, .tcr-compare td { padding: 0.8em 1em; border: 0; }
.wp-block-table.is-style-stripes.tcr-compare tbody tr:nth-child(odd) { background: var(--wp--preset--color--paper); }
.wp-block-table.is-style-stripes.tcr-compare { border-bottom: 1px solid var(--wp--preset--color--rule); }
@media (max-width: 640px) { .tcr-compare { overflow-x: auto; } .tcr-compare table { min-width: 560px; } }

/* ---------- Search field ---------- */
.tcr-search-field .wp-block-search__inside-wrapper { gap: 0.5rem; border: 0; padding: 0; }
.tcr-search-field .wp-block-search__input { border: 1.5px solid var(--wp--preset--color--rule); border-radius: var(--wp--custom--radius--pill); padding: 0.9em 1.3em; background: #fff; font-size: var(--wp--preset--font-size--small); }
.tcr-search-field .wp-block-search__button { margin: 0; }

/* ---------- Start Here rules ---------- */
.tcr-rule { border-top: 1px solid var(--wp--preset--color--rule); padding-top: var(--wp--preset--spacing--40); }
.tcr-rule .wp-block-image { margin: 0; }

/* Hide the Updated label when the post has not been modified (the date block renders nothing) */
.tcr-updated:not(:has(.wp-block-post-date)) { display: none; }

/* Inline checklist card: forest colors, no torn edges */
.tcr-inline-cta.is-style-section-forest { margin-block: var(--wp--preset--spacing--50); }
.tcr-inline-cta.is-style-section-forest::before, .tcr-inline-cta.is-style-section-forest::after { display: none; }
/* FAQ */
.tcr-faq .wp-block-details { border-bottom: 1px solid var(--wp--preset--color--rule); padding-block: 1rem; }
.tcr-faq .wp-block-details summary { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--forest); cursor: pointer; }
.tcr-faq .wp-block-details p { margin-top: 0.6rem; }

/* Editor's choice feature */
.tcr-feature { list-style: none; padding: 0; }
.tcr-feature .wp-block-post-title a { color: var(--wp--preset--color--forest); text-decoration: none; }
.tcr-feature .wp-block-post-title a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.tcr-feature .wp-block-post-terms a { color: var(--wp--preset--color--teal); font-weight: 700; text-decoration: none; }
.tcr-read-more { display: inline-flex; align-items: center; gap: .5em; font-weight: 600; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--forest); text-decoration: none; }
.tcr-read-more::after { content: ""; width: 1em; height: 1em; background: currentColor; -webkit-mask: var(--tcr-arrow) center / contain no-repeat; mask: var(--tcr-arrow) center / contain no-repeat; }

/* Icon row */
.tcr-icon-circle img { box-sizing: border-box; padding: 16px; border-radius: 50%; background: var(--wp--preset--color--sage-soft); }
.tcr-icon-row p { margin: 0; }
/* Offerings cards */
.tcr-offer { height: 100%; overflow: hidden; }
.tcr-offer .wp-block-image { margin: 0; width: 100%; }
.tcr-offer .wp-block-image img { border-radius: 0; }
.tcr-offer h3 a { color: var(--wp--preset--color--forest); text-decoration: none; }
.tcr-offer h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; }

/* Policy pages */
.tcr-policy-updated { color: color-mix(in srgb, var(--wp--preset--color--ink) 70%, var(--wp--preset--color--ivory)); }
.tcr-toc { list-style: none; padding-left: 0; display: flex; flex-wrap: wrap; gap: 0.4rem 1.4rem; }
.tcr-toc a { color: var(--wp--preset--color--forest); font-weight: 600; text-decoration: none; }
.tcr-toc a:hover { text-decoration: underline; }
/* Book chapters */
.tcr-chapter { border-bottom: 1px solid var(--wp--preset--color--rule); padding-block: 1rem; }
.tcr-chapter p { margin: 0; }
.tcr-chapter__num { flex: none; width: 3.2rem; font-size: 2rem; line-height: 1; color: var(--wp--preset--color--amber); }
.tcr-chapters.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--wp--preset--spacing--60); row-gap: 0; }
@media (max-width: 781px) { .tcr-chapters.is-layout-grid { grid-template-columns: 1fr; } }
