.chapter--mandate {
  height: 420vh;
}

.mandate-stage {
  display: grid;
  padding: clamp(7rem, 12vh, 10rem) var(--page-pad) 4rem;
  grid-template-columns: minmax(16rem, 0.75fr) 1.25fr;
  gap: clamp(2rem, 8vw, 10rem);
  align-items: center;
}

.mandate-light {
  position: absolute;
  z-index: -1;
  top: -20%;
  left: 30%;
  width: 36vw;
  height: 110%;
  opacity: 0.6;
  background: linear-gradient(180deg, rgba(237, 234, 228, 0.12), rgba(184, 144, 82, 0.03) 48%, transparent 78%);
  filter: blur(52px);
  clip-path: polygon(44% 0, 56% 0, 100% 100%, 0 100%);
}

.mandate-heading > p:last-child {
  margin: 1.3rem 0 0;
  color: var(--bone-dim);
  font-family: var(--display);
  font-size: clamp(2.2rem, 4vw, 4.7rem);
  line-height: 1;
}

.manifesto {
  border-top: 1px solid var(--line);
}

.manifesto-line {
  display: grid;
  margin: 0;
  padding: clamp(1.1rem, 2.5vh, 2rem) 0;
  border-bottom: 1px solid var(--line);
  grid-template-columns: 3.4rem 1fr;
  align-items: baseline;
  color: rgba(237, 234, 228, 0.12);
  font-family: var(--display);
  font-size: clamp(2rem, 4.3vw, 5.2rem);
  letter-spacing: -0.035em;
  line-height: 0.93;
  transform: translateY(1.25rem);
  transition: color 0.8s var(--ease-sovereign), transform 0.8s var(--ease-sovereign);
}

.manifesto-line span {
  color: var(--gold);
  font-family: var(--grotesque);
  font-size: 0.52rem;
  font-weight: 600;
  letter-spacing: 0.16em;
}

.manifesto-line.is-visible {
  color: var(--bone);
  transform: translateY(0);
}

.manifesto-line--final.is-visible {
  color: var(--gold-bright);
}

.worlds-copy {
  position: absolute;
  top: 7rem;
  left: var(--page-pad);
  max-width: 38rem;
}

.worlds-copy h2,
.reassembly-copy h2,
.macro-copy h2 {
  margin-top: 1rem;
  font-size: clamp(4.5rem, 9vw, 9.5rem);
}

.world-callouts {
  position: absolute;
  right: var(--page-pad);
  bottom: 4rem;
  left: var(--page-pad);
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(4, 1fr);
  list-style: none;
}

.world-callouts li {
  display: grid;
  min-height: 5.8rem;
  padding: 0.9rem 1rem;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
  align-content: space-between;
  opacity: 0;
  background: rgba(5, 5, 5, 0.5);
  backdrop-filter: blur(14px);
  transform: translateY(1.3rem);
  transition: opacity 0.55s var(--ease-sovereign), transform 0.55s var(--ease-sovereign), border-color 0.3s ease;
}

.world-callouts li:last-child {
  grid-column: 4;
}

.world-callouts li:hover {
  border-color: rgba(212, 173, 112, 0.56);
}

.world-callouts li.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.world-callouts span,
.world-callouts small {
  color: var(--bone-dim);
  font-size: 0.49rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.world-callouts strong {
  margin-top: 0.45rem;
  font-family: var(--display);
  font-size: clamp(1rem, 1.4vw, 1.45rem);
  font-weight: 400;
}

.world-callouts small {
  margin-top: 0.4rem;
  color: var(--gold-bright);
}

.reassembly-copy {
  position: absolute;
  top: 50%;
  left: var(--page-pad);
  width: min(48rem, 58vw);
  transform: translateY(-50%);
}

.reassembly-copy > p:last-child,
.macro-copy > p:last-child {
  max-width: 32rem;
  margin: 1.8rem 0 0;
  color: var(--bone-dim);
  font-family: var(--display);
  font-size: clamp(1.15rem, 1.8vw, 1.55rem);
  line-height: 1.4;
}

.macro-copy {
  position: absolute;
  top: 50%;
  right: var(--page-pad);
  width: min(46rem, 52vw);
  text-align: right;
  transform: translateY(-50%);
}

.macro-copy > p:last-child {
  margin-left: auto;
}

.executive-interface,
.ecosystem,
.next-action {
  position: relative;
  z-index: 2;
  padding: clamp(7rem, 12vw, 12rem) var(--page-pad);
  background: var(--ink);
}

.executive-interface {
  padding-top: clamp(6rem, 8vw, 8rem);
}

.executive-interface .interface-heading h2 {
  font-size: clamp(4rem, 7.5vw, 7.5rem);
}

.executive-interface .command-console {
  margin-top: clamp(3rem, 5vw, 5rem);
}

.executive-interface,
.ecosystem {
  scroll-margin-top: 5rem;
}

.interface-heading,
.ecosystem-heading {
  display: grid;
  grid-template-columns: 1.12fr 0.88fr;
  align-items: end;
  gap: clamp(3rem, 9vw, 11rem);
}

.interface-heading h2,
.ecosystem-heading h2,
.next-action h2 {
  margin-top: 1.1rem;
  font-size: clamp(4.5rem, 9.5vw, 10rem);
}

.interface-heading > p,
.ecosystem-heading > p,
.next-action__lead {
  margin: 0 0 0.55rem;
  color: var(--bone-dim);
  font-family: var(--display);
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  line-height: 1.5;
}
