/* EDITORIAL SHOW — sequential cinema. Opening is one product scene, not a split. */
body[data-arch="editorial"],
body[data-layout="editorial"] {
  /* Niche tokens from the page. Overlay type on photos stays light on a mask. */
}
body[data-arch="editorial"] .kicker,
body[data-layout="editorial"] .kicker { color: var(--accent); }

.ed-nav {
  position: absolute;
  top: 34px;
  left: 0; right: 0;
  z-index: 4;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 24px;
  color: #f6f1ea;
}
.ed-nav .brand {
  justify-self: center;
  font-family: var(--display);
  font-size: clamp(1.4rem, 3vw, 2rem);
  letter-spacing: -0.03em;
}
.ed-nav .links, .ed-nav .tools {
  display: flex;
  gap: 18px;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.ed-nav .tools { justify-self: end; }

.ed-scene {
  position: relative;
  min-height: 100svh;
  color: #f6f1ea;
}
.ed-scene img {
  width: 100%;
  height: 100svh;
  object-fit: cover;
  filter: contrast(1.05);
}
.ed-scene::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #0007 0%, transparent 28%, #000d 100%);
}
.ed-issue {
  position: absolute;
  top: 96px;
  left: 24px;
  z-index: 3;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-size: 10px;
}
.ed-buybar {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  z-index: 3;
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 16px;
  align-items: end;
  padding: 20px 24px 28px;
  background: linear-gradient(180deg, transparent, #000c);
}
.ed-buybar h1 {
  font-size: clamp(2rem, 6vw, 4.2rem);
  line-height: 0.92;
  color: #f6f1ea;
}
.ed-buybar .price { font-size: 1.8rem; color: #f6f1ea; }
.ed-buybar .actions { display: flex; gap: 8px; }

.ed-walk {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  background: #0c0a09;
}
.ed-walk article,
.ed-walk .ed-piece {
  flex: 0 0 78vw;
  scroll-snap-align: start;
  position: relative;
  min-height: 78vh;
}
.ed-walk img { height: 78vh; width: 100%; }
.ed-walk .cap {
  position: absolute;
  left: 20px; bottom: 20px;
  color: #f6f1ea;
  text-shadow: 0 8px 24px #000a;
  max-width: 70%;
}
.ed-walk .cap::before {
  content: "";
  position: absolute;
  inset: -16px -20px -20px -16px;
  background: #0009;
  z-index: -1;
}

.ed-chapters { display: block; }
.ed-chapter {
  position: relative;
  color: #f6f1ea;
  display: block;
}
.ed-chapter img { height: 56vh; width: 100%; }
.ed-chapter span {
  position: absolute;
  left: 24px; bottom: 24px;
  max-width: 28rem;
  padding: 16px 18px;
  background: #000a;
}

.ed-index {
  padding: 48px 24px 80px;
  max-width: 720px;
}
.ed-index a {
  display: grid;
  grid-template-columns: 48px 72px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid #ffffff18;
}
.ed-index img { width: 72px; height: 72px; }
.ed-quote { padding: 64px 24px; max-width: 40rem; font-size: clamp(1.4rem, 3vw, 2.2rem); }
.ed-foot { padding: 24px; border-top: 1px solid #ffffff18; font-size: 13px; opacity: 0.7; }

.ed-sticky {
  display: none;
}

@media (max-width: 900px) {
  .ed-nav { grid-template-columns: auto 1fr auto; top: 28px; padding: 0 12px; }
  .ed-nav .links { display: none; }
  .ed-buybar {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .ed-buybar .actions { width: 100%; }
  .ed-walk article { flex-basis: 88vw; min-height: 62vh; }
  .ed-walk img { height: 62vh; }
  .ed-chapter img { height: 42vh; }
  .ed-index a { grid-template-columns: 36px 56px 1fr; }
  .ed-index .price { grid-column: 3; }
  .ed-sticky {
    display: flex;
    position: sticky;
    bottom: 0;
    z-index: 20;
    gap: 8px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: #0c0a09;
    border-top: 1px solid #ffffff22;
  }
}
