
/* Project article: editorial middle column. Sidebars and timeline untouched. */
.mm-proj-art__main { overflow-wrap: anywhere; }
.mm-proj-art__intro {
  font-size: clamp(20px, 1.7vw, 25px);
  line-height: 1.5;
  margin-bottom: 30px;
}
.mm-proj-art__intro > :last-child { margin-bottom: 0; }
.mm-proj-art__content {
  font-family: var(--mm-ff-body);
  font-style: normal;
  font-size: 15px;
  line-height: 1.85;
}
.mm-proj-art__content > :first-child { margin-top: 0; }
.mm-proj-art__content p {
  margin-bottom: 1.25em;
  text-align: justify;
  text-align-last: start;
  hyphens: auto;
  overflow-wrap: break-word;
}
.mm-proj-art__content h2,
.mm-proj-art__content h3 { line-height: 1.4; margin-top: 2em; }
.mm-proj-art__content ul,
.mm-proj-art__content ol { padding-left: 1.25em; margin: 1.25em 0; }
.mm-proj-art__content li + li { margin-top: .4em; }
.mm-proj-art__content figure { margin: 28px 0; max-width: 100%; }
.mm-proj-art__content img,
.mm-proj-art__content video { max-width: 100%; height: auto; }
.mm-proj-art__content iframe { max-width: 100%; }
.mm-proj-art__content figure img { border-radius: 0; }
.mm-proj-art__content figcaption {
  font-size: 9px; line-height: 1.65; letter-spacing: .09em;
  margin-top: 10px;
}
.mm-proj-art__content blockquote {
  text-align: center; border: 0; padding: 0 8px;
  margin: 32px 0; font-size: clamp(24px, 2.3vw, 30px); line-height: 1.35;
}
.mm-proj-art__content blockquote p {
  margin: 0;
  text-align: center;
  text-align-last: center;
  hyphens: none;
}
.mm-proj-art__content figcaption p { text-align: center; text-align-last: center; hyphens: none; }
.mm-proj-art__content blockquote cite {
  display: block; margin-top: 14px; font-family: var(--mm-ff-mono);
  font-style: normal; font-size: 9px; line-height: 1.7;
  text-transform: uppercase; letter-spacing: .09em; color: var(--mm-muted);
}
/* Only explicit quote sources receive caption styling. */
.mm-proj-art__content blockquote + p {
  font-family: var(--mm-ff-body); font-size: 15px; letter-spacing: normal;
  text-transform: none; color: var(--mm-fg); margin-top: 0;
}
.mm-proj-art__content .mm-project-media-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start; gap: 16px; margin: 28px 0;
}
.mm-proj-art__content .mm-project-media-grid figure { margin: 0; min-width: 0; }
.mm-proj-art__content a { text-underline-offset: 4px; text-decoration-color: var(--mm-accent); }
.mm-proj-art__content a:hover { color: var(--mm-accent); }
.mm-proj-art__content a:focus-visible { outline: 2px solid var(--mm-accent); outline-offset: 4px; }
@media (max-width: 480px) {
  .mm-proj-art__content .mm-project-media-grid { grid-template-columns: 1fr; }
  .mm-proj-art__intro { font-size: 21px; }
}

.mm-project-abstract-label { display: block; margin-bottom: 10px; font-family: var(--mm-ff-mono); font-size: 9px; line-height: 1.6; font-style: normal; text-transform: uppercase; letter-spacing: .12em; color: var(--mm-muted); }
.mm-proj-art__content .mm-project-media-grid--single { grid-template-columns: 1fr; }

/* Return to the category overview, below the breadcrumb and left of status. */
.mm-proj-art__back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 8px 12px;
  border: 1px solid var(--mm-line);
  border-radius: 2px;
  font-family: var(--mm-ff-mono);
  font-size: 10px;
  line-height: 1.4;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--mm-fg);
}
.mm-proj-art__back:hover { border-color: var(--mm-accent); color: var(--mm-accent); background: var(--mm-bg-elev); }
.mm-proj-art__back:focus-visible { outline: 2px solid var(--mm-accent); outline-offset: 4px; }
.mm-proj-art__timeline--archived .mm-proj-art__timeline-track { background: var(--mm-muted); opacity: .45; }
.mm-proj-art__header-right { text-align: right; }
.mm-proj-art__archived-date { display: block; margin-top: 8px; font-family: var(--mm-ff-mono); font-size: 9px; line-height: 1.5; letter-spacing: .04em; color: var(--mm-muted); }
@media (max-width: 480px) { .mm-proj-art__back { font-size: 9px; padding: 8px; } }
