/* Orchard-inspired structure in TM's existing visual language. Post pages only. */
.m-article .m-comments__list li:is(.comment, .pingback) {
	border-bottom: 0;
	padding: 0;
	margin-bottom: 16px;
}
.m-article .m-comments__list :is(.comment-body, .pingback > .comment-body) {
	background: var(--m-panel-2, #e2ece5);
	padding: 22px 24px;
}
.m-article .tm-article-heading.has-banner { position: relative; isolation: isolate; overflow: hidden; min-height: 320px; display: flex; flex-direction: column; justify-content: center; }
.m-article .tm-article-banner { position: absolute; inset: 0; z-index: -2; }
.m-article .tm-article-banner img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; border-radius: 0; }
.m-article .tm-article-heading.has-banner::before { content: ''; position: absolute; inset: 0; z-index: -1; background: rgba(255,252,247,.75); }
@media(max-width: 767px) { .m-article .tm-article-heading.has-banner { min-height: 260px; } }
body.single-post .m-article { max-width: none; padding: 0 0 80px; background: var(--m-panel); }
.m-article .tm-article-heading { padding: 64px 24px 48px; background: var(--m-paper); text-align: center; }
.m-article .tm-article-heading .m-article__title { max-width: 960px; margin: 0 auto; font: 500 clamp(32px,3.4vw,48px)/1.2 var(--m-sans); letter-spacing: -.025em; text-transform: none; color: var(--m-ink); text-wrap: balance; }
.m-article .tm-article-heading .m-article__lede { max-width: 660px; margin: 20px auto 0; font: 400 16px/1.75 var(--m-sans); letter-spacing: 0; color: var(--m-label); }
.m-article .m-article__back { display: block; max-width: 960px; margin: 0 auto; padding: 32px 0 20px; font: 500 13px/1.5 var(--m-sans); letter-spacing: 0; text-transform: none; color: var(--tm-teal); }
.m-article .m-article__layout { display: block; max-width: 960px; margin: 0 auto; }
.m-article .m-article__main { padding: clamp(24px,5vw,64px); background: #fff; min-width: 0; }
.m-article .m-article__meta { display: flex; flex-wrap: wrap; gap: 12px 24px; padding-bottom: 24px; margin: 0 0 32px; border-bottom: 1px solid var(--m-hairline); font: 400 12px/1.6 var(--m-sans); letter-spacing: 0; text-transform: none; color: var(--m-label); }
.m-article .m-article__meta a { color: inherit; }
.m-article .m-article__hero { margin: 0 0 36px; }
.m-article .m-article__hero img { display: block; width: 100%; height: auto; max-height: 520px; object-fit: cover; border-radius: 0; }
.m-article .m-article__body { max-width: 72ch; margin: 0 auto; font: 400 16px/1.85 var(--m-sans); color: var(--m-ink); overflow-wrap: break-word; }
.m-article .m-article__body p { margin: 0 0 24px; }
.m-article .m-article__body :is(h2,h3) { margin: 36px 0 16px; font-family: var(--m-sans); font-weight: 500; line-height: 1.35; letter-spacing: -.01em; text-transform: none; }
.m-article .m-article__body h2 { font-size: 26px; }
.m-article .m-article__body h3 { font-size: 21px; }
.m-article .m-article__body :is(ul,ol) { padding-left: 24px; margin-bottom: 24px; }
.m-article .m-article__body li + li { margin-top: 8px; }
.m-article .m-article__body a { color: var(--tm-teal); text-decoration: underline; text-underline-offset: 3px; }
.m-article .m-article__body :is(img,video,iframe) { max-width: 100%; }
.m-article .m-article__body figure { margin: 32px 0; }
.m-article .m-article__body figcaption { font: 400 12px/1.6 var(--m-sans); letter-spacing: 0; text-transform: none; margin-top: 12px; color: var(--m-label); }
.m-article .m-article__body blockquote { padding: 20px 24px; margin: 28px 0; border-left: 2px solid var(--tm-gold); background: var(--m-panel); }
.m-article .m-article__body blockquote p:last-child { margin-bottom: 0; }
.m-article .m-article__foot { display: block; margin-top: 40px; border-top: 1px solid var(--m-hairline); padding-top: 24px; }
.m-article .tm-article-pagination { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--m-hairline); }
.m-article .tm-article-pagination a { display: flex; flex-direction: column; gap: 10px; color: var(--m-ink); letter-spacing: 0; text-transform: none; }
.m-article .tm-article-pagination span { font: 400 12px/1.5 var(--m-sans); color: var(--m-label); }
.m-article .tm-article-pagination strong { font: 500 18px/1.4 var(--m-sans); }
.m-article .m-article__rail { position: static; margin-top: 48px; }
.m-article .m-related { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.m-article .m-related__title { grid-column: 1/-1; margin: 0; font: 500 24px/1.3 var(--m-sans); letter-spacing: -.01em; text-transform: none; }
.m-article .m-related__rule { display: none; }
.m-article .m-relcard { display: block; padding: 0; margin: 0; }
.m-article .m-relcard__crop { display: block; width: 100%; margin-bottom: 16px; }
.m-article .m-relcard__crop .m-tile { aspect-ratio: 4/3; }
.m-article .m-relcard__title { font: 400 23px/1.2 var(--m-display); }
.m-article .m-inspired { margin-top: 40px; padding: 28px; background: var(--m-paper); }
.m-article .m-inspired__title { font: 500 22px/1.3 var(--m-sans); letter-spacing: 0; text-transform: none; }
.m-article .m-inspired__copy { font: 400 14px/1.7 var(--m-sans); }
.m-article #comments { max-width: 960px; margin: 48px auto 0; }
.m-article :is(a,button):focus-visible { outline: 2px solid var(--tm-teal); outline-offset: 4px; }
@media(max-width: 1023px) { .m-article :is(.m-article__layout,.m-article__back,#comments) { margin-inline: 24px; } }
@media(max-width: 767px) {
 .m-article .tm-article-heading { padding: 48px 20px 32px; }
 .m-article :is(.m-article__layout,.m-article__back,#comments) { margin-inline: 16px; }
 .m-article .m-article__main { padding: 24px 20px; }
 .m-article .m-related { grid-template-columns: 1fr; gap: 28px; }
 .m-article .tm-article-pagination { grid-template-columns: 1fr; }
 .m-article .m-article__body h2 { font-size: 24px; }
}

/* Article content sits directly on jade, without an inset card. */
.m-article .m-article__main { padding: 0; background: transparent; }
.m-article .m-article__body { max-width: none; }
.m-article .tm-after-article { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); gap: 56px; align-items: start; margin-top: 48px; padding-top: 0; border-top: 0; }
.m-article .tm-after-article #comments { margin: 0; padding: 0; max-width: none; min-width: 0; border-top: 0; }
.m-article .tm-after-article .m-article__rail { margin: 0; padding: 0; min-width: 0; }
.m-article .tm-after-article .m-related { grid-template-columns: 1fr; gap: 24px; }
.m-article .tm-after-article > :only-child { grid-column: 1 / -1; }
.m-article .tm-after-article .m-relcard { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 16px; }
.m-article .tm-after-article .m-relcard__crop { margin: 0; }
.m-article .tm-after-article .m-relcard__title { margin-top: 0; }
@media(max-width: 767px) {
 .m-article .m-article__main { padding: 0; }
 .m-article .tm-after-article { grid-template-columns: 1fr; gap: 40px; margin-top: 32px; padding-top: 0; }
 .m-article .tm-after-article #comments { margin: 0; }
}

/* Article navigation and metadata sit opposite the sharing icons. */
.m-article .m-article__foot > .m-share { order: 2; margin-left: auto; }
.m-article .m-article__foot > .tm-share-details { order: 1; justify-content: flex-start; }
.m-article .m-article__layout { padding-top: 40px; }
.m-article .m-article__foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; }
.m-article .tm-share-details { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 12px 24px; }
.m-article .tm-share-details .m-article__back { padding: 0; margin: 0; }
.m-article .tm-share-details .m-article__meta { padding: 0; margin: 0; border: 0; gap: 16px; }
@media(max-width: 767px) {
 .m-article .m-article__layout { padding-top: 28px; }
 .m-article .tm-share-details { justify-content: flex-start; }
}
