/* Twelve Months — Blog: All Blog grid ([tm_blog_grid], Figma 3093:2042) + single post (single-post.php, Figma 2926:1301).
   Desktop values measured at 1440 (Figma line heights are whole px: 20px→24, 16px→20, 13px→16, 24px→29, 32px→39, 40px→49). */

.tm-blog,
.tm-post,
.tm-crumbs {
	--tm-ink: #123726;
	--tm-text: #182115;
	--tm-accent: var(--e-global-typography-tm_accent-font-family, "Montserrat"), Montserrat, sans-serif;
	font-family: Montserrat, sans-serif;
}
.tm-blog .screen-reader-text,
.tm-post .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}

/* ---------- Breadcrumb ---------- */
.tm-crumbs {
	display: flex; margin: 0; font-size: 20px; font-weight: 400; line-height: 24px;
	text-transform: uppercase; color: var(--tm-ink); white-space: pre;
}
.tm-crumbs a { color: inherit; text-decoration: none; }
.tm-crumbs a:hover, .tm-crumbs a:focus-visible { text-decoration: underline; }

/* ---------- Listing ([tm_blog_grid]) ---------- */
.tm-blog {
	width: min(1233px, calc(100% - 80px));
	margin: 0 0 0 max(40px, calc(50% - 619px));
	text-align: left;
}
.tm-blog__crumbs { margin-left: 12px; }
.tm-blog__cats {
	display: flex; flex-wrap: wrap; gap: 16px 26px; margin: 32px 0 0 4px;
}
.tm-pill {
	box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
	min-width: 157px; height: 39px; padding: 0 14px; border-radius: 10px;
	background: rgba(232, 222, 211, .7); box-shadow: 4px 13px 32.9px rgba(0, 0, 0, .13);
	font: 400 16px/20px Montserrat, sans-serif; text-transform: uppercase; color: var(--tm-ink);
	text-decoration: none; white-space: nowrap; transition: background-color .2s, color .2s;
}
.tm-pill:hover, .tm-pill:focus-visible, .tm-pill.is-active { background: #A4988B; color: #fff; }

.tm-blog__grid {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 16.5px; row-gap: 75px; margin-top: 185px;
}
.tm-blog__empty { margin: 120px 0 0; font-size: 20px; color: var(--tm-ink); }

/* ---------- Card ---------- */
.tm-card { position: relative; display: flex; flex-direction: column; min-width: 0; }
.tm-card__media { position: relative; }
.tm-card__imglink { display: block; aspect-ratio: 400 / 221; overflow: hidden; }
.tm-card__img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.tm-card__img--empty { background: #E3DCD6; }
.tm-card:hover .tm-card__img { transform: scale(1.03); }
.tm-card__cat {
	position: absolute; left: -1px; top: -1px; box-sizing: border-box;
	display: flex; align-items: center; justify-content: center;
	min-width: 157px; height: 39px; padding: 0 12px; border-radius: 10px;
	background: rgba(232, 222, 211, .7); box-shadow: 4px 13px 32.9px rgba(0, 0, 0, .13);
	font: 400 24px/29px Montserrat, sans-serif; text-transform: uppercase; color: #172014;
	white-space: nowrap; pointer-events: none;
}
.tm-card__body { padding: 45px 0 0 3px; }
.tm-card .tm-card__title {
	margin: 0; font: 400 20px/24px Montserrat, sans-serif; letter-spacing: 0;
	text-transform: uppercase; color: var(--tm-ink);
}
.tm-card__title a { color: inherit; text-decoration: none; }
.tm-card__title a:hover, .tm-card__title a:focus-visible { text-decoration: underline; }
.tm-card .tm-card__excerpt {
	margin: 24px 0 0; max-width: 372px; min-height: 40px;
	font: 400 16px/20px Montserrat, sans-serif; color: var(--tm-ink);
}
.tm-card .tm-card__date {
	display: flex; align-items: center; gap: 6px; height: 18px; margin: 18px 0 0;
	font: 400 13px/16px Montserrat, sans-serif; color: #9E917F;
}
.tm-card__clock { display: block; width: 18px; height: 18px; flex: 0 0 18px; }
.tm-card .tm-card__more {
	display: inline-block; margin-top: 14px; padding-bottom: 7px; border-bottom: 2px solid #16332F;
	font: 700 16px/20px Montserrat, sans-serif; color: var(--tm-ink); text-decoration: none;
}
.tm-card .tm-card__more:hover, .tm-card .tm-card__more:focus-visible { color: #A4988B; border-color: #A4988B; }

/* ---------- Pagination ---------- */
.tm-pager { display: flex; justify-content: center; align-items: center; gap: 9px; margin-top: 98px; }
.tm-pager__item {
	box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
	width: 37px; height: 37px; border: 1px solid #BBBBBB; border-radius: 19px;
	font: 400 20px/1 var(--tm-accent); color: #8B7C6B; text-decoration: none;
	transition: background-color .2s, color .2s, border-color .2s;
}
.tm-pager__item--wide { width: 48px; }
.tm-pager__item.is-current { background: #90806F; border-color: #90806F; color: #fff; }
a.tm-pager__item:hover, a.tm-pager__item:focus-visible { border-color: #90806F; color: #5d5246; }
.tm-pager__arrow { color: #646363; }
.tm-pager__arrow svg { display: block; }
.tm-pager__arrow--prev svg { transform: scaleX(-1); }
.tm-pager__dots { width: 36px; text-align: center; font: 400 14px/1 var(--tm-accent); color: #8B7C6B; letter-spacing: 1px; }

/* ---------- Single post ---------- */
.tm-post { display: block; background: #FBF4ED; padding-bottom: 43px; }
.tm-post__hero { height: 614px; overflow: hidden; background: #E3DCD6; }
.tm-post .tm-post__hero .tm-post__hero-img { display: block; width: 100%; height: 100%; max-height: none; object-fit: cover; }
.tm-post .tm-card .tm-card__img { max-height: none; }
.tm-post__crumbs { margin: 107px 0 0 max(20px, calc(50% - 605px)); }
.tm-post .tm-post__title {
	box-sizing: border-box; max-width: 1100px; margin: 76px auto 0; padding: 0 20px;
	font: 700 32px/39px Montserrat, sans-serif; letter-spacing: .32px; text-align: center; color: var(--tm-text);
}
.tm-post__body {
	box-sizing: border-box; width: min(1009px, calc(100% - 80px));
	margin-left: max(40px, calc(50% - 473px));
}
.tm-post__content {
	padding-top: 93px; color: var(--tm-text);
	font: 400 20px/24px Montserrat, sans-serif; letter-spacing: .2px; overflow-wrap: break-word;
}
.tm-post__content > * { margin: 0; }
.tm-post__content > * + * { margin-top: 24px; }
.tm-post__content > p + ul, .tm-post__content > p + ol { margin-top: 0; }
.tm-post__content > * + h2, .tm-post__content > * + h3 { margin-top: 52px; }
.tm-post__content > h2 + *, .tm-post__content > h3 + * { margin-top: 33px; }
.tm-post__content p { margin-bottom: 0; }
.tm-post__content h2 { font: 700 24px/29px Montserrat, sans-serif; letter-spacing: 0; color: var(--tm-text); }
.tm-post__content h3 { font: 700 20px/24px Montserrat, sans-serif; letter-spacing: 0; color: var(--tm-text); }
.tm-post__content h2.is-style-tm-accent, .tm-post__content h3.is-style-tm-accent { font-family: var(--tm-accent); color: var(--tm-ink); }
.tm-post__content ul { list-style: none; padding-left: 28px; }
.tm-post__content ol { padding-left: 28px; }
.tm-post__content ul > li { position: relative; }
.tm-post__content ul > li::before { content: "\2022"; position: absolute; left: -17px; }
.tm-post__content a { color: var(--tm-ink); text-decoration: underline; }
.tm-post__content img { max-width: 100%; height: auto; }
.tm-post__content figure { max-width: 100%; }
.tm-post__content figcaption { font-size: 14px; line-height: 18px; color: #8E8277; margin-top: 8px; }
.tm-post__content blockquote { padding-left: 24px; border-left: 2px solid #A4988B; font-style: italic; }

/* Feature box: table block with style "Feature box (2 columns)". */
.tm-post__content > .wp-block-table.is-style-tm-features {
	box-sizing: border-box; width: 793.5px; max-width: 100%; margin: 47.5px 0 0 93px; padding: 21.5px 0 22.5px;
	border: 1px solid #A2988C; border-radius: 17px; overflow: hidden;
	background: linear-gradient(#A2988C, #A2988C) no-repeat 393px 0 / 1px 100%, #EFECE9;
}
.tm-post__content .is-style-tm-features table { width: 100%; margin: 0; border: 0; border-collapse: collapse; table-layout: fixed; }
.tm-post__content .is-style-tm-features tr,
.tm-post__content .is-style-tm-features td {
	border: 0; background: none !important;
}
.tm-post__content .is-style-tm-features td {
	padding: 0 12px 4px 0; vertical-align: top; white-space: nowrap;
	font: 400 24px/29px var(--tm-accent); letter-spacing: 0; color: #000;
}
.tm-post__content .is-style-tm-features td:first-child { width: 393px; box-sizing: border-box; padding-left: 58.5px; }
.tm-post__content .is-style-tm-features td:last-child { padding-left: 70.5px; }

/* CTA + share */
.tm-post .tm-post__cta { margin: 104px 0 0; text-align: center; }
.tm-post__cta-btn {
	box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
	width: 483px; max-width: calc(100% - 40px); min-height: 51px; padding: 0 24px; border-radius: 28px;
	background: #A4988B; color: #fff; font: 800 20px/24px Montserrat, sans-serif; text-decoration: none;
	transition: background-color .2s;
}
.tm-post__cta-btn:hover, .tm-post__cta-btn:focus-visible { background: #8E8277; color: #fff; }
.tm-post__body--share { margin-top: 158px; }
.tm-share { display: flex; justify-content: flex-end; align-items: center; gap: 6.5px; padding-right: 7px; }
.tm-share__label { margin-right: 4.5px; font: 900 20px/24px Montserrat, sans-serif; text-transform: uppercase; color: #A4988B; }
.tm-share__btn { display: block; border-radius: 50%; transition: transform .2s; }
.tm-share__btn:hover, .tm-share__btn:focus-visible { transform: translateY(-2px); }
.tm-share__btn img { display: block; width: 73px; height: 73px; }

/* Recent Blog carousel */
.tm-recent { margin-top: 158px; }
.tm-recent .tm-recent__title {
	box-sizing: border-box; width: fit-content; min-width: 286px; margin: 0 auto; padding-bottom: 8.5px;
	border-bottom: 1px solid rgba(0, 0, 0, .7);
	font: 400 40px/49px var(--tm-accent); letter-spacing: .4px; text-transform: uppercase; text-align: center;
	color: var(--tm-ink); white-space: nowrap;
}
.tm-recent__wrap { position: relative; width: min(1233px, calc(100% - 140px)); margin: 86.5px auto 0; container-type: inline-size; }
.tm-recent__track {
	display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 33px) / 3); column-gap: 16.5px;
	overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none;
	padding: 1px 0 0 1px; margin: -1px 0 0 -1px;
}
.tm-recent__track::-webkit-scrollbar { display: none; }
.tm-recent__track > .tm-card { scroll-snap-align: start; }
.tm-recent .tm-card__body { padding-top: 31px; }
.tm-recent .tm-card .tm-card__date { margin-top: 25px; }
.tm-recent__nav {
	position: absolute; z-index: 2; top: calc((100cqw - 33px) / 3 * 0.27625 - 24px);
	width: 40px; height: 48px; padding: 0; border: 0; background: none; cursor: pointer;
	transition: opacity .2s;
}
.tm-recent__nav img { display: block; width: 40px; height: 48px; }
.tm-recent__nav--prev { left: -54px; }
.tm-recent__nav--next { right: -54px; }
.tm-recent__nav[disabled] { opacity: .35; cursor: default; }
.tm-recent.is-static .tm-recent__nav { display: none; }

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
	.tm-blog { width: calc(100% - 80px); margin-left: 40px; }
	.tm-blog__crumbs, .tm-blog__cats { margin-left: 0; }
	.tm-blog__cats { flex-wrap: nowrap; gap: 12px; overflow-x: auto; padding: 4px 0 24px; margin-bottom: -24px; scrollbar-width: none; }
	.tm-blog__cats::-webkit-scrollbar { display: none; }
	.tm-pill { flex: 0 0 auto; }
	.tm-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; row-gap: 56px; margin-top: 64px; }
	.tm-card .tm-card__excerpt { max-width: none; }
	.tm-card__body, .tm-recent .tm-card__body { padding-top: 28px; }
	.tm-pager { margin-top: 64px; }

	.tm-post__hero { height: 420px; }
	.tm-post__crumbs { margin: 56px 0 0 40px; }
	.tm-post .tm-post__title { margin-top: 40px; padding: 0 40px; font-size: 28px; line-height: 36px; }
	.tm-post__content { padding-top: 48px; font-size: 18px; line-height: 24px; }
	.tm-post__content h2 { font-size: 22px; line-height: 28px; }
	.tm-post__content > h2[style*="margin-top"], .tm-post__content > h3[style*="margin-top"] { margin-top: 48px !important; }
	.tm-post__content > p[style*="margin-top"] { margin-top: 24px !important; }
	.tm-post__content > .wp-block-table.is-style-tm-features { width: 100%; margin: 32px 0 0; background-position: 50% 0, 0 0; }
	.tm-post__content .is-style-tm-features td { font-size: 20px; line-height: 26px; white-space: normal; padding-left: 32px; }
	.tm-post__content .is-style-tm-features td:first-child { width: 50%; padding-left: 32px; }
	.tm-post__content .is-style-tm-features td:last-child { padding-left: 32px; }
	.tm-post__content h2 br, .tm-post__content h3 br { display: none; }
	.tm-post .tm-post__cta { margin-top: 64px; }
	.tm-post__body--share { margin-top: 56px; }
	.tm-share { justify-content: center; padding-right: 0; }
	.tm-recent { margin-top: 80px; }
	.tm-recent__wrap { width: calc(100% - 80px); margin-top: 48px; }
	.tm-recent__track { grid-auto-columns: calc((100% - 24px) / 2); column-gap: 24px; }
	.tm-recent__nav { display: none; }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
	.tm-blog { width: calc(100% - 40px); margin-left: 20px; }
	.tm-crumbs { font-size: 16px; line-height: 20px; }
	.tm-blog__cats { margin-top: 20px; gap: 10px; }
	.tm-pill { min-width: 0; height: 36px; padding: 0 16px; font-size: 14px; }
	.tm-blog__grid { grid-template-columns: minmax(0, 1fr); row-gap: 48px; margin-top: 32px; }
	.tm-card__cat { min-width: 0; height: 32px; padding: 0 12px; font-size: 18px; line-height: 22px; }
	.tm-card__body, .tm-recent .tm-card__body { padding: 20px 0 0; }
	.tm-card .tm-card__title { font-size: 18px; line-height: 22px; }
	.tm-card .tm-card__excerpt { margin-top: 12px; min-height: 0; font-size: 15px; }
	.tm-card .tm-card__date, .tm-recent .tm-card .tm-card__date { margin-top: 14px; }
	.tm-card .tm-card__more { margin-top: 12px; }
	.tm-pager { margin-top: 48px; gap: 6px; }
	.tm-pager__item { width: 34px; height: 34px; font-size: 17px; }
	.tm-pager__item--wide { width: 44px; }
	.tm-pager__dots { width: 24px; }

	.tm-post__hero { height: 260px; }
	.tm-post__crumbs { margin: 32px 0 0 20px; }
	.tm-post .tm-post__title { margin-top: 24px; padding: 0 20px; font-size: 22px; line-height: 28px; letter-spacing: 0; }
	.tm-post__body { width: calc(100% - 40px); margin-left: 20px; }
	.tm-post__content { padding-top: 32px; font-size: 16px; line-height: 22px; letter-spacing: 0; }
	.tm-post__content h2 { font-size: 20px; line-height: 26px; }
	.tm-post__content > * + h2, .tm-post__content > * + h3,
	.tm-post__content > h2[style*="margin-top"], .tm-post__content > h3[style*="margin-top"] { margin-top: 36px !important; }
	.tm-post__content > h2 + *, .tm-post__content > h3 + * { margin-top: 16px; }
	.tm-post__content > p[style*="margin-top"] { margin-top: 16px !important; }
	.tm-post__content ul, .tm-post__content ol { padding-left: 20px; }
	.tm-post__content ul > li::before { left: -14px; }
	.tm-post__content > .wp-block-table.is-style-tm-features { margin-top: 24px; padding: 14px 0 16px; border-radius: 12px; }
	.tm-post__content .is-style-tm-features td { padding: 0 8px 6px 14px; font-size: 15px; line-height: 20px; }
	.tm-post__content .is-style-tm-features td:first-child, .tm-post__content .is-style-tm-features td:last-child { padding-left: 14px; }
	.tm-post .tm-post__cta { margin-top: 48px; }
	.tm-post__cta-btn { font-size: 16px; line-height: 20px; min-height: 48px; }
	.tm-post__body--share { margin-top: 40px; }
	.tm-share__label { font-size: 16px; }
	.tm-share__btn img { width: 52px; height: 52px; }
	.tm-recent { margin-top: 64px; }
	.tm-recent .tm-recent__title { min-width: 0; font-size: 28px; line-height: 34px; }
	.tm-recent__wrap { width: calc(100% - 40px); margin-top: 32px; }
	.tm-recent__track { grid-auto-columns: 85%; column-gap: 16px; }
}
