.space-page {
  --space-column: min(88rem, calc(100vw - (2 * var(--page-gutter))));
  background: var(--warm-white);
}

.space-page img {
  object-fit: cover;
}

.space-hero {
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(19rem, 0.72fr) minmax(30rem, 1.28fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: center;
  padding: clamp(7rem, 12vw, 11rem) var(--page-gutter) 5rem;
  background: var(--warm-white);
}

.space-hero__copy {
  max-width: 38rem;
}

.space-hero .eyebrow {
  color: var(--wood);
}

.space-hero h1 {
  color: var(--brick);
  font-family: var(--serif);
  font-size: clamp(3.4rem, 7vw, 7.7rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.05;
}

.space-hero__edition {
  margin-top: 1rem;
  color: var(--soft-ink);
  font-size: 0.72rem;
  letter-spacing: 0.22em;
}

.space-hero__lead {
  margin-top: clamp(3rem, 7vw, 6rem);
  font-family: var(--serif);
  font-size: clamp(1.55rem, 2.4vw, 2.4rem);
  line-height: 1.8;
}

.space-hero__note {
  margin-top: 2rem;
  color: var(--soft-ink);
  letter-spacing: 0.06em;
}

.space-hero__figure {
  position: relative;
  margin: 0;
  align-self: stretch;
  min-height: 42rem;
  overflow: hidden;
}

.space-hero__figure img {
  width: 100%;
  height: 100%;
  object-position: center 48%;
  filter: saturate(0.82) contrast(0.98);
}

.space-hero__figure figcaption,
.brick-evidence figcaption,
.space-evidence-pair figcaption,
.courtyard-stage figcaption,
.living-comparison figcaption,
.rehab-vision figcaption,
.rehab-view figcaption,
.studio-layout figcaption,
.daughter-archive figcaption,
.day-images figcaption {
  margin-top: 0.75rem;
  color: var(--soft-ink);
  font-size: 0.66rem;
  letter-spacing: 0.08em;
}

.space-hero__figure figcaption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  padding: 0.4rem 0.65rem;
  background: rgba(23, 21, 18, 0.68);
  color: var(--warm-white);
}

.space-hero__axis {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 1rem;
  color: var(--soft-ink);
  font-size: 0.66rem;
  letter-spacing: 0.14em;
}

.space-hero__axis i {
  flex: 1;
  height: 1px;
  background: var(--line);
}

.space-chapter {
  position: relative;
  padding: clamp(8rem, 14vw, 15rem) var(--page-gutter);
}

.space-chapter__header,
.brick-evidence,
.space-records,
.courtyard-stage,
.living-comparison,
.rehab-vision,
.rehab-copy,
.rehab-view,
.studio-layout,
.daughter-archive,
.candy-connection,
.day-sequence,
.day-images {
  width: var(--space-column);
  margin-inline: auto;
}

.space-chapter__header {
  margin-bottom: clamp(5rem, 10vw, 10rem);
}

.space-chapter__header--split {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
  gap: clamp(3rem, 9vw, 9rem);
  align-items: end;
}

.space-chapter h2,
.space-ending h2 {
  max-width: 64rem;
  font-family: var(--serif);
  font-size: clamp(2.6rem, 5.8vw, 6.2rem);
  font-weight: 400;
  line-height: 1.28;
}

.space-chapter__intro {
  max-width: 39rem;
  margin-top: 2.5rem;
  color: var(--soft-ink);
  font-size: clamp(1rem, 1.35vw, 1.2rem);
  line-height: 2;
}

.space-chapter__header--split .space-chapter__intro {
  margin-top: 0;
}

.floor-marker {
  position: absolute;
  top: clamp(3rem, 6vw, 6rem);
  left: var(--page-gutter);
  display: flex;
  align-items: baseline;
  gap: 0.65rem;
  color: var(--brick);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
}

.floor-marker span {
  font-family: var(--serif);
  font-size: 1.4rem;
}

.floor-marker small {
  font-size: inherit;
}

.space-chapter--brick {
  background: #e8dfd2;
}

.brick-evidence {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(18rem, 0.5fr);
  gap: clamp(1.2rem, 3vw, 3.5rem);
  align-items: end;
}

.brick-evidence figure:last-child {
  margin-bottom: -5rem;
}

.brick-evidence img {
  aspect-ratio: 4 / 3;
}

.brick-evidence figure:last-child img {
  aspect-ratio: 3 / 4;
}

.space-chapter--parents {
  background: var(--warm-white);
}

.space-records {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(7rem, 12vw, 12rem) clamp(1rem, 3vw, 3rem);
}

.space-record {
  grid-column: 1 / 8;
}

.space-record--offset {
  grid-column: 6 / 13;
}

.space-record--wide {
  grid-column: 2 / 12;
}

.space-record header span {
  color: var(--brick);
  font-size: 0.66rem;
  letter-spacing: 0.14em;
}

.space-record h3,
.candy-connection h3,
.day-sequence h3,
.space-generations h3 {
  margin-top: 0.5rem;
  font-family: var(--serif);
  font-size: clamp(1.8rem, 3.2vw, 3.4rem);
  font-weight: 400;
}

.space-evidence-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(0.75rem, 2vw, 2rem);
  margin-top: 2.5rem;
}

.space-evidence-pair img {
  aspect-ratio: 3 / 4;
}

.space-record--wide .space-evidence-pair img {
  aspect-ratio: 4 / 3;
}

.space-record > p,
.space-record blockquote {
  max-width: 43rem;
  margin-top: 2rem;
  color: var(--soft-ink);
}

.space-record blockquote {
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(1.45rem, 2.4vw, 2.5rem);
  line-height: 1.8;
}

.space-chapter--courtyard {
  background: #24211d;
  color: var(--warm-white);
}

.space-chapter--courtyard .chapter__phase,
.space-chapter--courtyard .floor-marker {
  color: #d9846d;
}

.space-chapter--courtyard .space-chapter__intro,
.space-chapter--courtyard figcaption {
  color: rgba(242, 238, 229, 0.62);
}

.courtyard-stage {
  position: relative;
  min-height: 64rem;
}

.courtyard-stage__reality {
  width: 42%;
}

.courtyard-stage__reality img {
  aspect-ratio: 3 / 4;
}

.courtyard-stage__future {
  position: absolute;
  top: 13rem;
  right: 0;
  width: 68%;
}

.courtyard-stage__future img {
  aspect-ratio: 4 / 3;
}

.courtyard-stage__note {
  position: absolute;
  bottom: 0;
  left: 7%;
  z-index: 2;
  padding: 2.2rem;
  background: rgba(23, 21, 18, 0.84);
  font-family: var(--serif);
  font-size: clamp(1.2rem, 2vw, 2rem);
  line-height: 1.9;
}

.space-chapter--living {
  background: #e8e1d5;
}

.living-comparison {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: clamp(1rem, 3vw, 3rem);
  align-items: center;
}

.living-comparison img {
  aspect-ratio: 4 / 3;
}

.living-comparison > span {
  color: var(--brick);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  writing-mode: vertical-rl;
}

.space-chapter--rehab {
  overflow: hidden;
  background: var(--warm-white);
}

.space-chapter--rehab blockquote {
  font-family: var(--serif);
  font-size: clamp(1.4rem, 2.6vw, 2.8rem);
  line-height: 1.8;
}

.rehab-vision img {
  aspect-ratio: 16 / 9;
}

.rehab-copy {
  max-width: 44rem;
  margin-top: clamp(4rem, 8vw, 8rem);
  margin-left: calc((100% - var(--space-column)) / 2 + 8%);
}

.rehab-copy p + p {
  margin-top: 1.7rem;
}

.rehab-copy .pull-quote {
  margin-top: 4rem;
  font-family: var(--serif);
  font-size: clamp(1.6rem, 3vw, 3rem);
  line-height: 1.7;
}

.rehab-view {
  width: min(24rem, 32vw);
  margin-top: -11rem;
  margin-right: calc((100% - var(--space-column)) / 2);
  margin-left: auto;
}

.rehab-view img {
  aspect-ratio: 3 / 4;
}

.space-chapter--studio {
  background: #d8cebf;
}

.studio-layout {
  display: grid;
  grid-template-columns: minmax(20rem, 0.86fr) minmax(22rem, 1.14fr);
  gap: clamp(3rem, 9vw, 10rem);
  align-items: center;
}

.studio-layout figure {
  max-width: 38rem;
}

.studio-layout img {
  aspect-ratio: 3 / 4;
}

.studio-copy blockquote {
  font-family: var(--serif);
  font-size: clamp(2rem, 4vw, 4.5rem);
  line-height: 1.55;
}

.studio-copy p {
  max-width: 35rem;
  margin-top: 2rem;
  color: var(--soft-ink);
}

.studio-copy .studio-bridge {
  margin-top: clamp(5rem, 9vw, 9rem);
  color: var(--brick);
  font-family: var(--serif);
  font-size: clamp(1.4rem, 2.4vw, 2.5rem);
}

.space-chapter--daughter {
  background: var(--warm-white);
}

.daughter-archive {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(1rem, 2.4vw, 2.5rem);
  align-items: end;
}

.daughter-archive figure {
  grid-column: span 5;
}

.daughter-archive__reality {
  grid-column: 1 / 9 !important;
}

.daughter-archive__reality + figure {
  grid-column: 9 / 13;
  margin-bottom: -6rem;
}

.daughter-archive figure:last-child {
  grid-column: 3 / 11;
  margin-top: 10rem;
}

.daughter-archive img {
  aspect-ratio: 4 / 3;
}

.daughter-archive__reality + figure img {
  aspect-ratio: 3 / 4;
}

.candy-connection {
  max-width: 58rem;
  margin-top: clamp(9rem, 16vw, 16rem);
  padding: clamp(3rem, 7vw, 7rem);
  border: 1px solid var(--line);
  text-align: center;
}

.candy-connection > p:not(.chapter__phase) {
  margin-top: 2rem;
  color: var(--soft-ink);
}

.candy-connection blockquote {
  margin-top: 3.5rem;
  font-family: var(--serif);
  font-size: clamp(1.35rem, 2.5vw, 2.5rem);
  line-height: 1.9;
}

.space-chapter--day {
  background: #28241f;
  color: var(--warm-white);
}

.space-chapter--day .chapter__phase,
.space-chapter--day .floor-marker {
  color: #d9846d;
}

.space-chapter--day .space-chapter__intro {
  margin-inline: auto;
  color: rgba(242, 238, 229, 0.66);
}

.day-sequence {
  margin: 0 auto;
  padding: 0;
  border-top: 1px solid rgba(242, 238, 229, 0.18);
  list-style: none;
}

.day-sequence li {
  display: grid;
  grid-template-columns: 7rem 0.8fr 1.2fr;
  gap: clamp(1rem, 4vw, 4rem);
  align-items: baseline;
  padding: 2.5rem 0;
  border-bottom: 1px solid rgba(242, 238, 229, 0.18);
}

.day-sequence time {
  color: #d9846d;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
}

.day-sequence h3 {
  margin: 0;
  font-size: clamp(1.3rem, 2vw, 2rem);
}

.day-sequence p {
  color: rgba(242, 238, 229, 0.62);
}

.day-images {
  display: grid;
  grid-template-columns: 0.7fr 1.3fr;
  gap: clamp(1rem, 3vw, 3rem);
  align-items: end;
  margin-top: clamp(7rem, 13vw, 13rem);
}

.day-images img {
  aspect-ratio: 4 / 3;
}

.day-images figure:first-child {
  width: 76%;
}

.day-images figure:first-child img {
  aspect-ratio: 3 / 4;
}

.space-ending {
  min-height: 120svh;
  padding: clamp(10rem, 17vw, 18rem) var(--page-gutter);
  background: #11100e;
  color: var(--warm-white);
}

.space-ending > * {
  width: var(--space-column);
  margin-inline: auto;
}

.space-ending .chapter__phase {
  color: #d9846d;
}

.space-ending h2 {
  margin-top: 2rem;
}

.space-generations {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: clamp(7rem, 13vw, 13rem);
  padding: 0;
  border-top: 1px solid rgba(242, 238, 229, 0.18);
  list-style: none;
}

.space-generations li {
  min-height: 22rem;
  padding: 3rem clamp(1rem, 3vw, 3rem);
  border-bottom: 1px solid rgba(242, 238, 229, 0.18);
}

.space-generations li + li {
  border-left: 1px solid rgba(242, 238, 229, 0.18);
}

.space-generations span {
  color: #d9846d;
  font-size: 0.66rem;
  letter-spacing: 0.14em;
}

.space-generations h3 {
  margin-top: 2rem;
  font-size: clamp(1.5rem, 2.6vw, 2.7rem);
}

.space-generations p {
  margin-top: 3rem;
  color: rgba(242, 238, 229, 0.62);
}

.space-ending__final {
  margin-top: clamp(9rem, 18vw, 18rem);
  text-align: center;
}

.space-ending__final p {
  font-family: var(--serif);
  font-size: clamp(1.7rem, 3.5vw, 3.5rem);
  line-height: 1.9;
}

.space-ending__final strong,
.space-ending__final small {
  display: block;
}

.space-ending__final strong {
  margin-top: clamp(8rem, 14vw, 14rem);
  font-family: var(--serif);
  font-size: clamp(3rem, 7vw, 7rem);
  font-weight: 400;
  letter-spacing: 0.08em;
}

.space-ending__final small {
  margin-top: 1.5rem;
  color: rgba(242, 238, 229, 0.55);
  font-size: 0.8rem;
  letter-spacing: 0.14em;
}

@media (max-width: 980px) {
  .space-hero {
    grid-template-columns: 1fr 1.1fr;
    gap: 2rem;
  }

  .space-hero__figure {
    min-height: 35rem;
  }

  .courtyard-stage {
    min-height: 52rem;
  }
}

@media (max-width: 760px) {
  .space-hero {
    display: flex;
    min-height: auto;
    flex-direction: column;
    align-items: stretch;
    padding-top: 7rem;
  }

  .space-hero__figure {
    min-height: 62svh;
  }

  .space-hero__axis {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .space-hero__axis i {
    width: 1px;
    height: 1.4rem;
    margin-left: 0.25rem;
  }

  .space-chapter {
    padding-block: 8rem;
  }

  .floor-marker {
    top: 2.3rem;
  }

  .space-chapter__header--split,
  .brick-evidence,
  .space-evidence-pair,
  .living-comparison,
  .studio-layout,
  .day-images,
  .space-generations {
    grid-template-columns: 1fr;
  }

  .space-chapter__header--split .space-chapter__intro {
    margin-top: 1rem;
  }

  .brick-evidence figure:last-child {
    width: 76%;
    margin: 2rem 0 0 auto;
  }

  .space-records {
    display: block;
  }

  .space-record + .space-record {
    margin-top: 8rem;
  }

  .space-evidence-pair {
    gap: 3rem;
  }

  .space-record--wide .space-evidence-pair img,
  .space-evidence-pair img {
    aspect-ratio: 4 / 3;
  }

  .courtyard-stage {
    display: flex;
    min-height: 0;
    flex-direction: column;
    gap: 3.5rem;
  }

  .courtyard-stage__reality,
  .courtyard-stage__future {
    position: static;
    width: 100%;
  }

  .courtyard-stage__reality {
    width: 76%;
  }

  .courtyard-stage__note {
    position: static;
    padding: 0;
    background: transparent;
  }

  .living-comparison > span {
    padding: 1.5rem 0;
    writing-mode: horizontal-tb;
  }

  .rehab-vision img {
    aspect-ratio: 4 / 3;
  }

  .rehab-copy {
    margin: 4rem auto 0;
  }

  .rehab-view {
    width: 72%;
    margin: 5rem 0 0 auto;
  }

  .studio-layout figure {
    width: 82%;
  }

  .studio-copy {
    margin-top: 2rem;
  }

  .daughter-archive {
    display: flex;
    flex-direction: column;
    gap: 3.5rem;
  }

  .daughter-archive figure,
  .daughter-archive__reality,
  .daughter-archive__reality + figure,
  .daughter-archive figure:last-child {
    width: 100%;
    margin: 0;
  }

  .daughter-archive__reality + figure {
    width: 76%;
    margin-left: auto;
  }

  .candy-connection {
    padding-inline: 1.5rem;
  }

  .day-sequence li {
    grid-template-columns: 4.5rem 1fr;
  }

  .day-sequence p {
    grid-column: 2;
  }

  .day-images figure:first-child {
    width: 74%;
  }

  .space-generations li {
    min-height: auto;
    padding: 3rem 0;
  }

  .space-generations li + li {
    border-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .space-page *,
  .space-page *::before,
  .space-page *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
