/* A quiet final spread: editorial copy beside the actual first paper page. */
.research-page .reading-section {
  min-height: calc(var(--page-viewport, 100svh) - var(--header-height, 64px));
  display: grid; grid-template-rows: auto 1fr auto; gap: 20px;
  padding-block: 22px 18px; scroll-margin-top: 0;
}
.reading-return, .reading-navigation { display: flex; justify-content: center; }
.reading-content {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
  align-items: center; gap: clamp(32px, 5vw, 88px); width: min(100%, 1120px); margin: auto;
}
.reading-copy { max-width: 500px; }
.reading-eyebrow { color: var(--peach); font: 500 12px/1.5 var(--display); letter-spacing: .11em; margin-bottom: 18px; }
.reading-copy h2 { font: 500 clamp(30px, 3.2vw, 48px)/1.16 var(--display); letter-spacing: -.035em; color: var(--text); text-wrap: balance; }
.reading-copy h2 > span { color: var(--peach); }
.reading-description { margin-top: 22px; max-width: 40ch; color: var(--muted); font: 400 16px/1.8 var(--font); }
.reading-paper-link {
  display: inline-flex; align-items: center; gap: 12px; min-height: 46px; margin-top: 25px;
  padding: 11px 17px; border: 1px solid var(--peach); border-radius: 7px;
  background: var(--peach); color: #fff; font: 500 14px/1.5 var(--display);
  transition: background .2s, box-shadow .2s;
}
.reading-paper-link svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.reading-paper-link > span:last-child { margin-left: 8px; }
.reading-paper-link:hover { background: var(--peach-light); box-shadow: 0 4px 16px #3e22251a; }
.reading-code { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 16px; margin-top: 34px; padding-top: 24px; border-top: 1px solid var(--line); }
.reading-code > img { margin-top: 3px; }
.reading-code h3 { font: 500 18px/1.4 var(--display); color: var(--text); letter-spacing: -.015em; }
.reading-code p { font: 400 14px/1.7 var(--font); color: var(--muted); margin-block: 7px 9px; max-width: 34ch; }
.reading-code strong { font-weight: 500; color: var(--text); white-space: nowrap; }
.reading-code a { color: var(--peach); font: 500 14px/1.5 var(--display); text-underline-offset: 4px; }
.reading-code a:hover { text-decoration: underline; }
.reading-preview { display: block; width: fit-content; max-width: 100%; justify-self: center; padding: 7px 9px 0; }
.reading-page { position: relative; display: block; background: #fff; border: 1px solid #e2dfe0; border-radius: 3px; box-shadow: 0 20px 48px -20px #3e222540, 0 2px 5px #3e22250b; transform: rotate(1deg); transition: transform .35s ease, box-shadow .35s ease; }
.reading-page::before { content: ''; position: absolute; z-index: -1; inset: 6px -6px -6px 6px; background: #faf8f8; border: 1px solid #e4e0e1; border-radius: 3px; }
.reading-page img { display: block; width: auto; height: clamp(260px, calc(var(--page-viewport, 100svh) - var(--header-height, 64px) - 182px), 600px); max-width: 100%; object-fit: contain; border-radius: 3px; }
.reading-preview:hover .reading-page, .reading-preview:focus-visible .reading-page { transform: rotate(0) translateY(-4px); box-shadow: 0 24px 52px -20px #3e222549, 0 2px 5px #3e222510; }
.reading-preview-caption { display: flex; justify-content: space-between; gap: 18px; margin-top: 20px; font: 500 12px/1.5 var(--display); color: var(--peach); }
.reading-page-count { color: var(--muted); font-weight: 400; }
.reading-section a:focus-visible { outline: 2px solid var(--peach); outline-offset: 5px; border-radius: 5px; }
.reading-section.is-reading-visible [data-reading-reveal] { animation: reading-enter .65s cubic-bezier(.16, 1, .3, 1) both; }
.reading-section.is-reading-visible .reading-preview[data-reading-reveal] { animation-delay: .1s; }
@keyframes reading-enter {
  from { opacity: 0; translate: 0 22px; }
  to { opacity: 1; translate: 0 0; }
}
@media (min-width: 901px) and (max-height: 720px) {
  .reading-copy h2 { font-size: 34px; }
  .reading-eyebrow { margin-bottom: 10px; }
  .reading-description { font-size: 14px; line-height: 1.65; margin-top: 14px; }
  .reading-paper-link { margin-top: 16px; }
  .reading-code { margin-top: 20px; padding-top: 16px; }
}
@media (max-width: 760px) {
  .research-page .reading-section { padding-block: 24px; gap: 30px; }
  .reading-content { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .reading-copy { max-width: 540px; }
  .reading-copy h2 { font-size: clamp(32px, 6vw, 44px); }
  .reading-page img { height: auto; width: min(350px, 100%); }
  .reading-preview { width: min(100%, 368px); }
}
@media (prefers-reduced-motion: reduce) {
  .reading-section [data-reading-reveal] { animation: none !important; }
  .reading-page, .reading-preview:hover .reading-page, .reading-preview:focus-visible .reading-page { transform: none; transition: none; }
}
@media print { .reading-return, .reading-navigation { display: none; } .reading-section { break-before: page; } .reading-section [data-reading-reveal] { animation: none !important; } }
