/* V20 / Le texte dans la matière. The lintel, the upright and the withdrawal
   have different compositions. No elapsed-time entrance drives these words. */
body[data-page="home"] .journey-chapter .chapter-stage { min-height: 0; }
body.bespoke-home .journey-chapter .chapter-stage[data-passage-reading-edge="true"] {
  mask-image: linear-gradient(to bottom, transparent var(--passage-reading-edge), #000 calc(var(--passage-reading-edge) + 16px));
}
.journey-chapter .chapter-copy.passage-copy {
  --passage-reading: 1;
  --passage-title-angle: 0deg;
  --passage-title-x: 0px;
  --passage-title-y: 0px;
  --passage-title-sx: 1;
  --passage-title-opacity: 1;
  --passage-copy-edge: var(--space);
  --passage-copy-ink: #193a36;
  --passage-copy-muted: #193a36;
  position: absolute;
  inset: 0;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  transform: none;
  translate: none;
  text-align: left;
  z-index: 3;
  pointer-events: none;
  overflow: visible;
}
.journey-chapter .chapter-copy.passage-copy[data-passage-enhanced="true"] { --passage-reading: clamp(0, var(--passage-photo-reveal, 0), 1); }
.journey-chapter .passage-copy .passage-title {
  position: absolute;
  width: max-content;
  max-width: none;
  margin: 0;
  font-family: var(--serif);
  font-weight: 400;
  font-style: normal;
  line-height: .92;
  letter-spacing: -.035em;
  text-align: left;
  color: var(--passage-copy-ink);
  opacity: 1;
  translate: none;
  transform: none;
  will-change: auto;
  overflow: visible;
  text-shadow: none;
}
.journey-chapter .passage-copy .passage-title-face {
  display: block;
  width: max-content;
  white-space: nowrap;
  transform-origin: 0 0;
  transform: translate(var(--passage-title-x), var(--passage-title-y)) rotate(var(--passage-title-angle)) scaleX(var(--passage-title-sx));
  opacity: var(--passage-title-opacity);
  transition: none;
  animation: none;
  overflow: visible;
  font-kerning: normal;
}
.journey-chapter .passage-copy .passage-title-stop { color: inherit; }
.journey-chapter .passage-copy .passage-question {
  position: absolute;
  margin: 0;
  padding: 0;
  width: 290px;
  max-width: 29%;
  font: 400 13px/1.65 var(--sans);
  color: var(--passage-copy-muted);
  opacity: 1;
  transform: none;
  translate: none;
  will-change: auto;
  text-align: left;
  text-shadow: 0 0 2px #f4f6f1e6, 0 0 8px #f4f6f1b3;
  z-index: 2;
}
.journey-chapter .passage-copy .passage-description {
  position: absolute;
  width: 300px;
  max-width: 29%;
  margin: 0;
  padding: 0;
  font: 400 14px/1.75 var(--sans);
  color: var(--passage-copy-muted);
  opacity: 1;
  transform: none;
  translate: none;
  will-change: auto;
  text-align: left;
  text-shadow: 0 0 2px #f4f6f1e6, 0 0 8px #f4f6f1b3;
  z-index: 2;
}
.journey-chapter .passage-copy .passage-project-link {
  position: absolute;
  display: inline-flex;
  width: fit-content;
  max-width: 31%;
  min-height: 44px;
  margin: 0;
  padding: 7px 0;
  gap: 24px;
  font: 400 14px/1.55 var(--sans);
  color: var(--passage-copy-ink);
  border-color: #193a3666;
  opacity: 1;
  visibility: visible;
  translate: none;
  transform: none;
  pointer-events: auto;
  z-index: 3;
  text-align: left;
  text-shadow: none;
}
.journey-chapter .passage-copy .passage-project-link i { flex-shrink: 0; font-size: 24px; }
.journey-chapter .passage-copy .passage-project-link:focus-visible { outline: 2px solid currentColor; outline-offset: 7px; }
.journey-chapter .passage-copy .passage-project-link:hover { color: #97543d; }
.journey-chapter .passage-copy .passage-intention-line {
  position: absolute;
  display: block;
  pointer-events: none;
  background: linear-gradient(90deg, #a376565c, #e8f0d280 42%, #abcbb100);
  opacity: calc(.22 + var(--passage-reading) * .46);
}
.journey-chapter .passage-copy::before {
  content: '';
  position: absolute;
  bottom: 8%;
  width: min(380px, 36%);
  height: 220px;
  pointer-events: none;
  opacity: 0;
  z-index: 0;
  background: radial-gradient(ellipse at 55% 60%, #123b307a, #123b3042 35%, #123b3000 72%);
}
/* ABRITER: a long low line is held beneath the opening. Its narrative occupies
   the opposite shore, leaving the threshold and the real courtyard visible. */
.journey-chapter .passage-copy[data-passage-form="0"] .passage-title {
  left: var(--passage-copy-edge);
  top: calc(51% + var(--passage-reading) * 6%);
  font-size: clamp(92px, calc(15.4vw - var(--passage-reading) * 3vw), 224px);
}
.journey-chapter .passage-copy[data-passage-form="0"] .passage-question { left: var(--passage-copy-edge); top: 20%; }
.journey-chapter .passage-copy[data-passage-form="0"] .passage-description { right: var(--passage-copy-edge); bottom: 23%; }
.journey-chapter .passage-copy[data-passage-form="0"] .passage-project-link { right: var(--passage-copy-edge); bottom: 14%; }
.journey-chapter .passage-copy[data-passage-form="0"] .passage-intention-line { left: var(--passage-copy-edge); top: calc(51% + var(--passage-reading) * 6% - 17px); width: min(45%, 660px); height: 1px; }
.journey-chapter .passage-copy[data-passage-form="0"]::before { right: calc(var(--passage-copy-edge) - 35px); }
/* RELIER: the word stays whole, as an upright beside the central void. The
   question and the account hold a second vertical course on the other side. */
.journey-chapter .passage-copy[data-passage-form="1"] { --passage-title-angle: -90deg; }
.journey-chapter .passage-copy[data-passage-form="1"] .passage-title {
  left: var(--passage-copy-edge);
  top: calc(76% - var(--passage-reading) * 5%);
  font-size: clamp(105px, calc(13.2vw - var(--passage-reading) * 1.6vw), 190px);
}
.journey-chapter .passage-copy[data-passage-form="1"] .passage-question { right: var(--passage-copy-edge); top: 20%; width: 245px; }
.journey-chapter .passage-copy[data-passage-form="1"] .passage-description { right: var(--passage-copy-edge); bottom: 25%; width: 270px; }
.journey-chapter .passage-copy[data-passage-form="1"] .passage-project-link { right: var(--passage-copy-edge); bottom: 14%; }
.journey-chapter .passage-copy[data-passage-form="1"] .passage-intention-line { left: calc(var(--passage-copy-edge) + 24%); top: 28%; width: 1px; height: 37%; background: linear-gradient(180deg, #a9c6b000, #e6f2d6a8 42%, #a3765685); }
.journey-chapter .passage-copy[data-passage-form="1"]::before { right: calc(var(--passage-copy-edge) - 35px); }
/* S'EFFACER: a complete word withdraws to the right bank. The place occupies
   the centre and its forest is read from the quieter left margin. */
.journey-chapter .passage-copy[data-passage-form="2"] .passage-title {
  right: calc(var(--passage-copy-edge) + 7vw * (1 - var(--passage-reading)));
  top: calc(33% + var(--passage-reading) * 3%);
  font-size: clamp(94px, calc(12.7vw - var(--passage-reading) * 2.1vw), 190px);
}
.journey-chapter .passage-copy[data-passage-form="2"] .passage-question { left: var(--passage-copy-edge); top: 20%; width: 245px; }
.journey-chapter .passage-copy[data-passage-form="2"] .passage-description { left: var(--passage-copy-edge); bottom: 25%; width: 280px; }
.journey-chapter .passage-copy[data-passage-form="2"] .passage-project-link { left: var(--passage-copy-edge); bottom: 14%; }
.journey-chapter .passage-copy[data-passage-form="2"] .passage-intention-line { right: var(--passage-copy-edge); top: calc(33% + var(--passage-reading) * 3% - 18px); width: 19%; height: 1px; background: linear-gradient(90deg, #b8c6b900, #e6f2d696, #a376565c); }
.journey-chapter .passage-copy[data-passage-form="2"]::before { left: calc(var(--passage-copy-edge) - 35px); }
/* The real photographic state owns the change of ink. Only small, feathered
   pools of shade support the account; no box covers the architectural image. */
.journey-chapter.photo-phase .passage-copy .passage-title,
.journey-chapter.photo-phase .passage-copy .passage-question,
.journey-chapter.photo-phase .passage-copy .passage-description,
.journey-chapter.photo-link-ready .passage-copy .passage-project-link {
  color: #f6f7ef;
  text-shadow: 0 1px 7px #092e259c, 0 2px 20px #092e257d;
}
.journey-chapter.photo-phase .passage-copy::before { opacity: clamp(0, var(--passage-reading), .85); }
.journey-chapter.photo-link-ready .passage-copy .passage-project-link { border-color: #f6f7ef7a; }
.journey-chapter.photo-link-ready .passage-copy .passage-project-link:hover { color: #fff; }
/* These two questions sit in the Cour's sky and the Maison's pale upper wall.
   Their actual photographic margins retain mineral ink. The Pins keep white
   lettering in their darker canopy. */
.journey-chapter.photo-phase .passage-copy[data-passage-form="0"][data-passage-slug="cour-longue"] .passage-question,
.journey-chapter.photo-phase .passage-copy[data-passage-form="1"][data-passage-slug="maison-haute"] .passage-question {
  color: #193a36;
  text-shadow: 0 0 2px #f7f7f1d9, 0 1px 8px #f5f5ed8c;
  isolation: isolate;
}
/* While the small photograph crosses a question, its wood or stone can briefly
   occupy the formerly pale margin. A feathered pool of daylight follows only
   that line of text, and vanishes as the photograph reaches its reading pose. */
.journey-chapter.photo-phase .passage-copy[data-passage-form="0"][data-passage-slug="cour-longue"] .passage-question::before,
.journey-chapter.photo-phase .passage-copy[data-passage-form="1"][data-passage-slug="maison-haute"] .passage-question::before {
  content: '';
  position: absolute;
  inset: -8px -20px;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 50%, #f7f8eff5 12%, #f7f8efe8 42%, #f7f8efa3 69%, #f7f8ef00 100%);
  filter: blur(4px);
  opacity: clamp(0, calc((1 - var(--passage-reading)) * 2.2), 1);
  transition: none;
}
/* Continuous reading is the default when no controller enhances the chapter. */
.world-unavailable .journey-chapter .chapter-copy.passage-copy,
.journey-chapter .chapter-copy.passage-copy[data-passage-static="true"] {
  --passage-reading: 1 !important;
  --passage-title-x: 0px !important;
  --passage-title-y: 0px !important;
  --passage-title-sx: 1 !important;
  --passage-title-opacity: 1 !important;
}
.world-unavailable .journey-chapter .passage-copy .passage-title,
.world-unavailable .journey-chapter .passage-copy .passage-question,
.world-unavailable .journey-chapter .passage-copy .passage-description,
.world-unavailable .journey-chapter .passage-copy .passage-project-link { color: #fff; text-shadow: 0 1px 7px #092e25ba, 0 2px 20px #092e258c; }
.world-unavailable .journey-chapter .passage-copy .passage-project-link { border-color: #ffffff80; }
.world-unavailable .journey-chapter .passage-copy::before { opacity: .8; }
@media (min-width: 681px) {
  .journey-chapter .passage-copy[data-passage-form="2"] .passage-title { right: calc(var(--passage-copy-edge) + 32px + 7vw * (1 - var(--passage-reading))); }
}
@media (min-width: 681px) and (max-width: 1050px) {
  .journey-chapter .passage-copy .passage-question { font-size: 12px; max-width: 30%; }
  .journey-chapter .passage-copy .passage-description { font-size: 13px; max-width: 31%; }
  .journey-chapter .passage-copy .passage-project-link { font-size: 13px; max-width: 34%; gap: 18px; }
  .journey-chapter .passage-copy[data-passage-form="0"] .passage-title { font-size: clamp(94px, calc(15.8vw - var(--passage-reading) * 3.2vw), 162px); }
  .journey-chapter .passage-copy[data-passage-form="1"] .passage-title { font-size: clamp(94px, calc(13.5vw - var(--passage-reading) * 1.5vw), 146px); }
  .journey-chapter .passage-copy[data-passage-form="2"] .passage-title { font-size: clamp(92px, calc(13vw - var(--passage-reading) * 2vw), 160px); }
}
@media (min-width: 681px) and (max-height: 720px) {
  .journey-chapter .passage-copy .passage-question { top: 22%; font-size: 12px; }
  .journey-chapter .passage-copy .passage-description { font-size: 13px; bottom: 26%; }
  .journey-chapter .passage-copy .passage-project-link { bottom: 15%; }
  .journey-chapter .passage-copy[data-passage-form="1"] .passage-title { top: 78%; font-size: clamp(88px, 10vw, 128px); }
}
@media (min-width: 681px) and (max-height: 560px) {
  .journey-chapter .passage-copy[data-passage-form="1"] .passage-title { font-size: clamp(72px, 18svh, 102px); }
}
@media (max-width: 680px) {
  body[data-page="home"] .journey-chapter .scene-caption { right: calc(var(--space) + 38px); }
  .journey-chapter .chapter-copy.passage-copy { --passage-title-angle: 0deg; --passage-copy-edge: var(--space); }
  .journey-chapter .passage-copy .passage-question { top: max(144px, 16%); width: 245px; max-width: calc(100% - var(--space) * 2); font-size: 12px; line-height: 1.6; }
  .journey-chapter .passage-copy .passage-description { left: var(--passage-copy-edge); right: auto; bottom: max(164px, 24%); width: 275px; max-width: calc(100% - var(--space) * 2); font-size: 13px; line-height: 1.7; }
  .journey-chapter .passage-copy .passage-project-link { left: var(--passage-copy-edge); right: auto; bottom: max(96px, 15%); max-width: calc(100% - var(--space) * 2); font-size: 13px; gap: 25px; }
  .journey-chapter .passage-copy .passage-project-link i { font-size: 22px; }
  .journey-chapter .passage-copy[data-passage-form="0"] .passage-title { left: var(--passage-copy-edge); top: calc(36% + var(--passage-reading) * 4%); font-size: clamp(78px, calc(25vw - var(--passage-reading) * 2vw), 112px); }
  .journey-chapter .passage-copy[data-passage-form="0"] .passage-question { top: max(144px, 16%); }
  .journey-chapter .passage-copy[data-passage-form="0"] .passage-description { left: var(--passage-copy-edge); right: auto; bottom: max(164px, 24%); }
  .journey-chapter .passage-copy[data-passage-form="0"] .passage-project-link { left: var(--passage-copy-edge); right: auto; bottom: max(96px, 15%); }
  .journey-chapter .passage-copy[data-passage-form="0"] .passage-intention-line { top: calc(36% + var(--passage-reading) * 4% - 13px); width: 66%; }
  .journey-chapter .passage-copy[data-passage-form="1"] { --passage-title-angle: 0deg; }
  .journey-chapter .passage-copy[data-passage-form="1"] .passage-title { left: var(--passage-copy-edge); top: calc(34% - var(--passage-reading) * 4%); font-size: clamp(85px, calc(25.5vw - var(--passage-reading) * 1vw), 122px); }
  .journey-chapter .passage-copy[data-passage-form="1"] .passage-question { right: calc(var(--passage-copy-edge) + 38px); left: auto; top: max(144px, 16%); width: 230px; max-width: calc(100% - var(--space) * 2 - 38px); text-align: right; }
  .journey-chapter .passage-copy[data-passage-form="1"] .passage-description { left: auto; right: var(--passage-copy-edge); bottom: max(164px, 24%); width: 255px; }
  .journey-chapter .passage-copy[data-passage-form="1"] .passage-project-link { left: auto; right: var(--passage-copy-edge); bottom: max(96px, 15%); }
  .journey-chapter .passage-copy[data-passage-form="1"] .passage-intention-line { left: calc(var(--passage-copy-edge) + 13px); top: 51%; height: 13%; width: 1px; }
  .journey-chapter .passage-copy[data-passage-form="2"] .passage-title { right: calc(var(--passage-copy-edge) + 32px); top: calc(33% + var(--passage-reading) * 4%); font-size: clamp(67px, calc(21.5vw - var(--passage-reading) * 1vw), 104px); }
  .journey-chapter .passage-copy[data-passage-form="2"] .passage-question { left: var(--passage-copy-edge); top: max(144px, 16%); width: 220px; }
  .journey-chapter .passage-copy[data-passage-form="2"] .passage-description { left: var(--passage-copy-edge); right: auto; bottom: max(164px, 24%); width: 268px; }
  .journey-chapter .passage-copy[data-passage-form="2"] .passage-project-link { left: var(--passage-copy-edge); right: auto; bottom: max(96px, 15%); }
  .journey-chapter .passage-copy[data-passage-form="2"] .passage-intention-line { top: calc(33% + var(--passage-reading) * 4% - 13px); width: 31%; }
  .journey-chapter .passage-copy::before { left: calc(var(--space) - 25px); right: auto; bottom: 9%; width: min(330px, 95%); height: 200px; }
  .journey-chapter .passage-copy[data-passage-form="0"]::before,
  .journey-chapter .passage-copy[data-passage-form="2"]::before { left: calc(var(--space) - 25px); right: auto; }
  .journey-chapter .passage-copy[data-passage-form="1"]::before { left: auto; right: calc(var(--space) - 25px); }
}
@media (max-width: 680px) and (max-height: 650px) {
  .journey-chapter .passage-copy .passage-question { font-size: 11px; line-height: 1.55; }
  .journey-chapter .passage-copy .passage-description { font-size: 12px; line-height: 1.65; }
  .journey-chapter .passage-copy[data-passage-form="0"] .passage-title { font-size: clamp(74px, 23vw, 94px); }
  .journey-chapter .passage-copy[data-passage-form="1"] .passage-title { font-size: clamp(78px, 24vw, 98px); top: 35%; }
  .journey-chapter .passage-copy[data-passage-form="2"] .passage-title { font-size: clamp(63px, 20vw, 82px); }
}
@media (prefers-reduced-motion: reduce) {
  .journey-chapter .chapter-copy.passage-copy { --passage-reading: 1 !important; --passage-title-x: 0px !important; --passage-title-y: 0px !important; --passage-title-sx: 1 !important; --passage-title-opacity: 1 !important; }
  .journey-chapter .passage-copy *, .journey-chapter .passage-copy *::before, .journey-chapter .passage-copy *::after { transition: none !important; animation: none !important; }
}
