/* The catalogue frames, drawings and material encounters keep their geometry.
   Only the new inhabited scene is composed by --living-progress. */
.living-prelude,
.living-arrival,
.living-moment,
.living-departure {
  --living-ink: #35483d;
  --living-soft: #4e5a46;
  --living-ground: #ded2bd;
  --living-light: #faf7e9;
  --living-rule: #65775e55;
}
[data-living-form="1"].living-prelude,
[data-living-form="1"].living-arrival,
[data-living-form="1"].living-moment,
[data-living-form="1"].living-departure {
  --living-ink: #294849;
  --living-soft: #405d58;
  --living-ground: #c5d6d0;
  --living-light: #f4f6ed;
  --living-rule: #547b7455;
}
[data-living-form="2"].living-prelude,
[data-living-form="2"].living-arrival,
[data-living-form="2"].living-moment,
[data-living-form="2"].living-departure {
  --living-ink: #2d4838;
  --living-soft: #455b3e;
  --living-ground: #cbd4bc;
  --living-light: #f4f4e6;
  --living-rule: #637b5e55;
}

/* Prelude: the original h1 keeps its existing world and type choreography. */
.living-prelude .chapter-stage { min-height: 0; }
.living-prelude .project-title {
  width: auto;
  max-width: none;
  bottom: auto;
  transform: none;
  text-align: left;
  z-index: 3;
}
.living-prelude .project-title h1 {
  font-weight: 400;
  line-height: .88;
  letter-spacing: -.055em;
  margin: 20px 0 24px;
}
.living-prelude .project-title > p {
  max-width: 305px;
  margin: 0;
  font-size: 15px;
  line-height: 1.75;
}
.living-prelude .project-title .project-read-link {
  margin: 18px 0 0;
  font-size: 13px;
  gap: 30px;
  min-height: 44px;
}
.living-prelude a:focus-visible { outline-color: var(--living-ink); }
.living-prelude.photo-phase a:focus-visible,
.world-unavailable .living-prelude a:focus-visible { outline-color: #fff; }
.living-prelude .living-prelude-note {
  position: absolute;
  z-index: 3;
  width: min(235px, 20vw);
  color: var(--living-ink);
  font-size: 12px;
  line-height: 1.75;
}
.living-prelude-note > span { display: block; margin-bottom: 14px; font-family: var(--serif); font-size: 30px; line-height: 1.1; }
.living-prelude-note > p { text-wrap: pretty; }
.living-prelude .living-prelude-note::before {
  content: "";
  display: block;
  width: 62px;
  height: 1px;
  background: currentColor;
  opacity: .45;
  margin-bottom: 19px;
}
.living-prelude[data-living-form="0"] .project-title { left: var(--space); right: 43%; top: 31%; }
.living-prelude[data-living-form="0"] .project-title h1 { font-size: clamp(80px, 10.2vw, 162px); }
.living-prelude[data-living-form="0"] .living-prelude-note { right: 8%; top: 63%; }
.living-prelude[data-living-form="1"] .project-title { left: 13%; right: 52%; top: 25%; }
.living-prelude[data-living-form="1"] .project-title h1 { font-size: clamp(76px, 8.6vw, 140px); }
.living-prelude[data-living-form="1"] .living-prelude-note { left: 67%; top: 35%; }
.living-prelude[data-living-form="1"] .living-prelude-note::before { width: 1px; height: 72px; margin-bottom: 22px; }
.living-prelude[data-living-form="2"] .project-title { left: 51%; right: calc(var(--space) + 18px); top: 30%; text-align: right; }
.living-prelude[data-living-form="2"] .project-title h1 { font-size: clamp(74px, 8.5vw, 145px); }
.living-prelude[data-living-form="2"] .project-title > p { margin-left: auto; }
.living-prelude[data-living-form="2"] .project-title .project-read-link { margin-left: auto; }
.living-prelude[data-living-form="2"] .living-prelude-note { left: 8%; top: 58%; }
.living-prelude .passage-label { max-width: 340px; }
.living-prelude.photo-phase .living-prelude-note { color: #fff; text-shadow: 0 1px 7px #000b, 0 2px 18px #0006; }
.living-prelude.photo-phase .living-prelude-note::before { opacity: .8; }
.living-prelude.photo-contained .living-prelude-note { opacity: var(--title-presence, 1); }
.world-unavailable .living-prelude .living-prelude-note { color: #fff; text-shadow: 0 1px 8px #0009; }

/* Arrival stays in ordinary flow while the original place photograph receives
   the incoming catalogue image. Each title follows its place's own axis. */
.living-arrival { position: relative; display: grid; color: var(--living-ink); min-width: 0; padding-bottom: clamp(46px, 5.4vw, 85px); }
.living-arrival .eyebrow { color: var(--living-soft); font-family: var(--mono); font-size: 11px; line-height: 1.9; }
.living-arrival-index > span { display: block; }
.living-arrival h2 { font-family: var(--serif); font-size: clamp(75px, 8.5vw, 142px); font-weight: 400; line-height: .94; letter-spacing: -.03em; text-wrap: balance; }
.living-arrival-reading { min-width: 0; }
.living-arrival-lead { font-size: 17px; line-height: 1.8; text-wrap: pretty; }
.living-arrival-question { font-size: 13px; line-height: 1.85; margin-top: 23px; border-top: 1px solid var(--living-rule); padding-top: 16px; color: var(--living-soft); text-wrap: pretty; }
.living-arrival-gesture { font-family: var(--serif); font-size: 30px; color: var(--living-soft); line-height: 1; }
.living-arrival[data-living-form="0"] { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 22px; align-items: start; }
.living-arrival[data-living-form="0"] .living-arrival-index { grid-column: 1 / 3; margin-top: 10px; }
.living-arrival[data-living-form="0"] h2 { grid-column: 3 / -1; }
.living-arrival[data-living-form="0"] .living-arrival-reading { grid-column: 7 / -1; max-width: 485px; padding-top: 10px; }
.living-arrival[data-living-form="0"] .living-arrival-gesture { grid-column: 3 / 6; grid-row: 2; align-self: end; padding-bottom: 5px; }
.living-arrival[data-living-form="1"] { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 22px; align-items: end; }
.living-arrival[data-living-form="1"] .living-arrival-index { grid-column: 1 / 4; grid-row: 1; align-self: start; padding-top: 9px; }
.living-arrival[data-living-form="1"] h2 { grid-column: 4 / 9; grid-row: 1 / 3; max-width: 440px; font-size: clamp(78px, 7.7vw, 128px); padding-left: 30px; border-left: 1px solid var(--living-rule); }
.living-arrival[data-living-form="1"] .living-arrival-reading { grid-column: 9 / -1; grid-row: 2; padding: 60px 0 4px; }
.living-arrival[data-living-form="1"] .living-arrival-gesture { grid-column: 1 / 4; grid-row: 2; align-self: end; }
.living-arrival[data-living-form="2"] { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 26px; align-items: start; }
.living-arrival[data-living-form="2"] .living-arrival-index { grid-column: 1 / 4; grid-row: 1; padding-top: 12px; }
.living-arrival[data-living-form="2"] h2 { grid-column: 5 / -1; grid-row: 1; text-align: right; font-size: clamp(77px, 8vw, 134px); }
.living-arrival[data-living-form="2"] .living-arrival-reading { grid-column: 1 / 6; grid-row: 2; max-width: 420px; padding-top: 8px; }
.living-arrival[data-living-form="2"] .living-arrival-gesture { grid-column: 9 / -1; grid-row: 2; text-align: right; align-self: end; }

/* Inhabited scenes: a threshold, a column of daylight, a landscape in retreat.
   Stage dimensions never change between static and enhanced presentation. */
.living-moment { --living-progress: 1; position: relative; color: var(--living-ink); padding-top: clamp(64px, 7vw, 110px); }
.living-moment-heading { display: grid; min-width: 0; margin-bottom: 42px; }
.living-moment-heading > .eyebrow { font-family: var(--mono); font-size: 11px; color: var(--living-soft); }
.living-moment-heading h3 { font-family: var(--serif); font-weight: 400; font-size: clamp(58px, 6.4vw, 106px); line-height: .99; letter-spacing: -.03em; text-wrap: balance; }
.living-moment-heading > p { font-size: 16px; line-height: 1.85; max-width: 415px; text-wrap: pretty; }
.living-composition { display: grid; min-width: 0; }
.living-stage { position: relative; min-width: 0; overflow: visible; isolation: isolate; padding: 18px 0 0; }
.living-photo { position: relative; z-index: 2; margin: 0; min-width: 0; }
.living-photo-frame { position: relative; width: 100%; aspect-ratio: var(--living-photo-ratio); box-shadow: 0 20px 45px #31452e15, 0 1px 1px #26352b14; }
.living-photo-frame > img { display: block; width: 100%; height: 100%; object-fit: contain; filter: none; }
.living-photo > figcaption { font-family: var(--mono); font-size: 10px; line-height: 1.75; padding: 17px 0 0; color: var(--living-soft); max-width: 360px; }
.living-ground { position: absolute; z-index: 0; pointer-events: none; background: linear-gradient(135deg, var(--living-light), var(--living-ground)); }
.living-line { position: absolute; z-index: 1; pointer-events: none; background: var(--living-ink); opacity: .22; }
.living-counterpoint { position: absolute; z-index: 1; color: var(--living-soft); font-family: var(--serif); font-size: clamp(26px, 3vw, 45px); line-height: 1.05; }
.living-counterpoint > span { display: block; }
.living-counterpoint > i { display: block; background: currentColor; opacity: .28; }
.living-readings { min-width: 0; display: grid; }
.living-reading { position: relative; min-width: 0; border-top: 1px solid var(--living-rule); padding-top: 24px; }
.living-reading-index { display: block; margin-bottom: 15px; color: var(--living-soft); font-family: var(--mono); font-size: 10px; }
.living-reading h4 { font-family: var(--serif); font-size: clamp(36px, 3.3vw, 55px); font-weight: 400; line-height: 1.05; letter-spacing: -.025em; margin-bottom: 18px; }
.living-reading p { font-size: 15px; line-height: 1.85; text-wrap: pretty; }
.living-moment-links { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 40px; margin-top: 42px; padding-top: 22px; border-top: 1px solid var(--living-rule); }
.living-moment-links > span { margin-right: auto; font-family: var(--serif); font-size: 23px; line-height: 1.2; color: var(--living-soft); }
.living-moment .text-link { font-size: 12px; gap: 22px; border-color: var(--living-rule); }
.living-moment a:focus-visible,
.living-departure a:focus-visible { outline: 2px solid var(--living-ink); outline-offset: 6px; }

.living-moment[data-living-form="0"] .living-moment-heading { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 22px; row-gap: 18px; align-items: end; }
.living-moment[data-living-form="0"] .living-moment-heading > .eyebrow { grid-column: 1 / -1; }
.living-moment[data-living-form="0"] .living-moment-heading h3 { grid-column: 1 / 8; max-width: 650px; }
.living-moment[data-living-form="0"] .living-moment-heading > p { grid-column: 9 / -1; padding-bottom: 4px; }
.living-moment[data-living-form="0"] .living-photo { width: 72%; }
.living-moment[data-living-form="0"] .living-ground { inset: 11% 0 14% 8%; }
.living-moment[data-living-form="0"] .living-line { height: 1px; left: 2%; right: 0; top: 78%; }
.living-moment[data-living-form="0"] .living-counterpoint { right: 3%; top: 51%; width: 21%; }
.living-moment[data-living-form="0"] .living-counterpoint > span:last-of-type { margin-top: 22px; text-align: right; }
.living-moment[data-living-form="0"] .living-counterpoint > i { height: 1px; width: 100%; margin-top: 38px; }
.living-moment[data-living-form="0"] .living-readings { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5.5vw; margin-top: 46px; }
.living-moment[data-living-form="0"] .living-reading-2 { margin-top: 38px; }
.living-moment[data-living-form="0"] .living-reading-3 { margin-top: 76px; }

.living-moment[data-living-form="1"] { padding-top: clamp(64px, 8vw, 125px); }
.living-moment[data-living-form="1"] .living-moment-heading { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 22px; row-gap: 18px; align-items: end; }
.living-moment[data-living-form="1"] .living-moment-heading > .eyebrow { grid-column: 1 / -1; }
.living-moment[data-living-form="1"] .living-moment-heading h3 { grid-column: 1 / 7; max-width: 540px; font-size: clamp(58px, 6.1vw, 100px); }
.living-moment[data-living-form="1"] .living-moment-heading > p { grid-column: 9 / -1; font-size: 14px; }
.living-moment[data-living-form="1"] .living-composition { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 22px; align-items: start; }
.living-moment[data-living-form="1"] .living-stage { grid-column: 5 / -1; grid-row: 1; padding-top: 24px; }
.living-moment[data-living-form="1"] .living-photo { width: 46%; margin-left: 29%; }
.living-moment[data-living-form="1"] .living-photo > figcaption { max-width: 260px; }
.living-moment[data-living-form="1"] .living-ground { inset: 0 3% 13% 43%; background: linear-gradient(180deg, var(--living-light), var(--living-ground)); }
.living-moment[data-living-form="1"] .living-line { width: 1px; top: 0; bottom: 6%; left: 13%; }
.living-moment[data-living-form="1"] .living-counterpoint { left: 0; top: 43%; font-size: clamp(27px, 2.8vw, 42px); width: 24%; }
.living-moment[data-living-form="1"] .living-counterpoint > span:last-of-type { margin-top: 55px; padding-left: 16%; }
.living-moment[data-living-form="1"] .living-counterpoint > i { height: 72px; width: 1px; margin: 24px 0 0 80%; }
.living-moment[data-living-form="1"] .living-readings { grid-column: 1 / 5; grid-row: 1; gap: 38px; padding-right: 22px; }
.living-moment[data-living-form="1"] .living-reading { max-width: 315px; }
.living-moment[data-living-form="1"] .living-reading-2 { margin-left: 22px; }
.living-moment[data-living-form="1"] .living-reading-3 { margin-left: 44px; }
.living-moment[data-living-form="1"] .living-moment-links { margin-top: 50px; }

.living-moment[data-living-form="2"] .living-moment-heading { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 22px; row-gap: 18px; align-items: end; }
.living-moment[data-living-form="2"] .living-moment-heading > .eyebrow { grid-column: 1 / 5; grid-row: 1; align-self: start; }
.living-moment[data-living-form="2"] .living-moment-heading h3 { grid-column: 5 / -1; grid-row: 1; text-align: right; }
.living-moment[data-living-form="2"] .living-moment-heading > p { grid-column: 1 / 6; grid-row: 2; max-width: 430px; padding-top: 6px; }
.living-moment[data-living-form="2"] .living-photo { width: 72%; margin-left: auto; }
.living-moment[data-living-form="2"] .living-photo > figcaption { max-width: none; text-align: right; }
.living-moment[data-living-form="2"] .living-ground { inset: 4% 8% 14% 0; background: linear-gradient(90deg, var(--living-ground), var(--living-light)); }
.living-moment[data-living-form="2"] .living-line { height: 1px; left: 0; right: 5%; top: 59%; }
.living-moment[data-living-form="2"] .living-counterpoint { left: 3%; top: 29%; width: 22%; font-size: clamp(31px, 3.5vw, 53px); }
.living-moment[data-living-form="2"] .living-counterpoint > span:last-of-type { margin-top: 54px; text-align: right; }
.living-moment[data-living-form="2"] .living-counterpoint > i { width: 67%; height: 1px; margin-top: 34px; }
.living-moment[data-living-form="2"] .living-readings { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 22px; margin-top: 50px; }
.living-moment[data-living-form="2"] .living-reading-1 { grid-column: 1 / 5; margin-top: 38px; }
.living-moment[data-living-form="2"] .living-reading-2 { grid-column: 6 / 9; margin-top: 80px; }
.living-moment[data-living-form="2"] .living-reading-3 { grid-column: 10 / -1; }

/* A short approach of the whole document, with no change to native pixels or
   stage height. The controller freezes these variables during navigation. */
@media (min-width: 781px) and (min-height: 690px) {
  /* Keep the short document approach inside the measured stage. The ceiling
     uses the real navigation clearance, independent of the motion gate. Its
     lower bound limits any width change to a few percent on shorter screens. */
  .living-moment[data-living-form="0"] .living-stage { padding-bottom: 6px; }
  .living-moment[data-living-form="1"] .living-stage { padding-bottom: 18px; }
  .living-moment[data-living-form="2"] .living-stage { padding-bottom: 4px; }
  .living-moment[data-living-form="0"] .living-photo { max-width: max(69%, calc((var(--living-height, 2000px) - 61px) * 1.5)); }
  .living-moment[data-living-form="1"] .living-photo { max-width: max(43.5%, calc((var(--living-height, 2000px) - 96px) * .66666667)); }
  .living-moment[data-living-form="2"] .living-photo { max-width: max(69%, calc((var(--living-height, 2000px) - 59px) * 1.5)); }
  .living-moment[data-living-motion="true"][data-living-form="0"] .living-photo { transform: translate(calc(-18px * (1 - var(--living-progress))), calc(6px * (1 - var(--living-progress)))); }
  .living-moment[data-living-motion="true"][data-living-form="1"] .living-photo { transform: translateY(calc(18px * (1 - var(--living-progress)))); }
  .living-moment[data-living-motion="true"][data-living-form="2"] .living-photo { transform: translate(calc(12px * (1 - var(--living-progress))), calc(4px * (1 - var(--living-progress)))); }
  .living-moment[data-living-motion="true"] .living-ground { opacity: calc(.55 + .45 * var(--living-progress)); }
  .living-moment[data-living-motion="true"][data-living-form="0"] .living-line { transform: translateY(calc(8px * (1 - var(--living-progress)))); opacity: calc(.12 + .1 * var(--living-progress)); }
  .living-moment[data-living-motion="true"][data-living-form="1"] .living-line { transform: translateY(calc(-12px * (1 - var(--living-progress)))); opacity: calc(.12 + .1 * var(--living-progress)); }
  .living-moment[data-living-motion="true"][data-living-form="2"] .living-line { transform: translateX(calc(-10px * (1 - var(--living-progress)))); opacity: calc(.12 + .1 * var(--living-progress)); }
}
@media (min-width: 781px) and (max-width: 1050px) and (min-height: 690px) {
  .living-moment[data-living-form="1"] .living-photo { max-width: max(53.5%, calc((var(--living-height, 2000px) - 96px) * .66666667)); }
}

/* Departure: the real next catalogue photograph stays straight and full. */
.living-departure { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 30px; align-items: start; color: var(--living-ink); padding-top: 45px; padding-bottom: clamp(75px, 9vw, 140px); background: linear-gradient(180deg, var(--place-ground), var(--place-paper)); }
.living-contact { min-width: 0; padding-top: 35px; border-top: 1px solid var(--living-rule); }
.living-contact > .eyebrow { font-family: var(--mono); font-size: 11px; color: var(--living-soft); margin-bottom: 25px; }
.living-contact h2 { font-family: var(--serif); font-weight: 400; font-size: clamp(53px, 5.6vw, 92px); line-height: 1; letter-spacing: -.03em; text-wrap: balance; }
.living-contact > p { font-size: 16px; line-height: 1.85; max-width: 390px; margin-top: 29px; text-wrap: pretty; }
.living-contact .text-link { font-size: 13px; min-height: 44px; gap: 30px; margin-top: 25px; border-color: var(--living-rule); }
.living-onward { min-width: 0; }
.living-next-relation { font-size: 13px; line-height: 1.85; max-width: 420px; text-wrap: pretty; margin-bottom: 26px; color: var(--living-soft); }
.living-next { display: flex; flex-direction: column; min-width: 0; }
.living-next-photo { width: 100%; position: relative; background: var(--place-tint); box-shadow: 0 18px 45px #24362c17; }
.living-next-photo > img { position: static; width: 100%; height: 100%; object-fit: cover; filter: none; transform: none; transition: none; }
.living-next-index { font-family: var(--mono); font-size: 10px; color: var(--living-soft); line-height: 1.8; margin: 22px 0 10px; }
.living-next > strong { display: block; font-family: var(--serif); font-size: clamp(35px, 3.5vw, 57px); font-weight: 400; line-height: 1.08; letter-spacing: -.02em; }
.living-next-action { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; padding: 12px 0 8px; min-height: 44px; font-size: 12px; border-bottom: 1px solid var(--living-rule); margin-top: 10px; }
.living-next-action > i { font-size: 24px; font-style: normal; line-height: 1; }
.living-departure[data-living-form="0"] .living-contact { grid-column: 1 / 7; margin-top: 70px; padding-right: 5%; }
.living-departure[data-living-form="0"] .living-onward { grid-column: 9 / -1; }
.living-departure[data-living-form="1"] .living-contact { grid-column: 1 / 5; }
.living-departure[data-living-form="1"] .living-onward { grid-column: 6 / -1; padding-top: 120px; }
.living-departure[data-living-form="1"] .living-next-relation { margin-left: auto; max-width: 330px; }
.living-departure[data-living-form="2"] .living-contact { grid-column: 8 / -1; grid-row: 1; margin-top: 80px; }
.living-departure[data-living-form="2"] .living-onward { grid-column: 1 / 7; grid-row: 1; }

@media (min-width: 781px) and (max-width: 1050px) {
  .living-prelude[data-living-form="0"] .project-title { right: 33%; }
  .living-prelude[data-living-form="1"] .project-title { left: 8%; right: 49%; }
  .living-prelude[data-living-form="2"] .project-title { left: 43%; }
  .living-prelude .living-prelude-note { width: 185px; font-size: 11px; }
  .living-prelude-note > span { font-size: 26px; }
  .living-arrival[data-living-form="0"] h2 { grid-column: 3 / -1; font-size: 8.7vw; }
  .living-arrival[data-living-form="1"] h2 { grid-column: 4 / 9; font-size: 8.9vw; padding-left: 21px; }
  .living-arrival[data-living-form="1"] .living-arrival-reading { font-size: 14px; padding-top: 40px; }
  .living-arrival-lead { font-size: 15px; }
  .living-arrival-question { font-size: 12px; }
  .living-moment-heading > p { font-size: 14px; }
  .living-moment[data-living-form="0"] .living-moment-heading h3 { grid-column: 1 / 8; }
  .living-moment[data-living-form="0"] .living-moment-heading > p { grid-column: 8 / -1; }
  .living-moment[data-living-form="1"] .living-moment-heading > p { grid-column: 8 / -1; }
  .living-moment[data-living-form="1"] .living-photo { width: 56%; margin-left: 31%; }
  .living-moment[data-living-form="1"] .living-counterpoint { font-size: 28px; }
  .living-reading p { font-size: 14px; }
  .living-moment[data-living-form="1"] .living-readings { padding-right: 10px; }
  .living-moment[data-living-form="1"] .living-reading-2 { margin-left: 12px; }
  .living-moment[data-living-form="1"] .living-reading-3 { margin-left: 24px; }
  .living-moment[data-living-form="2"] .living-reading-2 { grid-column: 5 / 9; }
  .living-moment[data-living-form="2"] .living-reading-3 { grid-column: 9 / -1; }
  .living-departure { column-gap: 22px; }
  .living-departure[data-living-form="0"] .living-onward { grid-column: 8 / -1; }
  .living-departure[data-living-form="1"] .living-contact { grid-column: 1 / 6; }
  .living-departure[data-living-form="1"] .living-onward { grid-column: 7 / -1; padding-top: 90px; }
  .living-contact > p { font-size: 14px; }
}

@media (max-width: 780px) {
  .living-prelude .project-title { left: var(--space); right: var(--space); width: auto; top: 30%; }
  .living-prelude .project-title h1 { font-size: clamp(65px, 16.6vw, 121px); margin: 18px 0 20px; }
  .living-prelude .project-title > .eyebrow { font-size: 11px; }
  .living-prelude .project-title > p { font-size: 14px; max-width: 260px; }
  .living-prelude .project-title .project-read-link { margin-top: 16px; font-size: 12px; }
  .living-prelude[data-living-form="0"] .project-title { left: var(--space); right: var(--space); top: 30%; }
  .living-prelude[data-living-form="0"] .project-title h1 { font-size: clamp(68px, 18vw, 128px); }
  .living-prelude[data-living-form="1"] .project-title { left: 13%; right: var(--space); top: 27%; }
  .living-prelude[data-living-form="1"] .project-title h1 { font-size: clamp(65px, 16.6vw, 121px); }
  .living-prelude[data-living-form="2"] .project-title { left: var(--space); right: calc(var(--space) + 18px); top: 31%; }
  .living-prelude[data-living-form="2"] .project-title h1 { font-size: clamp(61px, 16vw, 116px); }
  .living-prelude .living-prelude-note { display: none; }
  .living-prelude .passage-label { left: var(--space); right: var(--space); bottom: 92px; font-size: 10px; max-width: 270px; }
  .living-prelude .world-controls { bottom: 23px; }
  .living-arrival { padding-bottom: 38px; }
  .living-arrival h2 { font-size: clamp(58px, 12.4vw, 94px); }
  .living-arrival .eyebrow { font-size: 10px; }
  .living-arrival-lead { font-size: 15px; line-height: 1.8; }
  .living-arrival-question { font-size: 12px; margin-top: 21px; padding-top: 14px; }
  .living-arrival-gesture { font-size: 25px; }
  .living-arrival[data-living-form="0"] { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 22px 13px; }
  .living-arrival[data-living-form="0"] .living-arrival-index { grid-column: 1 / -1; margin: 0; }
  .living-arrival[data-living-form="0"] h2 { grid-column: 1 / -1; max-width: 550px; }
  .living-arrival[data-living-form="0"] .living-arrival-reading { grid-column: 2 / -1; grid-row: 3; padding-top: 4px; }
  .living-arrival[data-living-form="0"] .living-arrival-gesture { grid-column: 1 / -1; grid-row: 4; padding: 0; }
  .living-arrival[data-living-form="1"] { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 25px 13px; align-items: start; }
  .living-arrival[data-living-form="1"] .living-arrival-index { grid-column: 1 / -1; grid-row: 1; padding: 0; }
  .living-arrival[data-living-form="1"] h2 { grid-column: 2 / -1; grid-row: 2; font-size: clamp(64px, 12.6vw, 94px); max-width: 370px; padding-left: 18px; }
  .living-arrival[data-living-form="1"] .living-arrival-reading { grid-column: 2 / -1; grid-row: 3; padding: 0 0 0 18px; }
  .living-arrival[data-living-form="1"] .living-arrival-gesture { grid-column: 1 / -1; grid-row: 4; }
  .living-arrival[data-living-form="2"] { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px 13px; }
  .living-arrival[data-living-form="2"] .living-arrival-index { grid-column: 1 / -1; grid-row: 1; padding: 0; }
  .living-arrival[data-living-form="2"] h2 { grid-column: 2 / -1; grid-row: 2; font-size: clamp(60px, 12.5vw, 94px); }
  .living-arrival[data-living-form="2"] .living-arrival-reading { grid-column: 1 / 6; grid-row: 3; padding: 0; }
  .living-arrival[data-living-form="2"] .living-arrival-gesture { grid-column: 3 / -1; grid-row: 4; }
  .living-moment { padding-top: 55px; }
  .living-moment-heading { margin-bottom: 30px; }
  .living-moment-heading h3 { font-size: clamp(47px, 10.5vw, 75px); }
  .living-moment-heading > p { font-size: 15px; line-height: 1.85; max-width: 500px; }
  .living-moment-heading > .eyebrow { font-size: 10px; }
  .living-stage { padding-top: 14px; }
  .living-photo > figcaption { font-size: 10px; line-height: 1.8; padding-top: 15px; max-width: none; }
  .living-photo-frame { box-shadow: 0 12px 28px #31452e16; }
  .living-counterpoint { display: none; }
  .living-reading { padding-top: 20px; }
  .living-reading-index { margin-bottom: 10px; font-size: 9px; }
  .living-reading h4 { font-size: 36px; margin-bottom: 13px; }
  .living-reading p { font-size: 15px; line-height: 1.85; }
  .living-moment-links { gap: 12px 25px; margin-top: 30px; padding-top: 21px; }
  .living-moment-links > span { flex-basis: 100%; font-size: 22px; margin-bottom: 4px; }
  .living-moment .text-link { font-size: 11px; gap: 20px; }
  .living-moment[data-living-form="0"] .living-moment-heading { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 17px 13px; }
  .living-moment[data-living-form="0"] .living-moment-heading h3 { grid-column: 1 / -1; }
  .living-moment[data-living-form="0"] .living-moment-heading > p { grid-column: 2 / -1; padding: 0; }
  .living-moment[data-living-form="0"] .living-photo { width: 100%; }
  .living-moment[data-living-form="0"] .living-ground { inset: 0 0 22% 8%; }
  .living-moment[data-living-form="0"] .living-line { top: auto; bottom: 14%; left: 0; right: 3%; }
  .living-moment[data-living-form="0"] .living-readings { grid-template-columns: 1fr; gap: 29px; margin-top: 33px; }
  .living-moment[data-living-form="0"] .living-reading-2 { margin: 0 0 0 7%; }
  .living-moment[data-living-form="0"] .living-reading-3 { margin: 0 0 0 14%; }
  .living-moment[data-living-form="1"] { padding-top: 55px; }
  .living-moment[data-living-form="1"] .living-moment-heading { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 17px 13px; }
  .living-moment[data-living-form="1"] .living-moment-heading h3 { grid-column: 2 / -1; font-size: clamp(47px, 10.5vw, 75px); max-width: 410px; }
  .living-moment[data-living-form="1"] .living-moment-heading > p { grid-column: 2 / -1; font-size: 15px; }
  .living-moment[data-living-form="1"] .living-composition { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 33px 13px; }
  .living-moment[data-living-form="1"] .living-stage { grid-column: 1 / -1; grid-row: 1; padding-top: 14px; }
  .living-moment[data-living-form="1"] .living-photo { width: 79%; margin-left: 14%; }
  .living-moment[data-living-form="1"] .living-photo > figcaption { max-width: none; }
  .living-moment[data-living-form="1"] .living-ground { inset: 0 0 10% 40%; }
  .living-moment[data-living-form="1"] .living-line { left: 5%; top: 4%; bottom: 10%; }
  .living-moment[data-living-form="1"] .living-readings { grid-column: 1 / -1; grid-row: 2; gap: 29px; padding: 0; }
  .living-moment[data-living-form="1"] .living-reading { max-width: none; }
  .living-moment[data-living-form="1"] .living-reading-1 { margin-left: 14%; }
  .living-moment[data-living-form="1"] .living-reading-2 { margin: 0 7% 0 7%; }
  .living-moment[data-living-form="1"] .living-reading-3 { margin: 0 14% 0 0; }
  .living-moment[data-living-form="1"] .living-moment-links { margin-top: 30px; }
  .living-moment[data-living-form="2"] .living-moment-heading { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px 13px; }
  .living-moment[data-living-form="2"] .living-moment-heading > .eyebrow { grid-column: 1 / -1; grid-row: 1; }
  .living-moment[data-living-form="2"] .living-moment-heading h3 { grid-column: 2 / -1; grid-row: 2; }
  .living-moment[data-living-form="2"] .living-moment-heading > p { grid-column: 1 / 6; grid-row: 3; padding: 0; }
  .living-moment[data-living-form="2"] .living-photo { width: 100%; margin: 0; }
  .living-moment[data-living-form="2"] .living-photo > figcaption { text-align: left; }
  .living-moment[data-living-form="2"] .living-ground { inset: 0 8% 22% 0; }
  .living-moment[data-living-form="2"] .living-line { top: auto; bottom: 15%; left: 3%; right: 0; }
  .living-moment[data-living-form="2"] .living-readings { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 29px 13px; margin-top: 33px; }
  .living-moment[data-living-form="2"] .living-reading-1 { grid-column: 1 / 6; margin: 0; }
  .living-moment[data-living-form="2"] .living-reading-2 { grid-column: 2 / -1; margin: 0; }
  .living-moment[data-living-form="2"] .living-reading-3 { grid-column: 1 / 6; margin: 0; }
  .living-departure { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 43px 13px; padding-top: 10px; padding-bottom: 68px; }
  .living-contact { padding-top: 26px; }
  .living-contact > .eyebrow { font-size: 10px; margin-bottom: 21px; }
  .living-contact h2 { font-size: clamp(47px, 10.7vw, 76px); }
  .living-contact > p { margin-top: 24px; font-size: 15px; }
  .living-contact .text-link { font-size: 12px; margin-top: 21px; }
  .living-next-relation { font-size: 12px; line-height: 1.85; margin-bottom: 22px; max-width: 470px; }
  .living-next-index { font-size: 9px; margin-top: 19px; }
  .living-next > strong { font-size: clamp(34px, 7.9vw, 49px); }
  .living-next-action { font-size: 11px; }
  .living-departure[data-living-form="0"] .living-contact { grid-column: 1 / -1; margin: 0; padding-right: 0; }
  .living-departure[data-living-form="0"] .living-onward { grid-column: 2 / -1; }
  .living-departure[data-living-form="0"] .living-next-photo { width: 78%; margin-left: auto; }
  .living-departure[data-living-form="1"] .living-contact { grid-column: 2 / -1; }
  .living-departure[data-living-form="1"] .living-onward { grid-column: 1 / -1; padding: 0; }
  .living-departure[data-living-form="1"] .living-next-relation { max-width: 470px; margin-left: 0; }
  .living-departure[data-living-form="2"] .living-contact { grid-column: 2 / -1; grid-row: 1; margin: 0; }
  .living-departure[data-living-form="2"] .living-onward { grid-column: 1 / -1; grid-row: 2; }
}

@media (max-width: 360px) {
  .living-prelude[data-living-form="2"] .project-title { right: var(--space); }
  .living-prelude[data-living-form="2"] .project-title h1 { font-size: 58px; }
  .living-prelude .project-title > p { max-width: 250px; }
  .living-arrival h2 { font-size: 56px; }
  .living-arrival[data-living-form="1"] h2,
  .living-arrival[data-living-form="2"] h2 { font-size: 57px; }
  .living-arrival[data-living-form="1"] h2,
  .living-arrival[data-living-form="1"] .living-arrival-reading { padding-left: 14px; }
  .living-moment-heading h3,
  .living-moment[data-living-form="1"] .living-moment-heading h3 { font-size: 45px; }
  .living-reading h4 { font-size: 34px; }
  .living-contact h2 { font-size: 44px; }
  .living-moment-links > span { font-size: 21px; }
}

@media (max-height: 650px) {
  .living-prelude .chapter-stage { min-height: 0; }
  .living-prelude .project-title > p { font-size: 13px; line-height: 1.65; }
  .living-prelude .project-title .project-read-link { margin-top: 11px; }
  .living-prelude .living-prelude-note { display: none; }
}
@media (max-height: 650px) and (min-width: 781px) {
  .living-prelude .project-title h1 { font-size: clamp(65px, 8.2vw, 130px); margin: 14px 0 18px; }
  .living-prelude[data-living-form="0"] .project-title { top: 26%; }
  .living-prelude[data-living-form="1"] .project-title { top: 23%; }
  .living-prelude[data-living-form="2"] .project-title { top: 27%; }
}
@media (max-height: 650px) and (max-width: 780px) {
  .living-prelude .project-title h1 { margin: 13px 0 15px; }
  .living-prelude[data-living-form="0"] .project-title,
  .living-prelude[data-living-form="2"] .project-title { top: 29%; }
  .living-prelude[data-living-form="1"] .project-title { top: 28%; }
  .living-prelude .passage-label { bottom: 84px; }
  .living-prelude .world-controls { bottom: 15px; }
  /* A short arrival opens onto the original photo in the first viewport.
     Its intention remains complete; the gesture joins the compact index. */
  .living-arrival[data-living-form] {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 15px 16px;
    align-items: start;
    padding-bottom: 26px;
  }
  .living-arrival[data-living-form] .living-arrival-index {
    grid-column: 1;
    grid-row: 1;
    padding: 0;
    margin: 0;
    font-size: 9px;
    line-height: 1.9;
    align-self: center;
  }
  .living-arrival-index > span { display: inline; }
  .living-arrival-index > span::before { content: " / "; }
  .living-arrival[data-living-form] h2 {
    grid-column: 1 / -1;
    grid-row: 2;
    font-size: clamp(45px, 10vw, 64px);
    line-height: .95;
    max-width: none;
  }
  .living-arrival[data-living-form] .living-arrival-reading {
    grid-column: 1 / -1;
    grid-row: 3;
    padding: 0;
    max-width: none;
  }
  .living-arrival[data-living-form] .living-arrival-gesture {
    grid-column: 2;
    grid-row: 1;
    font-size: 20px;
    line-height: 1.05;
    align-self: center;
    padding: 0;
    text-align: right;
  }
  .living-arrival-lead { font-size: 13px; line-height: 1.7; }
  .living-arrival-question { font-size: 11.5px; line-height: 1.7; margin-top: 12px; padding-top: 10px; }
  .living-arrival[data-living-form="1"] h2 { padding-left: 14px; }
  .living-arrival[data-living-form="2"] h2 { text-align: right; }
}
@media (prefers-reduced-motion: reduce) {
  .living-moment .living-photo,
  .living-moment .living-line { transform: none !important; }
  .living-moment .living-ground { opacity: 1 !important; }
  .living-moment .living-line { opacity: .22 !important; }
  .living-prelude.photo-contained .living-prelude-note { opacity: 1; }
}

/* The new courtyard starts at the catalogue photo, without inheriting the
   former place's prelude. Its inhabited signature stays in ordinary flow. */
.living-arrival.living-arrival-adapted[data-living-form] { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px 22px; align-items: start; }
.living-arrival.living-arrival-adapted .living-arrival-index { grid-column: 1 / 3; grid-row: 1; margin-top: 9px; }
.living-arrival.living-arrival-adapted h1 { grid-column: 3 / -1; grid-row: 1; font-family: var(--serif); font-size: clamp(65px, 8.4vw, 137px); font-weight: 400; line-height: .97; letter-spacing: -.035em; overflow-wrap: anywhere; text-wrap: balance; }
.living-arrival.living-arrival-adapted .living-arrival-inhabited-title { grid-column: 3 / 7; grid-row: 2; font-family: var(--serif); font-size: clamp(29px, 3.4vw, 48px); line-height: 1.12; max-width: 360px; text-wrap: balance; padding-top: 12px; }
.living-arrival.living-arrival-adapted .living-arrival-reading { grid-column: 7 / -1; grid-row: 2; padding-top: 9px; max-width: 485px; }
.living-arrival.living-arrival-adapted .living-arrival-gesture { grid-column: 3 / 7; grid-row: 3; align-self: end; padding: 0; }
@media (max-width: 780px) {
  .living-arrival.living-arrival-adapted[data-living-form] { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 19px 13px; }
  .living-arrival.living-arrival-adapted .living-arrival-index { grid-column: 1 / -1; grid-row: 1; margin: 0; padding: 0; }
  .living-arrival.living-arrival-adapted h1 { grid-column: 1 / -1; grid-row: 2; font-size: clamp(49px, 12.6vw, 94px); }
  .living-arrival.living-arrival-adapted .living-arrival-inhabited-title { grid-column: 1 / -1; grid-row: 3; font-size: clamp(29px, 7vw, 42px); padding-top: 0; max-width: none; }
  .living-arrival.living-arrival-adapted .living-arrival-reading { grid-column: 2 / -1; grid-row: 4; padding: 0; }
  .living-arrival.living-arrival-adapted .living-arrival-gesture { grid-column: 1 / -1; grid-row: 5; text-align: left; font-size: 24px; }
}
@media (max-height: 650px) and (max-width: 780px) {
  .living-arrival.living-arrival-adapted[data-living-form] { gap: 15px 13px; }
  .living-arrival.living-arrival-adapted h1 { font-size: clamp(45px, 10vw, 64px); }
  .living-arrival.living-arrival-adapted .living-arrival-inhabited-title { font-size: 27px; }
}
@media (max-width: 360px) {
  .living-arrival.living-arrival-adapted h1 { font-size: 45px; }
}
