/* MIDDERMUSIC theme styles. Tokens come from tokens.css (brand kit, unmodified).
   Rules: lilac is a flat field with ink text only; no ad placeholders, labels or
   styles for Mediavine elements (.mv-ad-box, [id^="mv-"], .adunitwrapper). */

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--mm-paper); color: var(--mm-ink); font-family: var(--mm-font-serif); font-size: var(--mm-size-body); line-height: var(--mm-lh-body); text-rendering: optimizeLegibility; }
img, svg, video { max-width: 100%; height: auto; }
h1, h2, h3, h4, h5, h6 { font-family: var(--mm-font-sans); font-weight: 700; margin: 0; }
p { margin: 0; }
.screen-reader-text { border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.skip-link:focus { clip-path: none; height: auto; width: auto; background: var(--mm-paper); color: var(--mm-ink); padding: 8px 12px; z-index: 1000; top: 8px; left: 8px; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
:root :where(.is-layout-flow) > * { margin-block-start: 0; }
.mm-mono, .mm-card-meta, .mm-byline dt, .mm-toc__label, .mm-toc__n, .mm-share__label, .mm-kicker__sub,
.mm-label, .mm-tag, .mm-verdict__label, .mm-verdict__out, .mm-subscore dt, .mm-squares__num, .mm-chips__n { font-family: var(--mm-font-mono); font-size: var(--mm-size-label); line-height: 1.4; letter-spacing: .04em; text-transform: uppercase; }

/* Labels: .mm-label = lilac block (tokens.css), .mm-tag = outlined (AFFILIATE LINK, PAID PARTNERSHIP). */
.mm-label { display: inline-block; padding: 3px 7px; font-weight: 500; }
.mm-tag { display: inline-block; padding: 2px 6px; border: 1px solid currentColor; font-weight: 500; background: transparent; }
.is-style-label { font-family: var(--mm-font-mono); font-size: var(--mm-size-label); text-transform: uppercase; letter-spacing: .04em; color: var(--mm-meta); }
.is-style-lilac-label { display: inline-block; background: var(--mm-lilac); color: var(--mm-ink); font-family: var(--mm-font-mono); font-size: var(--mm-size-label); text-transform: uppercase; padding: 3px 7px; }
.is-style-outlined-label { display: inline-block; border: 1px solid currentColor; font-family: var(--mm-font-mono); font-size: var(--mm-size-label); text-transform: uppercase; padding: 2px 6px; }

/* Fields */
.is-style-lilac-field { background: var(--mm-lilac); color: var(--mm-ink); }
.is-style-lilac-field a { color: var(--mm-ink); }
.is-style-lilac-field .mm-label { background: var(--mm-ink); color: var(--mm-paper); }
.is-style-neutral-field { background: var(--mm-neutral); color: var(--mm-ink); }
.is-style-ruled { border-top: var(--mm-rule-masthead) solid var(--mm-ink); padding-top: 12px; }
/* Paid surfaces never show lilac */
.is-style-neutral-field .mm-label, .mm-variant-paid .mm-single .mm-label, .mm-partner .mm-label { background: transparent; border: 1px solid currentColor; }

/* Buttons and links */
.mm-btn, .wp-element-button, .wp-block-button__link { display: inline-block; font-family: var(--mm-font-sans); font-weight: 700; font-size: 15px; line-height: 1.2; padding: 12px 18px; background: var(--mm-ink); color: var(--mm-paper); border: 2px solid var(--mm-ink); border-radius: 0; text-decoration: none; cursor: pointer; }
.mm-btn--outline { background: transparent; color: var(--mm-ink); }
.mm-btn:hover, .wp-element-button:hover { background: var(--mm-deck); }
.mm-btn--outline:hover { background: var(--mm-ink); color: var(--mm-paper); }
.mm-arrow-link, .mm-arrow-link a { font-family: var(--mm-font-sans); font-size: 15px; font-weight: 400; }

/* ---------- Header ---------- */
.mm-header { position: relative; z-index: 50; background: var(--mm-paper); padding-inline: 16px; }
.mm-header > * { max-width: 1200px; margin-inline: auto; }
.mm-header__bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 52px; border-bottom: var(--mm-rule-masthead) solid var(--mm-ink); }
.mm-brand { margin: 0; line-height: 0; font-size: 0; }
.mm-brand__link { display: inline-block; color: var(--mm-ink); }
.mm-wordmark { display: block; fill: currentColor; height: auto; }
.mm-brand--compact .mm-wordmark { width: 200px; }
.mm-brand--masthead .mm-brand__link { display: block; }
.mm-brand--masthead .mm-wordmark { width: 100%; }
.mm-brand--footer .mm-wordmark { width: 100%; }
.mm-tools { display: flex; gap: 20px; }
.mm-tools__btn { font-family: var(--mm-font-sans); font-weight: 700; font-size: 15px; text-decoration: none; color: var(--mm-ink); padding: 8px 0; display: inline-flex; align-items: center; gap: 8px; }
.mm-tools__btn::after { content: ""; width: 18px; height: 14px; display: inline-block; background: currentColor; -webkit-mask: var(--mm-ico) center/contain no-repeat; mask: var(--mm-ico) center/contain no-repeat; }
.mm-tools__btn[data-mm-toggle="mm-search-panel"] { --mm-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='8' cy='8' r='6' fill='none' stroke='%23000' stroke-width='2.4'/%3E%3Cpath d='M12.5 12.5 19 19' stroke='%23000' stroke-width='2.4'/%3E%3C/svg%3E"); }
.mm-tools__btn[data-mm-toggle="mm-menu-panel"] { --mm-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 16'%3E%3Cpath d='M0 2h20M0 8h20M0 14h20' stroke='%23000' stroke-width='2.4'/%3E%3C/svg%3E"); }
.mm-tools__btn[aria-expanded="true"] { text-decoration: underline; text-underline-offset: 4px; }

.mm-header__nav { border-bottom: 1px solid var(--mm-ink); }
.mm-nav__list { list-style: none; margin: 0; padding: 0; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; white-space: nowrap; }
.mm-nav__list::-webkit-scrollbar { display: none; }
.mm-nav__list a { display: block; padding: 12px 8px; font-family: var(--mm-font-sans); font-weight: 700; font-size: 15px; text-decoration: none; color: var(--mm-ink); }
.mm-nav__list a:hover { text-decoration: underline; }
.mm-nav__list .is-active > a, .mm-nav__list .current-menu-item > a, .mm-nav__list .current-menu-parent > a, .mm-nav__list .current-post-ancestor > a, .mm-nav__list .current-category-ancestor > a { background: var(--mm-lilac); color: var(--mm-ink); }
.mm-nav__list .is-active > a, .mm-nav__list .current-menu-item > a { padding-block: 4px; margin-block: 8px; }

/* Panels */
.mm-panel { position: absolute; left: 0; right: 0; top: 100%; background: var(--mm-paper); border-bottom: var(--mm-rule-masthead) solid var(--mm-ink); padding: 24px 16px 32px; max-width: none; }
.mm-panel[hidden] { display: none; }
.mm-panel__inner { max-width: 1200px; margin: 0 auto; }
.mm-panel__cols { display: grid; gap: 24px; }
.mm-links { list-style: none; margin: 8px 0 0; padding: 0; font-family: var(--mm-font-sans); font-size: 15px; line-height: 1.5; }
.mm-links li { padding: 4px 0; }
.mm-links a { text-decoration: none; }
.mm-links a:hover { text-decoration: underline; }
.mm-links--big { font-size: 20px; font-weight: 700; }
.mm-search-form { display: flex; gap: 8px; max-width: 660px; }
.mm-search-form input[type="search"] { flex: 1; min-width: 0; font: 400 18px/1.3 var(--mm-font-sans); padding: 12px; border: 2px solid var(--mm-ink); background: var(--mm-paper); color: var(--mm-ink); border-radius: 0; }

/* Mobile header: 52px sticky bar, hides on scroll down (header.js); nav row scrolls away. */
@media (max-width: 767px) {
	.mm-header { position: sticky; top: var(--mm-stick-top, -45px); transition: transform .2s ease; }
	.mm-header.is-hidden { transform: translateY(calc(-100% - var(--mm-stick-top, -45px))); }
	.mm-header__bar { height: 52px; }
	.mm-brand--compact .mm-wordmark { width: 200px; height: 20px; }
	.mm-header--home .mm-header__masthead { padding: 12px 0 10px; border-bottom: var(--mm-rule-masthead) solid var(--mm-ink); }
	.mm-header--home .mm-header__bar { border-bottom: 1px solid var(--mm-ink); }
}
@media (min-width: 768px) {
	.mm-panel__cols { grid-template-columns: 2fr 1fr 1fr 1fr; }
	.mm-header__bar { min-height: 72px; }
	.mm-brand--compact .mm-wordmark { width: 300px; }
	.mm-header--home { position: sticky; top: var(--mm-stick-top, -220px); }
	.mm-header--home .mm-header__masthead { padding: 24px 0 14px; border-bottom: var(--mm-rule-masthead) solid var(--mm-ink); }
	.mm-header--home .mm-header__bar { min-height: 52px; border-bottom: 1px solid var(--mm-ink); }
	.mm-header--home .mm-brand--compact .mm-wordmark { width: 200px; }
}
/* Homepage header (pages/00-homepage-*): masthead, then one row: nav left, Search + Menu right.
   The compact wordmark joins the row once the masthead has scrolled away (header.js adds .is-stuck). */
.mm-header__bar--home .mm-nav { flex: 1 1 auto; min-width: 0; }
.mm-header__bar--home .mm-nav__list a { padding-inline: 0; }
.mm-header__bar--home .mm-nav__list { gap: 4px 36px; }
.mm-header--home .mm-header__bar .mm-brand { display: none; }
.mm-header--home.is-stuck .mm-header__bar .mm-brand { display: block; }
@media (min-width: 768px) {
	.mm-header--home .mm-header__masthead { padding: 20px 0 16px; }
	.mm-header--home .mm-header__bar--home { min-height: 40px; border-bottom: 1px solid var(--mm-ink); gap: 24px; }
	.mm-header__bar--home .mm-nav__list .is-active > a { padding-inline: 6px; }
}
@media (max-width: 1023px) and (min-width: 768px) {
	.mm-header__bar--home .mm-nav__list { gap: 4px 16px; }
	.mm-header__bar--home { gap: 16px; }
	.mm-home__split .mm-desk-head__desc { order: 3; flex-basis: 100%; }
}
/* Mobile: Menu (left) and Search (right) above the wordmark, nav row below it. */
@media (max-width: 767px) {
	.mm-header--home { display: grid; grid-template-columns: auto 1fr auto; grid-template-areas: "menu brand search" "mast mast mast" "nav nav nav"; align-items: center; }
	.mm-header--home > * { max-width: none; margin: 0; }
	.mm-header--home .mm-header__bar--home, .mm-header--home .mm-tools { display: contents; }
	.mm-header--home .mm-tools__btn { padding: 10px 0; font-size: 14px; }
	.mm-header--home .mm-tools__btn::after { display: none; }
	.mm-header--home .mm-tools__btn[data-mm-toggle="mm-menu-panel"] { grid-area: menu; }
	.mm-header--home .mm-tools__btn[data-mm-toggle="mm-search-panel"] { grid-area: search; }
	.mm-header--home .mm-header__bar--home .mm-brand { grid-area: brand; justify-self: center; }
	.mm-header--home .mm-header__masthead { grid-area: mast; padding: 2px 0 12px; border-bottom: var(--mm-rule-masthead) solid var(--mm-ink); }
	.mm-header--home .mm-nav { grid-area: nav; border-bottom: 1px solid var(--mm-ink); }
	.mm-header--home .mm-nav__list { gap: 4px 22px; }
	.mm-header--home .mm-nav__list a { padding-inline: 0; }
}

/* ---------- Footer ---------- */
.mm-footer { background: var(--mm-footer-bg); color: var(--mm-footer-text); margin-top: 64px; padding: 40px 16px 60px; }
.mm-footer a { color: var(--mm-footer-text); }
.mm-footer__inner { max-width: 1200px; margin: 0 auto; }
.mm-footer .mm-brand__link { color: var(--mm-footer-text); display: block; }
.mm-footer__cols { display: grid; gap: 32px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--mm-footer-text); }
.mm-footer__col h2 { font-size: var(--mm-size-label); }
.mm-footer__col .mm-label { background: none; color: inherit; opacity: .72; padding: 0; font-family: var(--mm-font-mono); letter-spacing: .06em; margin: 0 0 12px; }
@media (max-width: 767px) { .mm-footer__col--sections .mm-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } .mm-footer__col--sections .mm-links { columns: 2; } }
.mm-footer__social { margin-top: 32px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.mm-footer__social .mm-label { background: none; color: inherit; opacity: .72; padding: 0; margin: 0; font-family: var(--mm-font-mono); letter-spacing: .06em; }
.mm-social { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.mm-social__btn { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid var(--mm-footer-text); color: var(--mm-footer-text); font-family: var(--mm-font-mono); font-size: var(--mm-size-label); letter-spacing: .06em; text-transform: uppercase; text-decoration: none; }
.mm-social__btn:hover, .mm-social__btn:focus-visible { background: var(--mm-footer-text); color: var(--mm-footer-bg, #111); }
.mm-footer__legal { margin-top: 48px; padding-top: 16px; border-top: 1px solid var(--mm-meta); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; font-family: var(--mm-font-mono); font-size: var(--mm-size-label); letter-spacing: .04em; }
.mm-footer__legal p { margin: 0; }
@media (min-width: 768px) {
	.mm-footer { padding-bottom: 100px; } /* Mediavine adhesion bar (desktop up to 100px). */
	.mm-footer__cols { grid-template-columns: repeat(3, 1fr); }
	.mm-footer__col--sections { grid-column: 1 / -1; }
	.mm-footer__col:first-child .mm-links { columns: 3; }
}
@media (min-width: 1024px) {
	.mm-footer__cols { grid-template-columns: 2fr 1fr 1fr 1fr; }
	.mm-footer__col--sections { grid-column: auto; }
	.mm-footer__col:first-child .mm-links { columns: 2; }
}

/* ---------- Single shell (Mediavine geometry: 160 + 40 + 660 + 40 + 300 = 1200) ---------- */
.mm-single { display: grid; grid-template-columns: minmax(0, 660px); grid-template-areas: "head" "meta" "body" "rail"; justify-content: center; column-gap: 40px; padding: 24px 16px 0; max-width: 1232px; margin: 0 auto; }
.mm-single__head { grid-area: head; }
.mm-single__meta { grid-area: meta; }
.mm-single__body { grid-area: body; min-width: 0; }
.mm-rail { grid-area: rail; } /* ads only: never add widgets */
@media (min-width: 1024px) {
	.mm-single { grid-template-columns: minmax(0, 660px) 300px; grid-template-areas: "head rail" "meta rail" "body rail"; grid-template-rows: auto auto 1fr; }
	.mm-rail { min-width: 300px; }
}
@media (min-width: 1240px) {
	.mm-single { grid-template-columns: 160px 660px 300px; grid-template-areas: ". head rail" "meta body rail"; grid-template-rows: auto 1fr; }
	.mm-single__meta { padding-top: 0; }
}
.mm-singlebottom { max-width: 1232px; margin: 48px auto 0; padding: 0 16px; }

/* Head */
.mm-kicker ol { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.mm-kicker li + li::before { content: "/"; margin-right: 8px; font-family: var(--mm-font-mono); font-size: var(--mm-size-label); color: var(--mm-meta); }
.mm-kicker__section { display: inline-block; background: var(--mm-lilac); color: var(--mm-ink); font-family: var(--mm-font-mono); font-size: var(--mm-size-label); font-weight: 500; letter-spacing: .04em; text-transform: uppercase; padding: 3px 7px; text-decoration: none; }
.mm-kicker__section:hover { background: var(--mm-lilac-hover); }
.mm-kicker--paid { margin-bottom: 12px; }
.mm-title, .mm-single h1.wp-block-post-title { font-family: var(--mm-font-sans); font-size: var(--mm-size-h1); line-height: var(--mm-lh-h1); font-weight: 700; letter-spacing: -.01em; margin: 0; }
.mm-deck { font-family: var(--mm-font-serif); font-size: var(--mm-size-deck); line-height: var(--mm-lh-deck); color: var(--mm-deck); margin-top: 12px; }
.mm-single__head { padding-bottom: 16px; }

/* Byline: one line below 1240, left meta column at 1240+ */
.mm-byline { font-family: var(--mm-font-sans); font-size: 15px; line-height: 1.45; color: var(--mm-meta); padding-bottom: 16px; }
.mm-byline__list { margin: 0; display: flex; flex-wrap: wrap; gap: 4px 0; }
.mm-byline__row { display: inline; }
.mm-byline__row + .mm-byline__row::before { content: "·"; margin: 0 6px; }
.mm-byline dt { display: inline; font: inherit; text-transform: none; letter-spacing: 0; }
.mm-byline dt::after { content: " "; }
.mm-byline__row--read dt { display: none; }
.mm-byline dd { display: inline; margin: 0; }
.mm-byline dd a { color: var(--mm-meta); }
.mm-byline__role { display: none; }
.mm-share { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin-top: 8px; }
.mm-share ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 12px; }
.mm-share a, .mm-share button { font: 400 15px/1.4 var(--mm-font-sans); color: var(--mm-ink); background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.mm-share__label { color: var(--mm-meta); }
@media (min-width: 1240px) {
	.mm-single__meta { border-top: 1px solid var(--mm-ink); padding-top: 12px; align-self: stretch; }
	.mm-byline { color: var(--mm-ink); }
	.mm-byline__list { display: block; }
	.mm-byline__row { display: block; margin-bottom: 16px; }
	.mm-byline__row + .mm-byline__row::before { content: none; }
	.mm-byline dt, .mm-byline__row--read dt { display: block; font-family: var(--mm-font-mono); font-size: var(--mm-size-label); text-transform: uppercase; letter-spacing: .04em; color: var(--mm-meta); margin-bottom: 4px; }
	.mm-byline dd { display: block; }
	.mm-byline dd a { color: var(--mm-ink); font-weight: 700; text-decoration: none; }
	.mm-byline__role { display: block; color: var(--mm-meta); }
	.mm-share { display: block; }
	.mm-share__label { display: block; margin-bottom: 4px; }
	.mm-share ul { display: block; }
	.mm-share li { margin-bottom: 4px; }
	.mm-share a, .mm-share button { text-decoration: none; }
}

/* Contents */
.mm-toc { margin: 8px 0 24px; font-family: var(--mm-font-sans); font-size: 15px; line-height: 1.4; }
.mm-toc__list { list-style: none; margin: 8px 0 0; padding: 0; }
.mm-toc__list li { border-top: 1px solid var(--mm-rule); }
.mm-toc__list a { display: flex; gap: 8px; padding: 8px 0; text-decoration: none; }
.mm-toc__list a:hover { text-decoration: underline; }
.mm-toc__n { color: var(--mm-meta); flex: none; }
.mm-toc__sticky { display: none; }
.mm-toc__details { border-top: var(--mm-rule-masthead) solid var(--mm-ink); border-bottom: 1px solid var(--mm-ink); }
.mm-toc__details summary { cursor: pointer; padding: 12px 0; font-family: var(--mm-font-mono); font-size: var(--mm-size-label); text-transform: uppercase; letter-spacing: .04em; }
@media (min-width: 1240px) {
	.mm-toc__details { display: none; }
	.mm-toc__sticky { display: block; position: sticky; top: 24px; }
}

/* Body */
.mm-disclosure { background: var(--mm-affiliate-tint); color: var(--mm-ink); font-family: var(--mm-font-sans); font-size: 14px; line-height: 1.45; padding: 10px 14px; margin-bottom: 20px; }
.mm-disclosure__long { display: none; }
@media (min-width: 768px) { .mm-disclosure__long { display: inline; } .mm-disclosure__short { display: none; } }
.mm-hero { margin: 0 0 24px; }
.mm-hero__img { display: block; width: 100%; height: auto; aspect-ratio: auto; background: var(--mm-placeholder); }
.mm-hero figcaption { display: flex; justify-content: space-between; gap: 16px; margin-top: 8px; font-size: var(--mm-size-caption); line-height: 1.4; color: var(--mm-meta); }
.mm-hero__caption { font-style: italic; }
.mm-hero__credit { font-family: var(--mm-font-mono); font-size: var(--mm-size-label); text-transform: uppercase; white-space: nowrap; }
@media (max-width: 767px) { .mm-single .mm-hero { margin-inline: -16px; } .mm-single .mm-hero figcaption { padding-inline: 16px; } }

/* Paid partnership */
.mm-paid-bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 16px; background: var(--mm-neutral); padding: 10px 14px; margin-bottom: 20px; font-family: var(--mm-font-sans); font-size: 14px; }
.mm-paid-bar p { display: flex; align-items: center; gap: 8px; }
.mm-paid-bar__logo { max-height: 24px; width: auto; }
.mm-kicker--paid .mm-tag, .mm-card-meta--paid .mm-tag { color: var(--mm-meta); }
.mm-sponsor-cta { background: var(--mm-neutral); padding: 20px; margin: 32px 0; }
.mm-sponsor-cta__text { margin: 8px 0 16px; }

/* Entry content */
.mm-content > * + * { margin-top: 20px; }
.mm-content h2 { font-size: var(--mm-size-h2); line-height: var(--mm-lh-h2); margin-top: 36px; scroll-margin-top: 72px; }
.mm-content h3 { font-size: 19px; line-height: 1.35; margin-top: 28px; }
.mm-content a { text-decoration-thickness: 1px; }
.mm-content ul, .mm-content ol { padding-left: 1.2em; }
.mm-content blockquote { margin: 28px 0; padding-left: 20px; border-left: var(--mm-rule-masthead) solid var(--mm-ink); font-style: italic; }
.mm-content figure { margin-inline: 0; }
.mm-content figcaption, .wp-element-caption { font-size: var(--mm-size-caption); line-height: 1.4; color: var(--mm-meta); font-style: italic; margin-top: 8px; }
.mm-content img { height: auto; }
.mm-content .wp-block-embed iframe { max-width: 100%; }
.mm-content table { width: 100%; border-collapse: collapse; font-family: var(--mm-font-sans); font-size: 15px; line-height: 1.4; }
.mm-content th, .mm-content td { text-align: left; padding: 8px 10px 8px 0; border-bottom: 1px solid var(--mm-rule); vertical-align: top; }
.mm-content thead th { font-family: var(--mm-font-mono); font-size: var(--mm-size-label); text-transform: uppercase; letter-spacing: .04em; font-weight: 500; border-bottom: 1px solid var(--mm-ink); }
.mm-topics { margin-top: 32px; font-family: var(--mm-font-sans); font-size: 14px; }
.mm-topics .wp-block-post-terms__prefix { font-family: var(--mm-font-mono); font-size: var(--mm-size-label); text-transform: uppercase; color: var(--mm-meta); margin-right: 6px; }
.mm-topics a { display: inline-block; background: var(--mm-lilac); color: var(--mm-ink); padding: 3px 8px; margin: 0 4px 4px 0; text-decoration: none; }

/* Squares */
.mm-squares { display: inline-flex; gap: 3px; vertical-align: middle; }
.mm-sq { width: 10px; height: 10px; border: 1.5px solid var(--mm-ink); }
.mm-sq.is-on { background: var(--mm-ink); }
.mm-squares--lg .mm-sq { width: 16px; height: 16px; border-width: 2px; }
.mm-squares__num { margin-left: 8px; color: var(--mm-ink); }
.mm-score { margin-top: 6px; }

/* Verdict */
.mm-verdict { background: var(--mm-lilac); color: var(--mm-ink); padding: 20px; margin: 32px 0; display: grid; gap: 16px; }
.mm-verdict__label { display: inline-block; background: var(--mm-ink); color: var(--mm-paper); padding: 3px 7px; font-weight: 500; }
.mm-verdict__score { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 12px; }
.mm-verdict__big { font: 700 56px/1 var(--mm-font-sans); }
.mm-verdict__big span { font-size: 26px; font-weight: 400; }
.mm-verdict__out { color: var(--mm-ink); }
.mm-verdict__body { font-family: var(--mm-font-serif); }
.mm-verdict__line, .mm-verdict__body > p:first-child { font-size: var(--mm-size-deck); line-height: var(--mm-lh-deck); }
.mm-verdict__body > * + * { margin-top: 12px; }
.mm-verdict .mm-label { background: transparent; padding: 0; }
.mm-verdict__subscores { margin: 0; display: grid; gap: 6px; align-content: start; }
.mm-subscore { display: grid; grid-template-columns: 90px 1fr; align-items: center; }
.mm-subscore dd { margin: 0; }
@media (min-width: 768px) {
	.mm-verdict { grid-template-columns: 1fr 1fr; padding: 24px; }
	.mm-verdict__head { grid-column: 1; }
	.mm-verdict__subscores { grid-column: 2; grid-row: 1; }
	.mm-verdict__body { grid-column: 1 / -1; border-top: 1px solid var(--mm-ink); padding-top: 16px; }
	.mm-verdict--album, .mm-verdict--live { grid-template-columns: 1fr; }
}

/* Pros / cons */
.mm-pros-cons { display: grid; gap: 16px; }
@media (min-width: 600px) { .mm-pros-cons { grid-template-columns: 1fr 1fr; } }
.mm-pros-cons .mm-label { background: transparent; padding: 0; }
.mm-pros-cons__col .mm-label::before { margin-right: 6px; }
.mm-pros-cons__col:first-child .mm-label::before { content: "+"; }
.mm-pros-cons__col:last-child .mm-label::before { content: "−"; }
.is-style-pros, .is-style-cons { list-style: none; padding-left: 0 !important; font-family: var(--mm-font-sans); font-size: 16px; line-height: 1.45; margin-top: 8px; }
.is-style-pros li, .is-style-cons li { margin-bottom: 4px; }

/* Specs, method, where to buy */
.mm-specs h2 { font-family: var(--mm-font-mono); font-size: var(--mm-size-label); font-weight: 500; text-transform: uppercase; letter-spacing: .04em; border-top: var(--mm-rule-masthead) solid var(--mm-ink); padding-top: 10px; margin-top: 32px; }
.mm-specs__table td:first-child { font-family: var(--mm-font-mono); font-size: var(--mm-size-label); text-transform: uppercase; color: var(--mm-meta); width: 40%; }
.mm-method, .mm-what-you-need, .mm-update-note, .mm-corrections-box, .mm-contact-box { font-family: var(--mm-font-sans); font-size: 16px; line-height: 1.5; }
.mm-method > * + *, .mm-what-you-need > * + * { margin-top: 8px; }
.mm-retailer { display: grid; grid-template-columns: 1fr auto; gap: 6px 16px; align-items: center; border-top: 1px solid var(--mm-rule); padding: 12px 0; font-family: var(--mm-font-sans); }
.mm-retailer__cta { text-align: right; }
.mm-aff-note { grid-column: 1 / -1; font-family: var(--mm-font-sans); font-size: 13px; color: var(--mm-meta); }
.mm-aff-note .mm-tag { color: var(--mm-ink); margin-right: 6px; }
.mm-price { font-weight: 700; margin-left: 8px; }
.mm-price-note { font-family: var(--mm-font-sans); font-size: 13px; color: var(--mm-meta); }
.ml-aff-link.mm-buy, .mm-buy { display: inline-block; background: var(--mm-ink); color: var(--mm-paper); font: 700 15px/1.2 var(--mm-font-sans); padding: 10px 16px; text-decoration: none; }
.ml-aff-link.mm-buy:hover { background: var(--mm-deck); }

/* Affiliate box from midder-affiliate-links (restyled via its custom properties only) */
.ml-aff-box {
	--ml-aff-gap: 16px; --ml-aff-padding: 16px; --ml-aff-border: 1px solid var(--mm-ink); --ml-aff-radius: 0; --ml-aff-bg: transparent; --ml-aff-media-width: 160px;
	--ml-aff-button-bg: var(--mm-ink); --ml-aff-button-border: 2px solid var(--mm-ink); --ml-aff-button-color: var(--mm-paper); --ml-aff-button-padding: 10px 16px; --ml-aff-button-radius: 0;
	font-family: var(--mm-font-sans); font-size: 16px; line-height: 1.45;
}
.ml-aff-box__title { font-size: 19px; line-height: 1.3; }
.ml-aff-box__title-link { text-decoration: none; }
.ml-aff-box__button { font-weight: 700; }
.mm-aff-box-wrap .mm-aff-note { margin-top: -8px; }

/* Comparison */
.mm-quick-picks { padding: 20px; }
.mm-quick-picks ol { margin: 10px 0 0; padding-left: 1.2em; font-family: var(--mm-font-sans); font-size: 16px; line-height: 1.5; }
.wp-block-table.is-style-compare { overflow-x: auto; -webkit-overflow-scrolling: touch; position: relative; }
.is-style-compare table { min-width: 560px; }
.is-style-compare th:first-child, .is-style-compare td:first-child { position: sticky; left: 0; background: var(--mm-paper); font-weight: 700; z-index: 1; }
@media (max-width: 767px) { .wp-block-table.is-style-compare::before { content: "Swipe →"; display: block; font-family: var(--mm-font-mono); font-size: var(--mm-size-label); text-transform: uppercase; color: var(--mm-meta); margin-bottom: 6px; position: sticky; left: 0; } .is-style-compare .mm-buy { display: none; } }
.mm-pick { border-top: var(--mm-rule-masthead) solid var(--mm-ink); padding-top: 16px; }
.mm-pick > * + * { margin-top: 10px; }
.mm-pick__head { display: flex; gap: 8px; align-items: center; font-family: var(--mm-font-mono); font-size: var(--mm-size-label); text-transform: uppercase; }
.mm-pick__rank { background: var(--mm-ink); color: var(--mm-paper); padding: 2px 8px; font-weight: 500; }
.mm-pick__award { background: var(--mm-lilac); padding: 2px 8px; }
.mm-pick__for, .mm-pick__specs { font-family: var(--mm-font-sans); font-size: 16px; }
.mm-method__recheck strong { font-family: var(--mm-font-mono); font-size: var(--mm-size-label); text-transform: uppercase; margin-right: 6px; }

/* Learn */
.mm-takeaways, .mm-in-short { padding: 20px; font-family: var(--mm-font-sans); font-size: 16px; line-height: 1.5; }
.mm-takeaways ul, .mm-in-short ul { margin: 10px 0 0; }
.mm-step__n { background: transparent !important; padding: 0 !important; color: var(--mm-meta); }
.mm-tip { background: var(--mm-neutral); padding: 12px 14px; font-family: var(--mm-font-sans); font-size: 15px; }
.mm-faq__item { border-top: 1px solid var(--mm-ink); padding: 12px 0; }
.mm-faq__item summary { cursor: pointer; font-family: var(--mm-font-sans); font-weight: 700; font-size: 17px; }
.mm-faq__item > p { margin-top: 8px; }
.mm-sources { font-family: var(--mm-font-sans); font-size: 14px; }
.mm-source-link a, .mm-related-inline { font-family: var(--mm-font-sans); font-size: 16px; }
.mm-related-inline .mm-label { margin-right: 8px; }
.mm-why-no-score { padding: 16px 20px; font-family: var(--mm-font-sans); font-size: 15px; line-height: 1.5; margin-top: 32px; }
.mm-why-no-score > * + * { margin-top: 6px; }
.mm-record-card { display: grid; gap: 16px; border-top: var(--mm-rule-masthead) solid var(--mm-ink); padding-top: 16px; }
@media (min-width: 600px) { .mm-record-card { grid-template-columns: 200px 1fr; } }
.mm-listen, .mm-inline-list { font-family: var(--mm-font-sans); font-size: 15px; }
.mm-inline-list { list-style: none; padding: 0 !important; margin: 6px 0 0; display: flex; flex-wrap: wrap; gap: 4px 14px; }

/* Author box */
.mm-author-box { display: flex; gap: 14px; align-items: flex-start; border-top: 1px solid var(--mm-ink); margin-top: 32px; padding-top: 16px; font-family: var(--mm-font-sans); font-size: 15px; line-height: 1.45; }
.mm-author-box__name a { font-weight: 700; text-decoration: none; }
.mm-author-box__role { color: var(--mm-meta); margin-left: 8px; }
.mm-author-box__bio { margin: 4px 0 6px; color: var(--mm-deck); }
.mm-avatar { flex: none; width: var(--mm-avatar); height: var(--mm-avatar); display: inline-block; overflow: hidden; background: var(--mm-ink); }
.mm-avatar__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mm-avatar--initial { color: var(--mm-paper); font: 700 calc(var(--mm-avatar) * .5)/var(--mm-avatar) var(--mm-font-sans); text-align: center; }

/* ---------- Cards and lists ---------- */
.mm-card-grid, .mm-rows, .mm-latest__list, .mm-lead-list, .mm-partner-list { list-style: none; margin: 0; padding: 0; }
.mm-card-grid { display: grid; gap: 24px; grid-template-columns: 1fr; }
@media (min-width: 600px) { .mm-card-grid--4, .mm-card-grid--hub, .mm-card-grid--features { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .mm-card-grid--4, .mm-card-grid--hub { grid-template-columns: repeat(4, 1fr); } .mm-card-grid--features { grid-template-columns: 7fr 5fr; } .mm-card-grid--features > li:first-child { grid-row: span 2; } }
.mm-card { display: flex; flex-direction: column; gap: 8px; }
.mm-card .wp-block-post-featured-image, .mm-row .wp-block-post-featured-image, .mm-lead .wp-block-post-featured-image, .mm-tile .wp-block-post-featured-image { margin: 0; background: var(--mm-placeholder); }
.mm-card .wp-block-post-featured-image img, .mm-row img, .mm-lead img, .mm-tile img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mm-card__title, .mm-row__title, .mm-latest__title, .mm-tile__title, .mm-partner__title { font-family: var(--mm-font-sans); font-size: 18px; line-height: 1.3; font-weight: 700; }
.mm-card__title a, .mm-row__title a, .mm-latest__title a, .mm-lead__title a, .mm-tile__title a, .mm-partner__title a { text-decoration: none; }
.mm-card__title a:hover, .mm-row__title a:hover, .mm-latest__title a:hover, .mm-lead__title a:hover, .mm-tile__title a:hover { text-decoration: underline; }
.mm-card-meta { color: var(--mm-meta); }
.mm-card-meta time { color: var(--mm-meta); }
.mm-rows > li { border-top: 1px solid var(--mm-rule); padding: 16px 0; }
.mm-row { display: grid; grid-template-columns: 1fr 96px; gap: 16px; align-items: start; }
.mm-row__text > * + * { margin-top: 6px; }
.mm-row__dek { font-size: 16px; line-height: 1.45; color: var(--mm-deck); }
.mm-row__dek p { margin: 0; }
@media (min-width: 768px) { .mm-row { grid-template-columns: 1fr 160px; } }
.mm-rows--2 { display: grid; column-gap: 32px; }
@media (min-width: 768px) { .mm-rows--2 { grid-template-columns: 1fr 1fr; } }
/* Paid posts in lists: gray, with the PAID PARTNERSHIP label */
li.mm-is-paid { background: var(--mm-neutral); padding-inline: 12px; }

/* ---------- Homepage (pages/00-homepage-1280/820/390; no "secondary" class anywhere here) ---------- */
.mm-home { max-width: 1232px; margin: 0 auto; padding: 32px 16px 0; }
.mm-home > * + * { margin-top: 56px; }
.mm-lead-list, .mm-dgrid, .mm-rgrid, .mm-tgrid, .mm-fgrid, .mm-lgrid { list-style: none; margin: 0; padding: 0; }
.mm-home .wp-block-post-featured-image { margin: 0; background: var(--mm-placeholder); overflow: hidden; }
.mm-home .wp-block-post-featured-image a, .mm-home .wp-block-post-featured-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mm-home .wp-block-post-title { margin: 0; }
.mm-home .wp-block-post-title a { text-decoration: none; }
.mm-home .wp-block-post-title a:hover { text-decoration: underline; }

/* 2. Lead (8 cols) + Latest (4 cols) */
.mm-home__top { display: grid; gap: 32px; }
@media (min-width: 1024px) { .mm-home__top { grid-template-columns: 8fr 4fr; column-gap: 20px; } }
.mm-lead { display: flex; flex-direction: column; gap: 12px; }
.mm-lead__img { aspect-ratio: 16 / 9; margin-bottom: 12px !important; }
.mm-lead__kicker { display: flex; align-items: center; gap: 8px; font: 500 var(--mm-size-label)/1.4 var(--mm-font-mono); text-transform: uppercase; letter-spacing: .04em; }
.mm-lead__kicker .mm-label { text-decoration: none; }
.mm-lead__sub { color: var(--mm-ink); }
.mm-lead__title { font-family: var(--mm-font-serif); font-weight: 400; font-size: 34px; line-height: 1.1; letter-spacing: -.01em; }
@media (min-width: 768px) { .mm-lead__title { font-size: 48px; } }
.mm-lead .mm-deck { font-size: var(--mm-size-deck); line-height: var(--mm-lh-deck); color: var(--mm-deck); max-width: 560px; margin: 0; }
.mm-lead__byline { font-family: var(--mm-font-sans); font-size: 14px; color: var(--mm-meta); margin: 0; }
@media (max-width: 767px) { .mm-home__lead .mm-lead__img { aspect-ratio: 3 / 2; margin-inline: -16px !important; margin-top: -32px !important; } }
.mm-latest { border-top: var(--mm-rule-masthead) solid var(--mm-ink); padding-top: 10px; }
.mm-latest .mm-desk-head { border-top: 0; padding-top: 0; margin-bottom: 8px; }
.mm-latest__list > li { border-bottom: 1px solid var(--mm-rule); padding: 14px 0; }
.mm-latest__item > * + * { margin-top: 4px; }
.mm-latest__title { font-family: var(--mm-font-sans); font-size: 16px; line-height: 1.3; font-weight: 700; }
.mm-latest__note, .mm-learn-strip__note { font-style: italic; font-size: 14px; color: var(--mm-meta); margin-top: 12px; }
.mm-latest__note { border-top: 1px solid var(--mm-ink); padding-top: 12px; margin-top: 0; }
@media (min-width: 768px) and (max-width: 1023px) {
	.mm-latest__list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px; }
	.mm-latest__list > li:nth-child(n+7) { display: none; }
	.mm-latest__note { border-top: 0; }
}
@media (max-width: 767px) { .mm-latest__list > li:nth-child(n+6) { display: none; } .mm-latest__note { display: none; } }

/* Section heads: 3px ink rule, lilac label, serif italic description, "See all" */
.mm-desk-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; border-top: var(--mm-rule-masthead) solid var(--mm-ink); padding-top: 12px; margin-bottom: 20px; }
.mm-desk-head__label, .mm-latest h2 { display: inline-block; background: var(--mm-lilac); color: var(--mm-ink); font: 700 var(--mm-size-label)/1.4 var(--mm-font-sans); text-transform: uppercase; letter-spacing: .06em; padding: 2px 6px; margin: 0; }
.mm-desk-head__desc { font-family: var(--mm-font-serif); font-style: italic; color: var(--mm-deck); font-size: 17px; margin: 0; }
.mm-desk-head__all { margin-left: auto; font-family: var(--mm-font-sans); font-size: 14px; font-weight: 700; white-space: nowrap; }
.mm-desk-head__all-short { display: none; }
@media (max-width: 767px) {
	.mm-desk .mm-desk-head__desc { order: 3; flex-basis: 100%; font-size: 15px; }
	.mm-desk-head__all-text { display: none; }
	.mm-desk-head__all-short { display: inline; }
	.mm-desk-head__all { font-weight: 400; text-decoration: underline; }
}

/* 3. Desks: News (4 cards), Industry 7 / Future 5 (lead + text rows) */
.mm-dcard { display: flex; flex-direction: column; gap: 12px; }
.mm-dcard__img { aspect-ratio: 16 / 10; }
.mm-dcard__title { font-family: var(--mm-font-sans); font-size: 18px; line-height: 1.3; font-weight: 700; }
.mm-dgrid--news { display: grid; gap: 32px 20px; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 1024px) { .mm-dgrid--news { grid-template-columns: repeat(4, 1fr); } }
.mm-home__split { display: grid; gap: 56px; }
@media (min-width: 768px) { .mm-home__split { grid-template-columns: 1fr 1fr; column-gap: 20px; } }
@media (min-width: 1024px) { .mm-home__split { grid-template-columns: 7fr 5fr; } }
.mm-dgrid--stack > li + li { border-top: 1px solid var(--mm-rule); padding-top: 14px; margin-top: 14px; }
.mm-dgrid--stack > li:first-child .mm-dcard__title { font-family: var(--mm-font-serif); font-weight: 400; font-size: 26px; line-height: 1.15; }
.mm-dgrid--stack > li:first-child { padding-bottom: 2px; }
.mm-dgrid--stack > li:nth-child(2) { margin-top: 16px; }
.mm-dgrid--stack > li + li .mm-dcard__img { display: none; }
.mm-dgrid--stack > li + li .mm-dcard__title { font-size: 15px; }
.mm-desk--industry .mm-dgrid--stack > li:first-child .mm-dcard__img { aspect-ratio: 21 / 9; }
.mm-desk--future .mm-dgrid--stack > li:first-child .mm-dcard__img { aspect-ratio: 2 / 1; }
@media (max-width: 1023px) { .mm-desk--industry .mm-dgrid--stack > li:first-child .mm-dcard__img { aspect-ratio: 2 / 1; } }
@media (max-width: 767px) {
	.mm-dgrid--news { grid-template-columns: 1fr; gap: 0; }
	.mm-dgrid--news > li { border-bottom: 1px solid var(--mm-rule); padding: 12px 0; }
	.mm-dgrid--news .mm-dcard, .mm-dgrid--stack > li + li .mm-dcard { display: grid; grid-template-columns: 70px 1fr; gap: 12px; align-items: start; }
	.mm-dgrid--news .mm-dcard__img, .mm-dgrid--stack > li + li .mm-dcard__img { display: block; aspect-ratio: 4 / 3; }
	.mm-dgrid--news .mm-dcard__title, .mm-dgrid--stack > li + li .mm-dcard__title { font-size: 15px; }
	.mm-dgrid--stack > li:first-child .mm-dcard__title { font-size: 22px; }
}

/* 4. Reviews band: full-bleed lilac, 4 cards with score /5 */
.mm-band { margin-inline: calc(50% - 50vw); padding: 36px max(16px, calc(50vw - 600px)) 32px; }
.mm-band .mm-desk-head { border-top-color: var(--mm-ink); }
.mm-band .mm-desk-head__label { background: var(--mm-ink); color: var(--mm-paper); }
.mm-band .wp-block-post-featured-image { background: var(--mm-placeholder); }
.mm-rgrid { display: grid; gap: 28px 20px; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 768px) { .mm-rgrid { grid-template-columns: repeat(4, 1fr); } }
.mm-rcard { display: flex; flex-direction: column; gap: 8px; }
.mm-rcard__img { aspect-ratio: 1; margin-bottom: 4px !important; }
.mm-rscore { display: grid; grid-template-columns: 1fr auto; align-items: end; row-gap: 2px; }
.mm-rscore p { margin: 0; }
.mm-rscore__n { font: 400 11px/1 var(--mm-font-mono); }
.mm-rscore__n b { font: 700 22px/1 var(--mm-font-sans); margin-right: 2px; }
.mm-rscore__kind { font: 500 var(--mm-size-label)/1 var(--mm-font-mono); text-transform: uppercase; letter-spacing: .04em; }
.mm-rscore .mm-squares { grid-column: 1 / -1; }
.mm-rcard__title { font-family: var(--mm-font-sans); font-size: 15px; line-height: 1.3; font-weight: 700; }
.mm-band .mm-note { margin: 24px 0 0; font-family: var(--mm-font-sans); font-size: 14px; font-weight: 700; }
.mm-band .mm-note a { text-decoration: none; }

/* 5. Signal: four 4:5 tiles */
.mm-tgrid { display: grid; gap: 28px 20px; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 768px) { .mm-tgrid { grid-template-columns: repeat(4, 1fr); } }
.mm-tile { display: flex; flex-direction: column; gap: 8px; }
.mm-tile__img { aspect-ratio: 4 / 5; margin-bottom: 4px !important; }
.mm-tile__title { font-family: var(--mm-font-sans); font-size: 16px; line-height: 1.3; font-weight: 700; }
.mm-tile__meta p { margin: 0; }
.mm-tile__city { font: 400 var(--mm-size-label)/1.4 var(--mm-font-mono); text-transform: uppercase; color: var(--mm-meta); }
.mm-tile__fans { font-family: var(--mm-font-serif); font-style: italic; font-size: 15px; color: var(--mm-deck); margin-top: 6px !important; }
@media (max-width: 1023px) { .mm-tile__fans { display: none; } }

/* 6. Features: 7/5 split, Newsreader display type */
.mm-fgrid { display: grid; gap: 28px 20px; }
.mm-fcard { display: flex; flex-direction: column; gap: 10px; }
.mm-fcard__img { aspect-ratio: 2 / 1; margin-bottom: 8px !important; }
.mm-fcard__title { font-family: var(--mm-font-serif); font-weight: 400; font-size: 24px; line-height: 1.15; }
.mm-fgrid > li:first-child .mm-fcard__title { font-size: 34px; }
.mm-feature__meta { font-family: var(--mm-font-sans); font-size: 14px; color: var(--mm-meta); margin: 0; }
@media (min-width: 768px) { .mm-fgrid { grid-template-columns: 1fr 1fr; } .mm-fgrid > li:first-child { grid-column: 1 / -1; } .mm-fgrid > li:first-child .mm-fcard__img { aspect-ratio: 21 / 9; } }
@media (min-width: 1024px) {
	.mm-fgrid { grid-template-columns: 7fr 5fr; }
	.mm-fgrid > li:first-child { grid-column: 1; grid-row: 1 / span 2; }
	.mm-fgrid > li:first-child .mm-fcard__img { aspect-ratio: 6 / 5; }
}
@media (max-width: 767px) { .mm-fgrid > li:first-child .mm-fcard__img { aspect-ratio: 3 / 2; } .mm-fgrid > li:first-child .mm-fcard__title { font-size: 26px; } .mm-fcard__title { font-size: 22px; } }

/* 7. Learn strip */
.mm-lgrid { display: grid; gap: 20px; grid-template-columns: 1fr; }
@media (min-width: 768px) { .mm-lgrid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .mm-lgrid { grid-template-columns: repeat(4, 1fr); } }
.mm-lcard { display: flex; flex-direction: column; gap: 14px; height: 100%; border: 1px solid var(--mm-ink); padding: 12px 12px 14px; }
.mm-lcard p { margin: 0; }
.mm-lcard .mm-tag { display: inline-block; border: 1px solid var(--mm-ink); padding: 1px 5px; font: 700 11px/1.3 var(--mm-font-sans); text-transform: uppercase; letter-spacing: .04em; }
.mm-lcard__title { font-family: var(--mm-font-sans); font-size: 16px; line-height: 1.3; font-weight: 700; flex: 1; }
.mm-learn__updated { font: 400 var(--mm-size-label)/1.4 var(--mm-font-mono); text-transform: uppercase; color: var(--mm-meta); }
@media (max-width: 767px) {
	.mm-lgrid { gap: 0; }
	.mm-lcard { border: 0; border-bottom: 1px solid var(--mm-rule); padding: 12px 0; gap: 10px; }
	.mm-learn__updated { display: none; }
}

/* 7b. Link directory (midder/link-directory): the live homepage Learn links, 6 / 3 / 2 columns */
.mm-linkdir__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
@media (min-width: 768px) { .mm-linkdir__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 20px; } }
@media (min-width: 1024px) { .mm-linkdir__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.mm-linkdir__head { margin: 0 0 10px; padding-bottom: 8px; border-bottom: 1px solid var(--mm-ink); font: 600 20px/1.15 var(--mm-font-serif); }
.mm-linkdir__head a { color: var(--mm-ink); text-decoration: none; }
.mm-linkdir__head a:hover, .mm-linkdir__list a:hover { text-decoration: underline; }
.mm-linkdir__list { list-style: none; margin: 0; padding: 0; }
.mm-linkdir__list li + li { margin-top: 8px; }
.mm-linkdir__list a { color: var(--mm-ink); text-decoration: none; font-family: var(--mm-font-sans); font-size: 15px; line-height: 1.35; }
@media (max-width: 767px) { .mm-linkdir__head { font-size: 18px; } .mm-linkdir__list a { font-size: 14px; } }
/* No Learn posts yet: the strip keeps its head and note, and the directory becomes its body. */
.mm-learn-strip.mm-is-empty .mm-lgrid, .mm-learn-strip.mm-is-empty .mm-desk__query { display: none; }
.mm-learn-strip.mm-is-empty .mm-desk-head { margin-bottom: 0; }
.mm-home > .mm-learn-strip.mm-is-empty + .mm-linkdir { margin-top: 24px; }
.mm-home > .mm-learn-strip.mm-is-empty + .mm-linkdir > .mm-desk-head { display: none; }

/* 8. Partner module: one Partner Studio card on neutral grey, below all editorial */
.mm-home__partner { border-top: var(--mm-rule-masthead) solid var(--mm-ink); padding-top: 18px; }
.mm-home__partner .mm-partner-list > li { background: var(--mm-neutral); padding: 16px; }
.mm-partner { display: grid; gap: 14px; }
.mm-partner__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; font-family: var(--mm-font-sans); font-size: 13px; }
.mm-partner__head p { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.mm-partner__head .mm-tag { display: inline-block; border: 1px solid var(--mm-ink); padding: 1px 5px; font: 700 11px/1.3 var(--mm-font-sans); text-transform: uppercase; letter-spacing: .04em; }
.mm-partner__from { color: var(--mm-meta); }
.mm-partner__what { font-weight: 700; text-decoration: none; }
.mm-partner__img { aspect-ratio: 2 / 1; }
.mm-partner__title { font-family: var(--mm-font-sans); font-size: 18px; line-height: 1.3; font-weight: 700; }
@media (min-width: 768px) {
	.mm-partner { grid-template-columns: 240px 1fr; column-gap: 20px; align-items: start; }
	.mm-partner__head { grid-column: 1 / -1; }
	.mm-partner__title { max-width: 440px; padding-top: 18px; }
}
@media (max-width: 767px) { .mm-partner__what { display: none; } }

/* ---------- Archive, author, search, 404, page ---------- */
.mm-archive, .mm-author, .mm-search-page, .mm-404, .mm-page { max-width: 1232px; margin: 0 auto; padding: 32px 16px 0; }
.mm-archive__head { border-bottom: var(--mm-rule-masthead) solid var(--mm-ink); padding-bottom: 20px; margin-bottom: 24px; }
.mm-archive__title { font-size: var(--mm-size-h1); line-height: var(--mm-lh-h1); }
.mm-archive__intro { margin-top: 10px; max-width: 660px; color: var(--mm-deck); font-size: var(--mm-size-deck); line-height: var(--mm-lh-deck); }
.mm-archive__intro p { margin: 0; }
.mm-chips { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; font-family: var(--mm-font-sans); font-size: 14px; }
.mm-chips a { display: inline-block; padding: 6px 10px; border: 1px solid var(--mm-ink); text-decoration: none; }
.mm-chips a[aria-current] { background: var(--mm-lilac); border-color: var(--mm-lilac); }
.mm-archive-note { margin-top: 12px; }
@media (min-width: 1024px) { body:not(.paged) .mm-card-grid--hub > li:first-child { grid-column: span 2; grid-row: span 2; } body:not(.paged) .mm-card-grid--hub > li:first-child .mm-card__title { font-size: 28px; } }
.mm-pagination { margin-top: 40px; gap: 12px; font-family: var(--mm-font-sans); font-weight: 700; }
.mm-pagination .page-numbers { padding: 6px 10px; text-decoration: none; }
.mm-pagination .page-numbers.current { background: var(--mm-lilac); }
.mm-section-head { font: 500 var(--mm-size-label)/1.4 var(--mm-font-mono); text-transform: uppercase; letter-spacing: .04em; border-top: var(--mm-rule-masthead) solid var(--mm-ink); padding-top: 10px; margin: 40px 0 16px; }
.mm-author-profile { display: grid; gap: 24px; border-bottom: var(--mm-rule-masthead) solid var(--mm-ink); padding-bottom: 32px; }
.mm-author-profile .mm-avatar { --mm-avatar: 112px !important; }
@media (min-width: 768px) { .mm-author-profile { grid-template-columns: 200px 1fr; gap: 40px; } .mm-author-profile .mm-avatar { --mm-avatar: 200px !important; } }
.mm-author-profile__name { font-size: var(--mm-size-h1); line-height: var(--mm-lh-h1); margin-top: 10px; }
.mm-author-profile__bio { margin-top: 12px; max-width: 660px; }
.mm-author-profile__credit { font-family: var(--mm-font-mono); font-size: var(--mm-size-label); color: var(--mm-meta); margin-top: 6px; }
.mm-author-profile__facts { margin: 20px 0 0; font-family: var(--mm-font-sans); font-size: 15px; line-height: 1.5; }
.mm-author-profile__facts > div { display: grid; grid-template-columns: 120px 1fr; gap: 12px; border-top: 1px solid var(--mm-rule); padding: 10px 0; }
.mm-author-profile__facts dt { font-family: var(--mm-font-mono); font-size: var(--mm-size-label); text-transform: uppercase; color: var(--mm-meta); }
.mm-author-profile__facts dd { margin: 0; }
.mm-author-profile__facts ul:not(.mm-inline-list) { margin: 0; padding-left: 1.1em; }
.mm-search-page .mm-search { margin-bottom: 20px; }
.mm-search-head { display: grid; gap: 10px; margin-bottom: 16px; font-family: var(--mm-font-sans); }
.mm-search-head__count { font-size: var(--mm-size-h2); line-height: var(--mm-lh-h2); font-weight: 700; }
.mm-search-head__sort { font-size: 15px; }
.mm-search-head__sort .mm-label { background: none; padding: 0; color: var(--mm-meta); }
.mm-search-head a[aria-current] { font-weight: 700; text-decoration: none; }
.mm-search__help { margin-top: 32px; font-family: var(--mm-font-sans); font-size: 16px; }
.mm-sections { margin-top: 32px; }
.mm-sections__list { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.mm-sections__list a { display: inline-block; padding: 10px 14px; border: 2px solid var(--mm-ink); font: 700 15px/1 var(--mm-font-sans); text-decoration: none; }
.mm-sections__list a:hover { background: var(--mm-lilac); border-color: var(--mm-lilac); }
.mm-404 { max-width: 1232px; }
.mm-404 > * + * { margin-top: 16px; }
.mm-404__code { margin-bottom: 4px; }
.mm-404__text { max-width: 660px; font-size: var(--mm-size-deck); line-height: var(--mm-lh-deck); color: var(--mm-deck); }
.mm-page { max-width: 692px; }
.mm-page__head { margin: 16px 0 24px; }
.mm-updated { font-family: var(--mm-font-sans); font-size: 15px; color: var(--mm-meta); margin-top: 10px; }
.mm-subnav__details { border-bottom: 1px solid var(--mm-ink); }
.mm-subnav__details summary { padding: 10px 0; cursor: pointer; font: 500 var(--mm-size-label)/1.4 var(--mm-font-mono); text-transform: uppercase; }
.mm-subnav__list { list-style: none; margin: 0; padding: 0 0 8px; font-family: var(--mm-font-sans); font-size: 15px; }
.mm-subnav__list a { display: block; padding: 6px 0; text-decoration: none; }
.mm-subnav__list .current-menu-item > a { font-weight: 700; text-decoration: underline; }
.mm-subnav__row { display: none; }
@media (min-width: 768px) { .mm-subnav__details { display: none; } .mm-subnav__row { display: block; border-bottom: 1px solid var(--mm-ink); } .mm-subnav__row .mm-subnav__list { display: flex; flex-wrap: wrap; gap: 4px 18px; padding: 8px 0; } }
.mm-scale__table td:first-child { font-weight: 700; width: 80px; }
.mm-corrections-box, .mm-contact-box { margin-top: 32px; }
.mm-corrections-box > * + *, .mm-contact-box > * + * { margin-top: 8px; }
.mm-empty { font-style: italic; color: var(--mm-meta); }

/* Copy-link feedback */
.mm-share__copy[data-copied]::after { content: attr(data-copied); margin-left: 6px; color: var(--mm-meta); text-decoration: none; display: inline-block; }

/* Print */
@media print { .mm-header, .mm-footer, .mm-rail, .mm-singlebottom, .mm-share { display: none !important; } }

/* Specs: ruled rows, no cell boxes (overrides core table borders). */
.mm-specs__table table { border-collapse: collapse; width: 100%; }
.mm-specs__table td, .mm-specs__table th { border: 0; border-bottom: 1px solid var(--mm-rule); padding: 10px 12px 10px 0; vertical-align: top; }
.mm-specs__table thead { border: 0; }
.mm-footer :focus-visible { outline-color: var(--mm-footer-text); }

/* ---------- Contact form (midder/contact-form) ---------- */
.mm-cf { max-width: var(--mm-content); margin-top: 32px; border-top: var(--mm-rule-masthead) solid var(--mm-ink); padding-top: 16px; font-family: var(--mm-font-sans); font-size: 16px; line-height: 1.5; color: var(--mm-ink); }
.mm-cf__title { font-family: var(--mm-font-sans); font-size: var(--mm-size-h2); line-height: var(--mm-lh-h2); font-weight: 700; margin: 0 0 8px; }
.mm-cf__note { font-family: var(--mm-font-mono); font-size: var(--mm-size-label); letter-spacing: .04em; text-transform: uppercase; color: var(--mm-meta); margin: 0 0 16px; }
.mm-cf__form { display: grid; gap: 20px; }
.mm-cf__form > p { margin: 0; }
.mm-cf__field { display: grid; gap: 6px; }
.mm-cf__field label { font-weight: 700; font-size: 15px; }
.mm-cf__req { color: var(--mm-meta); font-weight: 400; }
.mm-cf input[type="text"], .mm-cf input[type="email"], .mm-cf select, .mm-cf textarea { width: 100%; box-sizing: border-box; font: inherit; font-size: 16px; color: var(--mm-ink); background: #fff; border: 1px solid var(--mm-ink); border-radius: 0; padding: 11px 12px; min-height: 48px; }
.mm-cf textarea { min-height: 180px; resize: vertical; line-height: 1.5; }
.mm-cf select { appearance: none; padding-right: 40px; background-image: linear-gradient(45deg, transparent 50%, var(--mm-ink) 50%), linear-gradient(135deg, var(--mm-ink) 50%, transparent 50%); background-position: calc(100% - 20px) 21px, calc(100% - 14px) 21px; background-size: 6px 6px; background-repeat: no-repeat; }
.mm-cf input:focus-visible, .mm-cf select:focus-visible, .mm-cf textarea:focus-visible { outline: var(--mm-focus); outline-offset: 2px; }
.mm-cf [aria-invalid="true"] { border-width: 3px; padding: 9px 10px; }
.mm-cf__error { margin: 0; font-weight: 700; font-size: 15px; }
.mm-cf__error::before { content: "! "; display: inline-block; width: 1.2em; height: 1.2em; margin-right: 6px; line-height: 1.2em; text-align: center; background: var(--mm-ink); color: var(--mm-paper); font-family: var(--mm-font-mono); font-size: 12px; vertical-align: 1px; }
.mm-cf__consent { font-size: 14px; color: var(--mm-deck); }
.mm-cf__actions .mm-btn { min-height: 48px; }
.mm-cf__actions .mm-btn[disabled] { opacity: .6; cursor: progress; }
.mm-cf__status { padding: 16px; margin: 0 0 20px; }
.mm-cf__status > * { margin: 0; }
.mm-cf__status > * + * { margin-top: 8px; }
.mm-cf__status:focus { outline: var(--mm-focus); outline-offset: 2px; }
.mm-cf__status--ok { background: var(--mm-lilac); color: var(--mm-ink); }
.mm-cf__status--error { border: 3px solid var(--mm-ink); background: var(--mm-paper); }
.mm-cf__status-title { font-weight: 700; }
.mm-cf__status ul { padding-left: 20px; }
.mm-cf__hp { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Album review: record card + verdict (10-album-review) ---------- */
.mm-record { margin: 0 0 24px; }
.mm-record__top { border: 2px solid var(--mm-ink); padding: 12px; display: grid; grid-template-columns: 120px 1fr; gap: 16px 14px; align-items: start; }
.mm-record__top--nocover { grid-template-columns: 1fr; }
.mm-record__cover { margin: 0; }
.mm-record__cover img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.mm-record__info { display: contents; }
.mm-record__score { margin: 0; display: grid; justify-items: start; gap: 6px; }
.mm-record__big { font: 700 40px/1 var(--mm-font-sans); }
.mm-record__big span { font-size: 18px; font-weight: 400; margin-left: 2px; }
.mm-record__out, .mm-record__facts dt, .mm-record__listen-label, .mm-verdict__sub { font-family: var(--mm-font-mono); font-size: 11px; line-height: 1.4; letter-spacing: .04em; text-transform: uppercase; }
.mm-record__facts { grid-column: 1 / -1; margin: 0; display: grid; gap: 8px; }
.mm-record__row { display: grid; grid-template-columns: 82px 1fr; gap: 12px; align-items: baseline; }
.mm-record__row dd { margin: 0; font: 400 15px/1.35 var(--mm-font-sans); }
.mm-record__listen { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; margin-top: 16px; }
.mm-record__listen-label { margin: 0; }
.mm-record__listen ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 16px; }
.mm-record__listen a { font: 700 14px/1.4 var(--mm-font-sans); text-transform: uppercase; color: var(--mm-ink); text-decoration: underline; text-underline-offset: 3px; }
.mm-record .mm-squares--md .mm-sq { width: 9px; height: 9px; }
@media (min-width: 600px) {
	.mm-record__top { grid-template-columns: 168px 1fr; padding: 16px; gap: 20px; }
	.mm-record__top--nocover { grid-template-columns: 1fr; }
	.mm-record__info { display: grid; gap: 14px; align-content: start; }
	.mm-record__facts { grid-template-columns: 1fr 1fr; gap: 12px 24px; }
	.mm-record__row { grid-template-columns: 1fr; gap: 2px; }
	.mm-record__big { font-size: 48px; }
}
.mm-album-verdict { margin: 32px 0; }
.mm-album-verdict .mm-verdict { margin: 0; }
.mm-verdict__tracks .mm-verdict__sub { margin: 0; }
.mm-verdict__tracklist { font-family: var(--mm-font-serif); font-size: var(--mm-size-deck); line-height: var(--mm-lh-deck); }
/* Album cards: "Artist – Work" (artist bold). */
.mm-card__artist { font-weight: 700; }
.mm-card__work { font-weight: 400; }
.mm-rcard__img img { width: 100%; height: 100%; object-fit: cover; }
.mm-related--album .mm-card-grid { grid-template-columns: repeat(2, 1fr); gap: 28px 20px; }
@media (min-width: 1024px) { .mm-related--album .mm-card-grid { grid-template-columns: repeat(4, 1fr); } }
.mm-verdict .mm-verdict__tracks > .mm-verdict__sub { font-size: 11px; line-height: 1.4; }
.mm-card__sep { font-weight: 400; }
/* Half-point scores (x.5): left half filled. */
.mm-sq.is-half { background: linear-gradient(90deg, var(--mm-ink) 50%, transparent 50%); }

/* 0.2.7: /reviews/ hub links (How we score, Affiliate disclosure) */
.mm-page-links { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 24px; }
.mm-page-links li { margin: 0; }
.mm-page-links .mm-arrow-link { display: inline-block; padding: 10px 0; font-size: 14px; color: var(--mm-ink); text-decoration: underline; text-underline-offset: 3px; }
.mm-page-links .mm-arrow-link:hover, .mm-page-links .mm-arrow-link:focus-visible { text-decoration-thickness: 2px; }

/* 0.2.7: /our-team/ team member (from the WordPress author profile) */
.mm-team-member { display: grid; grid-template-columns: 88px 1fr; gap: 16px; align-items: start; margin: 32px 0; padding-top: 24px; border-top: 1px solid var(--mm-rule); }
.mm-team-member .mm-avatar { --mm-avatar: 88px !important; }
.mm-team-member__photo { display: block; line-height: 0; }
.mm-team-member__name { margin: 0; font-size: 22px; line-height: 1.2; }
.mm-team-member__name a { color: inherit; text-decoration: none; }
.mm-team-member__name a:hover, .mm-team-member__name a:focus-visible { text-decoration: underline; }
.mm-team-member__role { margin: 6px 0 0; }
.mm-team-member__bio { margin-top: 10px; }
.mm-team-member__bio p { margin: 0 0 10px; }
.mm-team-member__links { margin: 8px 0; }
.mm-team-member__links a { display: inline-block; padding: 6px 0; }
@media (min-width: 600px) { .mm-team-member { grid-template-columns: 120px 1fr; gap: 24px; } .mm-team-member .mm-avatar { --mm-avatar: 120px !important; } }
.mm-author-profile__bio p { margin: 0 0 12px; }
