:root {
  color-scheme: light;
  --ink: #212420; --muted: #686d67; --oxblood: #1e4d2b; --oxblood-dark: #12331c;
  --claret: #2f673d; --brass: #b98b1c; --paper: #f2f2ef; --paper-light: #ffffff;
  --line: #d2d4cf; --line-dark: #8c9189; --white: #ffffff; --warning: #955032;
  --measure: 74rem; --reading: 45rem;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; color: var(--ink); font-family: "Segoe UI", Arial, sans-serif; font-size: 1rem; line-height: 1.65;
  background: var(--paper);
}
a { color: inherit; text-underline-offset: .22em; }
a:hover { color: var(--claret); }
button, input, textarea, select { font: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid var(--brass); outline-offset: 4px; }
.skip-link { position: fixed; left: 1rem; top: -6rem; z-index: 100; background: var(--white); border: 2px solid var(--oxblood); padding: .7rem 1rem; }
.skip-link:focus { top: 1rem; }

.utility-bar { background: #0d2413; color: #eef0e6; border-bottom: 1px solid rgba(255,255,255,.14); font-family: Georgia, "Times New Roman", serif; font-size: .82rem; letter-spacing: .025em; }
.utility-inner, .masthead, .primary-nav, .page-shell, .site-footer-inner { width: min(calc(100% - 2.5rem), var(--measure)); margin-inline: auto; }
.utility-inner { display: flex; justify-content: space-between; gap: 1.5rem; padding: .48rem 0; }
.utility-inner p { margin: 0; }
.utility-links { display: flex; gap: 1.4rem; }
.open-mark { display: inline-block; width: .48rem; height: .48rem; margin-right: .4rem; border-radius: 50%; background: #c69b52; }

.site-header { background: var(--oxblood); color: #eef0e6; }
.masthead { min-height: 6.8rem; display: grid; grid-template-columns: 6rem 1fr 7rem; align-items: center; gap: 1.25rem; }
.museum-mark { width: 5.2rem; height: 4.6rem; display: block; text-decoration: none; }
.museum-mark img { width: 100%; height: 100%; object-fit: contain; display: block; }
.wordmark { display: grid; justify-items: start; color: #f5f4ed; text-decoration: none; text-align: left; line-height: 1; }
.wordmark strong { font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 4vw, 2.85rem); font-weight: 400; letter-spacing: -.025em; }
.wordmark span { margin-top: .55rem; color: #bdcbb9; font-size: .66rem; font-weight: 700; letter-spacing: .25em; text-transform: uppercase; }
.visit-action { justify-self: end; display: grid; min-width: 6.5rem; padding: .68rem .8rem .74rem; border: 1px solid #d8c37a; color: #f3e5ad; font-family: Georgia, "Times New Roman", serif; font-size: 1.08rem; line-height: 1.08; text-align: center; text-decoration: none; }
.visit-action span { font-family: "Segoe UI", Arial, sans-serif; font-size: .61rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.visit-action:hover { background: var(--brass); color: #172118; }
.nav-rule { border-top: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid #0e2816; background: var(--oxblood-dark); }
.primary-nav { min-height: 3.1rem; display: flex; justify-content: center; align-items: stretch; }
.primary-nav a { display: grid; place-items: center; padding: .25rem 1.45rem; border-left: 1px solid rgba(255,255,255,.13); color: #eef0e6; font-family: Georgia, "Times New Roman", serif; font-size: .95rem; text-decoration: none; }
.primary-nav a:last-child { border-right: 1px solid rgba(255,255,255,.13); }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { background: #285f37; color: #fff; box-shadow: inset 0 -3px var(--brass); }
.menu-button { display: none; }

.house-hero { margin: 0; position: relative; height: min(59vh, 35rem); overflow: hidden; background: #173720; }
.house-hero img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 54% 22%; }
.house-hero figcaption { position: absolute; right: 1rem; bottom: 1rem; padding: .35rem .55rem; background: rgba(13,36,19,.82); color: #eef0e6; font-family: Georgia, "Times New Roman", serif; font-size: .72rem; }
.historical-strip { padding: 1.35rem max(1.25rem, calc((100vw - var(--measure)) / 2)); background: #dedfd9; border-bottom: 1px solid #777b74; }
.historical-strip-heading { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; color: #444842; font-size: .68rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.historical-strip-heading p { margin: 0; }
.historical-strip-heading span { color: #6d716b; }
.historical-frames { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.historical-frames figure { margin: 0; min-width: 0; }
.black-frame { aspect-ratio: 4 / 3; padding: .42rem; background: #101210; border: 1px solid #000; box-shadow: 0 2px 4px rgba(0,0,0,.3); }
.photo-mat { width: 100%; height: 100%; display: grid; place-items: center; overflow: hidden; background: #d9d4c8; border: 1px solid #565952; }
.photo-mat img { display: block; object-fit: cover; box-shadow: 0 1px 3px rgba(0,0,0,.42); }
.era-1890 .photo-mat { background: #d7ccb4; }
.era-1890 .photo-mat img { width: 86%; aspect-ratio: 5 / 4; filter: sepia(.12) contrast(1.04); }
.era-1915 .photo-mat { background: #e5e3dc; }
.era-1915 .photo-mat img { width: 88%; aspect-ratio: 4 / 3; filter: grayscale(1) contrast(1.03); }
.era-1940 .photo-mat { background: #c9c5b8; }
.era-1940 .photo-mat img { width: 80%; aspect-ratio: 5 / 4; filter: saturate(.8) contrast(1.04); }
.era-1970 .photo-mat { background: #eee9dc; }
.era-1970 .photo-mat img { width: 91%; aspect-ratio: 3 / 2; filter: saturate(.82) contrast(1.02); }
.historical-frames figcaption { display: flex; justify-content: space-between; gap: .5rem; margin-top: .42rem; color: #292c28; font-family: Georgia, "Times New Roman", serif; font-size: .82rem; }
.historical-frames figcaption strong { font-weight: 400; }
.historical-frames figcaption span { color: #6a6e68; font-family: "Segoe UI", Arial, sans-serif; font-size: .62rem; letter-spacing: .07em; text-transform: uppercase; }

.page-shell { padding: 4.5rem 0 6.5rem; }
.page-intro { position: relative; padding: 0 0 3.8rem 2rem; border-bottom: 3px double var(--line-dark); }
.page-intro::before { content: ""; position: absolute; left: 0; top: .2rem; bottom: 3.8rem; width: .45rem; border-left: 1px solid var(--brass); border-right: 1px solid var(--brass); }
.page-intro.split { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(17rem, .68fr); gap: clamp(2.5rem, 6vw, 6.5rem); align-items: end; }
.eyebrow { margin: 0 0 .8rem; color: var(--oxblood); font-size: .68rem; font-weight: 800; letter-spacing: .21em; text-transform: uppercase; }
h1, h2, h3 { font-family: Georgia, "Times New Roman", serif; color: var(--oxblood-dark); }
h1 { max-width: 19ch; margin: 0; font-size: clamp(2.55rem, 5.8vw, 4.8rem); font-weight: 400; letter-spacing: -.04em; line-height: .98; }
h2 { margin: 0 0 1rem; max-width: 25ch; font-size: clamp(1.85rem, 3.4vw, 2.85rem); font-weight: 400; letter-spacing: -.025em; line-height: 1.04; }
h3 { margin: 0 0 .55rem; font-size: 1.3rem; font-weight: 400; line-height: 1.15; }
.lede { max-width: 43rem; margin: 1.5rem 0 0; color: var(--muted); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.08rem, 2vw, 1.3rem); line-height: 1.55; }
.status-panel { padding: 1.1rem 0 0; border-top: 4px solid var(--oxblood); border-bottom: 1px solid var(--line-dark); }
.status-panel .micro { display: block; margin-bottom: .55rem; }
.status-panel strong { display: block; color: var(--oxblood-dark); font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; }
.status-panel p { margin: .25rem 0 .8rem; color: var(--muted); font-size: .9rem; line-height: 1.5; }
.status-panel a { display: inline-block; margin-bottom: 1rem; color: var(--oxblood); font-size: .76rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.route-home .page-shell { padding-top: 3.3rem; }
.route-home .page-intro { min-height: auto; align-items: end; }
.route-home .page-intro::after { content: "MORGAN HOUSE · PRIVATE COLLECTION · REFERENCE COPY"; position: absolute; right: 0; bottom: 1rem; color: var(--line-dark); font-size: .58rem; letter-spacing: .18em; }
.route-home h1 { max-width: 19ch; font-size: clamp(2.55rem, 5vw, 4.1rem); }

.section { padding: 4rem 0; border-bottom: 1px solid var(--line); }
.section:last-child { border-bottom: 0; padding-bottom: 0; }
.section-heading { display: grid; grid-template-columns: minmax(15rem, .7fr) minmax(0, 1.3fr); gap: 2rem; align-items: end; margin-bottom: 2rem; }
.section-heading > .eyebrow { grid-column: 1 / -1; margin-bottom: -.6rem; }
.section-heading h2 { grid-column: 1; }
.section-heading p:not(.eyebrow) { grid-column: 2; color: var(--muted); margin: 0 0 1.1rem; max-width: 40rem; }
.artifact-section { padding-top: 3.2rem; }
.artifact-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(24rem, .7fr); gap: 3rem; align-items: end; margin-bottom: 1.4rem; }
.artifact-heading h2 { margin-bottom: 0; }
.artifact-heading dl { margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.artifact-heading dl div { padding: .55rem .7rem; border-left: 1px solid var(--line); }
.artifact-heading dl div:first-child { border-left: 0; }
.artifact-heading dt { color: var(--muted); font-size: .65rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.artifact-heading dd { margin: .12rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: .9rem; }
.plan-artifact { margin: 0; padding: .75rem; background: #dad3c2; border: 1px solid #8d8575; box-shadow: 0 2px 8px rgba(25,31,25,.12); }
.plan-scroll { overflow-x: auto; overscroll-behavior-inline: contain; background: #f1ead6; }
.plan-scroll img { display: block; width: 100%; min-width: 68rem; height: auto; }
.plan-artifact figcaption { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem .2rem 0; color: #625d52; font-family: Consolas, "Courier New", monospace; font-size: .7rem; letter-spacing: .045em; text-transform: uppercase; }
.artifact-link { margin: 1rem 0 0; text-align: right; }
.artifact-link a { color: var(--oxblood); font-size: .76rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.plan-teaser { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(19rem, .75fr); gap: clamp(2rem, 7vw, 7rem); align-items: end; }
.plan-teaser > div:first-child { padding-left: 1.2rem; border-left: 3px double var(--brass); }
.plan-teaser h2 { margin-bottom: .65rem; }
.plan-teaser p:not(.eyebrow) { max-width: 38rem; margin: 0; color: var(--muted); }
.plan-teaser-detail { display: grid; padding: 1rem 0; border-top: 3px double var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.plan-teaser-detail span { color: var(--muted); font-size: .67rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.plan-teaser-detail strong { margin: .25rem 0 .85rem; color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: 1rem; font-weight: 400; }
.plan-teaser-detail a { color: var(--oxblood); font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.grid { display: grid; }
.grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 5rem); }
.grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--line-dark); }
.grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--line-dark); }
.card { min-height: 15rem; padding: 1.35rem 1.6rem 1.5rem; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line-dark); background: transparent; display: flex; flex-direction: column; }
.card:first-child { border-left: 1px solid var(--line); }
.card::before { content: ""; width: 1.8rem; height: 2px; margin-bottom: 2.2rem; background: var(--brass); }
.card.restricted::before { background: var(--warning); }
.card.available::before { background: var(--oxblood); }
.card .meta, .record-meta, .micro { color: var(--muted); font-size: .64rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.card h3 { margin-top: .55rem; }
.card p { color: var(--muted); margin: .25rem 0 1.2rem; font-size: .93rem; line-height: 1.55; }
.card a { margin-top: auto; color: var(--oxblood); font-size: .77rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.card:hover { background: rgba(255,253,248,.48); }
.button-row { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.7rem; }
.button { display: inline-flex; justify-content: center; align-items: center; min-height: 2.9rem; padding: .64rem 1.15rem; border: 1px solid var(--oxblood); border-radius: 0; background: var(--oxblood); color: var(--white); font-family: Georgia, "Times New Roman", serif; text-decoration: none; }
.button:hover { background: var(--oxblood-dark); color: var(--white); }
.button.secondary { background: transparent; color: var(--oxblood); }

.notice-strip { display: grid; grid-template-columns: 8rem 1fr auto; gap: 1.25rem; align-items: start; padding: 1.1rem 0; border-top: 1px solid var(--line); }
.notice-strip:first-child { border-top: 3px double var(--line-dark); }
.notice-strip:last-child { border-bottom: 1px solid var(--line-dark); }
.notice-strip time, .notice-strip .type, .notice-strip > span { color: var(--muted); font-size: .69rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.notice-strip p { margin: 0; }
.notice-strip a { color: var(--oxblood); font-size: .75rem; font-weight: 800; text-transform: uppercase; }

.floor-plan { display: grid; grid-template-columns: 1fr 1.18fr 1fr; grid-template-rows: repeat(2, minmax(10rem, auto)); gap: .7rem; padding: 1.25rem; background: #d8cbb5; border: 4px double var(--line-dark); }
.room { min-height: 10rem; padding: 1.1rem; border: 1px solid var(--line-dark); background: #f5efe3; display: flex; flex-direction: column; justify-content: space-between; text-decoration: none; position: relative; }
.room::after { content: ""; position: absolute; width: 1.4rem; height: .4rem; right: -.75rem; bottom: 1.2rem; border-top: 1px solid var(--line-dark); background: #d8cbb5; }
.room:hover { background: var(--white); color: var(--ink); box-shadow: inset 0 0 0 2px var(--brass); }
.room span { color: var(--muted); font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.room strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.28rem; font-weight: 400; }
.room.restricted-room { border-style: dashed; }
.media-slot { min-height: 18rem; border: 1px solid var(--line-dark); background: linear-gradient(135deg, transparent 49.7%, rgba(117,107,95,.25) 50%, transparent 50.3%), linear-gradient(45deg, transparent 49.7%, rgba(117,107,95,.25) 50%, transparent 50.3%), rgba(255,253,248,.35); display: grid; place-items: center; color: var(--muted); text-align: center; padding: 2rem; }
.media-slot small { display: block; max-width: 23rem; font-family: Georgia, "Times New Roman", serif; }
.media-slot strong { color: var(--ink); font-weight: 400; font-size: 1.1rem; }

.record-sheet { display: grid; grid-template-columns: minmax(15rem, .7fr) minmax(0, 1.3fr); gap: 2.5rem; padding: 1.5rem; border: 1px solid var(--line-dark); background: rgba(255,253,248,.42); }
.record-sheet .section { padding: 0; border: 0; }
.record-fields { margin: 0; }
.record-fields div { display: grid; grid-template-columns: 9rem 1fr; gap: 1rem; padding: .78rem 0; border-top: 1px solid var(--line); }
.record-fields div:first-child { border-top: 3px double var(--line-dark); }
.record-fields div:last-child { border-bottom: 1px solid var(--line-dark); }
.record-fields dt { color: var(--muted); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.record-fields dd { margin: 0; }
.letters-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.letter-card { min-width: 0; border-top: 3px double var(--line-dark); border-bottom: 1px solid var(--line-dark); padding: .8rem 0 1rem; }
.letter-thumbnail { display: block; padding: .7rem; background: #d7d5cf; border: 1px solid #8b8e87; }
.letter-thumbnail img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: contain; object-position: center; background: #c9c5ba; box-shadow: 0 1px 4px rgba(20,22,19,.3); transition: filter .15s ease; }
.letter-thumbnail:hover img { filter: brightness(1.04); }
.letter-card-copy { display: grid; align-content: start; padding-top: .8rem; }
.letter-card-copy h3 { margin: .28rem 0 .2rem; }
.letter-card-copy p { min-height: 3rem; margin: 0; color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: .9rem; line-height: 1.35; }
.letter-card-copy > span:not(.record-meta) { color: var(--muted); font-size: .72rem; }
.letter-card-copy > a { margin-top: .75rem; color: var(--oxblood); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.letter-viewer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; align-items: start; }
.letter-viewer.single-leaf { grid-template-columns: minmax(18rem, 36rem); }
.letter-viewer figure { margin: 0; }
.manuscript-mat { padding: clamp(.8rem, 2vw, 1.5rem); background: #d5d2ca; border: 1px solid #8a8d86; }
.manuscript-mat img { display: block; width: 100%; height: auto; box-shadow: 0 2px 7px rgba(20,22,19,.28); }
.letter-viewer figcaption { padding-top: .45rem; color: var(--muted); font-family: Consolas, "Courier New", monospace; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.manuscript-carousel { width: 100%; }
.letter-sequence-navigation { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; width: min(100%, 48rem); margin: 0 auto 1rem; padding: .65rem 0; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line); }
.transcript-open .letter-sequence-navigation { width: 100%; }
.letter-sequence-navigation a { color: var(--oxblood); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.letter-sequence-navigation a:first-child { justify-self: start; }
.letter-sequence-navigation .all-letters-link { justify-self: center; }
.letter-sequence-navigation a:last-child { justify-self: end; }
.letter-sequence-navigation a:focus-visible { outline: 2px solid var(--gold); outline-offset: .25rem; }
.carousel-stage { display: grid; grid-template-columns: minmax(18rem, 48rem); justify-content: center; align-items: start; gap: 2rem; }
.manuscript-carousel.transcript-open .carousel-stage { grid-template-columns: minmax(18rem, 1.18fr) minmax(18rem, .82fr); }
.carousel-figure { min-width: 0; margin: 0; }
.carousel-figure .manuscript-mat { display: grid; place-items: center; min-height: 28rem; }
.carousel-figure img { width: 100%; height: min(70vh, 54rem); object-fit: contain; }
.carousel-figure figcaption { padding-top: .5rem; color: var(--muted); font-family: Consolas, "Courier New", monospace; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.transcript-panel { max-height: min(70vh, 54rem); overflow: auto; padding: 1.5rem 1.6rem; border-top: 3px double var(--line-dark); border-bottom: 1px solid var(--line-dark); background: rgba(255,253,248,.64); }
.transcript-panel[hidden] { display: none; }
.transcript-panel header { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding-bottom: .8rem; border-bottom: 1px solid var(--line); }
.transcript-panel h3 { margin: 0; font-size: 1.15rem; font-weight: 400; }
.transcript-copy { padding-top: 1rem; font-family: Georgia, "Times New Roman", serif; font-size: 1rem; line-height: 1.65; }
.transcript-copy p { margin: 0 0 1rem; }
.transcript-date { text-align: right; }
.editorial-note { color: var(--muted); font-style: italic; }
.transcript-note { margin: 1.4rem 0 0; padding-top: .8rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .72rem; line-height: 1.5; }
.carousel-footer { width: min(100%, 48rem); margin: .9rem auto 0; }
.transcript-open .carousel-footer { width: 100%; }
.carousel-controls { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; padding: .75rem 0; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line); }
.carousel-controls.single-page-status { display: flex; justify-content: center; }
.carousel-controls button, .carousel-tools button { appearance: none; border: 0; border-radius: 0; background: transparent; color: var(--oxblood); font: inherit; font-size: .73rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.carousel-controls button:first-child { justify-self: start; }
.carousel-controls button:last-child { justify-self: end; }
.carousel-controls button:disabled { color: var(--muted); cursor: default; opacity: .5; }
.page-count { color: var(--ink); font-family: Consolas, "Courier New", monospace; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.carousel-tools { display: flex; justify-content: center; gap: .8rem 1.4rem; padding-top: .8rem; }
.carousel-tools button, .carousel-tools a { color: var(--oxblood); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-decoration: underline; text-underline-offset: .2em; text-transform: uppercase; }
.carousel-controls button:focus-visible, .carousel-tools button:focus-visible, .carousel-tools a:focus-visible { outline: 2px solid var(--gold); outline-offset: .25rem; }
.record-navigation { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .8rem; padding-top: 2rem; }
.record-navigation a { color: var(--oxblood); font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.press-register { border-top: 3px double var(--line-dark); }
.press-register-row { display: grid; grid-template-columns: 3rem 9.5rem minmax(0, 1fr) 8.5rem; gap: 1rem 1.35rem; align-items: start; padding: 1.45rem .15rem 1.55rem; border-bottom: 1px solid var(--line-dark); }
.press-register-number { color: #8a8174; font-family: Consolas, "Courier New", monospace; font-size: .72rem; letter-spacing: .08em; }
.press-register-date { display: grid; gap: .35rem; }
.press-register-date time { color: var(--oxblood-dark); font-family: Georgia, "Times New Roman", serif; font-size: 1rem; line-height: 1.25; }
.press-register-date span { color: var(--muted); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.press-register-title h3 { margin: -.15rem 0 .4rem; max-width: 30ch; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.28rem, 2.2vw, 1.7rem); font-weight: 400; line-height: 1.08; }
.press-register-title p { max-width: 57rem; margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.5; }
.press-register-row > a { justify-self: end; color: var(--oxblood); font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.newspaper-object { width: 100%; }
.newspaper-sequence-navigation { width: 100%; }
.newspaper-case { margin: 0; }
.newspaper-viewport { height: min(76vh, 58rem); min-height: 34rem; overflow: auto; padding: 1rem; border: 1px solid #77786f; background: #c6c6be; box-shadow: inset 0 0 0 1px rgba(255,255,255,.45), inset 0 0 2.5rem rgba(48,51,46,.12); scrollbar-color: #6f716b #d8d8d1; }
.newspaper-viewport:focus-visible { outline: 3px solid var(--gold); outline-offset: .2rem; }
.newspaper-scale-surface { position: relative; margin: 0 auto; background: transparent; box-shadow: none; }
.newspaper-frame { position: absolute; inset: 0 auto auto 0; display: block; border: 0; background: transparent; transform-origin: top left; }
.newspaper-case figcaption { display: flex; justify-content: space-between; gap: 1rem; padding-top: .55rem; color: var(--muted); font-family: Consolas, "Courier New", monospace; font-size: .68rem; letter-spacing: .07em; text-transform: uppercase; }
.newspaper-tools { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--line); color: var(--muted); font-family: Consolas, "Courier New", monospace; font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; }
.newspaper-tools a { color: var(--oxblood); font-family: "Segoe UI", Arial, sans-serif; font-weight: 800; }
.newspaper-tools button { appearance: none; padding: 0; border: 0; background: transparent; color: var(--oxblood); cursor: pointer; font-family: "Segoe UI", Arial, sans-serif; font-size: inherit; font-weight: 800; letter-spacing: inherit; text-decoration: underline; text-underline-offset: .2em; text-transform: uppercase; }
.newspaper-overview-case { max-width: 100%; }
.newspaper-overview-mount { position: relative; display: grid; place-items: center; min-height: min(72vh, 51.25rem); padding: 1.25rem; overflow: hidden; border: 1px solid #a39e91; background: #e8e4da; box-shadow: inset 0 0 2rem rgba(62,59,51,.08); }
.newspaper-overview-mount .newspaper-scale-surface { grid-area: 1 / 1; }
.newspaper-overview-mount .newspaper-frame { pointer-events: none; }
.newspaper-overview-trigger { grid-area: 1 / 1; position: relative; z-index: 2; display: flex; align-items: flex-end; justify-content: center; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.newspaper-overview-trigger span { margin-bottom: 1rem; padding: .55rem .9rem; background: rgba(25,49,38,.94); color: #fffdf5; box-shadow: 0 2px 8px rgba(0,0,0,.3); font-size: .7rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; opacity: 0; transform: translateY(.3rem); transition: opacity .16s ease, transform .16s ease; }
.newspaper-overview-trigger:hover span, .newspaper-overview-trigger:focus-visible span { opacity: 1; transform: translateY(0); }
.newspaper-overview-trigger:focus-visible { outline: 3px solid var(--gold); outline-offset: .35rem; }
body.newspaper-examiner-open { overflow: hidden; }
.newspaper-examiner[hidden] { display: none; }
.newspaper-examiner { position: fixed; inset: 0; z-index: 1000; display: grid; grid-template-rows: auto 1fr; background: #b9b9b1; }
.newspaper-examiner-bar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; min-height: 4rem; padding: .65rem 1.1rem; background: var(--green); color: #fffdf5; box-shadow: 0 2px 12px rgba(0,0,0,.28); font-family: Consolas, "Courier New", monospace; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.newspaper-examiner-controls { display: flex; gap: .35rem; }
.newspaper-examiner-bar button { min-height: 2.35rem; padding: .4rem .7rem; border: 1px solid rgba(255,255,255,.48); background: transparent; color: inherit; cursor: pointer; font: inherit; letter-spacing: inherit; text-transform: uppercase; }
.newspaper-examiner-bar button:hover, .newspaper-examiner-bar button:focus-visible { background: #fffdf5; color: var(--green); outline: 0; }
.newspaper-examiner-close { justify-self: end; }
.newspaper-examiner-viewport { min-width: 0; min-height: 0; overflow: auto; display: flex; align-items: flex-start; justify-content: flex-start; padding: 1.5rem; scrollbar-color: #686a65 #d8d8d1; }
.newspaper-examiner-viewport .newspaper-scale-surface { flex: none; margin: 0 auto; box-shadow: none; }
.press-staging-toolbar { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding: .75rem 0; border-top: 3px double var(--line-dark); border-bottom: 1px solid var(--line-dark); color: var(--muted); font-family: Consolas, "Courier New", monospace; font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; }
.press-staging-toolbar a { color: var(--oxblood); font-weight: 800; }
.press-staging-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; align-items: start; }
.press-staging-card { min-width: 0; padding: .75rem; border: 1px solid var(--line-dark); background: #f4f1e8; }
.press-staging-card > header, .press-staging-card > footer { display: flex; justify-content: space-between; gap: .75rem; align-items: baseline; color: var(--muted); font-family: Consolas, "Courier New", monospace; font-size: .62rem; letter-spacing: .06em; text-transform: uppercase; }
.press-staging-card h3 { min-height: 2.5em; margin: .55rem 0 .75rem; font-family: Georgia, "Times New Roman", serif; font-size: 1rem; font-weight: 400; line-height: 1.15; }
.press-staging-preview { display: block; color: inherit; text-decoration: none; }
.press-staging-mount { display: grid; place-items: start center; width: 100%; overflow: hidden; border: 1px solid #8b8b83; background: #c8c8c0; box-shadow: inset 0 0 1.5rem rgba(50,51,47,.12); }
.press-staging-mount .newspaper-scale-surface { display: block; margin: 0; box-shadow: none; }
.press-staging-mount .newspaper-frame { pointer-events: none; }
.press-staging-card > footer { margin-top: .7rem; }
.press-staging-card > footer a { color: var(--oxblood); font-family: "Segoe UI", Arial, sans-serif; font-weight: 800; }
.prose { max-width: var(--reading); }
.prose p { margin: 0 0 1rem; }
.prose ul { padding-left: 1.2rem; }
.prose li { margin-bottom: .55rem; }
.definition-list { margin: 0; border-top: 3px double var(--line-dark); }
.definition-list div { display: grid; grid-template-columns: minmax(12rem, .7fr) minmax(0, 1.3fr); gap: 2rem; padding: 1.15rem 0; border-bottom: 1px solid var(--line); }
.definition-list dt { color: var(--oxblood-dark); font-family: Georgia, "Times New Roman", serif; font-size: 1.08rem; }
.definition-list dd { margin: 0; color: var(--muted); }
.data-table { width: 100%; border-collapse: collapse; background: rgba(255,253,248,.28); border-top: 3px double var(--line-dark); }
.data-table th, .data-table td { padding: .9rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.data-table th { color: var(--oxblood); font-size: .67rem; letter-spacing: .1em; text-transform: uppercase; }
.data-table td:first-child { font-family: Georgia, "Times New Roman", serif; }
.form-shell { max-width: 44rem; padding: 1.6rem; background: rgba(255,253,248,.42); border: 1px solid var(--line-dark); }
.field { display: grid; gap: .35rem; margin-bottom: 1.1rem; }
.field label { color: var(--oxblood-dark); font-family: Georgia, "Times New Roman", serif; }
.field input, .field textarea, .field select { width: 100%; border: 1px solid var(--line-dark); border-radius: 0; background: var(--paper-light); padding: .7rem; }
.form-shell button[disabled] { cursor: not-allowed; opacity: .6; }

.site-footer { background: #172019; color: #edf0e8; border-top: .38rem solid var(--oxblood); }
.site-footer-inner { padding: 3.4rem 0 1.5rem; display: grid; grid-template-columns: 1.1fr 1.4fr; gap: 3rem 5rem; }
.footer-identity { display: flex; gap: 1.35rem; align-items: flex-start; }
.footer-monogram { width: 4rem; height: 4rem; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; font-family: Georgia, "Times New Roman", serif; }
.footer-title { font-family: Georgia, "Times New Roman", serif; font-size: 1.65rem; }
.footer-copy { color: #d4c8b9; max-width: 29rem; font-size: .86rem; }
.footer-links { display: grid; grid-template-columns: repeat(2, minmax(8rem, 1fr)); gap: .52rem 2rem; }
.footer-links a { color: #f0e8dc; border-bottom: 1px solid rgba(255,255,255,.18); padding-bottom: .3rem; font-size: .84rem; text-decoration: none; }
.footer-links a:hover { color: #dfbd7d; }
.build-note { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid rgba(255,255,255,.28); padding-top: 1rem; color: #bcae9f; font-size: .7rem; letter-spacing: .05em; }

@media (max-width: 850px) {
  .masthead { min-height: 7rem; grid-template-columns: 4.5rem 1fr auto; }
  .museum-mark { width: 4.1rem; height: 3.6rem; }
  .wordmark strong { font-size: 2.1rem; }
  .visit-action { display: none; }
  .menu-button { display: block; justify-self: end; border: 1px solid #d8c37a; background: transparent; color: #f3e5ad; padding: .55rem .8rem; }
  .nav-rule { position: relative; }
  .primary-nav { display: none; width: 100%; flex-direction: column; align-items: stretch; }
  .primary-nav.open { display: flex; }
  .primary-nav a, .primary-nav a:last-child { min-height: 3rem; border: 0; border-bottom: 1px solid var(--line); }
  .page-intro.split, .record-sheet, .site-footer-inner { grid-template-columns: 1fr; }
  .grid.three, .grid.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid.three .card:nth-child(3), .grid.four .card:nth-child(3) { border-left: 1px solid var(--line); }
  .floor-plan { grid-template-columns: 1fr 1fr; }
  .utility-links { display: none; }
  .section-heading { grid-template-columns: 1fr; gap: .3rem; }
  .section-heading p:not(.eyebrow), .section-heading h2 { grid-column: 1; }
  .artifact-heading { grid-template-columns: 1fr; gap: 1rem; }
  .plan-teaser { grid-template-columns: 1fr; gap: 1.4rem; }
  .historical-frames { grid-template-columns: repeat(4, minmax(15rem, 1fr)); overflow-x: auto; padding-bottom: .65rem; }
  .letters-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .press-register-row { grid-template-columns: 2.5rem 8.5rem minmax(0, 1fr); }
  .press-register-row > a { grid-column: 3; justify-self: start; }
  .press-staging-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .utility-inner, .masthead, .primary-nav, .page-shell, .site-footer-inner { width: min(calc(100% - 1.5rem), var(--measure)); }
  .masthead { grid-template-columns: 3.7rem 1fr auto; gap: .6rem; }
  .museum-mark { width: 3.4rem; height: 3rem; }
  .wordmark { justify-items: start; text-align: left; }
  .wordmark span { display: none; }
  .wordmark strong { font-size: 1.65rem; }
  .page-shell { padding-top: 3rem; }
  .page-intro { padding-left: 1.15rem; }
  .page-intro.split { gap: 2rem; }
  .house-hero { height: 17rem; }
  .route-home .page-intro::after { display: none; }
  .grid.two, .grid.three, .grid.four, .floor-plan, .footer-links { grid-template-columns: 1fr; }
  .grid.three .card, .grid.four .card { border-left: 1px solid var(--line); }
  .card { min-height: 13rem; }
  .notice-strip, .definition-list div { grid-template-columns: 1fr; gap: .25rem; }
  .letters-grid, .letter-viewer, .letter-viewer.single-leaf { grid-template-columns: 1fr; }
  .carousel-stage, .manuscript-carousel.transcript-open .carousel-stage { grid-template-columns: 1fr; }
  .carousel-figure .manuscript-mat { min-height: 0; }
  .carousel-figure img { height: auto; max-height: 72vh; }
  .transcript-panel { max-height: none; }
  .carousel-controls { gap: .45rem; }
  .artifact-heading dl { grid-template-columns: 1fr; }
  .artifact-heading dl div { border-left: 0; border-top: 1px solid var(--line); }
  .artifact-heading dl div:first-child { border-top: 0; }
  .plan-artifact figcaption { display: grid; }
  .record-fields div { grid-template-columns: 1fr; gap: .2rem; }
  .press-register-row { grid-template-columns: 2rem minmax(0, 1fr); gap: .65rem 1rem; }
  .press-register-date, .press-register-title, .press-register-row > a { grid-column: 2; }
  .press-register-title h3 { font-size: 1.35rem; }
  .newspaper-viewport { min-height: 26rem; height: 68vh; padding: .55rem; }
  .newspaper-case figcaption, .newspaper-tools { display: grid; }
  .newspaper-overview-mount { min-height: 68vh; padding: .7rem; }
  .newspaper-examiner-bar { grid-template-columns: 1fr auto; }
  .newspaper-examiner-controls { grid-column: 1 / -1; grid-row: 2; justify-content: center; }
  .newspaper-examiner-close { grid-column: 2; grid-row: 1; }
  .newspaper-examiner-viewport { padding: .7rem; }
  .press-staging-grid { grid-template-columns: 1fr; }
  .press-staging-toolbar { display: grid; }
  .build-note { display: grid; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Public newspaper exhibition navigation. Newspaper artifact styles are separate. */
.press-breadcrumb {display:flex;flex-wrap:wrap;gap:.6rem;padding-top:1.5rem;font: .85rem/1.5 "Segoe UI",sans-serif;color:var(--muted)}
.press-breadcrumb > * + *::before {content:"/";margin-right:.6rem;color:var(--muted)}
.press-breadcrumb + .page-intro {padding-top:1.75rem}
.press-gallery-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 1.5rem}
.press-gallery-card {padding:0;border:0;background:transparent}
.press-gallery-card h3 {min-height:3.5em;font-size:1.15rem}
.press-gallery-card .press-staging-mount {background:transparent}
.press-gallery-card footer {padding:.6rem 0;border-bottom:1px solid var(--line)}
.press-issue-position {font:.85rem/1.5 "Segoe UI",sans-serif;color:var(--muted)}
.newspaper-examiner-bar {background:var(--forest,#173d28);grid-template-columns:1fr auto 1fr;color:#fffdf5;gap:.65rem 1rem}
.reader-position {display:block;font-size:.65rem;margin-top:.35rem;font-weight:normal}
.reader-sequence {grid-column:1 / 3;display:flex;align-items:center;gap:1.8rem;min-height:2rem}
.reader-sequence a,.reader-transcript {color:#fffdf5;text-underline-offset:.25em}
.reader-transcript {justify-self:end}
.reader-sequence a:focus-visible,.reader-transcript:focus-visible {outline:2px solid #ead08b;outline-offset:5px}
@media(max-width:900px){.press-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .press-gallery-grid{grid-template-columns:1fr}
 .press-gallery-card h3{min-height:0}
 .newspaper-examiner-bar{grid-template-columns:1fr auto;padding:.6rem;gap:.6rem;font-size:.62rem}
 .newspaper-examiner-controls{grid-column:1 / -1;grid-row:2;justify-content:center}
 .newspaper-examiner-close{grid-column:2;grid-row:1}
 .reader-sequence{grid-column:1 / -1;justify-content:space-between;gap:.5rem;grid-row:3}
 .reader-transcript{grid-column:1 / -1;justify-self:center;grid-row:4}
}

.status-panel a.button {color:#fffdf5}
.status-panel a.button:hover,.status-panel a.button:focus-visible {color:#173d28;background:#e8dfc6}
.newspaper-examiner-bar button:hover,.newspaper-examiner-bar button:focus-visible {color:#173d28;background:#fffdf5}

/* Morgan House: approved September 2026 homepage concept. */
:root { --paper:#f7f4ec; --ink:#24332b; --muted:#5f655d; --oxblood:#173d2d; --oxblood-dark:#102b22; --claret:#38634c; --line:#ded8cb; --line-dark:#aaa28e; --brass:#b89955; }
.museum-header {background:#143a2c;border-bottom:1px solid #315240}
.museum-header-inner {max-width:1320px;margin:auto;padding:18px 36px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.museum-brand {display:flex;align-items:center;gap:15px;text-decoration:none;color:#f9f5e9;flex-shrink:0}
.museum-brand img {width:58px;height:65px;object-fit:contain}
.museum-brand strong {font:400 32px/1.1 Georgia,serif;display:block;letter-spacing:-.025em}
.museum-brand small {font:11px/1.5 Georgia,serif;letter-spacing:.3em;text-transform:uppercase;display:block;margin-top:7px}
.museum-brand:hover {color:#f0dba9}
.museum-header .primary-nav {width:auto;min-height:0;margin:0;gap:26px;align-items:center}
.museum-header .primary-nav a {padding:8px 0;border:0;font-size:15px;display:block;white-space:nowrap}
.museum-header .primary-nav a:last-child {border:0}
.museum-header .primary-nav a:hover,.museum-header .primary-nav a[aria-current] {background:none;box-shadow:none;text-decoration:underline;text-decoration-color:#c6a364;text-underline-offset:9px}
.museum-home.page-shell {width:100%;max-width:none;margin:0;padding:0}
.museum-welcome {display:grid;grid-template-columns:minmax(320px,34%) minmax(0,1fr);min-height:490px;max-width:1600px;margin:auto}
.museum-welcome-copy {padding:52px clamp(28px,4vw,66px);align-self:center}
.museum-kicker {font:12px/1.6 "Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.18em;margin:0 0 17px;color:var(--oxblood-dark)}
.museum-welcome-copy .museum-kicker::after {content:"";display:block;width:40px;height:1px;background:var(--brass);margin-top:20px}
.museum-welcome h1 {font-size:clamp(48px,5.3vw,76px);line-height:1.01;letter-spacing:-.045em;margin:0 0 20px}
.museum-welcome-copy > p:not(.museum-kicker) {font:20px/1.45 Georgia,serif;margin:0 0 28px;max-width:28ch}
.museum-welcome .button {font:16px/1.4 Georgia,serif;text-transform:none;letter-spacing:0;padding:14px 22px}
.museum-welcome-image {width:100%;height:100%;min-height:490px;max-height:570px;object-fit:cover;object-position:58% center}
.museum-welcome-note {display:flex;justify-content:space-between;align-items:center;gap:24px;padding:12px max(36px,calc((100vw - 1200px)/2));border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:15px/1.4 Georgia,serif}
.museum-welcome-note span {font-size:11px;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.museum-welcome-note::after {content:"";height:1px;background:var(--line);flex:1;order:1}
.museum-welcome-note i {order:2}
.museum-home-collection {max-width:1280px;margin:auto;padding:48px 36px 50px}
.museum-home-collection > header {display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:24px}
.museum-home h2 {font-size:clamp(30px,3.6vw,48px);line-height:1.07;max-width:none;margin:0;letter-spacing:-.025em}
.museum-text-link {display:inline-block;font:16px/1.5 Georgia,serif;text-decoration:none;border-bottom:1px solid var(--brass);padding-bottom:3px;color:var(--oxblood-dark)}
.museum-text-link:hover {color:#6e5423;border-color:#6e5423}
.museum-collections {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.museum-collections article {min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.museum-collection-art {display:block;width:100%;height:310px;overflow:hidden;background:#d6c9af;margin-bottom:18px}
.museum-collection-art img {width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.museum-collection-art:hover img {transform:scale(1.025)}
.museum-collection-art.letter-art img {object-position:center 24%;transform:scale(1.12)}
.museum-collection-art.letter-art:hover img {transform:scale(1.15)}
.museum-collections .museum-kicker {margin:0 0 8px;font-size:11px;letter-spacing:.15em}
.museum-collections h3 {font-size:27px;line-height:1.12;margin:0 0 9px;letter-spacing:-.025em}
.museum-collections h3 a {text-decoration:none}
.museum-collections article > p:not(.museum-kicker) {font:17px/1.45 Georgia,serif;margin:0 0 20px}
.museum-collections article > .museum-text-link {margin-top:auto}
.newspaper-art [data-newspaper-stage-mount] {display:block;width:100%}
.newspaper-art .newspaper-frame {pointer-events:none}
.newspaper-art .newspaper-scale-surface {margin:0;box-shadow:none}
.museum-house-feature {display:grid;grid-template-columns:1fr 1fr;max-width:1600px;margin:auto;background:#eee7d9}
.museum-house-feature > .museum-house-photo {width:100%;height:370px;object-fit:cover;object-position:center}
.museum-house-feature > div {padding:45px clamp(30px,5vw,75px);align-self:center}
.museum-house-feature h2::after {content:"";display:block;width:40px;height:1px;background:var(--brass);margin:22px 0}
.museum-house-feature p {font:20px/1.5 Georgia,serif;max-width:34ch;margin:0 0 24px}
.museum-visit-strip {max-width:1280px;margin:auto;padding:40px 36px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px;align-items:center}
.museum-visit-strip h2 {font-size:31px}
.museum-visit-strip > div {border-left:1px solid #cfc4af;padding-left:30px}
.museum-visit-strip h3 {font-size:21px;margin:0 0 9px}
.museum-visit-strip p {font:16px/1.5 Georgia,serif;margin:0 0 12px}
.museum-footer {background:#143a2c;border:0;padding:30px 0;color:#eee9dd}
.museum-footer-inner {max-width:1280px;padding:0 36px;margin:auto;display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px 35px}
.museum-footer .museum-brand img {width:45px;height:52px}
.museum-footer .museum-brand strong {font-size:27px}
.museum-footer .museum-brand small {font-size:10px}
.museum-footer nav {display:flex;flex-wrap:wrap;gap:15px 24px;font:14px/1.6 Georgia,serif}
.museum-footer nav a {text-decoration:none;color:#eee9dd}
.museum-footer nav a:hover {text-decoration:underline;color:#ecd29c}
.museum-footer details {grid-column:2;grid-row:2;font-size:13px;justify-self:end}
.museum-footer details summary {cursor:pointer;text-align:right}
.museum-footer details nav {max-width:480px;justify-content:flex-end;margin-top:12px}
.museum-footer p {grid-column:1;grid-row:2;font:12px/1.7 Georgia,serif;margin:0;color:#d5d9cf}
.museum-footer p span {margin-left:16px}
.museum-directory-house {display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;background:#eee7d9;padding:30px}
.museum-directory-house p {max-width:40ch}
.museum-directory-house img {display:block;width:100%;height:260px;object-fit:cover}
@media(max-width:1050px){
 .museum-header-inner{padding:16px 24px;gap:20px}.museum-header .primary-nav{gap:18px}.museum-header .primary-nav a{font-size:14px}.museum-brand strong{font-size:27px}.museum-brand img{width:46px;height:53px}
 .museum-collection-art{height:260px}.museum-collections h3{font-size:24px}
 .museum-welcome-copy{padding:35px 28px}.museum-welcome-copy > p:not(.museum-kicker){font-size:18px}
}
@media(max-width:800px){
 .museum-header-inner{flex-wrap:wrap;gap:0;padding:14px 20px}.museum-header .menu-button{display:block;margin-left:auto;color:#faf5e9;background:transparent;border:1px solid #bdad81;padding:8px 13px;font-size:14px}
 .museum-header .primary-nav{display:none;width:100%;margin:18px 0 0}.museum-header .primary-nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.museum-header .primary-nav a{padding:12px 0;font-size:16px;border-top:1px solid #385345}
 .museum-welcome{grid-template-columns:42% 58%;min-height:410px}.museum-welcome-image{min-height:410px}.museum-welcome h1{font-size:48px}.museum-welcome-copy{padding:30px 22px}.museum-welcome .button{font-size:14px;padding:12px}
 .museum-home-collection{padding:32px 22px}.museum-collections{gap:18px}.museum-collection-art{height:220px}.museum-collections h3{font-size:22px}.museum-collections article > p:not(.museum-kicker){font-size:16px}
 .museum-house-feature > div{padding:28px}.museum-house-feature > .museum-house-photo{height:340px}.museum-house-feature p{font-size:18px}
 .museum-visit-strip{padding:32px 22px;gap:20px}.museum-visit-strip h2{font-size:27px}.museum-visit-strip > div{padding-left:20px}
}
@media(max-width:600px){
 .museum-welcome{display:flex;flex-direction:column}.museum-welcome-copy{padding:32px 24px}.museum-welcome h1{font-size:56px}.museum-welcome-copy > p:not(.museum-kicker){max-width:32ch;font-size:19px}.museum-welcome-image{height:270px;min-height:0;object-position:57% center}.museum-welcome .button{font-size:16px;padding:13px 20px}
 .museum-welcome-note{padding:12px 22px;font-size:13px;gap:12px}.museum-welcome-note span{font-size:10px}.museum-welcome-note::after{display:none}
 .museum-home-collection > header{display:block}.museum-home-collection > header h2{margin-bottom:12px}.museum-collections{grid-template-columns:1fr;gap:36px}.museum-collection-art{height:310px}.museum-collections h3{font-size:28px}.museum-collections .museum-kicker{font-size:12px}
 .museum-house-feature{grid-template-columns:1fr}.museum-house-feature > .museum-house-photo{height:270px}.museum-house-feature > div{padding:30px 24px}.museum-house-feature h2{font-size:35px}
 .museum-visit-strip{grid-template-columns:1fr;padding:32px 24px;gap:24px}.museum-visit-strip > div{border-left:0;border-top:1px solid #cfc4af;padding:20px 0 0}
 .museum-footer-inner{grid-template-columns:1fr;padding:0 24px;gap:22px}.museum-footer p,.museum-footer details{grid-column:1;grid-row:auto;justify-self:start}.museum-footer p span{display:block;margin:0}.museum-footer details summary{text-align:left}.museum-footer details nav{justify-content:flex-start}
 .museum-directory-house{grid-template-columns:1fr;padding:24px;gap:24px}
}
@media(prefers-reduced-motion:reduce){.museum-collection-art img{transition:none}}

/* Lower house feature: match the approved mockup's lighter photographic spread. */
.museum-house-feature {grid-template-columns:51% 49%;background:#eee7d9;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.museum-house-feature > .museum-house-photo {display:block;height:100%;min-height:350px;object-fit:cover;object-position:center}
.museum-house-feature > div {padding:36px clamp(30px,4vw,60px)}
@media(max-width:800px){.museum-house-feature > .museum-house-photo{min-height:320px}.museum-house-feature > div{padding:28px}}
@media(max-width:600px){.museum-house-feature{grid-template-columns:1fr}.museum-house-feature > .museum-house-photo{height:auto;min-height:0;aspect-ratio:16/9}.museum-house-feature > div{padding:30px 24px}}

/* Extend only the two house photographs beyond the centered 1600px sections. */
.museum-home.page-shell {container-type:inline-size}
@media(min-width:1601px){
 .museum-house-feature {position:relative;isolation:isolate}
 .museum-house-feature::before {content:"";position:absolute;top:0;bottom:0;left:0;right:calc(-1 * max(0px, (100cqw - 1600px) / 2));background:#eee7d9;z-index:-1;pointer-events:none}
 .museum-welcome-image {min-width:0;max-width:none;width:calc(100% + max(0px, (100cqw - 1600px) / 2))}
 .museum-house-feature > .museum-house-photo {min-width:0;max-width:none;width:calc(100% + max(0px, (100cqw - 1600px) / 2));margin-left:calc(-1 * max(0px, (100cqw - 1600px) / 2))}
}

/* Original 1890 house image; the caption is a page overlay, not a change to the source. */
.museum-house-photo {position:relative;margin:0;overflow:hidden}
.museum-house-photo > img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.museum-house-photo figcaption {position:absolute;left:0;right:0;bottom:0;padding:32px 26px 18px;margin:0;color:#fff8e7;background:linear-gradient(transparent,rgba(35,27,16,.65));font:small-caps 17px/1.25 Georgia,serif;letter-spacing:.06em;text-shadow:0 1px 2px #342a1d}
.museum-house-photo figcaption span {font-size:14px}

/* Give the historic photograph its full height; never crop the tower or family. */
.museum-house-feature > .museum-house-photo {height:auto;min-height:0;aspect-ratio:1376/768;background:#e9dfcd;align-self:center}
.museum-house-photo > img {object-fit:contain}
.museum-house-feature {min-height:460px}
@media(max-width:600px){.museum-house-feature > .museum-house-photo{min-height:0;aspect-ratio:1376/768}}

/* Approved interior page layouts */

.route-house,.route-research {background:#f8f5ed;color:#183b2d}
.preview-strip{background:#e9e1cf;font:13px/1.5 'Segoe UI',sans-serif;padding:9px 24px;text-align:center;color:#354137}
.preview-strip a{margin-left:18px;text-decoration:underline}
.interior{max-width:1200px;margin:auto;padding:44px 36px 64px}
.crumb{font:13px/1.5 'Segoe UI',sans-serif;color:#61695e;margin-bottom:28px}
.interior h1,.interior h2,.interior h3{font-family:Georgia,serif;font-weight:400;max-width:none;letter-spacing:-.025em}
.interior h1{font-size:clamp(42px,4.7vw,64px);line-height:1.05;margin:10px 0 22px}
.interior h2{font-size:34px;line-height:1.16;margin:0 0 19px}
.interior h3{font-size:23px;line-height:1.25;margin:0 0 10px}
.interior p,.interior li{font:18px/1.65 Georgia,serif;color:#40473f}
.interior p{margin:0 0 18px}
.interior .kicker{font:11px/1.5 'Segoe UI',sans-serif;letter-spacing:.17em;text-transform:uppercase;color:#59644e;margin-bottom:12px}
.interior .intro{font-size:22px;line-height:1.5}
.house-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:center}
.interior figure{margin:0}
.interior figure img{display:block;width:100%;height:auto}
.interior figcaption{font:13px/1.5 Georgia,serif;color:#64665b;margin-top:10px}
.section-block{margin-top:48px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.feature-band{background:#eee7d9;padding:32px;display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center}
.feature-band img{width:100%;display:block}
.text-link{display:inline-block;font:17px/1.5 Georgia,serif;text-decoration:none;border-bottom:1px solid #a68b4d;padding-bottom:3px;color:#183b2d}
.house-details{border-top:1px solid #d8cfbc;padding-top:32px}
.research-top{display:grid;grid-template-columns:1.6fr 1fr;gap:64px;align-items:start}
.hours{background:#eee7d9;padding:28px;margin-top:20px}
.hours h2{font-size:26px}.hours p{font-size:17px}.hours .small{font:14px/1.6 'Segoe UI',sans-serif}
.research-body{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:64px;margin-top:40px;align-items:start}
.research-body section+section{margin-top:32px;padding-top:28px;border-top:1px solid #d8cfbc}
.research-body h2{font-size:29px}.research-body li{margin-bottom:10px}.research-body ol,.research-body ul{padding-left:23px;margin:0}
.archive-aside{background:#eee7d9;padding:22px}.archive-aside img{width:100%;height:240px;object-fit:cover;object-position:50% 18%;margin-bottom:20px}
.archive-aside p{font-size:17px}.archive-aside h2{font-size:27px}
.research-body details{border-bottom:1px solid #d8cfbc;padding:17px 0}.research-body summary{font:21px/1.3 Georgia,serif;cursor:pointer}.research-body details p{font-size:17px;margin:15px 0 0}
.citation{background:#eee7d9;padding:22px;font-style:italic}
.next-links{display:flex;gap:25px;flex-wrap:wrap;margin-top:20px}
@media(max-width:760px){.interior{padding:28px 22px 42px}.house-intro,.research-top,.research-body,.two-col,.feature-band{grid-template-columns:1fr;gap:25px}.interior h1{font-size:43px}.section-block{margin-top:34px}.research-body{margin-top:30px}.hours{margin-top:0}.feature-band{padding:23px}.interior h2{font-size:29px}.preview-strip a{display:inline-block;margin:3px 8px}.interior .intro{font-size:21px}}

.museum-home .interior h2{font-size:34px;line-height:1.16;margin:0 0 19px;letter-spacing:-.025em}
.museum-home .research-body h2{font-size:29px}.museum-home .hours h2{font-size:26px}
.house-ages{border-top:1px solid #d8cfbc;padding-top:30px}
.ages-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:24px}
.ages-grid figure a{display:flex;align-items:center;justify-content:center;background:#e9e1d1;aspect-ratio:4/3;padding:10px}
.ages-grid figure img{width:100%;height:100%;object-fit:contain}
.ages-grid figcaption{font-size:20px;color:#183b2d;margin-top:9px}
@media(max-width:760px){.ages-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.museum-home .interior h2{font-size:29px}}

@media(min-width:1000px){.ages-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:761px) and (max-width:999px){.ages-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Newspaper gallery uses the same card size and mat as the manuscript gallery. */
.press-thumbnail [data-newspaper-stage-mount] {display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/5;background:#c9c5ba;overflow:hidden}
.press-thumbnail .newspaper-scale-surface {flex:none;margin:0;box-shadow:0 1px 4px rgba(20,22,19,.3)}
.press-thumbnail .newspaper-frame {pointer-events:none}

/* Keep the two final editions centered below the four-card desktop row. */
@media(min-width:851px){.press-editions-grid > :nth-child(5){grid-column:2}}

/* Reading navigation stays centered, with a direct exit to the gallery. */
.newspaper-examiner-bar > strong {grid-column:1;grid-row:1}
.newspaper-examiner-bar .reader-sequence {grid-column:2;grid-row:1;justify-content:center;gap:1.5rem}
.newspaper-examiner-bar .newspaper-examiner-close {grid-column:3;grid-row:1;color:inherit;border:1px solid #bdad81;padding:.65rem .85rem;text-decoration:none;white-space:nowrap}
.newspaper-examiner-bar .newspaper-examiner-controls {grid-column:1 / -1;grid-row:2;justify-content:center}
.newspaper-examiner-close:hover,.newspaper-examiner-close:focus-visible {background:#fffdf5;color:var(--green);outline:2px solid #ead08b;outline-offset:2px}
@media(max-width:700px){
 .newspaper-examiner-bar {grid-template-columns:1fr auto}
 .newspaper-examiner-bar .newspaper-examiner-close {grid-column:2;grid-row:1}
 .newspaper-examiner-bar .reader-sequence {grid-column:1 / -1;grid-row:2;gap:1.25rem}
 .newspaper-examiner-bar .newspaper-examiner-controls {grid-row:3}
}

/* NFC arrival welcome, within the ordinary museum homepage. */
.key-holder-welcome{padding:28px clamp(20px,4vw,54px);border-bottom:1px solid var(--line-dark);background:#e9e8dc}.key-holder-welcome h2{margin:8px 0 12px;font:32px Georgia,serif}.key-holder-welcome p{max-width:680px;line-height:1.6}.key-holder-welcome .museum-kicker{font-size:12px;letter-spacing:.12em;text-transform:uppercase}
