/* Speeches and Media. Uses the IG Publishers theme tokens, with fallbacks. */
.mm-hero, .mm-soon, .mm-archive, .mm-invite, .mm-single, .mm-lightbox {
  --mm-black: var(--black, #111111); --mm-red: var(--red, #C8102E); --mm-green: var(--green, #0B7A3E);
  --mm-paper: #F7F3EA; --mm-mint: #E3F5EA; --mm-line: var(--line, #DADAD6); --mm-muted: var(--muted, #5C5C5C);
  --mm-surface: var(--surface, #FFFFFF); --mm-text: var(--text, #141414); --mm-display: var(--font-display, inherit);
}
.mm-ico { width: 1.1em; height: 1.1em; flex: none; vertical-align: -.15em; }

/* ---------- Hero ---------- */
.mm-hero { position: relative; overflow: hidden; isolation: isolate; }
.mm-hero__in { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .75fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; padding-block: clamp(2.5rem, 6vw, 4.25rem); }
.mm-hero__kicker { display: inline-flex; align-items: center; gap: .45rem; margin: 0 0 1rem; padding: .3rem .8rem; border-radius: 3px 12px 12px 3px; font: 600 .92rem var(--mm-display); }
.mm-hero h1 { font-size: clamp(2.4rem, 5.6vw, 4.4rem); font-weight: 800; letter-spacing: -.045em; line-height: .98; margin: 0 0 1rem; max-width: 14ch; }
.mm-hero__intro { max-width: 40rem; margin: 0 0 1.5rem; font-size: 1.08rem; }
.mm-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem 1.1rem; align-items: center; }
.mm-hero__link { font: 600 1rem var(--mm-display); text-decoration: none; }
.mm-hero__link:hover { text-decoration: underline; }

.mm-hero--speeches { background: var(--mm-paper); color: #141414; }
.mm-hero--speeches::before { content: ""; position: absolute; z-index: -1; width: min(52vw, 620px); aspect-ratio: 1; right: -12vw; top: -45%; border-radius: 50%; background: rgba(200,16,46,.08); }
.mm-hero--speeches .mm-hero__kicker { background: var(--mm-red); color: #fff; }
.mm-hero--speeches .mm-hero__intro { color: #4A463F; }
.mm-hero--speeches .mm-hero__link { color: var(--mm-green); }
.mm-hero--speeches .btn--ghost { color: #141414; border-color: #141414; }

.mm-stats { list-style: none; display: flex; flex-wrap: wrap; margin: 0 0 1.75rem; padding: 0; font: 500 .98rem var(--mm-display); color: #4A463F; }
.mm-stats li { padding: 0 1.1rem; border-left: 2px solid rgba(0,0,0,.15); }
.mm-stats li:first-child { padding-left: 0; border-left: 0; }
.mm-stats strong { font-size: 1.5rem; font-weight: 800; color: #141414; margin-right: .2rem; }

.mm-portrait { justify-self: center; width: 100%; max-width: 300px; position: relative; }
.mm-portrait::after { content: ""; position: absolute; left: -14px; bottom: -14px; width: 60%; height: 10px; background: var(--mm-red); border-radius: 2px; }
.mm-portrait__img, .mm-portrait__svg { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 18px; box-shadow: 0 30px 50px -28px rgba(0,0,0,.55); transform: rotate(2deg); }

.mm-hero--media { background: #141414; color: #F2F2F2; }
.mm-hero--media::before { content: ""; position: absolute; z-index: -1; width: min(50vw, 600px); aspect-ratio: 1; right: -16vw; top: -50%; border-radius: 50%; background: rgba(11,122,62,.35); }
.mm-hero--media h1 { color: #fff; }
.mm-hero--media .mm-hero__kicker { background: var(--mm-green); color: #fff; }
.mm-hero--media .mm-hero__intro { color: #CFCFCF; }
.mm-hero--media .mm-hero__link { color: #5FD08F; }
.mm-tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.mm-tile { display: grid; gap: .1rem; padding: 1rem 1.1rem; border-radius: 14px; text-decoration: none; font-family: var(--mm-display); transition: transform .15s ease; }
.mm-tile:hover { transform: translateY(-3px); text-decoration: none; }
.mm-tile .mm-ico { width: 1.6rem; height: 1.6rem; margin-bottom: .35rem; }
.mm-tile strong { font-size: 2rem; font-weight: 800; line-height: 1; }
.mm-tile span { font-weight: 600; font-size: .95rem; }
.mm-tile--tv { background: var(--mm-red); color: #fff; }
.mm-tile--radio { background: var(--mm-green); color: #fff; }
.mm-tile--print { background: #FFFFFF; color: #141414; }
.mm-tile--online { background: var(--mm-mint); color: #0F2E1D; }
.mm-tile--podcast { background: #FFE3B3; color: #141414; }
@media (max-width: 860px) {
  .mm-hero__in { grid-template-columns: 1fr; }
  .mm-portrait { order: -1; max-width: 170px; justify-self: start; }
  .mm-tiles { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); }
}

/* ---------- Coming up ---------- */
.mm-soon { background: var(--mm-black); color: #fff; padding-block: 1.25rem; }
.mm-soon__title { display: flex; align-items: center; gap: .5rem; margin: 0 0 .75rem; font-size: 1.1rem; color: #fff; }
.mm-soon__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .75rem; }
.mm-soon__list li { display: grid; gap: .15rem; padding: .8rem 1rem; border-radius: 10px; background: #222; border-left: 4px solid var(--mm-red); }
.mm-soon__date { font: 700 .85rem var(--mm-display); color: #FF8A99; }
.mm-soon__list a { color: #fff; font: 700 1.02rem var(--mm-display); text-decoration: none; }
.mm-soon__list a:hover { text-decoration: underline; }
.mm-soon__where { font-size: .88rem; color: #BDBDBD; }

/* ---------- Archive layout ---------- */
.mm-archive { padding-block: clamp(2rem, 5vw, 3.25rem) clamp(3rem, 7vw, 4.5rem); }
.mm-tools { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin: 0 0 2rem; }
.mm-tools p { margin: 0; }
.mm-tools__search { flex: 1 1 280px; }
.mm-tools input[type="search"] { width: 100%; }
.mm-tools select { min-width: 200px; }
.mm-tools--compact { margin: 0; flex: 1 1 320px; justify-content: flex-end; }
.mm-tools--compact input[type="search"] { flex: 1 1 200px; width: auto; max-width: 340px; }
.mm-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.mm-side { position: sticky; top: calc(var(--header-h, 80px) + 1rem); display: grid; gap: 1.5rem; }
.mm-years ul, .mm-months ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; }
.mm-years a, .mm-months a { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .55rem .8rem; border-radius: 10px; text-decoration: none; color: var(--mm-text); font: 600 1rem var(--mm-display); }
.mm-years a:hover, .mm-months a:hover { background: var(--chip, #F0F0EE); text-decoration: none; }
.mm-years a span, .mm-months a span { font-size: .8rem; font-weight: 600; min-width: 1.8rem; text-align: center; padding: .1rem .45rem; border-radius: 999px; background: var(--chip, #F0F0EE); color: var(--mm-muted); }
.mm-years a[aria-current] { background: var(--mm-black); color: #fff; }
.mm-years a[aria-current] span { background: var(--mm-red); color: #fff; }
.mm-years a { font-size: 1.1rem; }
.mm-months { border-top: 1px solid var(--mm-line); padding-top: 1rem; }
.mm-months__label { margin: 0 0 .4rem; padding-left: .8rem; font: 700 .78rem var(--mm-display); text-transform: uppercase; letter-spacing: .08em; color: var(--mm-muted); }
.mm-months a { font-weight: 500; font-size: .95rem; padding-block: .4rem; }
@media (max-width: 900px) {
  .mm-layout { grid-template-columns: 1fr; }
  .mm-side { position: static; gap: .75rem; }
  .mm-years ul, .mm-months ul { display: flex; gap: .4rem; overflow-x: auto; padding-bottom: .4rem; scrollbar-width: thin; }
  .mm-years a, .mm-months a { white-space: nowrap; border: 1px solid var(--mm-line); }
  .mm-months { border-top: 0; padding-top: 0; }
  .mm-months__label { padding-left: 0; }
}

.mm-result { margin: 0 0 1.5rem; padding: .75rem 1rem; border-radius: 10px; background: var(--chip, #F0F0EE); font-family: var(--mm-display); }
.mm-result a { margin-left: .5rem; font-weight: 600; }
.mm-empty { padding: 2rem; border: 2px dashed var(--mm-line); border-radius: 14px; text-align: center; color: var(--mm-muted); }
.mm-year + .mm-year { margin-top: 3rem; }
.mm-year__title { display: flex; align-items: baseline; gap: .75rem; margin: 0 0 1rem; font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 800; letter-spacing: -.04em; }
.mm-year__title span { font: 600 .95rem var(--mm-display); letter-spacing: 0; color: var(--mm-muted); }
.mm-month { scroll-margin-top: calc(var(--header-h, 80px) + 1rem); }
.mm-month + .mm-month { margin-top: 2rem; }
.mm-month__title { display: flex; align-items: center; gap: .75rem; margin: 0 0 1rem; font-size: 1.15rem; color: var(--mm-green); }
.mm-month__title::after { content: ""; flex: 1; height: 1px; background: var(--mm-line); }

/* ---------- Speech timeline ---------- */
.mm-timeline { display: grid; gap: .9rem; position: relative; }
.mm-speech { display: grid; grid-template-columns: 68px minmax(0, 1fr) auto; gap: 1.1rem; padding: 1.1rem; border: 1px solid var(--mm-line); border-radius: 14px; background: var(--mm-surface); transition: border-color .15s ease, box-shadow .15s ease; }
.mm-speech:hover { border-color: var(--mm-green); box-shadow: 0 14px 30px -22px rgba(0,0,0,.4); }
.mm-speech__date { display: grid; place-content: center; text-align: center; height: 68px; border-radius: 12px; background: var(--mm-black); color: #fff; font-family: var(--mm-display); line-height: 1; }
.mm-speech__day { font-size: 1.7rem; font-weight: 800; }
.mm-speech__mon { margin-top: .2rem; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #FF8A99; }
.mm-speech__kicker { margin: 0 0 .25rem; font: 600 .85rem var(--mm-display); color: var(--mm-red); }
.mm-speech__title { margin: 0 0 .35rem; font-size: 1.25rem; line-height: 1.25; }
.mm-speech__title a { color: var(--mm-text); text-decoration: none; }
.mm-speech__title a:hover { color: var(--mm-green); text-decoration: underline; }
.mm-speech__where { display: flex; gap: .35rem; align-items: center; margin: 0 0 .4rem; font: 500 .9rem var(--mm-display); color: var(--mm-muted); }
.mm-speech__sum { margin: 0 0 .6rem; color: var(--mm-muted); font-size: .98rem; }
.mm-speech__thumb { position: relative; display: block; width: 168px; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; align-self: start; }
.mm-speech__thumb img { width: 100%; height: 100%; object-fit: cover; }
.mm-speech__play { position: absolute; inset: 0; margin: auto; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--mm-red); color: #fff; }
@media (max-width: 700px) {
  .mm-speech { grid-template-columns: 56px minmax(0, 1fr); gap: .85rem; padding: .9rem; }
  .mm-speech__date { height: 56px; }
  .mm-speech__day { font-size: 1.35rem; }
  .mm-speech__thumb { grid-column: 1 / -1; width: 100%; aspect-ratio: 16 / 9; order: -1; }
}

.mm-chips { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; }
.mm-chip { display: inline-flex; align-items: center; gap: .3rem; padding: .2rem .6rem; border-radius: 999px; background: var(--chip, #F0F0EE); font: 600 .78rem var(--mm-display); color: var(--mm-text); }
.mm-chip--topic { background: transparent; border: 1px solid var(--mm-green); color: var(--mm-green); text-decoration: none; }
.mm-chip--topic:hover { background: var(--mm-green); color: #fff; text-decoration: none; }

/* ---------- Media grid ---------- */
.mm-filterbar { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; margin: 0 0 2rem; }
.mm-types { display: flex; flex-wrap: wrap; gap: .4rem; }
.mm-types a { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .9rem; border-radius: 999px; border: 1.5px solid var(--mm-line); color: var(--mm-text); text-decoration: none; font: 600 .92rem var(--mm-display); }
.mm-types a:hover { border-color: var(--mm-black); text-decoration: none; }
.mm-types a span { font-size: .78rem; color: var(--mm-muted); }
.mm-types a[aria-current] { background: var(--mm-black); border-color: var(--mm-black); color: #fff; }
.mm-types a[aria-current] span { color: #CFCFCF; }
.mm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1.1rem; }
.mm-card__link { display: flex; flex-direction: column; height: 100%; border: 1px solid var(--mm-line); border-radius: 14px; overflow: hidden; background: var(--mm-surface); color: var(--mm-text); text-decoration: none; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.mm-card__link:hover { transform: translateY(-3px); border-color: var(--mm-green); box-shadow: 0 18px 34px -24px rgba(0,0,0,.45); text-decoration: none; }
.mm-card__media { position: relative; display: block; aspect-ratio: 16 / 10; background: #EDEBE6; overflow: hidden; }
.mm-card__media img { width: 100%; height: 100%; object-fit: cover; }
.mm-card__media.is-clipping img { object-position: top; filter: grayscale(.15) contrast(1.05); }
.mm-card__tile { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem; padding: 1rem; text-align: center; font: 800 1.15rem var(--mm-display); }
.mm-card__tile .mm-ico { width: 2.4rem; height: 2.4rem; }
.mm-card__media--tv .mm-card__tile { background: var(--mm-red); color: #fff; }
.mm-card__media--radio .mm-card__tile { background: var(--mm-green); color: #fff; }
.mm-card__media--print .mm-card__tile { background: #F4F1EA; color: #141414; }
.mm-card__media--online .mm-card__tile { background: var(--mm-mint); color: #0F2E1D; }
.mm-card__media--podcast .mm-card__tile { background: #FFE3B3; color: #141414; }
.mm-card__play { position: absolute; right: .75rem; bottom: .75rem; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--mm-red); color: #fff; box-shadow: 0 6px 16px -6px rgba(0,0,0,.6); }
.mm-card__body { display: grid; gap: .35rem; padding: .9rem 1rem 1.1rem; }
.mm-card__meta { font: 500 .84rem var(--mm-display); color: var(--mm-muted); }
.mm-card__meta strong { color: var(--mm-text); }
.mm-card__title { font: 700 1.08rem/1.3 var(--mm-display); }
.mm-card__sub { font-size: .86rem; color: var(--mm-muted); }
.mm-badge { display: inline-flex; align-items: center; gap: .3rem; padding: .22rem .6rem; border-radius: 6px; font: 700 .76rem var(--mm-display); background: #141414; color: #fff; }
.mm-card__media .mm-badge { position: absolute; left: .7rem; top: .7rem; }
.mm-badge--tv { background: var(--mm-red); }
.mm-badge--radio { background: var(--mm-green); }
.mm-badge--print { background: #141414; }
.mm-badge--online { background: #FFFFFF; color: #0F2E1D; box-shadow: 0 0 0 1px rgba(0,0,0,.12); }
.mm-badge--podcast { background: #FFE3B3; color: #141414; }

/* ---------- Single speech / media item ---------- */
.mm-single__head { background: var(--mm-paper); color: #141414; padding-block: 1.5rem clamp(2rem, 5vw, 3rem); border-bottom: 1px solid var(--mm-line); }
.mm-single--media .mm-single__head { background: #141414; color: #F2F2F2; border-bottom: 0; }
.mm-single--media .mm-single__head h1 { color: #fff; }
.mm-single--media .mm-crumbs a { color: #5FD08F; }
.mm-single--media .mm-crumbs, .mm-single--media .mm-facts dt { color: #BDBDBD; }
.mm-single--media .mm-single__kicker { color: #fff; }
.mm-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: .35rem; margin: 0 0 1.25rem; padding: 0; font: 500 .9rem var(--mm-display); color: #5C5C5C; }
.mm-crumbs li + li::before { content: "›"; margin-right: .35rem; opacity: .6; }
.mm-crumbs a { color: var(--mm-green); text-decoration: none; font-weight: 600; }
.mm-crumbs a:hover { text-decoration: underline; }
.mm-single__kicker { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0 0 .6rem; font: 700 .95rem var(--mm-display); color: var(--mm-red); }
.mm-single__head h1 { font-size: clamp(2rem, 4.6vw, 3.4rem); font-weight: 800; letter-spacing: -.035em; line-height: 1.05; margin: 0 0 .6rem; max-width: 24ch; }
.mm-single__by { margin: 0 0 1.25rem; font: 600 1.05rem var(--mm-display); }
.mm-soon-badge { padding: .15rem .55rem; border-radius: 6px; background: #141414; color: #fff; font-size: .8rem; }
.mm-facts { display: flex; flex-wrap: wrap; gap: .75rem 2rem; margin: 1rem 0 0; }
.mm-facts div { display: grid; gap: .15rem; }
.mm-facts dt { display: flex; gap: .35rem; align-items: center; font: 700 .76rem var(--mm-display); text-transform: uppercase; letter-spacing: .07em; color: #6B665D; }
.mm-facts dd { margin: 0; font: 600 1rem var(--mm-display); }

.mm-single__body { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(1.5rem, 4vw, 3.5rem); padding-block: clamp(2rem, 5vw, 3rem) clamp(3rem, 7vw, 4.5rem); align-items: start; }
@media (max-width: 960px) { .mm-single__body { grid-template-columns: 1fr; } }
.mm-single__main { min-width: 0; max-width: 820px; }
.mm-single__player + .mm-single__player { margin-top: 1rem; }
.mm-single__photo { margin: 0; }
.mm-single__photo img { width: 100%; height: auto; border-radius: 14px; }
.mm-single__photo figcaption { margin-top: .4rem; font-size: .88rem; color: var(--mm-muted); }
.mm-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.25rem 0 .75rem; }
.mm-actions:empty { display: none; }
.mm-actions .btn .mm-ico { width: 1.15em; height: 1.15em; }
.mm-share { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .5rem; margin: 0 0 1.75rem; font: 600 .88rem var(--mm-display); }
.mm-share__label { display: inline-flex; align-items: center; gap: .35rem; color: var(--mm-muted); margin-right: .25rem; }
.mm-share a, .mm-share button { padding: .3rem .7rem; border-radius: 999px; border: 1px solid var(--mm-line); background: transparent; color: var(--mm-text); font: inherit; text-decoration: none; cursor: pointer; }
.mm-share a:hover, .mm-share button:hover { border-color: var(--mm-green); color: var(--mm-green); text-decoration: none; }
.mm-lead { font-size: clamp(1.1rem, 1.8vw, 1.3rem); line-height: 1.6; margin: 0 0 1.5rem; }
.mm-text { border-top: 4px solid var(--mm-black); padding-top: 1.25rem; scroll-margin-top: calc(var(--header-h, 80px) + 1rem); }
.mm-text__note { display: inline-block; margin: 0 0 1rem; padding: .2rem .6rem; border: 1.5px solid var(--mm-red); border-radius: 6px; color: var(--mm-red); font: 700 .8rem var(--mm-display); text-transform: uppercase; letter-spacing: .06em; }
.mm-text .prose { font-size: 1.1rem; line-height: 1.75; }
.mm-chips--topics { margin-top: 2rem; align-items: center; }
.mm-chips--topics > span { font: 600 .9rem var(--mm-display); margin-right: .25rem; }
.mm-adjacent { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 2.5rem; }
.mm-adjacent a { display: grid; gap: .2rem; padding: 1rem; border: 1px solid var(--mm-line); border-radius: 12px; color: var(--mm-text); text-decoration: none; font: 700 1rem var(--mm-display); }
.mm-adjacent a:hover { border-color: var(--mm-green); text-decoration: none; }
.mm-adjacent span { font-size: .8rem; font-weight: 600; color: var(--mm-muted); }
.mm-adjacent__next { grid-column: 2; text-align: right; }
@media (max-width: 560px) { .mm-adjacent { grid-template-columns: 1fr; } .mm-adjacent__next { grid-column: auto; text-align: left; } }
.mm-single__side { position: sticky; top: calc(var(--header-h, 80px) + 1rem); display: grid; gap: 1rem; }
@media (max-width: 960px) { .mm-single__side { position: static; } }
.mm-single__side h2 { font-size: 1.1rem; margin: 0; }
.mm-mini { list-style: none; margin: 0; padding: 0; display: grid; gap: .1rem; }
.mm-mini li { display: grid; gap: .1rem; padding: .6rem 0; border-bottom: 1px solid var(--mm-line); }
.mm-mini span { font: 600 .8rem var(--mm-display); color: var(--mm-muted); }
.mm-mini a { font: 600 .98rem/1.3 var(--mm-display); color: var(--mm-text); text-decoration: none; }
.mm-mini a:hover { color: var(--mm-green); text-decoration: underline; }
.mm-side__all { font: 600 .92rem var(--mm-display); }
.mm-side__invite { padding: 1.1rem; border-radius: 14px; background: var(--mm-paper); color: #141414; border-left: 5px solid var(--mm-red); }
.mm-side__invite p { margin: 0 0 .75rem; font: 600 1rem var(--mm-display); }

/* Clipping pages */
.mm-clipping { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; }
.mm-clipping:has(> :only-child) { grid-template-columns: minmax(0, 560px); }
.mm-clipping__page { position: relative; display: block; border-radius: 6px; overflow: hidden; background: #fff; box-shadow: 0 1px 0 rgba(0,0,0,.08), 0 18px 34px -22px rgba(0,0,0,.5); }
.mm-clipping__page img { display: block; width: 100%; height: auto; }
.mm-clipping__zoom { position: absolute; right: .6rem; bottom: .6rem; padding: .3rem .65rem; border-radius: 999px; background: rgba(17,17,17,.85); color: #fff; font: 600 .78rem var(--mm-display); opacity: 0; transition: opacity .15s ease; }
.mm-clipping__page:hover .mm-clipping__zoom, .mm-clipping__page:focus-visible .mm-clipping__zoom { opacity: 1; }
@media (hover: none) { .mm-clipping__zoom { opacity: 1; } }
.mm-credit { margin-top: 1.5rem; font-size: .85rem; color: var(--mm-muted); }
.mm-lightbox { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; padding: 3.5rem 4rem 2.5rem; border: 0; background: rgba(10,10,10,.94); color: #fff; }
.mm-lightbox[open] { display: flex; align-items: center; justify-content: center; }
.mm-lightbox::backdrop { background: rgba(0,0,0,.6); }
.mm-lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; background: #fff; }
.mm-lightbox__close { position: absolute; top: .75rem; right: 1rem; width: 44px; height: 44px; border-radius: 50%; border: 0; background: #fff; color: #111; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.mm-lightbox__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 50%; border: 0; background: rgba(255,255,255,.15); color: #fff; font-size: 2rem; line-height: 1; cursor: pointer; }
.mm-lightbox__nav:hover { background: rgba(255,255,255,.3); }
.mm-lightbox__nav--prev { left: .75rem; }
.mm-lightbox__nav--next { right: .75rem; }
.mm-lightbox__count { position: absolute; bottom: .75rem; left: 0; right: 0; margin: 0; text-align: center; font: 600 .9rem var(--mm-display); }
@media (max-width: 600px) { .mm-lightbox { padding: 3.5rem .5rem 2.5rem; } .mm-lightbox__nav { top: auto; bottom: .4rem; transform: none; } }

/* Players */
.mm-frame { position: relative; border-radius: 16px; overflow: hidden; background: var(--mm-black); border: 6px solid var(--mm-black); box-shadow: 0 30px 60px -30px rgba(0,0,0,.55); }
.mm-frame__stage, .mm-frame__embed { position: relative; aspect-ratio: 16 / 9; }
.mm-frame--audio .mm-frame__stage, .mm-frame--audio .mm-frame__embed { aspect-ratio: auto; height: 180px; }
.mm-frame__embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mm-frame--file video { display: block; width: 100%; height: auto; max-height: 70vh; background: #000; }
.mm-frame__cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mm-frame__stage:not(:has(.mm-frame__cover)) { background: radial-gradient(circle at 85% 15%, var(--mm-green) 0 22%, transparent 22.2%), radial-gradient(circle at 8% 100%, var(--mm-red) 0 18%, transparent 18.2%), var(--mm-black); }
.mm-frame__overlay { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .4rem; padding: 1rem; text-align: center; background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.55)); color: #fff; }
.mm-frame__play { width: clamp(60px, 8vw, 84px); height: clamp(60px, 8vw, 84px); border-radius: 50%; border: 0; display: grid; place-items: center; background: var(--mm-red); color: #fff; cursor: pointer; box-shadow: 0 0 0 10px rgba(200,16,46,.25); transition: transform .2s ease; }
.mm-frame__play .mm-ico { width: 44%; height: 44%; margin-left: 6%; }
.mm-frame__play:hover { transform: scale(1.06); }
.mm-frame__play:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.mm-frame__label { margin: .3rem 0 0; font: 700 1.1rem var(--mm-display); text-shadow: 0 1px 8px rgba(0,0,0,.5); }
.mm-frame__note { margin: 0; font-size: .78rem; opacity: .85; }
.mm-frame__fallback { margin: 0 0 1rem; }
.mm-audio { display: flex; gap: 1rem; align-items: center; padding: 1.1rem 1.25rem; border-radius: 16px; background: var(--mm-black); color: #fff; border-top: 6px solid var(--mm-red); }
.mm-audio > .mm-ico { width: 2.4rem; height: 2.4rem; color: #FF8A99; }
.mm-audio > div { flex: 1; min-width: 0; }
.mm-audio__title { margin: 0 0 .5rem; font: 700 1rem var(--mm-display); }
.mm-audio audio { width: 100%; }

/* Invite band */
.mm-invite { background: var(--mm-red); color: #fff; }
.mm-invite__in { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem 2rem; align-items: center; padding-block: clamp(2rem, 5vw, 2.75rem); }
.mm-invite h2 { margin: 0; color: #fff; font-size: clamp(1.4rem, 3vw, 2rem); }
.mm-invite p { margin: 0; grid-column: 1; color: #FFE5E9; }
.mm-invite .btn { grid-column: 2; grid-row: 1 / span 2; background: #fff !important; color: var(--mm-red) !important; }
@media (max-width: 700px) { .mm-invite__in { grid-template-columns: 1fr; } .mm-invite .btn { grid-column: 1; grid-row: auto; justify-self: start; } }

/* Dark mode */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .mm-speech__date { background: #2A2A2A; }
  :root:not([data-theme="light"]) .mm-card__media { background: #222; }
}

/* Refinements */
.mm-single--media .mm-badge--print { background: #FFFFFF; color: #141414; }
.mm-tiles li:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (max-width: 700px) { .mm-speech__thumb { display: none; } }

/* Speaking request form */
.mm-talk { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin: 0 0 1.25rem; padding: .85rem 1rem; border-radius: 12px; background: #F4F1EA; color: #141414; }
.mm-talk__label { margin: 0; font: 700 .95rem var(--font-display, inherit); }
.mm-talk__btns { display: flex; flex-wrap: wrap; gap: .5rem; }
.mm-talk__btn { display: inline-flex; align-items: center; gap: .45rem; padding: .55rem .95rem; border-radius: 999px; background: #141414; color: #fff !important; font: 700 .92rem var(--font-display, inherit); text-decoration: none !important; }
.mm-talk__btn svg { width: 1.15em; height: 1.15em; }
.mm-talk__btn--wa { background: #1E9E4F; }
.mm-talk__btn:hover { filter: brightness(1.1); }
.mm-talk--done { justify-content: center; margin-top: 1rem; background: transparent; }
.qf-choices--row { display: flex; flex-wrap: wrap; gap: .5rem; }
.qf-choices--row .qf-choice { flex: 1 1 180px; }
.qf-choices--chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.qf-chip { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .7rem; border: 1px solid var(--line, #DADAD6); border-radius: 999px; font: 600 .85rem var(--font-display, inherit); cursor: pointer; }
.qf-chip:has(input:checked) { border-color: var(--green, #0B7A3E); background: color-mix(in srgb, var(--green, #0B7A3E) 10%, transparent); }
.qf-chip input { width: 1rem; height: 1rem; margin: 0; accent-color: var(--green, #0B7A3E); }
[data-required-group][data-invalid] { outline: 2px solid var(--red, #C8102E); outline-offset: 4px; border-radius: 10px; }
.mm-invite-dialog { width: min(820px, calc(100% - 2rem)); }
.mm-talk[hidden] { display: none; }
.mm-invite-form [data-required-group="services[]"] + .qf-f { margin-top: 1rem; }

/* Portrait changed with the page editor */
.mm-portrait .slide__img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 18px; max-height: none; box-shadow: 0 30px 50px -28px rgba(0,0,0,.55); transform: rotate(2deg); }
.mm-portrait[data-ig-edit] { position: relative; }

/* Online article: preview card, embed or the article itself */
.mm-linkcard { display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 1fr); border: 1px solid var(--mm-line); border-radius: 14px; overflow: hidden; background: var(--mm-surface); color: var(--mm-text); text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease; }
.mm-linkcard:hover { border-color: var(--mm-green); box-shadow: 0 18px 34px -24px rgba(0,0,0,.45); text-decoration: none; }
.mm-linkcard__img img { width: 100%; height: 100%; min-height: 180px; object-fit: cover; display: block; }
.mm-linkcard__body { display: grid; gap: .45rem; align-content: start; padding: 1.1rem 1.25rem 1.25rem; }
.mm-linkcard__site { display: inline-flex; align-items: center; gap: .35rem; font: 700 .82rem var(--mm-display); text-transform: uppercase; letter-spacing: .05em; color: var(--mm-red); }
.mm-linkcard__title { font: 800 1.25rem/1.25 var(--mm-display); }
.mm-linkcard__desc { color: var(--mm-muted); font-size: .98rem; }
.mm-linkcard__cta { margin-top: .25rem; font: 700 .95rem var(--mm-display); color: var(--mm-green); }
@media (max-width: 640px) { .mm-linkcard { grid-template-columns: 1fr; } .mm-linkcard__img img { aspect-ratio: 16 / 9; min-height: 0; } }
.mm-frame--embed .mm-frame__embed { aspect-ratio: 16 / 9; }
.mm-frame--short .mm-frame__stage { aspect-ratio: 21 / 9; }
.mm-frame--short .mm-frame__embed { aspect-ratio: auto; height: 200px; }
.mm-frame--article { background: #fff; }
.mm-frame--article .mm-frame__stage { aspect-ratio: 16 / 8; }
.mm-frame--article .mm-frame__embed { aspect-ratio: auto; height: min(80vh, 900px); background: #fff; }
.mm-frame--article .mm-frame__embed .wp-embedded-content { position: static !important; clip: auto !important; width: 100%; height: 100%; }
.mm-frame__embed > blockquote.wp-embedded-content { display: none; }
.mm-article__open { margin: .5rem 0 0; font: 600 .92rem var(--mm-display); }
