/* ONEIRO — large-screen layout containment (loaded after page styles) */
:root {
  --page-max: 1320px;
}

/* —— Main editorial column —— */
.flow {
  max-width: var(--page-max);
  margin-left: auto;
  margin-right: auto;
}

.flow--wide {
  max-width: var(--page-max);
  margin-left: auto;
  margin-right: auto;
}

.end {
  max-width: var(--page-max);
  margin-left: auto;
  margin-right: auto;
}

/* —— Full-bleed figures: span content width, not the viewport —— */
.fig--immersive,
.fig--panorama,
.ph--cinema,
.ph--cinema-tall,
.age-i-cinema,
.age-i-cinema > .ph--cinema {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.strip {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* —— Editorial blocks that should stay grouped —— */
.sect-looking,
.glyph {
  margin-left: auto;
  margin-right: auto;
}

.hero__upper,
.hero__land,
.hero__cartography,
.hero__matrix,
.hero__plates,
.hero__about,
.age__head,
.matrix-fertility__inner,
.origins-head {
  max-width: var(--page-max);
  margin-left: auto;
  margin-right: auto;
}

.facing,
.triptych,
.terms-band,
.sect-split,
.intro-block,
.surreal,
.surreal__row {
  max-width: min(var(--page-max), 100%);
}

/* —— Fixed chrome aligned with content column —— */
@media (min-width: 720px) {
  .back,
  .opening__title,
  .article-notebook__back {
    left: max(var(--pad), calc((100vw - var(--page-max)) / 2 + var(--pad)));
  }
}

/* —— Manifesto / contact shells (masthead only; body stays narrow) —— */
.masthead {
  max-width: min(var(--page-max), 100%);
}

/* —— Homepage —— */
.hero-home,
.seq,
.home-section,
.affiliations {
  max-width: var(--page-max);
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 720px) {
  .strip {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
