/* Le Musée: canonical Ivoire palette and typography from design_concept.html.
   Color identifies actual groups; framing and whitespace provide the hierarchy. */
.mk-editorial, .mk-academic {
  --mk-paper: #f3eee4; --mk-paper2: #fbf8f1;
  --mk-ink: #1c1a16; --mk-muted: #5a554b;
  --mk-line: #e3dbcb; --mk-gold: #b0882a; --mk-gold-dark: #8a6a1f;
  --mk-display: 'Cinzel','Shippori Mincho','Noto Serif KR','Noto Serif',serif;
  --mk-body: 'Cormorant Garamond','Shippori Mincho','Noto Serif KR','Noto Serif',serif;
  --mk-label: 'Jost','Noto Sans JP','Noto Sans KR',sans-serif;
  --mk-mono: 'Space Mono','Noto Sans JP',monospace;
  color: var(--mk-ink); font-family: var(--mk-body);
}
.renewal.mk-editorial {
  --r-bg: var(--mk-paper); --r-bg-alt: var(--mk-paper2);
  --r-primary: var(--mk-ink); --r-primary-dark: #2a251d; --r-border: var(--mk-line);
  background: var(--mk-paper); font-size: 16.5px;
  background-image: radial-gradient(circle at 1px 1px,rgba(28,26,22,.035) 1px,transparent 0);
  background-size: 22px 22px;
}
.mk-editorial .container { max-width: 1120px; padding-inline: 32px; }
.mk-editorial :is(h1,h2,h3,h4) { font-family: var(--mk-display); font-weight: 500; }
.mk-editorial .page-hero {
  padding: 68px 0 58px; color: var(--mk-ink); border-bottom: 1px solid var(--mk-line);
  background: linear-gradient(90deg,rgba(243,238,228,.99) 30%,rgba(243,238,228,.92) 56%,rgba(243,238,228,.3)),url('/assets/hero-gallery-light.webp') center / cover;
}
.mk-editorial .page-hero::before { display: none; }
.mk-editorial .page-hero .container { text-align: left; }
.mk-editorial .page-hero-heading { max-width: 840px; color: var(--mk-ink); font-size: clamp(29px,3.4vw,43px); line-height: 1.55; letter-spacing: .02em; text-align: left; text-wrap: balance; margin: 0; }
.mk-editorial .page-hero-label { color: var(--mk-gold-dark); font: 12px var(--mk-label); letter-spacing: .25em; margin-bottom: 22px; }
.mk-editorial .page-hero :is(.page-hero-sub,.about-body) { color: var(--mk-muted); font-size: 17px; line-height: 1.95; max-width: 64ch; text-align: left; margin: 22px 0 0; }
.mk-editorial .about-section { padding: 60px 0; }
.mk-editorial .about-section--alt { background: var(--mk-paper2); border-block: 1px solid var(--mk-line); }
.mk-editorial .about-section > .container > :is(.about-heading,.section-label,.about-body,h3) { max-width: 960px; margin-inline: auto; text-align: left; }
.mk-editorial .about-heading { font-size: clamp(23px,2.7vw,32px); line-height: 1.55; letter-spacing: .02em; font-weight: 500; margin: 0 0 26px; }
.mk-editorial .section-label { font: 12px var(--mk-label); letter-spacing: .2em; color: var(--mk-gold-dark); margin-bottom: 12px; }
.mk-editorial :is(.about-body,.model-note p,.model-card p,.concept-card p,.timeline-content p,.forwho-card p) { font-size: 16.5px; line-height: 1.9; color: var(--mk-muted); }
.mk-editorial .about-section > .container > .about-body { margin-bottom: 20px; }
.mk-editorial .about-inner { gap: 52px; grid-template-columns: 1.12fr 1fr; }
.mk-editorial .anchor-nav { background: var(--mk-paper2); border-color: var(--mk-line); }
.mk-editorial .anchor-nav a { font-size: 14px; }
.mk-editorial :is(.concept-card,.model-card,.forwho-card,.association-meta) { background: var(--mk-paper2); border: 1px solid var(--mk-line); border-radius: 3px; box-shadow: 0 18px 40px -32px rgba(28,26,22,.35); }
.mk-editorial .concept-card { padding: 24px; border-top: 2px solid var(--mk-gold); }
.mk-editorial :is(.concept-card h3,.timeline-content h3,.forwho-card h3) { font-size: 20px; line-height: 1.6; font-weight: 500; }
.mk-editorial .concept-icon { margin-bottom: 14px; }
.mk-editorial .model-cards { max-width: 960px; margin: 28px auto; gap: 24px; }
.mk-editorial .model-card { padding: 25px; }
.mk-editorial .model-card-header { background: none; padding: 0 0 16px; border-bottom: 1px solid var(--mk-line); gap: 16px; }
.mk-editorial .model-card-header h3 { font-size: 21px; font-weight: 500; }
.mk-editorial .model-card-header .model-tag { background: none; color: var(--mk-gold-dark); font: 22px var(--mk-mono); padding: 0; border-radius: 0; }
.mk-editorial .model-card p { padding: 0; margin: 18px 0 0; }
.mk-editorial .model-note { background: transparent; border: 0; border-top: 1px solid var(--mk-line); border-radius: 0; padding: 22px 0 0; max-width: 960px; margin: 0 auto 28px; }
.mk-editorial .model-note p + p { margin-top: 16px; }
.mk-editorial .timeline { margin-inline: auto; }
.mk-editorial .timeline-date { font: 14px/1.8 var(--mk-mono); color: var(--mk-gold-dark); }
.mk-editorial .forwho-grid { max-width: 960px; margin-inline: auto; }
.mk-editorial .forwho-num { font: 13px var(--mk-mono); color: var(--mk-gold-dark); }
.mk-editorial .forwho-card:hover { transform: none; }
.mk-editorial .mission-points { list-style: none; padding: 0; margin: 28px 0 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.mk-editorial .mission-points li { padding: 24px; border: 1px solid var(--mk-line); border-top: 2px solid var(--mk-gold); background: var(--mk-paper2); }
.mk-editorial .mission-points h3 { font-size: 20px; margin-bottom: 14px; }
.mk-editorial .mission-points p { font-size: 16px; line-height: 1.85; color: var(--mk-muted); }
.mk-editorial :is(.meta-label,.meta-value) { font-size: 15px; line-height: 1.8; }
.mk-editorial .btn { font-size: 14px; white-space: normal; }
.mk-editorial .association-links { justify-content: flex-start; }
.mk-editorial a:focus-visible, .mk-model-table:focus-visible { outline: 2px solid var(--mk-gold-dark); outline-offset: 4px; }
/* A table is denser than running prose; numbers retain the same readable size. */
.renewal .mk-model-table { max-width: 100%; overflow-x: auto; border-radius: 3px; margin: 30px 0 20px; background: var(--mk-paper2); box-shadow: 0 18px 40px -30px rgba(28,26,22,.25); }
.renewal .mk-model-table .comparison-table { width: 100%; min-width: 1020px; table-layout: fixed; font: 15.5px/1.75 var(--mk-body); color: var(--mk-ink); }
.renewal .mk-model-table :is(th,td) { font-size: 15.5px; line-height: 1.75; padding: 20px 16px; vertical-align: top; border-bottom: 1px solid var(--mk-line); overflow-wrap: anywhere; }
.renewal .mk-model-table thead th { font-family: var(--mk-label); font-weight: 500; color: var(--mk-ink); background: #eae2d2; border-bottom: 1px solid #c7b58c; text-wrap: balance; }
.renewal .mk-model-table th:first-child { width: 14%; }
.renewal .mk-model-table th:nth-child(2) { width: 22%; }
.renewal .mk-model-table th:nth-child(3) { width: 12%; }
.renewal .mk-model-table th:nth-child(4) { width: 10%; }
.renewal .mk-model-table th:nth-child(5) { width: 15%; }
.renewal .mk-model-table th:nth-child(6) { width: 14%; }
.renewal .mk-model-table th:nth-child(7) { width: 13%; }
.renewal .mk-model-table tbody th { font: 500 16px/1.8 var(--mk-label); background: #f0eadd; }
.renewal .mk-model-table tbody tr:nth-child(even) td { background: rgba(243,238,228,.5); }
.mk-model-table .mk-table-number { font-family: var(--mk-mono); font-size: inherit; font-variant-numeric: lining-nums tabular-nums; }
.mk-model-table caption { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.mk-source { font-size: 14px; line-height: 1.8; color: var(--mk-muted); margin: 18px auto 26px; max-width: 960px; }
.mk-editorial .mk-source a { text-decoration: underline; text-underline-offset: 4px; }
.mk-comparison h3 { max-width: 960px; margin: 32px auto 16px; font-size: 22px; line-height: 1.6; }
.mk-comparison .mk-factor-definitions { max-width: 960px; margin: 28px auto; }
.mk-comparison .mk-factor-definitions > div { padding: 22px 0; border-bottom: 1px solid var(--mk-line); display: grid; grid-template-columns: 260px minmax(0,1fr); gap: 28px; }
.mk-comparison .mk-factor-definitions dt { font-family: var(--mk-display); font-size: 19px; }
.mk-comparison .mk-factor-definitions dd { margin: 0; font-size: 16.5px; line-height: 1.9; color: var(--mk-muted); }
.mk-comparison .mk-formula { font: clamp(18px,2vw,23px)/2 var(--mk-mono); text-align: center; padding: 24px 0; margin: 26px auto; max-width: 960px; border-block: 1px solid var(--mk-line); }
.mk-quadra-key { max-width: 960px; margin: 28px auto; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.mk-editorial .mk-quadra-key a { display: flex; align-items: center; gap: 12px; padding: 18px 14px; background: var(--mk-paper); border: 1px solid var(--mk-line); font-size: 16px; }
.mk-quadra-key svg { flex: 0 0 32px; }
/* Articles use the same ivory reading surface and restrained framing. */
.column-article.mk-editorial { --navy: var(--mk-ink); --navy-deep: var(--mk-ink); --navy-mid: var(--mk-muted); --navy-bg: var(--mk-paper); --white: var(--mk-paper2); --rule: var(--mk-line); --gold: var(--mk-gold-dark); --muted: var(--mk-muted); }
.column-article.mk-editorial .article-header { background: var(--mk-paper2); color: var(--mk-ink); padding: 46px 0; border-bottom: 1px solid var(--mk-line); }
.column-article.mk-editorial .article-header::before { display: none; }
.column-article.mk-editorial .article-title { color: var(--mk-ink); font: 500 clamp(28px,3vw,40px)/1.6 var(--mk-display); }
.column-article.mk-editorial .article-meta { color: var(--mk-muted); font-size: 13px; }
.column-article.mk-editorial .cat-badge { color: var(--mk-gold-dark); background: none; border: 1px solid var(--mk-line); font-size: 12px; }
.column-article.mk-editorial .article-body { font-family: var(--mk-body); }
.column-article.mk-editorial .article-body :is(p,li) { font-size: 16.5px; line-height: 1.95; }
.column-article.mk-editorial .article-body h2 { font: 500 clamp(23px,2.4vw,29px)/1.6 var(--mk-display); margin-top: 46px; padding-top: 28px; }
.column-article.mk-editorial .mk-qd-poles { gap: 20px; }
.column-article.mk-editorial .mk-qd-poles .type-card { background: var(--mk-paper2); color: var(--mk-ink) !important; border: 1px solid var(--mk-line); border-top: 2px solid var(--mk-gold); border-radius: 3px; padding: 24px; box-shadow: 0 18px 40px -32px rgba(28,26,22,.35); text-align: left; }
.column-article.mk-editorial .type-card-code { color: var(--mk-ink) !important; font: 500 20px/1.6 var(--mk-display); opacity: 1; }
.column-article.mk-editorial .type-card-name { color: var(--mk-gold-dark) !important; font-size: 15px; margin: 12px 0; }
.column-article.mk-editorial .type-card-desc { color: var(--mk-muted) !important; font-size: 16.5px; line-height: 1.9; opacity: 1; }
.column-article.mk-editorial .sidebar-cta { background: var(--mk-paper2); border: 1px solid var(--mk-line); }
.column-article.mk-editorial .sidebar-cta :is(h4,p) { color: var(--mk-ink); }
.column-article.mk-editorial .sidebar-cta a { background: var(--mk-ink); color: var(--mk-paper2); }
/* Existing academic diagrams keep their canonical colors. */
.sn-wrap.mk-academic { --sn-navy: #1c1a16; --sn-navy-pale: #f3eee4; --sn-ink: #1c1a16; --sn-muted: #5a554b; --sn-line: #e3dbcb; --sn-bg: #fbf8f1; --sn-bg2: #f3eee4; --sn-coral: #8a6a1f; --sn-coral-pale: #f3eee4; --sn-amber: #8a6a1f; --sn-amber-pale: #f3eee4; }
.mk-academic :is(.sn-sfx-card,.sn-mk-box,.hist-model-k-box) { background: var(--mk-paper2); border: 1px solid var(--mk-line); border-radius: 3px; }
.mk-academic :is(.sn-sfx-desc,.sn-mk-body,.sn-sep-body,.hist-model-k-box .hist-pn-desc) { font-size: 16.5px; line-height: 1.9; }
.mk-academic :is(.sn-sfx-name,.sn-mk-head) { font: 500 21px/1.6 var(--mk-display); }
.hist-wrap.mk-academic :is(.hist-person-name,.hist-pn-name) { color: var(--mk-ink); font-family: var(--mk-display); }
.hist-wrap.mk-academic :is(.hist-person-title,.hist-pn-desc,.hist-node-body p) { color: var(--mk-muted); font-size: 16px; line-height: 1.9; }
.hist-wrap.mk-academic :is(.hist-node-year span,.hist-section-label) { color: var(--mk-gold-dark); }
.hist-wrap.mk-academic .hist-person-icon { color: var(--mk-ink); background: var(--mk-paper); border: 1px solid var(--mk-line); }
.hist-wrap.mk-academic .hist-node-dot { border-color: var(--mk-gold); background: var(--mk-paper2); }
.hist-wrap.mk-academic .hist-node-dot.key { background: var(--mk-gold); }
.sn-wrap.mk-academic :is(.sn-prose,.sn-io-text,.sn-lc-desc,.sn-rcsub,.sn-note-body) { font-size: 16px; line-height: 1.9; }
@media (max-width: 760px) {
  .mk-editorial .container { padding-inline: 20px; }
  .mk-editorial .page-hero { padding: 40px 0; background: linear-gradient(rgba(243,238,228,.94),rgba(243,238,228,.94)),url('/assets/hero-gallery-light.webp') center / cover; }
  .mk-editorial .page-hero-heading { font-size: 29px; overflow-wrap: anywhere; }
  .mk-editorial .about-section { padding: 42px 0; }
  .mk-editorial .about-inner, .mk-editorial .model-cards, .mk-editorial .mission-points { grid-template-columns: 1fr; gap: 22px; }
  .mk-editorial .model-card { padding: 22px; }
  .renewal .mk-model-table { overflow: visible; border: 0; background: none; box-shadow: none; }
  .renewal .mk-model-table .comparison-table { min-width: 0; display: block; }
  .mk-model-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .mk-model-table tbody { display: block; }
  .mk-model-table tbody tr { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--mk-line); background: var(--mk-paper2); margin-bottom: 24px; }
  .renewal .mk-model-table tbody th:first-child { display: block; grid-column: 1/-1; width: 100%; padding: 18px; font-size: 19px; background: #eae2d2; }
  .renewal .mk-model-table tbody td { display: block; grid-column: 1/-1; padding: 16px 18px; font-size: 16px; }
  .mk-model-table tbody td::before { content: attr(data-label); display: block; margin-bottom: 8px; font: 13px/1.65 var(--mk-label); color: var(--mk-gold-dark); }
  .renewal .mk-model-table tbody tr td { border-bottom: 1px solid var(--mk-line); background: transparent; }
  .renewal .mk-model-table tbody td:nth-child(3), .renewal .mk-model-table tbody td:nth-child(4) { grid-column: auto; background: #f3eee4; }
  .renewal .mk-model-table tbody tr td:last-child { border-bottom: 0; }
  .column-article.mk-editorial .mk-qd-poles, .mk-comparison .mk-factor-definitions > div { grid-template-columns: 1fr; gap: 12px; }
  .mk-quadra-key { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .mk-editorial .meta-item { grid-template-columns: 1fr; gap: 6px; }
}
