
.mm-sec { padding: 84px 40px; }

.mm-crumb { max-width: 1180px; margin: 0 auto; padding: 22px 40px 0; display: flex; align-items: center; gap: 9px; flex-wrap: wrap; font-size: .74rem; letter-spacing: .04em; color: var(--mm-text-tertiary); }
.mm-crumb a { color: var(--mm-text-tertiary); transition: color .2s; }
.mm-crumb a:hover { color: var(--mm-black); }
.mm-crumb i { font-size: 13px; opacity: .6; }
.mm-crumb .current { color: var(--mm-text-secondary); }

.mm-pl-intro { max-width: 760px; margin: 0 auto; padding: 26px 24px 22px; text-align: center; }
.mm-pl-eyebrow { font-size: .72rem; font-weight: var(--fw-semibold); letter-spacing: var(--ls-widest); text-transform: uppercase; color: var(--mm-champagne); display: block; margin-bottom: 16px; }
.mm-pl-title { font-family: var(--font-title); font-size: clamp(2.2rem,4.6vw,3.4rem); font-weight: var(--fw-medium); letter-spacing: var(--ls-tight); line-height: 1.06; color: var(--mm-black); }
.mm-pl-text { font-size: var(--fs-body-lg); font-weight: var(--fw-light); line-height: 1.7; color: var(--mm-text-secondary); margin: 16px auto 0; max-width: 60ch; }
.mm-pl-text p { margin: 0 0 1em; }
.mm-pl-text p:last-child { margin-bottom: 0; }
.mm-pl-text a, .mm-cat-desc-inner a { color: var(--mm-black); font-weight: var(--fw-regular, 400); text-decoration: none; border-bottom: 1px solid var(--mm-champagne); padding-bottom: 1px; transition: color .2s, border-color .2s; }
.mm-pl-text a:hover, .mm-cat-desc-inner a:hover { color: var(--mm-champagne); border-color: var(--mm-champagne); }
.mm-pl-text a:focus-visible, .mm-cat-desc-inner a:focus-visible { outline: 2px solid var(--mm-champagne); outline-offset: 3px; border-radius: 2px; }

.mm-subcats { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; max-width: 940px; margin: 0 auto clamp(30px,4vw,46px); padding: 0 24px; }
.mm-subcat { font-family: var(--font-title); font-size: .7rem; font-weight: var(--fw-medium); letter-spacing: .1em; text-transform: uppercase; color: var(--mm-text-secondary); background: transparent; border: 1px solid var(--mm-border); border-radius: 2px; padding: 9px 16px; cursor: pointer; transition: color .22s,border-color .22s,background .22s; white-space: nowrap; line-height: 1; }
.mm-subcat:hover { border-color: var(--mm-black); color: var(--mm-black); }
.mm-subcat.is-active { background: var(--mm-black); border-color: var(--mm-black); color: var(--mm-white); }
.mm-subcat:focus-visible { outline: 2px solid var(--mm-champagne); outline-offset: 2px; }

.mm-pg { padding: 0 40px 28px; }
.mm-pg-inner { max-width: 1180px; margin: 0 auto; }
.mm-pg-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: clamp(20px,2.4vw,30px); align-items: stretch; }
@media (min-width:901px) {
  .mm-pg-grid:not(:has(> :nth-child(3))) { display: flex; justify-content: center; }
  .mm-pg-grid:not(:has(> :nth-child(3))) > * { flex: 0 0 calc((100% - 2 * clamp(20px,2.4vw,30px)) / 3); min-width: 0; }
}
.mm-pg-cell { min-width: 0; }
.mm-pg-cell.is-hidden { display: none; }
.mm-pcard { display: flex; flex-direction: column; height: 100%; color: inherit; background: var(--mm-white); border: 1px solid var(--mm-border-lt); border-radius: 3px; overflow: hidden; transition: border-color .25s,box-shadow .25s,transform .25s; }
.mm-pcard:hover { border-color: var(--mm-black); box-shadow: 0 14px 40px rgba(6,6,6,.08); transform: translateY(-2px); }
.mm-pcard-media { overflow: hidden; background: var(--mm-off-white); }
.mm-pcard-media img { width: 100%; aspect-ratio: 4/5; object-fit: cover; transition: transform .6s cubic-bezier(.22,.61,.36,1); }
.mm-pcard:hover .mm-pcard-media img { transform: scale(1.04); }
.mm-pcard-body { padding: 20px 22px 22px; display: flex; flex-direction: column; flex: 1; }
.mm-pcard-cat { font-size: .64rem; font-weight: var(--fw-semibold); letter-spacing: .18em; text-transform: uppercase; color: var(--mm-champagne); }
.mm-pcard-name { font-family: var(--font-title); font-size: 1.18rem; font-weight: var(--fw-medium); letter-spacing: -0.005em; text-transform: uppercase; color: var(--mm-black); margin-top: 6px; line-height: 1.2; }
.mm-pcard-go { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; padding-top: 16px; font-size: .68rem; letter-spacing: var(--ls-wider); text-transform: uppercase; color: var(--mm-text-secondary); transition: color .2s; }
.mm-pcard-go i { transition: transform .25s; }
.mm-pcard:hover .mm-pcard-go { color: var(--mm-black); }
.mm-pcard:hover .mm-pcard-go i { transform: translateX(5px); }

.mm-loadmore { text-align: center; margin-top: clamp(40px,5vw,56px); }
.mm-loadmore-count { font-size: .74rem; letter-spacing: .06em; color: var(--mm-text-tertiary); margin-bottom: 16px; font-variant-numeric: tabular-nums; }
.mm-loadmore-btn[hidden] { display: none; }

.mm-allcta { position: relative; overflow: hidden; text-align: center; margin-top: clamp(44px,5vw,64px); padding: clamp(44px,6vw,68px) clamp(24px,5vw,48px); background: var(--mm-graphite-dk); color: var(--mm-white); border-radius: 4px; }
.mm-allcta::before { content: ""; position: absolute; inset: 0; background: url("../logo/Pattern__M-oblique__white-motif.svg") no-repeat center; background-size: cover; opacity: .05; pointer-events: none; }
.mm-allcta > * { position: relative; z-index: 1; }
.mm-allcta-eyebrow { font-size: .7rem; font-weight: var(--fw-semibold); letter-spacing: var(--ls-widest); text-transform: uppercase; color: var(--mm-champagne); display: block; margin-bottom: 16px; }
.mm-allcta-title { font-family: var(--font-title); font-size: clamp(1.6rem,3vw,2.3rem); font-weight: var(--fw-medium); letter-spacing: var(--ls-tight); line-height: 1.14; color: var(--mm-white); }
.mm-allcta-text { font-size: var(--fs-body); font-weight: var(--fw-light); line-height: 1.7; color: rgba(255,255,255,.74); margin: 16px auto 0; max-width: 52ch; }
.mm-allcta .mm-cta { margin-top: 28px; padding: 17px 44px; font-size: .84rem; }
.mm-allcta .mm-cta i { transition: transform .22s; }
.mm-allcta .mm-cta:hover i { transform: translateX(5px); }

.mm-cat-desc { padding: clamp(48px,6vw,72px) 24px; }
.mm-cat-desc--2 { padding-bottom: clamp(56px,7vw,84px); }
.mm-cat-desc-inner { max-width: 720px; margin: 0 auto; }
.mm-cat-desc-inner p { font-size: var(--fs-body-lg); font-weight: var(--fw-light); line-height: 1.75; color: var(--mm-text-secondary); margin: 0 0 1.1em; }
.mm-cat-desc-inner p:last-child { margin-bottom: 0; }
.mm-cat-desc-inner h2, .mm-cat-desc-inner h3, .mm-cat-desc-inner h4 { font-family: var(--font-title); font-weight: var(--fw-medium); letter-spacing: var(--ls-tight); line-height: 1.2; color: var(--mm-black); margin: 1.5em 0 .6em; }
.mm-cat-desc-inner h2 { font-size: clamp(1.4rem,2.6vw,1.9rem); }
.mm-cat-desc-inner h3 { font-size: 1.25rem; }
.mm-cat-desc-inner h4 { font-size: 1.05rem; }
.mm-cat-desc-inner ul, .mm-cat-desc-inner ol { margin: 0 0 1.1em 1.3em; padding: 0; color: var(--mm-text-secondary); font-weight: var(--fw-light); line-height: 1.7; }
.mm-cat-desc-inner li { margin-bottom: .35em; }
.mm-cat-desc-inner blockquote { margin: 1.4em 0; padding: 4px 0 4px 22px; border-left: 2px solid var(--mm-champagne); font-style: italic; color: var(--mm-text-secondary); }
.mm-cat-desc-inner img { max-width: 100%; height: auto; border-radius: 3px; }

.mm-xp { background: var(--mm-off-white); border-top: 1px solid var(--mm-border-lt); }
.mm-xp-head { text-align: center; margin-bottom: 44px; }
.mm-xp-title { font-family: var(--font-title); font-size: var(--fs-h2); font-weight: var(--fw-medium); letter-spacing: var(--ls-tight); color: var(--mm-black); margin-top: 10px; }
.mm-xp-text { font-size: var(--fs-body-lg); font-weight: var(--fw-light); line-height: 1.7; color: var(--mm-text-secondary); margin: 16px auto 0; max-width: 60ch; }
.mm-xp-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 1180px; margin: 0 auto; }
.mm-xp-card { position: relative; display: block; overflow: hidden; border-radius: 3px; min-height: 360px; color: var(--mm-white); background: var(--mm-graphite-dk); }
.mm-xp-grid .mm-xp-card img { position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; width: 100%; max-width: none; height: 100%; object-fit: cover; object-position: center center; transition: transform .7s cubic-bezier(.22,.61,.36,1); }
.mm-xp-card::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg,rgba(6,6,6,.84) 0%,rgba(6,6,6,.4) 50%,rgba(6,6,6,.1) 100%); transition: background .45s; }
.mm-xp-card:hover img { transform: scale(1.05); }
.mm-xp-card:hover::after { background: linear-gradient(0deg,rgba(6,6,6,.5) 0%,rgba(6,6,6,.14) 56%,rgba(6,6,6,0) 100%); }
.mm-xp-body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 34px 36px; }
.mm-xp-eyebrow { font-size: .66rem; font-weight: var(--fw-semibold); letter-spacing: .2em; text-transform: uppercase; color: var(--mm-champagne); text-shadow: 0 1px 14px rgba(6,6,6,.55); }
.mm-xp-name { font-family: var(--font-title); font-size: 1.6rem; font-weight: var(--fw-medium); color: var(--mm-white); margin: 8px 0 0; text-shadow: 0 2px 18px rgba(6,6,6,.55); }
.mm-xp-cta { display: inline-flex; align-items: center; gap: 8px; font-size: .72rem; letter-spacing: var(--ls-wider); text-transform: uppercase; color: var(--mm-white); margin-top: 16px; border-bottom: 1px solid rgba(255,255,255,.45); padding-bottom: 3px; transition: border-color .25s; text-shadow: 0 1px 12px rgba(6,6,6,.6); }
.mm-xp-cta i { transition: transform .25s; }
.mm-xp-card:hover .mm-xp-cta { border-color: var(--mm-white); }
.mm-xp-card:hover .mm-xp-cta i { transform: translateX(5px); }

@media (max-width:900px) {
  .mm-sec { padding: 56px 20px; }
  .mm-crumb { padding: 18px 20px 0; }
  .mm-pg { padding: 0 20px 20px; }
  .mm-pg-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .mm-pcard-name { font-size: 1.05rem; }
  .mm-xp-grid { grid-template-columns: 1fr; gap: 16px; }
  .mm-xp-card { min-height: 300px; }
}
@media (max-width:560px) {
  .mm-pg-grid { grid-template-columns: 1fr; }
}
