@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("/wp-content/themes/tbmp-generatepress-child-v2/assets/fonts/inter-latin.woff2") format("woff2");
}

:root {
	--tbmp-paper: #eee6d6;
	--tbmp-paper-deep: #ded0b6;
	--tbmp-paper-soft: #fbf8f0;
	--tbmp-ink: #151512;
	--tbmp-ink-soft: #312d25;
	--tbmp-muted: #625b4c;
	--tbmp-rule: rgba(21, 21, 18, 0.22);
	--tbmp-rule-soft: rgba(21, 21, 18, 0.13);
	--tbmp-gold: #9b7a35;
	--tbmp-gold-soft: #d1aa5a;
	--tbmp-dark: #171814;
	--tbmp-darkest: #0d0d0c;
	--tbmp-chalk: #f6f0e4;
	--tbmp-content: 820px;
	--tbmp-wide: 1240px;
	--tbmp-gutter: clamp(20px, 4vw, 40px);
	--tbmp-serif: Georgia, "Times New Roman", serif;
	--tbmp-sans: "Inter", Arial, sans-serif;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 110px;
}

body.tbmp-preservation-theme {
	margin: 0;
	max-width: 100%;
	overflow-x: hidden;
	background: var(--tbmp-paper);
	color: var(--tbmp-ink-soft);
	font-family: var(--tbmp-sans);
	font-size: 17px;
	line-height: 1.72;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.tbmp-preservation-theme *,
body.tbmp-preservation-theme *::before,
body.tbmp-preservation-theme *::after {
	box-sizing: border-box;
}

body.tbmp-preservation-theme img,
body.tbmp-preservation-theme video,
body.tbmp-preservation-theme iframe,
body.tbmp-preservation-theme svg {
	max-width: 100%;
}

body.tbmp-preservation-theme img,
body.tbmp-preservation-theme video {
	height: auto;
}

body.tbmp-preservation-theme a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

body.tbmp-preservation-theme :focus-visible {
	outline: 3px solid var(--tbmp-gold);
	outline-offset: 4px;
}

/* Current GeneratePress header, preserved from the repeated site CSS. */
body.tbmp-preservation-theme .site-header {
	background: var(--tbmp-paper) !important;
	border-top: 4px solid var(--tbmp-ink) !important;
	border-bottom: 1px solid var(--tbmp-rule) !important;
}

body.tbmp-preservation-theme .inside-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 28px !important;
	width: min(var(--tbmp-wide), calc(100vw - 40px)) !important;
	max-width: none !important;
	min-height: 86px !important;
	margin: 0 auto !important;
	padding: 16px 0 !important;
}

body.tbmp-preservation-theme .site-branding {
	flex: 0 0 auto !important;
}

body.tbmp-preservation-theme .site-branding .main-title {
	margin: 0 !important;
}

body.tbmp-preservation-theme .site-branding .main-title a {
	display: block !important;
	max-width: 230px !important;
	color: var(--tbmp-ink) !important;
	font-family: var(--tbmp-serif) !important;
	font-size: clamp(24px, 2.1vw, 34px) !important;
	font-weight: 900 !important;
	line-height: 0.92 !important;
	letter-spacing: 0 !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
}

body.tbmp-preservation-theme .main-navigation,
body.tbmp-preservation-theme .main-navigation ul ul,
body.tbmp-preservation-theme .main-navigation .inside-navigation {
	background: transparent !important;
}

body.tbmp-preservation-theme .main-navigation .inside-navigation {
	max-width: none !important;
	padding: 0 !important;
}

body.tbmp-preservation-theme .main-navigation .main-nav ul {
	display: flex !important;
	align-items: center !important;
	gap: 4px !important;
}

body.tbmp-preservation-theme .main-navigation .main-nav ul li.page-item-113,
body.tbmp-preservation-theme .main-navigation .main-nav ul li.page-item-90,
body.tbmp-preservation-theme .main-navigation .main-nav ul li.page-item-91 {
	display: none !important;
}

body.tbmp-preservation-theme .main-navigation .main-nav ul li a {
	min-height: 0 !important;
	padding: 11px 13px !important;
	border: 1px solid transparent !important;
	color: #24231f !important;
	font-family: var(--tbmp-sans) !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	letter-spacing: 0.08em !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
}

body.tbmp-preservation-theme .main-navigation .main-nav ul li a:hover,
body.tbmp-preservation-theme .main-navigation .main-nav ul li a:focus-visible,
body.tbmp-preservation-theme .main-navigation .main-nav ul li[class*="current-menu-"] > a,
body.tbmp-preservation-theme .main-navigation .main-nav ul li.current_page_item > a {
	border-color: var(--tbmp-ink) !important;
	background: var(--tbmp-ink) !important;
	color: var(--tbmp-chalk) !important;
}

body.tbmp-preservation-theme .main-navigation .main-nav ul li.page-item-89 a {
	border-color: var(--tbmp-gold) !important;
}

body.tbmp-preservation-theme .menu-toggle {
	background: var(--tbmp-ink) !important;
	color: var(--tbmp-chalk) !important;
	font-weight: 900 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}

/* GeneratePress shell and full-bleed preservation. */
body.tbmp-preservation-theme #page,
body.tbmp-preservation-theme .site,
body.tbmp-preservation-theme .site-content,
body.tbmp-preservation-theme .inside-article,
body.tbmp-preservation-theme .entry-content {
	max-width: 100%;
}

body.tbmp-preservation-theme.tbmp-has-custom-layout #page.grid-container,
body.tbmp-preservation-theme.tbmp-has-custom-layout .site-content,
body.tbmp-preservation-theme.tbmp-has-custom-layout .inside-article,
body.tbmp-preservation-theme.tbmp-has-custom-layout .entry-content {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.tbmp-preservation-theme.tbmp-has-custom-layout .content-area,
body.tbmp-preservation-theme.tbmp-has-custom-layout .site-main {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

body.tbmp-preservation-theme.tbmp-has-custom-layout .entry-header,
body.tbmp-preservation-theme.tbmp-has-custom-layout .page-header,
body.tbmp-preservation-theme.tbmp-has-custom-layout .entry-meta,
body.tbmp-preservation-theme.tbmp-has-custom-hero .entry-header,
body.tbmp-preservation-theme.tbmp-has-custom-hero .featured-image.page-header-image-single {
	display: none !important;
}

body.tbmp-preservation-theme .widget-area {
	font-family: var(--tbmp-sans);
}

/* Safe fallback for pages and posts without a custom full-bleed shell. */
body.tbmp-preservation-theme:not(.tbmp-has-custom-layout) .site-content {
	width: min(var(--tbmp-wide), calc(100vw - (2 * var(--tbmp-gutter))));
	margin-inline: auto;
	padding-block: clamp(30px, 5vw, 72px);
}

body.tbmp-preservation-theme:not(.tbmp-has-custom-layout) .inside-article {
	border-top: 3px solid var(--tbmp-ink);
	background: var(--tbmp-paper-soft);
	padding: clamp(28px, 5vw, 68px);
}

body.tbmp-preservation-theme:not(.tbmp-has-custom-layout) .entry-header,
body.tbmp-preservation-theme:not(.tbmp-has-custom-layout) .entry-content,
body.tbmp-preservation-theme:not(.tbmp-has-custom-layout) .entry-footer {
	width: min(100%, var(--tbmp-content));
	margin-inline: auto;
}

body.tbmp-preservation-theme:not(.tbmp-has-custom-layout) .entry-title {
	margin: 0 0 20px;
	color: var(--tbmp-ink);
	font-family: var(--tbmp-serif);
	font-size: clamp(40px, 6vw, 76px);
	font-weight: 900;
	line-height: 0.98;
	letter-spacing: -0.025em;
}

body.tbmp-preservation-theme:not(.tbmp-has-custom-layout) .entry-title a {
	color: inherit;
	text-decoration: none;
}

body.tbmp-preservation-theme:not(.tbmp-has-custom-layout) .entry-meta {
	margin-bottom: 30px;
	color: var(--tbmp-muted);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

/* All audited standard content elements. */
body.tbmp-preservation-theme .entry-content :where(p, li, dd) {
	color: var(--tbmp-ink-soft);
	font-family: var(--tbmp-sans);
}

body.tbmp-preservation-theme:not(.tbmp-has-custom-layout) .entry-content > p,
body.tbmp-preservation-theme:not(.tbmp-has-custom-layout) .entry-content > ul,
body.tbmp-preservation-theme:not(.tbmp-has-custom-layout) .entry-content > ol,
body.tbmp-preservation-theme:not(.tbmp-has-custom-layout) .entry-content > blockquote,
body.tbmp-preservation-theme:not(.tbmp-has-custom-layout) .entry-content > figure,
body.tbmp-preservation-theme:not(.tbmp-has-custom-layout) .entry-content > table,
body.tbmp-preservation-theme:not(.tbmp-has-custom-layout) .entry-content > .wp-block-group,
body.tbmp-preservation-theme:not(.tbmp-has-custom-layout) .entry-content > .wp-block-columns {
	width: min(100%, var(--tbmp-content));
	margin-inline: auto;
}

body.tbmp-preservation-theme .entry-content :where(h1, h2, h3, h4, h5, h6) {
	color: var(--tbmp-ink);
	font-family: var(--tbmp-serif);
	font-weight: 900;
	letter-spacing: -0.012em;
}

body.tbmp-preservation-theme .entry-content h2 {
	margin-top: clamp(48px, 7vw, 82px);
	margin-bottom: 20px;
	padding-top: 18px;
	border-top: 3px solid var(--tbmp-ink);
	font-size: clamp(32px, 4vw, 50px);
	line-height: 1.02;
}

body.tbmp-preservation-theme .entry-content h3 {
	margin-top: 42px;
	margin-bottom: 14px;
	font-size: clamp(25px, 3vw, 34px);
	line-height: 1.1;
}

body.tbmp-preservation-theme .entry-content h4 {
	margin-top: 34px;
	margin-bottom: 12px;
	font-family: var(--tbmp-sans);
	font-size: 18px;
	line-height: 1.3;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

body.tbmp-preservation-theme .entry-content :where(p, ul, ol) {
	margin-top: 0;
	margin-bottom: 1.35em;
}

body.tbmp-preservation-theme .entry-content :where(ul, ol) {
	padding-left: 1.35em;
}

body.tbmp-preservation-theme .entry-content li + li {
	margin-top: 0.55em;
}

body.tbmp-preservation-theme .entry-content strong {
	color: var(--tbmp-ink);
	font-weight: 800;
}

body.tbmp-preservation-theme .entry-content em {
	color: #4f4739;
}

body.tbmp-preservation-theme .entry-content a {
	color: #7a6231;
	font-weight: 700;
}

body.tbmp-preservation-theme .entry-content a:hover {
	color: var(--tbmp-ink);
}

body.tbmp-preservation-theme .entry-content blockquote,
body.tbmp-preservation-theme .wp-block-quote {
	margin-block: clamp(30px, 5vw, 54px);
	padding: clamp(24px, 4vw, 38px);
	border: 0;
	border-left: 5px solid var(--tbmp-gold);
	background: var(--tbmp-dark);
	color: var(--tbmp-chalk);
}

body.tbmp-preservation-theme .entry-content blockquote :where(p, cite),
body.tbmp-preservation-theme .wp-block-quote :where(p, cite) {
	color: inherit;
}

body.tbmp-preservation-theme .entry-content blockquote p {
	font-family: var(--tbmp-serif);
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 700;
	line-height: 1.35;
}

body.tbmp-preservation-theme .entry-content hr,
body.tbmp-preservation-theme .wp-block-separator {
	width: min(100%, var(--tbmp-content));
	margin: 50px auto;
	border: 0;
	border-top: 1px solid var(--tbmp-rule);
}

body.tbmp-preservation-theme .entry-content figure {
	margin-top: 34px;
	margin-bottom: 34px;
}

body.tbmp-preservation-theme .entry-content figure img {
	display: block;
	width: 100%;
	background: var(--tbmp-paper-deep);
}

body.tbmp-preservation-theme .entry-content figcaption,
body.tbmp-preservation-theme .wp-element-caption {
	margin-top: 10px;
	color: var(--tbmp-muted);
	font-family: var(--tbmp-sans);
	font-size: 13px;
	font-style: normal;
	line-height: 1.5;
}

body.tbmp-preservation-theme .entry-content :where(table, .wp-block-table table) {
	width: 100%;
	border-collapse: collapse;
	background: var(--tbmp-paper-soft);
	font-size: 15px;
}

body.tbmp-preservation-theme .entry-content :where(th, td) {
	padding: 14px 16px;
	border: 1px solid var(--tbmp-rule);
	text-align: left;
	vertical-align: top;
}

body.tbmp-preservation-theme .entry-content th {
	background: var(--tbmp-ink);
	color: var(--tbmp-chalk);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

body.tbmp-preservation-theme .entry-content :where(pre, code, kbd, samp) {
	font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

body.tbmp-preservation-theme .entry-content code {
	padding: 0.15em 0.35em;
	background: var(--tbmp-paper-deep);
	font-size: 0.9em;
}

body.tbmp-preservation-theme .entry-content pre {
	overflow-x: auto;
	padding: 22px;
	background: var(--tbmp-darkest);
	color: var(--tbmp-chalk);
}

body.tbmp-preservation-theme .entry-content pre code {
	padding: 0;
	background: transparent;
	color: inherit;
}

body.tbmp-preservation-theme details {
	margin: 22px 0;
	border-top: 1px solid var(--tbmp-rule);
	border-bottom: 1px solid var(--tbmp-rule);
	padding: 16px 0;
}

body.tbmp-preservation-theme summary {
	cursor: pointer;
	color: var(--tbmp-ink);
	font-weight: 800;
}

/* Generic custom post hero fallback. Existing embedded CSS stays authoritative. */
body.tbmp-preservation-theme :where(
	.tbmp-post-hero,
	.tbmp-phone-hero,
	.tbmp-cd-hero,
	.tbmp-bf-hero
) {
	position: relative;
	left: 50%;
	width: 100vw;
	max-width: 100vw;
	margin-left: -50vw;
	padding: clamp(52px, 8vw, 92px) var(--tbmp-gutter) clamp(38px, 6vw, 62px);
	background: var(--tbmp-darkest);
	color: var(--tbmp-chalk);
}

body.tbmp-preservation-theme :where(
	.tbmp-post-hero-inner,
	.tbmp-phone-inner,
	.tbmp-cd-inner,
	.tbmp-bf-inner
) {
	width: min(820px, 100%);
	margin: 0 auto;
}

body.tbmp-preservation-theme :where(
	.tbmp-post-hero-label,
	.tbmp-phone-label,
	.tbmp-cd-label,
	.tbmp-bf-label
) {
	margin-bottom: 18px;
	color: var(--tbmp-gold-soft);
	font-family: var(--tbmp-sans);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

body.tbmp-preservation-theme :where(
	.tbmp-post-hero-title,
	.tbmp-phone-title,
	.tbmp-cd-title,
	.tbmp-bf-title
) {
	margin: 0 0 30px;
	color: var(--tbmp-chalk) !important;
	font-family: var(--tbmp-serif);
	font-size: clamp(36px, 6vw, 64px);
	font-weight: 900;
	line-height: 1.04;
}

body.tbmp-preservation-theme :where(
	.tbmp-post-hero-img-wrap,
	.tbmp-post-hero-img
) {
	width: 100%;
	margin: 0;
}

body.tbmp-preservation-theme :where(
	.tbmp-post-hero-img,
	.tbmp-post-hero-img-wrap img
) {
	display: block;
	width: 100%;
	max-height: 620px;
	object-fit: cover;
}

/* Audited TBMP component fallbacks. */
body.tbmp-preservation-theme :where(
	.tbmp-manual,
	.tbmp-subpage,
	.tbmp-start
) {
	--paper: var(--tbmp-paper);
	--paper-deep: var(--tbmp-paper-deep);
	--paper-soft: var(--tbmp-paper-soft);
	--ink: var(--tbmp-ink);
	--muted: var(--tbmp-muted);
	--rule: var(--tbmp-rule);
	--gold: var(--tbmp-gold);
	--dark: var(--tbmp-dark);
	--chalk: var(--tbmp-chalk);
	color: var(--tbmp-ink);
	background: var(--tbmp-paper);
	font-family: var(--tbmp-sans);
}

body.tbmp-preservation-theme :where(
	.tbmp-wrap,
	.tbmp-subwrap,
	.tbmp-start-wrap
) {
	width: min(var(--tbmp-wide), calc(100vw - (2 * var(--tbmp-gutter))));
	margin-inline: auto;
}

body.tbmp-preservation-theme .tbmp-pillars {
	padding: clamp(58px, 7vw, 86px) 0;
	background: var(--tbmp-paper-soft);
}

body.tbmp-preservation-theme :where(
	.tbmp-kicker,
	.tbmp-meta,
	.tbmp-label,
	.tbmp-field-note-label,
	.tbmp-mission-brief-label,
	.tbmp-section-card-label
) {
	font-family: var(--tbmp-sans);
	font-size: 12px;
	font-weight: 900;
	line-height: 1.25;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

body.tbmp-preservation-theme :where(
	.tbmp-field-note,
	.tbmp-mission-brief,
	.tbmp-section-card,
	.tbmp-panel,
	.tbmp-note,
	.tbmp-answer,
	.tbmp-warning,
	.tbmp-formula,
	.tbmp-day,
	.tbmp-toc,
	.tbmp-seo-links
) {
	margin-block: 28px;
	padding: clamp(20px, 4vw, 34px);
	border: 1px solid var(--tbmp-rule);
	background: var(--tbmp-paper-soft);
	color: var(--tbmp-ink-soft);
}

body.tbmp-preservation-theme :where(.tbmp-field-note, .tbmp-mission-brief) {
	border-left: 5px solid var(--tbmp-gold);
}

body.tbmp-preservation-theme .tbmp-warning {
	border-left: 5px solid #9f4d35;
	background: #fff7ef;
}

body.tbmp-preservation-theme :where(
	.tbmp-field-note-label,
	.tbmp-mission-brief-label,
	.tbmp-section-card-label
) {
	display: block;
	margin-bottom: 12px;
	color: #7a6231;
}

body.tbmp-preservation-theme :where(
	.tbmp-field-note-text,
	.tbmp-mission-brief-body,
	.tbmp-section-card-body
) > :last-child {
	margin-bottom: 0;
}

body.tbmp-preservation-theme :where(.tbmp-grid, .tbmp-fitness-paths) {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

body.tbmp-preservation-theme :where(.tbmp-card, .tbmp-panel) {
	border: 1px solid var(--tbmp-rule);
	background: var(--tbmp-paper-soft);
}

body.tbmp-preservation-theme :where(.tbmp-card, .tbmp-panel) :where(h2, h3) {
	color: var(--tbmp-ink);
	font-family: var(--tbmp-serif);
}

body.tbmp-preservation-theme :where(.tbmp-button, .wp-element-button, .wp-block-button__link) {
	display: inline-flex;
	min-height: 50px;
	align-items: center;
	justify-content: center;
	padding: 12px 22px;
	border: 2px solid var(--tbmp-ink);
	border-radius: 0;
	background: var(--tbmp-ink);
	color: var(--tbmp-chalk) !important;
	font-family: var(--tbmp-sans);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.07em;
	text-decoration: none !important;
	text-transform: uppercase;
}

body.tbmp-preservation-theme :where(.tbmp-button, .wp-element-button, .wp-block-button__link):hover {
	border-color: var(--tbmp-gold);
	background: var(--tbmp-gold);
	color: var(--tbmp-darkest) !important;
}

body.tbmp-preservation-theme .tbmp-button.secondary {
	background: transparent;
	color: var(--tbmp-ink) !important;
}

body.tbmp-preservation-theme :where(.tbmp-reading, .tbmp-system, .tbmp-related-posts) {
	width: min(940px, calc(100vw - (2 * var(--tbmp-gutter))));
	margin: 64px auto 0;
	padding-top: 30px;
	border-top: 3px solid var(--tbmp-ink);
}

body.tbmp-preservation-theme :where(.tbmp-post-list, .tbmp-system-list) {
	border-top: 1px solid var(--tbmp-rule);
}

body.tbmp-preservation-theme :where(.tbmp-post-row, .tbmp-system-row, .tbmp-rule) {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 24px;
	padding: 24px 0;
	border-bottom: 1px solid var(--tbmp-rule);
}

body.tbmp-preservation-theme :where(.tbmp-post-row, .tbmp-system-row, .tbmp-rule) > b {
	color: var(--tbmp-gold);
	font-family: var(--tbmp-serif);
	font-size: 38px;
	line-height: 1;
}

body.tbmp-preservation-theme .tbmp-related-posts .wp-block-post-template,
body.tbmp-preservation-theme .tbmp-related-query .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	padding: 0;
	list-style: none;
}

body.tbmp-preservation-theme .tbmp-related-posts .wp-block-post,
body.tbmp-preservation-theme .tbmp-related-query .wp-block-post {
	padding: 20px;
	border: 1px solid var(--tbmp-rule);
	background: var(--tbmp-paper-soft);
}

/* Dark-surface contrast invariant.
 * Content-level CSS often expects text to inherit from a dark parent. The
 * sitewide article fallback sets explicit ink colors, so dark components need
 * an equally explicit override. Keep this important to survive embedded CSS
 * order and minification changes. */
body.tbmp-preservation-theme .entry-content .tbmp-featured,
body.tbmp-preservation-theme .entry-content .tbmp-dark,
body.tbmp-preservation-theme .entry-content .tbmp-footer {
	color: var(--tbmp-chalk) !important;
}

body.tbmp-preservation-theme .entry-content .tbmp-featured h2,
body.tbmp-preservation-theme .entry-content .tbmp-featured h3,
body.tbmp-preservation-theme .entry-content .tbmp-featured .tbmp-card h3,
body.tbmp-preservation-theme .entry-content .tbmp-dark h2,
body.tbmp-preservation-theme .entry-content .tbmp-dark h3,
body.tbmp-preservation-theme .entry-content .tbmp-footer h4 {
	color: var(--tbmp-chalk) !important;
}

body.tbmp-preservation-theme .entry-content .tbmp-featured-head > p,
body.tbmp-preservation-theme .entry-content .tbmp-featured .tbmp-card p,
body.tbmp-preservation-theme .entry-content .tbmp-dark p {
	color: #e6dece !important;
}

body.tbmp-preservation-theme .entry-content .tbmp-featured .tbmp-card .tbmp-label,
body.tbmp-preservation-theme .entry-content .tbmp-footer h5 {
	color: var(--tbmp-gold-soft) !important;
}

body.tbmp-preservation-theme .entry-content .tbmp-footer p,
body.tbmp-preservation-theme .entry-content .tbmp-footer .tbmp-footer-bottom,
body.tbmp-preservation-theme .entry-content .tbmp-footer .tbmp-footer-bottom span {
	color: #b8ad99 !important;
}

body.tbmp-preservation-theme .entry-content .tbmp-footer a {
	color: #d7cdbb !important;
}

body.tbmp-preservation-theme .entry-content .tbmp-footer a:hover,
body.tbmp-preservation-theme .entry-content .tbmp-footer a:focus-visible {
	color: var(--tbmp-chalk) !important;
}

body.tbmp-preservation-theme :where(.tbmp-inline-figure, .tbmp-inline-image) {
	margin: 34px auto;
}

body.tbmp-preservation-theme :where(.tbmp-inline-figure, .tbmp-inline-image) img {
	display: block;
	width: 100%;
}

/* Gutenberg query and archive coverage. */
body.tbmp-preservation-theme :where(.wp-block-query, .tbmp-blog-query) .wp-block-post-template {
	gap: 22px;
	padding: 0;
}

body.tbmp-preservation-theme :where(.wp-block-query, .tbmp-blog-query) .wp-block-post {
	border-top: 3px solid var(--tbmp-ink);
	background: var(--tbmp-paper-soft);
}

body.tbmp-preservation-theme :where(.wp-block-query, .tbmp-blog-query) .wp-block-post-title {
	font-family: var(--tbmp-serif);
	font-weight: 900;
	line-height: 1.05;
}

body.tbmp-preservation-theme :where(.wp-block-query, .tbmp-blog-query) .wp-block-post-title a {
	color: var(--tbmp-ink);
	text-decoration: none;
}

body.tbmp-preservation-theme :where(.wp-block-query, .tbmp-blog-query) .wp-block-post-excerpt__excerpt {
	color: var(--tbmp-muted);
}

/* Forms and comments. */
body.tbmp-preservation-theme :where(input, textarea, select) {
	max-width: 100%;
	border: 1px solid var(--tbmp-ink) !important;
	border-radius: 0 !important;
	background: var(--tbmp-paper-soft) !important;
	color: var(--tbmp-ink) !important;
	font: inherit;
}

body.tbmp-preservation-theme :where(input, select) {
	min-height: 48px;
	padding: 10px 12px;
}

body.tbmp-preservation-theme textarea {
	min-height: 160px;
	padding: 12px;
	resize: vertical;
}

body.tbmp-preservation-theme :where(button, input[type="submit"]) {
	min-height: 48px;
	border: 2px solid var(--tbmp-ink) !important;
	border-radius: 0 !important;
	background: var(--tbmp-ink) !important;
	color: var(--tbmp-chalk) !important;
	font-family: var(--tbmp-sans);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

body.tbmp-preservation-theme .comments-area {
	width: min(940px, calc(100vw - (2 * var(--tbmp-gutter))));
	margin: 0 auto;
	padding: 54px 0 82px;
	border-top: 2px solid var(--tbmp-rule-soft);
}

body.tbmp-preservation-theme .comments-area :where(.comments-title, #reply-title) {
	color: var(--tbmp-ink);
	font-family: var(--tbmp-serif);
	font-size: clamp(30px, 4vw, 46px);
	font-weight: 900;
	text-transform: uppercase;
}

/* GeneratePress footer kept in the current field-manual palette. */
body.tbmp-preservation-theme .site-footer,
body.tbmp-preservation-theme .site-info {
	border-top: 3px solid var(--tbmp-gold) !important;
	background: var(--tbmp-darkest) !important;
	color: var(--tbmp-muted) !important;
	font-family: var(--tbmp-sans);
	font-size: 13px !important;
	text-align: center !important;
}

body.tbmp-preservation-theme .site-info {
	padding: 16px 20px !important;
}

body.tbmp-preservation-theme .site-footer a,
body.tbmp-preservation-theme .site-info a {
	color: #a8a290 !important;
}

body.tbmp-preservation-theme .site-footer a:hover,
body.tbmp-preservation-theme .site-info a:hover {
	color: var(--tbmp-chalk) !important;
}

body.tbmp-preservation-theme .site-footer a[href*="generatepress"],
body.tbmp-preservation-theme .site-info a[href*="generatepress"] {
	display: none !important;
}

/* Pagination and search. */
body.tbmp-preservation-theme :where(.paging-navigation, .post-navigation) {
	width: min(var(--tbmp-wide), calc(100vw - (2 * var(--tbmp-gutter))));
	margin-inline: auto;
}

body.tbmp-preservation-theme :where(.nav-links, .page-numbers) a {
	color: var(--tbmp-ink);
	font-weight: 800;
}

body.tbmp-preservation-theme .search-form {
	display: flex;
	gap: 8px;
}

body.tbmp-preservation-theme .search-form label {
	flex: 1;
}

body.tbmp-preservation-theme .search-form input[type="search"] {
	width: 100%;
}

/* Responsive behavior for every audited element family. */

/* ==============================================
   Featured Image — standardize to 16:9
   ============================================== */
body.single .featured-image.page-header-image-single {
  max-width: 100%;
  margin: 0 0 24px;
}
body.single .featured-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}

@media (max-width: 900px) {
	body.tbmp-preservation-theme .inside-header {
		min-height: 74px !important;
	}

	body.tbmp-preservation-theme .site-branding .main-title a {
		max-width: 190px !important;
		font-size: 24px !important;
	}

	body.tbmp-preservation-theme .main-navigation:not(.toggled):not(.slideout-navigation) .main-nav > ul {
		display: none !important;
	}

	body.tbmp-preservation-theme .main-navigation.toggled .main-nav > ul,
	body.tbmp-preservation-theme .main-navigation.slideout-navigation .main-nav > ul {
		display: block !important;
		padding: 12px 0 !important;
	}

	body.tbmp-preservation-theme .main-navigation.toggled .main-nav ul li a,
	body.tbmp-preservation-theme .main-navigation.slideout-navigation .main-nav ul li a {
		padding: 14px 0 !important;
		border-width: 0 0 1px !important;
		border-color: rgba(21, 21, 18, 0.16) !important;
	}

	body.tbmp-preservation-theme :where(.tbmp-grid, .tbmp-fitness-paths) {
		grid-template-columns: 1fr;
	}

	body.tbmp-preservation-theme .tbmp-related-posts .wp-block-post-template,
	body.tbmp-preservation-theme .tbmp-related-query .wp-block-post-template {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	body.tbmp-preservation-theme {
		font-size: 16px;
	}

	body.tbmp-preservation-theme:not(.tbmp-has-custom-layout) .site-content {
		width: min(100% - 28px, var(--tbmp-wide));
		padding-block: 24px 48px;
	}

	body.tbmp-preservation-theme:not(.tbmp-has-custom-layout) .inside-article {
		padding: 24px 18px 42px;
	}

	body.tbmp-preservation-theme:not(.tbmp-has-custom-layout) .entry-title {
		font-size: clamp(34px, 11vw, 52px);
	}

	body.tbmp-preservation-theme .entry-content h2 {
		margin-top: 48px;
		font-size: clamp(29px, 9vw, 40px);
	}

	body.tbmp-preservation-theme :where(.tbmp-post-row, .tbmp-system-row, .tbmp-rule) {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	body.tbmp-preservation-theme .entry-content :where(table, .wp-block-table table) {
		font-size: 13px;
	}

	body.tbmp-preservation-theme .entry-content :where(th, td) {
		padding: 10px;
	}

	body.tbmp-preservation-theme .wp-block-table,
	body.tbmp-preservation-theme .tbmp-table-wrap {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

@media (max-width: 480px) {
	body.tbmp-preservation-theme .inside-header {
		width: calc(100vw - 28px) !important;
	}

	body.tbmp-preservation-theme :where(
		.tbmp-wrap,
		.tbmp-subwrap,
		.tbmp-start-wrap,
		.tbmp-reading,
		.tbmp-system,
		.tbmp-related-posts,
		.comments-area
	) {
		width: calc(100vw - 28px);
	}

	body.tbmp-preservation-theme :where(.tbmp-button, .wp-element-button, .wp-block-button__link) {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	body.tbmp-preservation-theme *,
	body.tbmp-preservation-theme *::before,
	body.tbmp-preservation-theme *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

@media print {
	body.tbmp-preservation-theme {
		background: #fff !important;
		color: #000 !important;
	}

	body.tbmp-preservation-theme :where(.site-header, .site-footer, .site-info, .main-navigation, .comments-area) {
		display: none !important;
	}

	body.tbmp-preservation-theme :where(.site-content, .inside-article, .entry-content) {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		background: #fff !important;
		color: #000 !important;
	}

	body.tbmp-preservation-theme a {
		color: #000 !important;
		text-decoration: underline !important;
	}
}


/* ==============================================
   TBMP Author Box + Related Articles
   ============================================== */

/* ==============================================
   Author Box — styled card with stats
   ============================================== */
.tbmp-author-box {
  margin: 34px 0 0;
}
.tbmp-author-card {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  padding: 28px;
  background: #fafaf8;
  border: 1px solid rgba(21,21,18,.08);
  border-radius: 12px;
}
.tbmp-author-avatar { flex-shrink: 0; }
.tbmp-author-avatar .tbmp-avatar {
  border-radius: 50%;
  border: 2px solid #9b7a35;
  padding: 2px;
  background: #fff;
}
.tbmp-author-body { flex: 1; }
.tbmp-author-label {
  margin: 0 0 2px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #9b7a35;
  font-weight: 600;
}
.tbmp-author-name { margin: 0 0 8px; font-size: 18px; line-height: 1.2; }
.tbmp-author-name a { color: #151512; text-decoration: none; }
.tbmp-author-name a:hover { color: #9b7a35; }
.tbmp-author-bio { margin: 0 0 14px; font-size: 14px; color: #4a4640; line-height: 1.6; }
.tbmp-author-stats {
  display: flex;
  gap: 20px;
  padding-top: 14px;
  border-top: 1px solid rgba(21,21,18,.08);
}
.tbmp-author-stat { font-size: 13px; color: #6b6560; }
.tbmp-author-stat strong { color: #151512; font-size: 16px; }

/* Related posts */
.tbmp-related-posts { margin: 32px 0 0; }
.tbmp-related-posts h3 { font-size: 18px; margin: 0 0 16px; color: #151512; }
.tbmp-related-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.tbmp-related-card {
  display: block;
  padding: 20px;
  border: 1px solid rgba(21,21,18,.12);
  border-radius: 8px;
  text-decoration: none;
  color: #151512;
  transition: border-color .2s;
}
.tbmp-related-card:hover { border-color: #9b7a35; }
.tbmp-related-card h4 { margin: 0 0 8px; font-size: 15px; line-height: 1.4; }
.tbmp-related-card p { margin: 0 0 10px; font-size: 13px; color: #6b6560; line-height: 1.5; }
.tbmp-related-card span { font-size: 13px; color: #9b7a35; font-weight: 600; }


/* Author social links — clean inline */
.tbmp-author-social {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(21,21,18,.08);
  font-size: 13px;
  color: #8a8578;
}
.tbmp-social-link {
  color: #4a4640;
  text-decoration: none;
  transition: color .15s;
}
.tbmp-social-link:hover {
  color: #9b7a35;
}
.tbmp-social-sep {
  margin: 0 8px;
  color: rgba(21,21,18,.15);
}

@media (max-width: 768px) {
  .tbmp-related-grid { grid-template-columns: 1fr; }
  .tbmp-author-card { flex-direction: column; align-items: center; text-align: center; }
  .tbmp-author-stats { justify-content: center; }
}

/* Hide GP defaults we replace with TBMP custom sections */
body.tbmp-preservation-theme .cat-links,
body.tbmp-preservation-theme .tags-links,
body.tbmp-preservation-theme .post-navigation {
  display: none !important;
}
