* { box-sizing: border-box; }
body {
  margin: 0;
  background: #fff;
  color: #161616;
  font-family: system-ui, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}
.viewer { width: min(1080px, calc(100% - 36px)); margin: auto; padding: 36px 0 56px; }
.screen-reader {
  position: absolute; width: 1px; height: 1px; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
article { scroll-margin-top: 22px; }
article + article { margin-top: 40px; }
.page-label { display: flex; align-items: baseline; gap: 10px; margin-bottom: 10px; }
.page-label span { font-size: 12px; font-weight: 750; letter-spacing: .16em; }
.page-label strong { color: #E06B2D; font: 400 32px/1 Georgia, serif; }
figure {
  margin: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e6e0dd;
  border-radius: 4px;
  box-shadow: 0 6px 20px rgb(38 25 20 / 9%);
}
picture, img { display: block; }
img { width: 100%; height: auto; }
@media (max-width: 640px) {
  .viewer { width: calc(100% - 20px); padding: 20px 0 32px; }
  article + article { margin-top: 26px; }
  .page-label strong { font-size: 28px; }
}
