/* MM Prose */
.mm-prose { padding: 70px 0 var(--mm-sec); }
.mm-prose .mm-prose__col { max-width: 720px; margin-inline: auto; }
.mm-prose .mm-prose__head { margin-bottom: 30px; }
.mm-prose .mm-prose__toc { margin-bottom: 40px; padding: 22px 26px; border-radius: var(--mm-r-md); background: var(--mm-mist); }
.mm-prose.tone-mist .mm-prose__toc { background: var(--mm-white); }
.mm-prose .mm-prose__toc p { font-size: 14px; font-weight: 600; margin-bottom: 10px; }
.mm-prose .mm-prose__toc ol { columns: 2; column-gap: 28px; list-style: decimal; padding-left: 18px; font-size: 15px; color: var(--mm-grey); }
.mm-prose .mm-prose__toc li { margin-bottom: 6px; break-inside: avoid; }
.mm-prose .mm-prose__toc a { color: var(--mm-navy); text-decoration: none; }
.mm-prose .mm-prose__toc a:hover { text-decoration: underline; }

/* Body typography */
.mm-prose .mm-prose__body { font-size: 17px; line-height: 1.6; color: var(--mm-ink); }
.mm-prose .mm-prose__body > * + * { margin-top: 1em; }
.mm-prose .mm-prose__body h2 { margin-top: 2em; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.15; font-weight: 650; letter-spacing: -0.024em; scroll-margin-top: calc(var(--mm-hdr) + 20px); }
.mm-prose .mm-prose__body h3 { margin-top: 1.7em; font-size: 21px; line-height: 1.2; font-weight: 650; letter-spacing: -0.018em; scroll-margin-top: calc(var(--mm-hdr) + 20px); }
.mm-prose .mm-prose__body h4 { margin-top: 1.5em; font-size: 17px; font-weight: 650; }
.mm-prose .mm-prose__body > :first-child { margin-top: 0; }
.mm-prose .mm-prose__body ul, .mm-prose .mm-prose__body ol { padding-left: 1.3em; }
.mm-prose .mm-prose__body ul { list-style: disc; }
.mm-prose .mm-prose__body ol { list-style: decimal; }
.mm-prose .mm-prose__body li + li { margin-top: .4em; }
.mm-prose .mm-prose__body a { color: var(--mm-navy); text-decoration: underline; text-underline-offset: 3px; }
.mm-prose .mm-prose__body strong { font-weight: 600; }
.mm-prose .mm-prose__body blockquote { padding: 4px 0 4px 20px; border-left: 3px solid var(--mm-navy); font-size: 19px; font-weight: 500; }
.mm-prose .mm-prose__body table { width: 100%; border-collapse: collapse; font-size: 15px; display: block; overflow-x: auto; }
.mm-prose .mm-prose__body th, .mm-prose .mm-prose__body td { padding: 10px 12px; border-bottom: 1px solid var(--mm-hair); text-align: left; vertical-align: top; }
.mm-prose .mm-prose__body th { font-weight: 600; }
.mm-prose .mm-prose__body img { border-radius: var(--mm-r-sm); }

/* Story layout */
.mm-prose .mm-prose__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 56px; align-items: start; }
.mm-prose--img .mm-prose__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.mm-prose--imgleft .mm-prose__media { order: -1; }
.mm-prose--story .mm-prose__body { margin-top: 20px; color: var(--mm-grey); }
.mm-prose--story .mm-prose__body strong { color: var(--mm-ink); }
.mm-prose .mm-prose__media { position: sticky; top: calc(var(--mm-hdr) + 24px); }
.mm-prose .mm-prose__frame { position: relative; aspect-ratio: 4 / 5; border-radius: var(--mm-r-lg); overflow: hidden; background: var(--mm-mist); }
.mm-prose .mm-prose__frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mm-prose .mm-prose__facts { margin-top: 30px; display: grid; }
.mm-prose .mm-prose__facts > div { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-top: 1px solid var(--mm-hair); }
.mm-prose .mm-prose__facts dt { color: var(--mm-grey); font-size: 15px; }
.mm-prose .mm-prose__facts dd { font-size: 17px; font-weight: 500; }
.mm-prose.tone-black .mm-prose__body, .mm-prose.tone-black .mm-prose__body h2, .mm-prose.tone-black .mm-prose__body h3 { color: #f5f5f7; }
.mm-prose.tone-black .mm-prose__body a { color: var(--mm-link-dark); }

@media (max-width: 833px) {
	.mm-prose { padding: 40px 0 70px; }
	.mm-prose .mm-prose__body { font-size: 16px; }
	.mm-prose .mm-prose__toc ol { columns: 1; }
	.mm-prose--img .mm-prose__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.mm-prose .mm-prose__media { position: static; order: -1; }
	.mm-prose .mm-prose__frame { aspect-ratio: 4 / 3; border-radius: 22px; }
	.mm-prose .mm-prose__facts > div { grid-template-columns: 110px minmax(0, 1fr); }
}
