/* The review edition: shared reading proportions for the six companion pages.
   The Story keeps its approved stylesheet and composition. */
:root {
  --page-gutter: clamp(1.25rem, 5vw, 5rem);
  --page-width: 1180px;
  --page-measure: min(var(--page-width), calc(100% - 2 * var(--page-gutter)));
  --section-space: clamp(4rem, 6.5vw, 6rem);
  --column-gap: clamp(2rem, 5vw, 5rem);
  --body-size: clamp(1rem, 1.28vw, 1.16rem);
  --echo-size: clamp(.96rem, 1.16vw, 1.06rem);
  --heading-size: clamp(2.6rem, 4.4vw, 4.75rem);
  --paper-emphasis: #805722;
}

html { scroll-behavior: auto; }
body { text-rendering: optimizeLegibility; }
img { height: auto; }
main { min-width: 0; }
main :is(section, article, div, figure) { min-width: 0; }
main :is(h1, h2, h3) { overflow-wrap: normal; text-wrap: balance; }
main p { text-wrap: pretty; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }
.polished-page :is(a, button, summary):focus-visible {
  outline: 2px solid #b88937;
  outline-offset: 5px;
}
.skip-link {
  position: fixed; z-index: 120; top: .8rem; left: 1rem;
  padding: .8rem 1rem; color: #10141d; background: #f4eee2;
  font: 700 .8rem/1.4 var(--sans); transform: translateY(-200%);
}
.skip-link:focus { transform: none; }
html:not(.js) .site-nav { position: relative; flex-wrap: wrap; padding-block: .8rem; }
.site-links a, .nav-toggle { min-height: 44px; align-content: center; }
.js .site-links { max-height: calc(100svh - 54px); overflow-y: auto; }

/* English and French form pairs, with space between ideas rather than
   between a sentence and its echo. Avoid the legacy bare-p specificity. */
main .fr-echo {
  font-size: var(--echo-size); line-height: 1.55; letter-spacing: 0;
  margin-top: .65rem;
}
main .fr-echo--head {
  font-size: clamp(1.02rem, 1.5vw, 1.28rem);
  line-height: 1.45;
}
main :is(h1, h2, h3) + .fr-echo--head {
  margin-top: 1rem; margin-bottom: 1.75rem;
}
main .fr-echo + p:not(.fr-echo) { margin-top: 1.75rem; }

/* Openings use the Story's scale: one viewport, an unhurried title, and
   both versions of the deck aligned to the same reading column. */
.chapter-hero, .manuc-hero, .annex-hero {
  min-height: max(44rem, 100svh); align-items: center;
}
.chapter-hero-copy, .manuc-hero-copy, .annex-hero-copy {
  width: var(--page-measure); margin-inline: auto; padding: 7rem 0 6rem;
}
.chapter-hero h1, .manuc-hero h1, .annex-hero h1 {
  max-width: 1050px; font-size: clamp(3.4rem, 7vw, 7.15rem);
  line-height: .96; letter-spacing: -.055em; margin: 0;
}
.chapter-hero > figure img, .manuc-hero figure img { filter: saturate(.72) contrast(1.04) brightness(.8); }
.chapter-hero::after {
  background: linear-gradient(90deg, rgba(8,11,16,.88), rgba(8,11,16,.55) 55%, rgba(8,11,16,.22)),
    linear-gradient(0deg, rgba(8,11,16,.82), transparent 70%);
}
.chapter-hero .chapter-deck, .manuc-hero .manuc-deck,
.chapter-hero .chapter-deck + .fr-echo, .manuc-hero .manuc-deck + .fr-echo {
  max-width: 650px; margin-left: 0; line-height: 1.55;
}
.chapter-deck, .manuc-deck { margin-top: 1.75rem; font-size: clamp(1.08rem, 1.5vw, 1.3rem); }
.chapter-hero .fr-echo--head, .manuc-hero .fr-echo--head { margin-bottom: 1.75rem; }
.chapter-down, .manuc-scroll { left: var(--page-gutter); right: auto; bottom: 2rem; padding-block: .6rem; }
.chapter-story, .manuc-story { overflow: clip; }

/* A common type scale, without cramped line boxes or pale gold on paper. */
.chapter-story h2, .manuc-story h2 { font-size: var(--heading-size); line-height: .98; letter-spacing: -.045em; margin-bottom: 0; }
.chapter-story p, .manuc-story p { font-size: var(--body-size); line-height: 1.65; }
.chapter-story .chapter-kicker, .manuc-story .annex-kicker {
  font: 750 .66rem/1.45 var(--sans); letter-spacing: .14em; margin: 0 0 1.25rem;
}
.chapter-story h2 em, .manuc-story h2 em { color: var(--paper-emphasis); }
:is(.chapter-split--ink, .chapter-essay--art, .chapter-cards, .chapter-german, .manuc-man, .manuc-treaty, .art-closing) h2 em { color: #e5c77f; }
.chapter-story .fr-echo, .manuc-story .fr-echo { font-size: var(--echo-size); line-height: 1.55; }
.chapter-story .fr-echo--head, .manuc-story .fr-echo--head { font-size: clamp(1.02rem, 1.5vw, 1.28rem); }
.chapter-story .chapter-lede, .manuc-story .manuc-lede { font-size: clamp(1.15rem, 1.6vw, 1.4rem) !important; line-height: 1.55 !important; }

.chapter-opening, .manuc-arrivals {
  width: var(--page-measure); padding-block: var(--section-space);
  grid-template-columns: minmax(100px, .22fr) minmax(0, 1fr); gap: var(--column-gap);
}
.chapter-opening > div:last-child, .manuc-arrivals-copy { max-width: 850px; }
.chapter-marker, .manuc-section-head { align-self: start; justify-content: start; }
.chapter-marker span, .manuc-number { color: #9d7434; font-size: 4rem; line-height: 1; letter-spacing: -.06em; }
.manuc-story .manuc-number { margin-top: 2rem; font-size: 4rem; line-height: 1; }
.chapter-marker small { margin-top: 1rem; }
.chapter-image { width: var(--page-measure); }
.chapter-image::before { display: none; }
.chapter-image img { max-height: 72svh; object-fit: cover; }
.image--painting { width: min(650px, var(--page-measure)); padding: .65rem; }
.image--painting img { height: auto; max-height: 78svh; object-fit: contain; }
.chapter-split, .chapter-german, .manuc-man {
  padding: var(--section-space) max(var(--page-gutter), calc((100% - var(--page-width)) / 2));
  gap: var(--column-gap);
}
.chapter-split { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); margin-top: var(--section-space); }
.chapter-split--paper { margin-top: 0; }
.chapter-essay, .chapter-press, .manuc-treaty {
  padding: var(--section-space) max(var(--page-gutter), calc((100% - var(--page-width)) / 2));
}
.chapter-essay::before, .chapter-press::before, .manuc-treaty::before { display: none; }
.chapter-essay-grid { width: 100%; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: var(--column-gap); }
.chapter-essay > .chapter-kicker { width: min(var(--page-width), 100%); margin-inline: auto; }
.chapter-avenue, .chapter-feature, .chapter-transylvania {
  width: var(--page-measure); gap: var(--column-gap);
  grid-template-columns: minmax(0,1fr) minmax(0,1fr); padding-block: var(--section-space);
}
.chapter-avenue + .chapter-feature { padding-top: 0; }
.chapter-feature figure { padding: .6rem; box-shadow: none; }
.chapter-feature figure img, .chapter-transylvania figure img {
  min-height: 0; height: auto; max-height: 680px; object-fit: contain;
}
.chapter-feature figure, .chapter-transylvania figure { align-self: start; }
.chapter-feature-copy p, .chapter-transylvania p { max-width: 650px; }
.chapter-cards { width: var(--page-measure); margin-top: 0; grid-template-columns: 1fr 1fr; }
.chapter-card--copy { padding: clamp(1.5rem, 3vw, 3rem); }
.chapter-card--copy h2 { font-size: clamp(2.5rem, 3.7vw, 4rem); }
.chapter-card--image { min-height: 0; }
.chapter-card--image img { min-height: 0; height: 100%; object-fit: cover; }
.chapter-closing, .chapter-circuit { width: var(--page-measure); padding-block: var(--section-space); }
.chapter-closing > p, .chapter-circuit > p { max-width: 760px; margin-inline: auto; }
.chapter-circuit > .fr-echo--head { margin-top: 1rem; }
.chapter-circuit h2 { margin-bottom: 0; }
.art-closing { width: 100%; padding-inline: var(--page-gutter); }
.chapter-german { grid-template-columns: minmax(0,.65fr) minmax(0,1.35fr); }
.chapter-german figure { transform: none; width: min(100%, 340px); margin: 0; }
.press-head, .press-grid, .press-afterword { width: 100%; }
.press-head { gap: 1.5rem var(--column-gap); }
.press-head-kicker > .fr-echo { margin-bottom: 0; }
.press-grid { margin-top: 3rem; grid-template-columns: repeat(2, minmax(0,1fr)); }
.press-grid article { padding: 2rem; min-height: 0; }
.press-grid .press-date { margin-bottom: 1rem; }
.press-grid h3 { font-size: clamp(1.5rem, 2.4vw, 2.25rem); line-height: 1.1; }
.press-grid article p:not(.press-date):not(.fr-echo) { font-size: var(--body-size); }
.press-grid article .fr-echo { font-size: var(--echo-size); }
.press-grid article .fr-echo--head { font-size: 1rem; margin: .65rem 0 1.25rem; }
.press-afterword { margin-top: 3rem; gap: var(--column-gap); }

/* Manuc: the treaty heading and its echo are one grid cell, and the body
   follows that column instead of using an overflowing percentage offset. */
.manuc-man { grid-template-columns: minmax(0,1.3fr) minmax(0,.7fr); }
.manuc-passport { align-self: center; padding: 1.5rem; background: transparent; }
.manuc-passport li { grid-template-columns: 4.4rem 1fr; gap: .6rem; }
.manuc-names { width: var(--page-measure); padding-block: var(--section-space); }
.manuc-name-grid { margin-top: 2.5rem; border-left: 0; }
.manuc-name-grid div { min-height: 135px; padding: 1.5rem 1rem; }
.manuc-name-grid div:nth-child(3n) { border-right: 0; }
.manuc-name-grid b { font-size: clamp(1.6rem, 2.7vw, 2.6rem); }
.manuc-story .manuc-names-note { margin-top: 2.5rem; }
.manuc-room, .manuc-courtyard { width: var(--page-measure); gap: var(--column-gap); grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.manuc-room { margin: 0 auto; padding: 0 0 var(--section-space); }
.manuc-historic { transform: none; padding: .65rem; }
.manuc-courtyard { padding-block: var(--section-space); }
.manuc-courtyard img { box-shadow: none; }
.manuc-treaty { margin-top: 0; }
.manuc-treaty-intro { width: 100%; grid-template-columns: minmax(100px,.3fr) minmax(0,1fr); gap: var(--column-gap); align-items: start; }
.manuc-treaty-intro h2 { margin: 0; }
.manuc-treaty-intro .manuc-number { margin-top: 1.5rem; color: #d8bd7c; }
.manuc-treaty-copy { width: calc((100% - var(--column-gap)) / 1.3); max-width: none; margin: 2rem 0 0 auto; }
.manuc-treaty-copy > p { max-width: 760px; }
.manuc-treaty-copy blockquote { margin-top: 2.5rem; }
.manuc-treaty-copy blockquote p { font-size: clamp(2rem, 3.5vw, 3.4rem); }
.manuc-treaty-fallout { width: 100%; margin-top: 3rem; gap: 2rem; }
.manuc-treaty-fallout p { font-size: 1rem; }

/* One quiet continuation, then the evidence drawer. */
.chapter-next { width: var(--page-measure); margin: auto; padding: 3rem 0; border-top: 1px solid rgba(23,26,33,.25); }
.chapter-next .next-label { margin: 0 0 1.25rem; color: #805722; font: 750 .65rem/1.4 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.chapter-next > a:first-of-type { display: flex; justify-content: space-between; align-items: baseline; gap: 2rem; text-decoration: none; font-size: clamp(1.7rem, 3vw, 3rem); line-height: 1.15; }
.chapter-next .fr-echo { display: block; font-size: 1.1rem; }
.chapter-next .next-home { display: inline-block; margin-top: 1.5rem; padding-block: .6rem; font: .72rem/1.4 var(--sans); }
.chapter-colophon { padding: 2rem var(--page-gutter); color: #d6d0c4; background: #10141d; }
.chapter-colophon details { width: min(var(--page-width),100%); margin: auto; }
.chapter-colophon summary { padding-block: .6rem; cursor: pointer; color: #e0c68e; font: 700 .7rem/1.5 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.colophon-content { padding-block: 2rem 1rem; }
.colophon-content h3 { color: #e0c68e; }
.colophon-content li, .colophon-content .chapter-source-grid li { font-size: .9rem; line-height: 1.65; color: #c7c1b7; overflow-wrap: anywhere; }
.colophon-content ul { margin: 0; padding-left: 1.2rem; }
.colophon-content li + li { margin-top: .8rem; }

/* Landing: preserve the argument and photographs; clarify its hierarchy. */
.landing-page { --gutter: var(--page-gutter); --measure: var(--page-measure); }
.hero-inner { padding: 6rem 0 4rem; }
.landing-intro { max-width: 850px; }
.landing-intro h1 { max-width: 18ch; font-size: clamp(3rem, 6.3vw, 6.4rem); line-height: .98; }
.landing-intro > .landing-fr { margin-top: 1rem; font-size: clamp(1.08rem, 1.6vw, 1.35rem); }
.landing-connection { max-width: 620px; gap: .6rem; margin-top: 1.75rem; }
.landing-connection .landing-fr { font-size: var(--echo-size); }
.hero-cue { border-radius: 0; border-width: 0 0 1px; padding: .75rem 0; }
.screen-inner { padding-block: var(--section-space); }
.screen--text { min-height: 75svh; }
.screen-inner--narrow { max-width: 850px; }
.screen--text h2 { font-size: var(--heading-size); line-height: 1.02; }
.screen-head h2 { font-size: var(--heading-size); line-height: 1.02; }
.screen-head > .landing-fr, .screen--text h2 + .landing-fr { margin-top: 1rem; font-size: clamp(1.02rem, 1.5vw, 1.28rem); line-height: 1.5; }
.screen-head .screen-lede, .screen--text .screen-lede { margin-top: 1.75rem; font-size: var(--body-size); line-height: 1.65; }
.screen-head .screen-lede.landing-fr, .screen--text .screen-lede.landing-fr { margin-top: .65rem; font-size: var(--echo-size); }
.chapter { grid-template-columns: 3rem minmax(0,1fr); gap: 1.5rem; padding-block: 2rem; }
.chapter-body { max-width: 780px; }
.chapter-title { font-size: clamp(1.5rem, 2.4vw, 2.25rem); }
.chapter-why { margin-top: .5rem; line-height: 1.65; }
.chapter-why.landing-fr { margin-top: 0; font-size: var(--echo-size); line-height: 1.55; }
.cabinet-door { border-radius: 0; max-width: 850px; }
.closing-attr { color: #aaa59c; }
.landing-sources-grid p, .landing-sources-grid li { font-size: .85rem; }
.landing-sources summary { font-size: .7rem; padding-block: .75rem; }

/* Annexes retain all six sections, with the same reading rhythm and
   archival images presented as still objects. */
.annex-hero { padding: 0; }
.annex-hero-copy > p:not(.kicker):not(.fr-echo), .annex-hero-copy > .fr-echo { max-width: 650px; margin-left: 0; margin-right: 0; }
.room { padding: var(--section-space) var(--page-gutter); }
.room-heading { max-width: 1180px; margin-bottom: 3rem; }
.room h2, .return h2 { font-size: var(--heading-size); line-height: .98; }
.room-heading > p { max-width: 760px; }
.room-thesis { margin-top: 3rem; font-size: clamp(1.6rem, 2.7vw, 2.8rem); }
.manuc-turn { margin-top: 3rem; }
.manuc-pair figure, .map-layout figure { transform: none !important; box-shadow: none; }
.city-card img, .paris-portraits img { transition: none; }
.city-card:hover img, .paris-portraits figure:hover img { transform: none; }
.city-grid { grid-template-columns: 1.2fr 1fr; grid-auto-rows: 250px; }
.art-pair { gap: var(--column-gap); }
.art-pair figure { grid-template-columns: minmax(0,1fr); gap: 1rem; align-content: start; }
.art-pair img { height: 440px; object-fit: contain; box-shadow: none; }
.art-pair figcaption { max-width: 480px; }
.lexicon-layout, .map-layout { gap: var(--column-gap); }
.paris-portraits figure, .paris-portraits img { min-height: 0; }
.paris-portraits img { height: 520px; }
.return { min-height: 60svh; padding: var(--section-space) var(--page-gutter); }
.return .fr-echo { max-width: 760px; margin-inline: auto; }
.return a { margin-top: 1rem; }

/* The route index is a readable contents page, including on a narrow phone. */
.polished-page > main:not(.landing):has(.routes-head) { width: min(1000px, calc(100% - 2 * var(--page-gutter))); padding-top: 8rem; }
.routes-head h1 { max-width: 20ch; font-size: clamp(3rem, 5.4vw, 5.5rem); line-height: 1; }
.route-list > li { padding-block: 1.5rem; }
.route-list a { width: fit-content; padding-block: .35rem; }
.route-list p { max-width: 650px; }
.route-list--rooms > li { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.route-list--rooms .fr-echo { margin: 0; }

@media (max-width: 1000px) {
  .chapter-split, .chapter-essay-grid { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); }
  .chapter-story h2, .manuc-story h2 { font-size: clamp(2.4rem, 4.4vw, 3.5rem); }
  .manuc-treaty-fallout { grid-template-columns: 1fr; }
  .manuc-treaty-fallout > div { max-width: 760px; }
}

@media (max-width: 820px) {
  :root { --section-space: 3.75rem; --column-gap: 2.5rem; }
  .chapter-hero, .manuc-hero, .annex-hero { min-height: 100svh; }
  .chapter-hero-copy, .manuc-hero-copy, .annex-hero-copy { padding: 6rem 0 6rem; }
  .chapter-hero h1, .manuc-hero h1, .annex-hero h1 { font-size: clamp(3rem, 10.6vw, 5.6rem); line-height: .98; }
  .chapter-hero h1 br { display: none; }
  .chapter-story h2, .manuc-story h2 { font-size: clamp(2.6rem, 8.8vw, 4rem); }
  .chapter-hero::after { background: linear-gradient(90deg, rgba(8,11,16,.84), rgba(8,11,16,.55)), linear-gradient(0deg, rgba(8,11,16,.8), transparent); }
  .chapter-opening, .manuc-arrivals, .chapter-split, .chapter-essay-grid,
  .chapter-avenue, .chapter-feature, .chapter-transylvania, .chapter-german,
  .manuc-man, .manuc-room, .manuc-courtyard, .manuc-treaty-intro, .press-head, .press-afterword { grid-template-columns: minmax(0,1fr); }
  .chapter-marker, .manuc-section-head { display: flex; flex-direction: row; justify-content: space-between; align-items: baseline; padding-top: .8rem; }
  .chapter-marker span, .manuc-story .manuc-number { font-size: 2.8rem; margin: 0; }
  .chapter-marker small { margin: 0; }
  .manuc-section-head .annex-kicker { margin: 0; }
  .chapter-feature figure, .chapter-transylvania figure { order: 0; }
  .chapter-feature figure img, .chapter-transylvania figure img { min-height: 0; max-height: 65svh; }
  .chapter-cards { grid-template-columns: 1fr; }
  .chapter-card--image img { height: auto; max-height: 70svh; object-fit: cover; }
  .chapter-german figure { width: min(250px,75%); }
  .press-head > div { grid-column: 1; }
  .press-head-deck { max-width: 650px; }
  .manuc-passport { width: min(100%,580px); }
  .manuc-name-grid { grid-template-columns: 1fr 1fr; }
  .manuc-name-grid div:nth-child(3n) { border-right: 1px solid rgba(23,26,33,.25); }
  .manuc-name-grid div:nth-child(2n) { border-right: 0; }
  .manuc-names-note, .manuc-names-note + .fr-echo { width: 100%; }
  .manuc-treaty-copy { width: 100%; margin-top: 1.5rem; }
  .manuc-treaty-marker { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
  .manuc-treaty-intro .manuc-number { margin: 0; }
  .manuc-treaty-fallout { margin-top: 2.5rem; }
  .chapter-source-grid { grid-template-columns: 1fr; }
  .landing-intro h1 { font-size: clamp(2.8rem, 9.5vw, 4.6rem); }
  .hero-inner { padding-block: 6rem 3rem; }
  .screen--text { min-height: 0; }
  .screen-head h2, .screen--text h2 { font-size: clamp(2.4rem, 8.4vw, 3.7rem); }
  .screen--text h2 br { display: none; }
  .chapter { grid-template-columns: 1.7rem minmax(0,1fr); gap: .6rem; }
  .chapter-title { font-size: 1.5rem; }
  .chapter-title.landing-fr { font-size: 1.05rem; }
  .art-pair figure { grid-template-columns: 1fr; }
  .city-grid { grid-template-columns: 1fr 1fr; }
  .city-card--large { grid-row: auto; grid-column: 1 / -1; }
  .annex-hero .begin { left: var(--page-gutter); }
  .paris-portraits img { height: 480px; object-position: center 25%; }
}

@media (max-width: 560px) {
  .press-grid { grid-template-columns: 1fr; }
  .press-grid article { padding: 1.5rem; }
  .chapter-hero .chapter-deck, .manuc-hero .manuc-deck { font-size: 1.08rem; }
  .chapter { grid-template-columns: minmax(0,1fr); }
  .chapter-num { grid-column: 1; }
  .chapter-body { grid-column: 1; }
  .route-list--rooms > li { grid-template-columns: 1fr; gap: .2rem; }
  .city-grid { grid-template-columns: 1fr; grid-auto-rows: 310px; }
  .art-pair img { height: auto; max-height: 65svh; }
  .room-index a { min-height: 110px; }
  .chapter-next > a:first-of-type { gap: 1rem; }
}

/* Match The Story's one-time reveals, using its unchanged shared observer.
   English/French pairs and their images enter as authored reading groups. */
.has-js .polished-page .reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .82s ease, transform .9s cubic-bezier(.18,.75,.22,1);
}
.has-js .polished-page .reveal.is-visible,
.has-js .polished-page .reveal:focus-within {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .has-js .polished-page .reveal { opacity: 1; transform: none; }
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
