/* One edge-to-edge cover portrait per maker. */
.apple-edition #japan {
  position: relative; isolation: isolate; height: 100svh; min-height: 100svh;
  padding: 0; overflow: hidden; background: #17191d; color: #fff;
}
.apple-edition #japan::before { display: none; }
.apple-edition #japan .producer-grid {
  position: absolute; inset: 0; display: grid;
  grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr);
  gap: 0; width: 100%; height: 100%; max-width: none; margin: 0;
  transform: none !important;
}
.apple-edition #japan .producer-grid figure {
  position: relative; width: 100%; height: 100%; min-width: 0; min-height: 0;
  aspect-ratio: auto; margin: 0; overflow: hidden; border: 0; border-radius: 0;
  background: #17191d;
}
.apple-edition #japan .producer-grid img {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%;
  max-width: none; max-height: none; object-fit: cover;
  object-position: var(--portrait-x, 50%) 33%; transform: none; border-radius: 0; box-shadow: none;
}
.apple-edition #japan img[data-asset="sakurai"] { --portrait-x: 57%; }
.apple-edition #japan img[data-asset="miyamoto"] { --portrait-x: 46%; }
.apple-edition #japan img[data-asset="aonuma"] { --portrait-x: 48%; }
.apple-edition #japan img[data-asset="kojima"] { --portrait-x: 51%; }
.apple-edition #japan .producer-grid figure::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(#0006, transparent 28%, #0002 48%, #000b);
}
.apple-edition #japan .producer-grid figcaption {
  inset: auto 0 0;
  margin: 0; padding: 0 clamp(12px, 2vw, 30px) clamp(20px, 3svh, 40px); background: none; color: #fff;
  font-size: clamp(18px, 1.9vw, 30px);
  text-shadow: 0 2px 12px #000b;
}
.apple-edition #japan > .section-title,
.apple-edition #japan > .theory-original {
  position: absolute; z-index: 2; inset-inline: 0; width: 100%; max-width: none;
  margin: 0; padding-inline: 5vw; color: #fff; text-align: center;
  text-shadow: 0 3px 16px #000c, 0 1px 3px #000a;
}
.apple-edition #japan > .section-title {
  top: 72%; translate: 0 -50%; font-size: clamp(36px, 4.6vw, 80px); line-height: 1.15;
}
.apple-edition #japan > .theory-original {
  top: 81%; font-size: clamp(18px, 1.7vw, 28px); line-height: 1.6;
}
@media (max-width: 800px), (orientation: portrait) {
  .apple-edition #japan .producer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row; grid-auto-rows: minmax(0, 1fr);
  }
  .apple-edition #japan .producer-grid figcaption { font-size: clamp(17px, 3vw, 26px); }
  .apple-edition #japan > .section-title { top: 76%; font-size: clamp(32px, 6vw, 64px); }
  .apple-edition #japan > .theory-original { top: 85%; font-size: clamp(16px, 2.8vw, 24px); }
}
