/*
Theme Name: TriMark Heritage Red
Theme URI: https://www.trimarkpress.com/
Author: TriMark Press
Description: A red-banner, green-footer variation of the TriMark Heritage theme.
Version: 1.1.1
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: trimark-heritage-red
*/

:root {
	--tm-shadow: 0 18px 50px rgba(42, 38, 27, .12);
}

html { scroll-behavior: smooth; }
body { text-wrap: pretty; }
a { text-underline-offset: .18em; }
a:focus-visible,
button:focus-visible { outline: 3px solid var(--wp--preset--color--mustard); outline-offset: 3px; }

.tm-topline { letter-spacing: .04em; }
.tm-topline a {
	color: var(--wp--preset--color--cream) !important;
	text-decoration-color: rgba(247, 240, 223, .55);
}
.tm-topline a:hover {
	color: var(--wp--preset--color--mustard) !important;
	text-decoration-color: currentColor;
}
.tm-site-header { position: relative; z-index: 10; }
.tm-site-header .wp-block-site-logo img { width: 64px; }
.tm-brand-logo {
	width: 270px !important;
	height: 64px;
	overflow: hidden;
	margin: 0;
	flex: 0 0 270px;
}
.tm-brand-logo a { display: block; height: 64px; }
.tm-brand-logo img {
	display: block;
	width: 270px !important;
	max-width: none !important;
	height: 270px !important;
	transform: translateY(-103px);
}
.tm-site-header .wp-block-navigation-item__content { text-decoration: none; }
.tm-site-header .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--deep-red); }

.tm-eyebrow { letter-spacing: .16em; text-transform: uppercase; }
.tm-hero {
	background-color: var(--wp--preset--color--deep-red) !important;
	min-height: 500px;
	overflow: hidden;
	padding-top: 4.5rem !important;
	padding-bottom: 4.5rem !important;
}
.tm-hero h1 {
	font-size: clamp(2.7rem, 5vw, 4.8rem) !important;
	line-height: 1.02;
}
.tm-hero::after {
	content: "";
	position: absolute;
	inset: auto -7rem -11rem auto;
	width: 30rem;
	aspect-ratio: 1;
	border: 1px solid rgba(244, 196, 48, .48);
	border-radius: 50%;
	pointer-events: none;
}
.tm-hero-mark {
	width: 250px;
	aspect-ratio: 1;
	border: 2px solid var(--wp--preset--color--mustard);
	border-radius: 50%;
	display: grid;
	place-items: center;
	transform: rotate(-6deg);
}
.tm-hero-mark::before,
.tm-hero-mark::after { content: ""; position: absolute; background: var(--wp--preset--color--mustard); }
.tm-hero-mark::before { width: 70%; height: 2px; }
.tm-hero-mark::after { width: 2px; height: 70%; }

.tm-book-carousel {
	position: relative;
	width: min(100%, 390px);
	margin-inline: auto;
}
.tm-book-carousel__viewport {
	position: relative;
	height: 400px;
	display: grid;
	place-items: center;
}
.tm-book-carousel__slide {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	margin: 0;
	opacity: 0;
	transform: translateX(18px) rotate(1deg);
	transition: opacity .55s ease, transform .55s ease;
	pointer-events: none;
}
.tm-book-carousel__slide.is-active {
	opacity: 1;
	transform: translateX(0) rotate(-1deg);
	pointer-events: auto;
}
.tm-book-carousel__slide img {
	display: block;
	width: auto;
	max-width: 100%;
	height: min(390px, 47vw);
	max-height: 100%;
	object-fit: contain;
	box-shadow: 0 22px 45px rgba(0, 0, 0, .35);
}
.tm-book-carousel__controls {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .55rem;
	margin-top: .45rem;
	color: var(--wp--preset--color--mustard);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .1em;
}
.tm-book-carousel__controls button {
	width: 1.9rem;
	height: 1.9rem;
	padding: 0;
	border: 1px solid rgba(211, 166, 31, .48);
	border-radius: 50%;
	background: transparent;
	color: var(--wp--preset--color--mustard);
	cursor: pointer;
	font-size: .85rem;
	line-height: 1;
	opacity: .68;
	transition: opacity .2s ease, background-color .2s ease;
}
.tm-book-carousel__controls button:hover {
	background: var(--wp--preset--color--mustard);
	color: var(--wp--preset--color--deep-green);
	opacity: 1;
}

.tm-card {
	border: 1px solid rgba(42, 38, 27, .12);
	box-shadow: var(--tm-shadow);
	transition: transform .25s ease, box-shadow .25s ease;
}
.tm-card:hover { transform: translateY(-6px); box-shadow: 0 24px 60px rgba(42, 38, 27, .17); }
.tm-number { font-variant-numeric: oldstyle-nums; }
.tm-rule { width: 72px !important; }

.wp-block-button__link { transition: transform .2s ease, background-color .2s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); }
.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--mustard); color: var(--wp--preset--color--ink); }

.tm-quote { position: relative; }
.tm-quote-band {
	padding-top: 4.5rem !important;
	padding-bottom: 4.5rem !important;
}
.tm-quote blockquote {
	font-size: clamp(1.55rem, 3.15vw, 2.65rem) !important;
	line-height: 1.18 !important;
}
.tm-quote cite {
	display: block;
	margin-top: 1.25rem;
	font-size: clamp(1.1rem, 2.1vw, 1.85rem);
	line-height: 1.25;
}
.tm-quote a {
	color: var(--wp--preset--color--mustard) !important;
	text-decoration-color: rgba(211, 166, 31, .7);
}
.tm-quote a:hover {
	color: var(--wp--preset--color--paper) !important;
	text-decoration-color: currentColor;
}
.tm-quote::before {
	content: "\201C";
	position: absolute;
	top: -2rem;
	left: -1rem;
	font-family: Georgia, serif;
	font-size: 7rem;
	line-height: 1;
	color: rgba(244, 196, 48, .25);
}
.tm-book-spine { border-left: 8px solid var(--wp--preset--color--mustard); }
.tm-newsletter {
	border-top: 1px solid rgba(42, 38, 27, .1);
}
.tm-newsletter .mc4wp-form {
	max-width: 620px;
	margin: 2rem auto 0;
}
.tm-newsletter .mc4wp-form-fields {
	display: grid;
	gap: 1rem;
}
.tm-newsletter .mc4wp-form p {
	margin: 0;
}
.tm-newsletter .mc4wp-form label {
	display: block;
	margin-bottom: .35rem;
	color: var(--wp--preset--color--deep-green);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.tm-newsletter .mc4wp-form input[type="text"],
.tm-newsletter .mc4wp-form input[type="email"] {
	box-sizing: border-box;
	width: 100%;
	min-height: 3.1rem;
	border: 1px solid rgba(42, 38, 27, .22);
	background: var(--wp--preset--color--paper);
	color: var(--wp--preset--color--ink);
	font: inherit;
	padding: .8rem 1rem;
}
.tm-newsletter .mc4wp-form input[type="submit"] {
	border: 0;
	background: var(--wp--preset--color--deep-red);
	color: var(--wp--preset--color--paper);
	cursor: pointer;
	font-size: .84rem;
	font-weight: 700;
	letter-spacing: .08em;
	min-height: 3.1rem;
	padding: .9rem 1.5rem;
	text-transform: uppercase;
	transition: transform .2s ease, background-color .2s ease;
}
.tm-newsletter .mc4wp-form input[type="submit"]:hover {
	background: var(--wp--preset--color--deep-green);
	transform: translateY(-2px);
}
.tm-site-footer a { color: inherit; }
.tm-site-footer {
	background-color: var(--wp--preset--color--deep-green) !important;
}

.tm-about-hero {
	max-width: 1100px !important;
	width: calc(100% - clamp(2rem, 8vw, 8rem)) !important;
	margin: 0 auto !important;
	padding: clamp(3rem, 6vw, 5.5rem) clamp(1.25rem, 4vw, 3.5rem) !important;
	background: var(--wp--preset--color--paper) !important;
	color: var(--wp--preset--color--ink) !important;
	text-align: center;
}
.tm-about-hero > * {
	margin-left: auto !important;
	margin-right: auto !important;
}
body.page-id-10 main#wp--skip-link--target {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	max-width: none !important;
}
body.page-id-10 main#wp--skip-link--target > .wp-block-post-title,
body.page-id-10 main#wp--skip-link--target > .tm-rule {
	display: none;
}
body.page-id-10 .wp-block-post-content {
	max-width: none !important;
	width: 100% !important;
}
body.page-id-10 .wp-block-post-content > .alignfull,
body.page-id-10 .wp-block-post-content > .wp-block-group.alignfull {
	margin-left: auto !important;
	margin-right: auto !important;
}
body.page-id-10 .wp-block-post-content > .wp-block-group:not(.alignfull) {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	padding-top: clamp(3.5rem, 6vw, 5rem) !important;
	padding-bottom: clamp(3.5rem, 6vw, 5rem) !important;
	padding-left: clamp(1rem, 4vw, 3rem);
	padding-right: clamp(1rem, 4vw, 3rem);
}
body.page-id-10 .wp-block-post-content .wp-block-columns.alignwide {
	column-gap: clamp(2rem, 5vw, 4.5rem);
}
.tm-about-hero h2 {
	max-width: 800px;
	color: var(--wp--preset--color--deep-green) !important;
	font-size: clamp(2.4rem, 4.5vw, 4.25rem) !important;
	line-height: 1.04 !important;
	margin-top: 1rem !important;
	margin-bottom: 1.25rem !important;
	text-align: center;
}
.tm-about-lede {
	max-width: 680px;
	margin-top: 0 !important;
	font-size: clamp(1rem, 1.25vw, 1.12rem) !important;
	line-height: 1.65 !important;
	text-align: center;
}
.tm-about-media {
	overflow: hidden;
	border: 1px solid rgba(42, 38, 27, .12);
	box-shadow: none;
}
.tm-about-media img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.tm-about-note {
	display: grid;
	grid-template-columns: clamp(110px, 13vw, 150px) minmax(0, 1fr);
	align-items: center;
	gap: clamp(1rem, 2.5vw, 2rem);
	border-left: 3px solid var(--wp--preset--color--mustard);
	background: transparent !important;
	padding: .75rem 0 .75rem 1.25rem !important;
}
.tm-about-note::before {
	content: "";
	display: block;
	width: 100%;
	aspect-ratio: 1.45 / 1;
	background: url("assets/images/ibpa-logo.webp") center / contain no-repeat;
}
.tm-about-note p {
	margin: 0;
	font-size: .95rem;
	line-height: 1.55;
}
.tm-about-mission {
	max-width: 1100px !important;
	width: calc(100% - clamp(2rem, 8vw, 8rem)) !important;
	margin: 0 auto !important;
	background: transparent !important;
	border-top: 1px solid rgba(42, 38, 27, .1);
	border-bottom: 1px solid rgba(42, 38, 27, .1);
}
.tm-about-mission h2 {
	max-width: 800px;
	margin-inline: auto;
	font-size: clamp(1.9rem, 3vw, 2.8rem) !important;
}
.tm-about-team-card {
	height: 100%;
	border: 1px solid rgba(42, 38, 27, .12);
	box-shadow: none;
	background: transparent !important;
	padding: clamp(1.5rem, 3vw, 2.5rem) !important;
}
.tm-about-team-card img {
	display: block;
	width: 132px;
	height: 132px;
	margin-inline: auto;
	border: 1px solid rgba(42, 38, 27, .16);
	border-radius: 50%;
	object-fit: cover;
}
.tm-about-team-card h3 {
	margin-top: 1rem;
}
.tm-about-team-card p {
	font-size: .98rem;
	line-height: 1.65;
}
body.page-id-10 .wp-block-post-content > .alignfull:last-child {
	max-width: 1100px !important;
	width: calc(100% - clamp(2rem, 8vw, 8rem)) !important;
	margin: 0 auto clamp(3rem, 6vw, 6rem) !important;
	background: var(--wp--preset--color--paper) !important;
	color: var(--wp--preset--color--ink) !important;
	border-top: 1px solid rgba(42, 38, 27, .1);
	border-bottom: 1px solid rgba(42, 38, 27, .1);
}
body.page-id-10 .wp-block-post-content > .alignfull:last-child h2 {
	color: var(--wp--preset--color--deep-green) !important;
}

/* Publishing Services: carry the About page's quiet editorial layout forward. */
body.page-id-65 {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	overflow-x: hidden;
}
body.page-id-65 main#wp--skip-link--target {
	max-width: 1100px !important;
	margin-inline: auto;
	padding: clamp(3.5rem, 7vw, 6rem) clamp(1rem, 4vw, 3rem) !important;
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}
body.page-id-65 .wp-block-post-title {
	max-width: 800px;
	margin: 0 auto 1.25rem;
	color: var(--wp--preset--color--deep-green);
	font-size: clamp(2.5rem, 4.5vw, 4.25rem) !important;
	line-height: 1.04;
	text-align: center;
}
body.page-id-65 main > .tm-rule {
	width: 64px;
	margin: 0 auto clamp(3rem, 6vw, 5rem);
}
body.page-id-65 .wp-block-post-content,
body.page-id-65 .fusion-fullwidth,
body.page-id-65 .fusion-builder-row,
body.page-id-65 .fusion-layout-column {
	max-width: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}
body.page-id-65 .fusion-column-wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(3rem, 6vw, 5rem);
}
body.page-id-65 .fusion-image-element {
	display: none !important;
}
.tm-services-banner {
	width: 100%;
	margin: 0;
	overflow: hidden;
}
.tm-services-banner img {
	display: block;
	width: 100%;
	height: clamp(190px, 22vw, 270px);
	object-fit: cover;
	object-position: center 58%;
}
.tm-services-list {
	box-sizing: border-box;
	width: min(100%, 850px);
	padding: 0 clamp(.5rem, 3vw, 2rem);
	background: transparent;
	border: 0;
	outline: 0;
	box-shadow: none;
}
.tm-services-list ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(2rem, 6vw, 5rem);
	row-gap: .85rem;
	max-width: 620px;
	margin: 0 auto;
	padding-left: 1.25rem;
	list-style: disc;
}
.tm-services-list li {
	padding: .25rem 0 .25rem .2rem;
	border: 0;
	font-size: clamp(1rem, 1.4vw, 1.12rem);
	line-height: 1.45;
	text-align: left;
}
.tm-services-list li::marker {
	color: var(--wp--preset--color--mustard);
}
body.page-id-65 .fusion-text {
	box-sizing: border-box;
	width: min(100%, 760px);
	margin-inline: auto;
	color: var(--wp--preset--color--ink) !important;
}
body.page-id-65 .fusion-text > :first-child,
body.page-id-65 .fusion-text > :empty {
	display: none;
}
body.page-id-65 .fusion-text h1 {
	max-width: 760px;
	margin: 0 auto .75rem;
	color: var(--wp--preset--color--deep-green);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.35rem, 2vw, 1.85rem) !important;
	font-style: normal;
	font-weight: 400;
	line-height: 1.12 !important;
	text-align: center !important;
}
body.page-id-65 .fusion-text h1 strong,
body.page-id-65 .fusion-text p strong,
body.page-id-65 .fusion-text p b {
	font-weight: 600;
}
body.page-id-65 .fusion-text p {
	margin: 0 0 1.2rem;
	font-size: 1rem !important;
	line-height: 1.7 !important;
	text-align: left;
}
body.page-id-65 .fusion-text h1 + p {
	margin-bottom: 2rem;
	text-align: center;
}
body.page-id-65 .fusion-text a {
	color: var(--wp--preset--color--deep-red) !important;
}

/* Editorial: shallow image banner followed by a centered introduction. */
body:is(.page-id-3129, .page-id-3141, .page-id-1793) main#wp--skip-link--target {
	max-width: 1100px !important;
	margin-inline: auto;
	padding: clamp(3.5rem, 7vw, 6rem) clamp(1rem, 4vw, 3rem) !important;
}
body:is(.page-id-3129, .page-id-3141, .page-id-1793) .wp-block-post-title {
	margin: 0 auto 1.25rem;
	color: var(--wp--preset--color--deep-green);
	font-size: clamp(2.5rem, 4.5vw, 4.25rem) !important;
	line-height: 1.04;
	text-align: center;
}
body:is(.page-id-3129, .page-id-3141, .page-id-1793) main > .tm-rule {
	width: 64px;
	margin: 0 auto clamp(2.5rem, 5vw, 4rem);
}
body:is(.page-id-3129, .page-id-3141, .page-id-1793) .wp-block-post-featured-image {
	width: 100%;
	max-width: 1100px !important;
	margin: 0 auto clamp(3rem, 6vw, 5rem);
	overflow: hidden;
}
body:is(.page-id-3129, .page-id-3141, .page-id-1793) .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: clamp(190px, 22vw, 270px);
	object-fit: cover !important;
	object-position: center 48%;
}
body:is(.page-id-3129, .page-id-3141, .page-id-1793) .wp-block-post-content,
body:is(.page-id-3129, .page-id-3141, .page-id-1793) .fusion-fullwidth,
body:is(.page-id-3129, .page-id-3141, .page-id-1793) .fusion-builder-row,
body:is(.page-id-3129, .page-id-3141, .page-id-1793) .fusion-layout-column,
body:is(.page-id-3129, .page-id-3141, .page-id-1793) .fusion-column-wrapper,
body:is(.page-id-3129, .page-id-3141, .page-id-1793) .fusion-text {
	max-width: 850px !important;
	width: 100% !important;
	margin-inline: auto !important;
	padding: 0 !important;
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}
body:is(.page-id-3129, .page-id-3141, .page-id-1793) .fusion-text h2 {
	margin: 0 0 1.25rem;
	color: var(--wp--preset--color--deep-green) !important;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.9rem, 3vw, 2.7rem) !important;
	font-weight: 400;
	line-height: 1.15 !important;
	text-align: center;
}
body:is(.page-id-3129, .page-id-3141, .page-id-1793) .fusion-text h2 :is(b, strong) {
	color: inherit !important;
	font: inherit !important;
	font-weight: 400 !important;
}
body:is(.page-id-3129, .page-id-3141, .page-id-1793) .fusion-text p {
	margin: 0 auto 1.35rem;
	font-size: clamp(1rem, 1.35vw, 1.12rem) !important;
	line-height: 1.75 !important;
	text-align: center;
}

/* Contact: shared shallow-banner and centered editorial treatment. */
body.page-id-63 main#wp--skip-link--target {
	max-width: 1100px !important;
	margin-inline: auto;
	padding: clamp(3.5rem, 7vw, 6rem) clamp(1rem, 4vw, 3rem) !important;
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}
body.page-id-63 .wp-block-post-title {
	margin: 0 auto 1.25rem;
	color: var(--wp--preset--color--deep-green);
	font-size: clamp(2.5rem, 4.5vw, 4.25rem) !important;
	line-height: 1.04;
	text-align: center;
}
body.page-id-63 main > .tm-rule {
	width: 64px;
	margin: 0 auto clamp(2.5rem, 5vw, 4rem);
}
.tm-contact-banner {
	width: 100%;
	margin: 0 auto clamp(3rem, 6vw, 5rem);
	overflow: hidden;
}
.tm-contact-banner img {
	display: block;
	width: 100%;
	height: clamp(190px, 22vw, 270px);
	object-fit: cover;
	object-position: center 52%;
}
body.page-id-63 .fusion-fullwidth,
body.page-id-63 .fusion-builder-row,
body.page-id-63 .fusion-layout-column,
body.page-id-63 .fusion-column-wrapper,
body.page-id-63 .fusion-text {
	max-width: 850px !important;
	width: 100% !important;
	margin-inline: auto !important;
	padding: 0 !important;
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}
body.page-id-63 .wp-block-post-content {
	max-width: none !important;
}
body.page-id-63 .fusion-image-element {
	display: none !important;
}
body.page-id-63 .fusion-text {
	text-align: center;
}
body.page-id-63 .fusion-text h2,
body.page-id-63 .fusion-text-2 > p:nth-last-child(8) {
	margin: 2.25rem 0 .65rem;
	color: var(--wp--preset--color--deep-green) !important;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.75rem, 2.7vw, 2.35rem) !important;
	font-weight: 400;
	line-height: 1.15 !important;
	text-align: center;
}
body.page-id-63 .fusion-text h2:first-of-type {
	margin-top: 0;
}
body.page-id-63 .fusion-text h2 span,
body.page-id-63 .fusion-text-2 > p:nth-last-child(8) {
	color: inherit !important;
	font: inherit !important;
}
body.page-id-63 .fusion-text p {
	margin: 0 auto 1rem;
	font-size: 1rem !important;
	line-height: 1.7 !important;
	text-align: center;
}
body.page-id-63 .fusion-text p span,
body.page-id-63 .fusion-text p a {
	font-size: inherit !important;
}
body.page-id-63 .fusion-text-2 > p:nth-child(-n+5) {
	display: none;
}

/* Authors: text-only directory linked directly to published profile pages. */
body.page-id-78 main#wp--skip-link--target {
	max-width: 1100px !important;
	margin-inline: auto;
	padding: clamp(3.5rem, 7vw, 6rem) clamp(1rem, 4vw, 3rem) !important;
}
body.page-id-78 .wp-block-post-title {
	margin: 0 auto 1.25rem;
	color: var(--wp--preset--color--deep-green);
	font-size: clamp(2.5rem, 4.5vw, 4.25rem) !important;
	line-height: 1.04;
	text-align: center;
}
body.page-id-78 main > .tm-rule {
	width: 64px;
	margin: 0 auto clamp(2.5rem, 5vw, 4rem);
}
body.page-id-78 .wp-block-post-content {
	max-width: none !important;
}
.tm-authors-intro {
	max-width: 780px;
	margin: 0 auto clamp(3rem, 6vw, 5rem);
	text-align: center;
}
.tm-authors-intro h2 {
	margin: 0 0 1.25rem;
	color: var(--wp--preset--color--deep-green);
	font-size: clamp(1.9rem, 3vw, 2.8rem);
	font-weight: 400;
}
.tm-authors-intro p {
	margin: 0 auto 1rem;
	line-height: 1.7;
}
.tm-author-directory ul {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .85rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.tm-author-directory a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 3.65rem;
	padding: .75rem 1rem;
	border: 1px solid rgba(23, 63, 50, .28);
	color: var(--wp--preset--color--deep-green);
	font-size: .9rem;
	font-weight: 700;
	letter-spacing: .035em;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.tm-author-directory a:hover,
.tm-author-directory a:focus-visible {
	background: var(--wp--preset--color--deep-green);
	border-color: var(--wp--preset--color--deep-green);
	color: var(--wp--preset--color--cream);
	transform: translateY(-2px);
}

/* Newsletter: monthly archive using the Authors directory card treatment. */
body.page-id-6508 main#wp--skip-link--target {
	max-width: 1100px !important;
	margin-inline: auto;
	padding: clamp(3.5rem, 7vw, 6rem) clamp(1rem, 4vw, 3rem) !important;
}
body.page-id-6508 .wp-block-post-title {
	margin: 0 auto 1.25rem;
	color: var(--wp--preset--color--deep-green);
	font-size: clamp(2.5rem, 4.5vw, 4.25rem) !important;
	line-height: 1.04;
	text-align: center;
}
body.page-id-6508 main > .tm-rule {
	width: 64px;
	margin: 0 auto clamp(2.5rem, 5vw, 4rem);
}
body.page-id-6508 .wp-block-post-content,
body.page-id-6508 .wp-block-post-content > * {
	border: 0 !important;
}
body.page-id-6508 .wp-block-post-content { max-width: none !important; }
.tm-newsletter-intro {
	max-width: 780px;
	margin: 0 auto clamp(3rem, 6vw, 5rem);
	text-align: center;
}
.tm-newsletter-intro h2 {
	margin: 0 0 1.25rem;
	color: var(--wp--preset--color--deep-green);
	font-size: clamp(1.9rem, 3vw, 2.8rem);
	font-weight: 400;
	text-align: center;
}
.tm-newsletter-intro p { margin: 0 auto; line-height: 1.7; }
.tm-newsletter-directory ul {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .85rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.tm-newsletter-directory a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 3.65rem;
	padding: .75rem 1rem;
	border: 1px solid rgba(23, 63, 50, .28);
	color: var(--wp--preset--color--deep-green);
	font-size: .9rem;
	font-weight: 700;
	letter-spacing: .035em;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.tm-newsletter-directory a:hover,
.tm-newsletter-directory a:focus-visible {
	background: var(--wp--preset--color--deep-green);
	border-color: var(--wp--preset--color--deep-green);
	color: var(--wp--preset--color--cream);
	transform: translateY(-2px);
}
.tm-newsletter-signup {
	max-width: 760px;
	margin: clamp(3.5rem, 7vw, 6rem) auto 0;
}

/* Author profiles: one calm, reusable presentation for imported and new pages. */
body.tm-author-profile main#wp--skip-link--target {
	width: min(100% - 2rem, 1040px);
	margin-inline: auto;
	padding-top: clamp(3rem, 6vw, 5.5rem) !important;
}
body.tm-author-profile .wp-block-post-title {
	margin: 0 auto 1.1rem;
	color: var(--wp--preset--color--deep-green);
	font-size: clamp(2.45rem, 5vw, 4.25rem) !important;
	font-weight: 400;
	line-height: 1.05;
	text-align: center;
}
body.tm-author-profile main > .tm-rule {
	width: 64px;
	margin: 0 auto clamp(2.75rem, 5vw, 4.25rem);
}
body.tm-author-profile .wp-block-post-content,
body.tm-author-profile .fusion-fullwidth,
body.tm-author-profile .fusion-builder-row,
body.tm-author-profile .fusion-layout-column,
body.tm-author-profile .fusion-column-wrapper {
	border: 0 !important;
	box-shadow: none !important;
}
body.tm-author-profile .wp-block-post-content {
	max-width: 940px !important;
	margin-inline: auto;
}
body.tm-author-profile .wp-block-post-content img {
	height: auto !important;
}
body.tm-author-profile .fusion-builder-column-0 .wp-caption {
	float: none !important;
	margin: 0 auto !important;
	text-align: center;
}
body.page-id-628 .fusion-builder-column-0 p {
	display: none;
}
body.page-id-724 .fusion-builder-column-0 .fusion-column-wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
	gap: 1.25rem clamp(1.5rem, 5vw, 3.5rem);
}
body.page-id-724 .fusion-builder-column-0 .wp-caption {
	flex: 0 0 200px;
}
body.page-id-724 .fusion-builder-column-0 .fusion-clearfix {
	display: none;
}
.tm-author-social {
	display: inline-grid;
	place-items: center;
	width: 46px;
	height: 46px;
	margin: .25rem .45rem .25rem 0;
	border-radius: 50%;
	background: var(--wp--preset--color--deep-green);
	color: #fff !important;
	font: 700 1.05rem/1 Arial, sans-serif;
	text-decoration: none !important;
	transition: transform .2s ease, filter .2s ease;
}
.tm-author-social span { display: block; }
.tm-author-social--facebook { background: #1877f2; font-size: 1.45rem; }
.tm-author-social--amazon { background: #232f3e; color: #ffb20f !important; font-size: 1.45rem; }
.tm-author-social--x { background: #111; }
.tm-author-social--linkedin { background: #0a66c2; }
.tm-author-social--youtube { background: #ff0000; font-size: .9rem; }
.tm-author-social--instagram { background: #c13584; font-size: 1.45rem; }
.tm-author-social--email { background: var(--wp--preset--color--deep-red); font-size: 1.2rem; }
.tm-author-social:hover,
.tm-author-social:focus-visible { filter: brightness(.86); transform: translateY(-2px); }
.tm-author-socials { margin-top: 1.5rem; text-align: center; }
body.page-id-7420 .tm-author-socials { text-align: left; }
body.page-id-6596 .tm-author-socials { text-align: left; }
body.page-id-3392 .tm-author-socials { text-align: left; }
body.page-id-645 .tm-author-socials { text-align: left; }
body.page-id-647 .tm-author-socials { text-align: left; }
body.page-id-1158 .tm-author-socials { text-align: left; }
body.page-id-3401 .tm-author-socials { text-align: left; }
body.page-id-735 .tm-author-socials { text-align: left; }
body.page-id-4142 .tm-author-socials { text-align: left; }
body.page-id-6913 .tm-author-socials { text-align: left; }
body.page-id-6719 .tm-author-socials { text-align: left; }
body.page-id-2533 .tm-author-socials {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	text-align: left;
}
body.page-id-730 .tm-author-socials {
	display: flex;
	justify-content: flex-start;
	text-align: left;
}
body.page-id-7138 .fusion-title:has(h3) { margin-bottom: 0; }
/* The block template already supplies the only page-level author name. */
body.tm-author-profile .wp-block-post-content .fusion-title:has(h1 h1) {
	display: none;
}
body.tm-author-profile .fusion_builder_column_1_1:first-child .fusion-column-wrapper {
	align-items: center;
	text-align: center;
}
body.tm-author-profile .fusion_builder_column_1_1:first-child .fusion-image-element img,
body.tm-author-profile .wp-block-post-content > figure:first-child img {
	width: auto;
	max-width: min(100%, 320px);
	max-height: 390px;
	object-fit: cover;
}
body.tm-author-profile .fusion_builder_column_1_1:first-child .fusion-text {
	max-width: 760px;
	margin: 1.5rem auto 0;
	font-size: 1.05rem;
	line-height: 1.75;
}
body.tm-author-profile .fusion-title h2,
body.tm-author-profile .fusion-title h3 {
	margin-top: clamp(2.5rem, 6vw, 4.5rem) !important;
	color: var(--wp--preset--color--deep-green) !important;
	font-size: clamp(1.75rem, 3vw, 2.5rem) !important;
	font-weight: 400 !important;
	text-align: center;
}
/* Book entries: cover on the left, descriptive copy and ordering on the right. */
body.tm-author-has-books .fusion-builder-row:has(> .fusion_builder_column_1_2) {
	display: grid !important;
	grid-template-columns: minmax(180px, 32%) minmax(0, 1fr);
	column-gap: clamp(2rem, 7vw, 7rem);
	align-items: center;
	max-width: 860px;
	margin-inline: auto !important;
}
body.tm-author-has-books .fusion-builder-row:has(> .fusion_builder_column_1_2) > .fusion_builder_column_1_1 {
	grid-column: 1 / -1;
	width: 100% !important;
}
body.tm-author-has-books .fusion-builder-row:has(> .fusion_builder_column_1_2) > .fusion_builder_column_1_2 {
	width: 100% !important;
}
body.tm-author-profile .fusion_builder_column_1_2 {
	margin-top: 1.25rem !important;
	margin-bottom: clamp(2.5rem, 5vw, 4rem) !important;
}
body.tm-author-profile .fusion_builder_column_1_2 .fusion-column-wrapper {
	height: 100%;
	justify-content: center;
}
body.tm-author-profile .fusion_builder_column_1_2 .fusion-text {
	max-width: 560px;
	font-size: 1.05rem;
	line-height: 1.7;
}
body.tm-author-profile .fusion_builder_column_1_2 .fusion-image-element {
	text-align: center !important;
}
body.tm-author-profile .fusion_builder_column_1_1 h3:first-child,
body.tm-author-profile .fusion_builder_column_1_1 h4:first-child {
	color: var(--wp--preset--color--deep-green);
}
body.tm-author-profile img.alignleft,
body.tm-author-profile a > img.alignleft {
	float: left;
	width: auto;
	max-width: min(38%, 230px);
	max-height: 350px;
	margin: .25rem clamp(1.25rem, 4vw, 2.75rem) 1.5rem 0;
	object-fit: contain;
}
body.tm-author-has-books .fusion-layout-column:has(img.alignleft),
body.tm-author-has-books .wp-block-post-content:has(> a img.alignleft) {
	font-size: 1.05rem;
	line-height: 1.7;
}
body.tm-author-has-books .fusion-layout-column:has(img.alignleft) {
	margin-bottom: clamp(2.5rem, 5vw, 4.5rem) !important;
}
body.tm-author-profile .fusion_builder_column_1_2 .fusion-image-element img,
body.tm-author-profile .fusion_builder_column_1_3 .fusion-image-element img,
body.tm-author-profile .fusion_builder_column_1_4 .fusion-image-element img {
	width: auto;
	max-width: 240px;
	max-height: 360px;
	object-fit: contain;
}
.tm-author-order {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 1rem;
	margin: clamp(2rem, 5vw, 4rem) 0 0 min(38%, 260px);
	padding-top: 2rem;
	border-top: 1px solid rgba(23, 63, 50, .18);
}
.tm-amazon-button {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto auto;
	align-items: center;
	min-width: min(100%, 310px);
	padding: .7rem 1.5rem .8rem 2rem;
	border-radius: 999px;
	background: #232f3e;
	color: #fff !important;
	line-height: 1;
	text-align: center;
	text-decoration: none !important;
	transition: background-color .2s ease, transform .2s ease;
}
.tm-amazon-button span {
	grid-column: 1;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .06em;
}
.tm-amazon-button strong {
	grid-column: 1;
	font-family: Arial, sans-serif;
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: -.055em;
}
.tm-amazon-button b {
	grid-column: 2;
	grid-row: 1 / 3;
	padding-left: 1rem;
	color: #ff9900;
	font: 700 3.25rem/1 Arial, sans-serif;
}
.tm-amazon-button:hover,
.tm-amazon-button:focus-visible {
	background: #131a22;
	transform: translateY(-2px);
}

/* Clean, repeatable author and multi-book layout. */
.tm-simple-author__portrait {
	margin: 0 auto 2rem;
	text-align: center;
}
.tm-simple-author__portrait img {
	display: block;
	width: auto;
	max-width: min(100%, 260px);
	max-height: 360px;
	margin-inline: auto;
	object-fit: contain;
}
.tm-simple-author__bio {
	max-width: 760px;
	margin: 0 auto clamp(3.5rem, 7vw, 6rem);
	font-size: 1.05rem;
	line-height: 1.75;
}
.tm-simple-books > h2 {
	margin: 0 0 clamp(2.5rem, 5vw, 4rem);
	color: var(--wp--preset--color--deep-green);
	font-size: clamp(2rem, 4vw, 3.5rem);
	font-weight: 400;
	text-align: center;
}
.tm-simple-book {
	display: grid;
	grid-template-columns: minmax(180px, 32%) minmax(0, 1fr);
	gap: clamp(2rem, 7vw, 7rem);
	align-items: center;
	max-width: 860px;
	margin: 0 auto clamp(3.5rem, 7vw, 6rem);
}
.tm-simple-book--no-cover {
	display: block;
	max-width: 760px;
}
.tm-simple-book__cover { margin: 0; text-align: center; }
.tm-simple-book__cover img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 380px;
	margin-inline: auto;
	object-fit: contain;
}
.tm-simple-book__content { font-size: 1.05rem; line-height: 1.7; }
.tm-simple-book__content h3 {
	margin: 0 0 1rem;
	color: var(--wp--preset--color--deep-green);
	font-size: clamp(1.5rem, 2.5vw, 2.15rem);
	font-weight: 400;
}
.tm-simple-book__content .tm-amazon-button { margin-top: 2rem; }
.tm-amazon-button--disabled,
.tm-amazon-button--disabled:hover {
	cursor: default;
	filter: grayscale(.35);
	opacity: .7;
	transform: none;
}
.tm-simple-book-review {
	max-width: 760px;
	margin: 0 auto;
	padding-top: 2rem;
	border-top: 1px solid rgba(23, 63, 50, .18);
	line-height: 1.7;
}
.tm-simple-book-review h3 { color: var(--wp--preset--color--deep-green); font-weight: 400; }

/* Alan Haft: hide the retired store markup now represented by simple rows. */
body.page-id-628 .fusion-builder-column-2,
body.page-id-628 .fusion-builder-column-3,
body.page-id-628 .fusion-builder-column-4,
body.page-id-628 .fusion-builder-column-5,
body.page-id-628 .wp-block-post-content > .tm-author-order {
	display: none !important;
}
.tm-alan-books { clear: both; padding-top: clamp(3rem, 6vw, 5rem); }

/* Watson profile: replace retired store links with button-free simple rows. */
body.page-id-724 .fusion-builder-column-2,
body.page-id-724 .fusion-builder-column-3,
body.page-id-724 .fusion-builder-column-4,
body.page-id-724 .fusion-builder-column-5,
body.page-id-724 .wp-block-post-content > .tm-author-order {
	display: none !important;
}
.tm-watson-books { clear: both; padding-top: clamp(3rem, 6vw, 5rem); }

/* Amy Minty: replace all legacy book columns after the biography. */
body.page-id-6655 .fusion-builder-column-2,
body.page-id-6655 .fusion-builder-column-2 ~ .fusion-layout-column,
body.page-id-6655 .wp-block-post-content > .tm-author-order {
	display: none !important;
}
.tm-amy-books { clear: both; padding-top: clamp(3rem, 6vw, 5rem); }
.tm-amy-books .tm-simple-book-review { margin-bottom: clamp(3.5rem, 7vw, 6rem); }
.tm-amazon-button--inline {
	display: inline-grid;
	width: auto;
	min-width: min(100%, 285px);
	margin-top: 1.1rem;
	vertical-align: top;
}

/* Books: filterable cover gallery. */
body.page-id-8019 main#wp--skip-link--target {
	width: min(100% - 1rem, 1720px);
	max-width: none !important;
	margin-inline: auto;
	padding-inline: clamp(.25rem, 1vw, 1rem) !important;
	padding-top: clamp(3rem, 6vw, 5rem) !important;
}
body.page-id-8019 .wp-block-post-title {
	margin: 0 auto 1rem;
	color: var(--wp--preset--color--deep-green);
	font-size: clamp(2.6rem, 5vw, 4.5rem) !important;
	font-weight: 400;
	text-align: center;
}
body.page-id-8019 main > .tm-rule { width: 64px; margin: 0 auto clamp(3rem, 6vw, 5rem); }
body.page-id-8019 .wp-block-post-content { width: 100% !important; max-width: none !important; }
.tm-books-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: clamp(1.75rem, 3vw, 3.5rem); align-items: start; }
.tm-books-sidebar { position: sticky; top: 2rem; }
.tm-books-sidebar__heading { display: flex; align-items: center; justify-content: space-between; padding-bottom: 1.15rem; border-bottom: 1px solid rgba(23, 63, 50, .2); }
.tm-books-sidebar__heading h2 { margin: 0; color: var(--wp--preset--color--deep-green); font-size: 1.35rem; font-weight: 700; }
.tm-books-sidebar__heading span { font-size: 1.5rem; }
.tm-books-filters { display: grid; gap: .15rem; padding-top: 1rem; }
.tm-books-filter { display: flex; justify-content: space-between; gap: 1rem; width: 100%; padding: .75rem .65rem; border: 0; border-radius: 4px; background: transparent; color: #59635f; font: inherit; text-align: left; cursor: pointer; }
.tm-books-filter small { color: #8b928f; }
.tm-books-filter:hover { background: rgba(23, 63, 50, .06); color: var(--wp--preset--color--deep-green); }
.tm-books-filter.is-active { background: var(--wp--preset--color--deep-green); color: var(--wp--preset--color--cream); font-weight: 700; }
.tm-books-filter.is-active small { color: inherit; }
.tm-books-toolbar { min-height: 2rem; margin-bottom: 1.25rem; color: #68716e; }
.tm-books-toolbar p { margin: 0; }
.tm-books-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: clamp(2.25rem, 4vw, 4rem) clamp(1.25rem, 2.25vw, 2.5rem); }
.tm-book-card[hidden] { display: none; }
.tm-book-card a, .tm-book-card > div { display: block; color: inherit; text-decoration: none; }
.tm-book-card__cover { display: grid; place-items: center; aspect-ratio: 2 / 3; overflow: hidden; background: #f0eee7; box-shadow: 0 14px 28px rgba(24, 35, 30, .12); transition: transform .2s ease, box-shadow .2s ease; }
.tm-book-card__cover img { width: 100%; height: 100%; object-fit: contain; }
.tm-book-card h2 { margin: 1rem 0 .25rem; color: var(--wp--preset--color--deep-green); font-size: clamp(1rem, 1.25vw, 1.2rem); font-weight: 500; line-height: 1.35; }
.tm-book-card p { margin: 0; color: #b17c1f; font-size: .92rem; }
.tm-book-card a:hover .tm-book-card__cover, .tm-book-card a:focus-visible .tm-book-card__cover { transform: translateY(-4px); box-shadow: 0 20px 38px rgba(24, 35, 30, .2); }
.tm-book-card a:hover h2 { color: var(--wp--preset--color--deep-red); }
.tm-books-empty { padding: 3rem; text-align: center; }

@media (max-width: 781px) {
	.tm-topline { display: none; }
	.tm-hero { min-height: auto; padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; }
	.tm-hero-mark { width: 150px; margin: 1rem auto; }
	.tm-book-carousel { margin-top: 2rem; }
	.tm-book-carousel__viewport { height: 360px; }
	.tm-book-carousel__slide img { height: 350px; }
	.tm-brand-logo { width: 210px !important; height: 50px; flex-basis: 210px; }
	.tm-brand-logo a { height: 50px; }
	.tm-brand-logo img { width: 210px !important; height: 210px !important; transform: translateY(-80px); }
	.tm-about-hero {
		width: calc(100% - 2rem) !important;
		padding-top: 3.5rem !important;
		padding-bottom: 3.5rem !important;
	}
	.tm-about-hero h2 { font-size: clamp(2.25rem, 10vw, 3.5rem) !important; }
	.tm-about-mission,
	body.page-id-10 .wp-block-post-content > .alignfull:last-child { width: calc(100% - 2rem) !important; }
	.tm-about-note {
		grid-template-columns: 96px minmax(0, 1fr);
		gap: 1rem;
	}
	.tm-about-team-card img { width: 136px; height: 136px; }
	body.page-id-65 main#wp--skip-link--target { padding-inline: 1rem !important; }
	.tm-services-list ul { grid-template-columns: 1fr; }
	.tm-author-directory ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tm-newsletter-directory ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.tm-author-has-books .fusion-builder-row:has(> .fusion_builder_column_1_2) {
		grid-template-columns: minmax(140px, 32%) minmax(0, 1fr);
		column-gap: 1.5rem;
	}
	body.tm-author-profile .fusion-builder-row { margin-inline: 0 !important; }
	body.tm-author-profile .fusion-layout-column { padding-inline: 0 !important; }
	.tm-books-layout { grid-template-columns: 1fr; }
	.tm-books-sidebar { position: static; }
	.tm-books-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tm-books-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
	.tm-author-directory ul { grid-template-columns: 1fr; }
	.tm-newsletter-directory ul { grid-template-columns: 1fr; }
	body.tm-author-has-books .fusion-builder-row:has(> .fusion_builder_column_1_2) { display: block !important; }
	body.tm-author-profile img.alignleft,
	body.tm-author-profile a > img.alignleft {
		float: none;
		display: block;
		max-width: min(100%, 230px);
		margin: 0 auto 1.5rem;
	}
	.tm-author-order { justify-content: center; margin-left: 0; }
	.tm-simple-book { display: block; }
	.tm-simple-book__cover { margin-bottom: 1.75rem; }
	.tm-simple-book__cover img { max-width: 240px; }
	.tm-books-filters, .tm-books-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { transition: none !important; }
}
