/* Local design proposal. All article elements retain the source's wording. */
.museum-main { padding-bottom: 30px; }
.museum-reading { width: min(100%, 1140px); }
.museum-preview-label { color: var(--subtle); font-size: 11px; letter-spacing: .13em; }
.museum-heading { margin-block: 38px 30px; }
.museum-kicker { color: var(--subtle); font-size: 12px; letter-spacing: .07em; line-height: 1.8; }
.museum-title-row { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: end; margin-top: 24px; }
.museum-title-row h1 { font-size: clamp(64px, 7.8vw, 112px); line-height: 1; max-width: 560px; }
.museum-deck { font: 500 clamp(22px, 2.2vw, 30px)/1.4 Urbanist, Arial, sans-serif; color: var(--muted); letter-spacing: -.015em; }
.museum-meta { font-size: 13px; line-height: 1.8; color: var(--subtle); margin-top: 28px; }
.museum-page .reader-tools { max-width: 760px; margin: 0 auto 30px; top: 12px; }
.museum-cover { margin: 0 0 70px; }
.museum-cover img { width: 100%; height: auto; border-radius: 24px; }
.museum-cover figcaption, .museum-content figcaption { color: var(--subtle); font-size: 12px; line-height: 1.6; margin-top: 12px; }
.museum-reading-layout { display: grid; grid-template-columns: 190px minmax(0,760px); gap: clamp(30px,5vw,72px); justify-content: center; align-items: start; }
.museum-index { position: sticky; top: 96px; padding-top: 6px; font-size: 14px; line-height: 1.4; }
.museum-index p { font-size: 10px; letter-spacing: .15em; color: var(--subtle); margin-bottom: 18px; }
.museum-index a { display: flex; align-items: center; gap: 14px; padding-block: 11px; border-bottom: 1px solid var(--line); color: var(--subtle); }
.museum-index a span { font-size: 10px; letter-spacing: .05em; opacity: .7; }
.museum-index a:hover, .museum-index a[aria-current] { color: var(--text); }
.museum-index a[aria-current] { border-bottom-color: var(--text); }
.museum-content { min-width: 0; color: var(--muted); }
.museum-content .wrap { padding: 0; width: 100%; }
.museum-section { padding-block: 0 56px; margin-bottom: 56px; border-bottom: 1px solid var(--line); scroll-margin-top: 95px; }
.museum-section:last-child { border-bottom: 0; margin-bottom: 0; }
.museum-content .eyebrow { font-size: .57em; line-height: 1.7; letter-spacing: .09em; color: var(--subtle); margin-bottom: 18px; }
.museum-content h2 { font: 500 clamp(30px,3.2vw,44px)/1.14 Urbanist, Arial, sans-serif; letter-spacing: -.026em; color: var(--text); margin: 0 0 28px; text-wrap: pretty; }
.museum-content h3 { font: 600 1.04em/1.35 Urbanist, Arial, sans-serif; color: var(--text); margin-bottom: 10px; }
.museum-content p { font-size: 1em; line-height: 1.8; }
.museum-content p + p { margin-top: 1.3em; }
.museum-content .lead { font-size: 1.07em; color: var(--text); }
.museum-content .quote { font: 500 1.45em/1.38 Urbanist, Arial, sans-serif; color: var(--text); border-left: 2px solid var(--subtle); padding-left: 25px; margin: 36px 0; }
.museum-content .grid { display: grid; gap: 0 28px; margin-top: 34px; }
.museum-content .grid-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.museum-content .grid-4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.museum-content .card { border-top: 1px solid var(--line); padding: 25px 0; background: transparent; border-radius: 0; }
.museum-content .card p { font-size: .82em; line-height: 1.75; }
.museum-content .num { color: var(--subtle); font-size: .56em; margin-bottom: 18px; letter-spacing: .06em; }
.museum-content .metric { font: 500 1.8em/1.2 Urbanist, Arial, sans-serif; letter-spacing: -.04em; color: var(--text); margin-bottom: 16px; }
.museum-content .grid + .card { margin-top: 6px; }
.museum-content .split { display: flex; flex-direction: column; gap: 28px; }
.museum-content .media-card { margin: 8px 0 0; width: 100%; }
.museum-content .media-card img { width: 100%; height: auto; border-radius: 18px; }
.museum-content .media-card figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 16px; }
.museum-enlarge { padding: 10px 0; min-height: 44px; border: 0; background: transparent; color: var(--text); font-size: 13px; }
.museum-zoom-dialog { width: min(1160px,calc(100% - 28px)); max-height: 90dvh; border: 1px solid var(--line); border-radius: 18px; padding: 18px; color: var(--text); background: var(--page); }
.museum-zoom-dialog::backdrop { background: rgba(0,0,0,.7); }
.museum-zoom-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.museum-zoom-heading p { font: 500 19px/1.35 Urbanist,Arial,sans-serif; }
.museum-zoom-heading button { border: 1px solid var(--line); border-radius: 50%; min-width: 44px; min-height: 44px; background: var(--surface); }
.museum-zoom-hint { font-size: 12px; color: var(--subtle); margin-bottom: 14px; }
.museum-zoom-body { max-height: 67dvh; overflow: auto; }
.museum-zoom-body img { width: 1100px; max-width: none; height: auto; }
.museum-content .steps { margin-top: 34px; }
.museum-content .step { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 20px; padding: 24px 0; border-top: 1px solid var(--line); }
.museum-content .step .index { font: 500 1.4em/1.4 Urbanist, Arial, sans-serif; color: var(--subtle); }
.museum-content .step p { font-size: .9em; }
.museum-content .band { display: flex; flex-direction: column; gap: 0; margin-top: 30px; }
.museum-content .pill { padding: 16px 0; border-bottom: 1px solid var(--line); font-size: .83em; }
.museum-content .matrix-hint { font-size: .65em; color: var(--subtle); margin-bottom: 16px; }
.museum-content .matrix { width: 100%; overflow-x: auto; border-block: 1px solid var(--line); -webkit-overflow-scrolling: touch; }
.museum-content table { width: 100%; min-width: 640px; border-collapse: collapse; text-align: left; font-size: .79em; line-height: 1.65; }
.museum-content th { font-size: .8em; font-weight: 500; color: var(--text); background: var(--surface); }
.museum-content th, .museum-content td { padding: 20px 16px; border-bottom: 1px solid var(--line); vertical-align: top; }
.museum-content td:first-child { white-space: nowrap; font-weight: 600; color: var(--text); }
.museum-content .freq { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; margin-top: 28px; }
.museum-content .freq span { background: var(--surface); border-radius: 9px; padding: 18px 2px; text-align: center; font-size: .75em; color: var(--text); }
.museum-content .grid + .eyebrow { margin-top: 42px; }
.museum-content .footer-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 30px; margin-top: 36px; }
.museum-content .footer-box { border-top: 1px solid var(--line); padding-top: 16px; }
.museum-content .smallcaps { font-size: .58em; letter-spacing: .04em; color: var(--subtle); margin-bottom: 12px; }
.museum-content .footer-box p { font-size: .78em; }
.museum-page .reader-next { max-width: 760px; margin: 0 auto; padding-top: 34px; border-top: 1px solid var(--line); }
.museum-listing .blog-feature + .blog-feature { margin-top: 80px; padding-top: 70px; border-top: 1px solid var(--line); }
.museum-feature .blog-photo img { aspect-ratio: 16 / 9; object-fit: contain; }
.museum-feature h2 { font-size: clamp(52px,5.5vw,80px); }
.reading-focused .museum-cover, .reading-focused [data-museum-diagram], .reading-focused .museum-index, .reading-focused .museum-kicker, .reading-focused .museum-meta, .reading-focused .museum-preview-label { display: none; }
.reading-focused .museum-title-row { display: block; margin-top: 0; }
.reading-focused .museum-title-row h1 { max-width: none; }
.reading-focused .museum-deck { margin-top: 24px; }
.reading-focused .museum-reading { max-width: 760px; }
.reading-focused .museum-reading-layout { display: block; }
.reading-focused .museum-heading { margin-top: 0; }
.reading-focused .museum-section { padding-bottom: 40px; margin-bottom: 40px; }
.reading-focused .museum-content .split { gap: 0; }
.reading-focused .museum-content .grid { display: block; }
.reading-focused .museum-content .card { padding: 18px 0; }
.reading-focused .museum-content .num { margin-bottom: 8px; }
.reading-focused .museum-content .quote { font-size: 1.25em; }
@media(max-width:1050px) {
 .museum-title-row { gap: 32px; }
 .museum-reading-layout { display: block; max-width: 760px; margin-inline: auto; }
 .museum-index { position: static; display: flex; flex-wrap: wrap; gap: 4px 18px; padding-block: 0 34px; margin-bottom: 32px; border-bottom: 1px solid var(--line); }
 .museum-index p { flex: 0 0 100%; margin-bottom: 8px; }
 .museum-index a { padding-block: 10px; gap: 8px; }
}
@media(max-width:760px) {
 .museum-title-row { display: block; margin-top: 18px; }
 .museum-title-row h1 { font-size: clamp(58px,12vw,86px); max-width: 560px; }
 .museum-deck { margin-top: 22px; font-size: 23px; }
 .museum-kicker { font-size: 11px; }
 .museum-heading { margin-top: 24px; }
 .museum-meta { margin-top: 22px; font-size: 12px; }
 .museum-cover { margin-bottom: 42px; }
 .museum-cover img { border-radius: 18px; }
 .museum-content .grid-3 { grid-template-columns: 1fr; }
 .museum-content .grid-3 .card { padding: 22px 0; }
 .museum-content .grid-3 .num { margin-bottom: 10px; }
 .museum-content h2 { font-size: 32px; }
 .museum-content .quote { font-size: 1.3em; padding-left: 18px; }
 .museum-content .metric { font-size: 1.5em; }
 .museum-section { padding-bottom: 38px; margin-bottom: 38px; }
 .museum-content .freq { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .museum-content .media-card img { border-radius: 12px; }
 .museum-listing .blog-feature + .blog-feature { margin-top: 48px; padding-top: 40px; }
 .museum-preview-label { font-size: 9px; }
}
@media(max-width:420px) {
 .museum-content .grid-4 { grid-template-columns: 1fr; }
 .museum-content .metric { font-size: 1.8em; }
 .museum-content .footer-grid { grid-template-columns: 1fr; }
}
@media print {
 .museum-cover,.museum-index,.museum-preview-label,.museum-kicker,.museum-meta { display: none; }
 .museum-reading-layout { display: block; }
 .museum-content h2,.museum-content h3,.museum-content .lead,.museum-content .metric { color: #111; }
 .museum-content table { min-width: 0; }
 .museum-content .media-card { break-inside: avoid; }
}
