/* Stacked reading cards; native scrolling preserves search and browser navigation. */
.analyses-page .article-stack { display: block; position: relative; isolation: isolate; padding-bottom: 24vh; margin-bottom: 32px; background: transparent; border: 0; }
.analyses-page .article-stack .article { position: sticky; top: calc(var(--stack-top, 132px) + var(--stack-index, 0) * 12px); margin: 0 0 12vh; border-radius: 20px; transform: scale(var(--stack-scale, 1)); transform-origin: top center; will-change: transform; box-shadow: 0 18px 48px #0008, inset 0 1px 0 #ffffff18; }
.analyses-page .article-stack .article:last-child { margin-bottom: 0; }
.analyses-page .article-stack .article > a { display: grid; grid-template-columns: 1.1fr 1fr; min-height: 340px; padding: 0; border-radius: 20px; overflow: hidden; }
.analyses-page .article-stack .article-cover { height: 100%; min-height: 340px; aspect-ratio: auto; border: 0; border-radius: 0; }
.analyses-page .article-stack .article-cover img { width: 100%; height: 100%; object-fit: cover; }
.analyses-page .article-stack .article-copy { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 28px; }
.analyses-page .article-stack .article h5 { font-size: clamp(1.6rem, 2.8vw, 2.6rem); line-height: 1.04; margin: 20px 0 28px; }
.analyses-page .article-stack .article:focus-within { z-index: 20; transform: scale(1); outline: 3px solid #5b91ce; outline-offset: 4px; }
.analyses-page .article-stack .article > a:focus-visible { outline: none; }
@media (max-width:700px) {
  .analyses-page .article-stack { padding-bottom: 16vh; }
  .analyses-page .article-stack .article { margin-bottom: 10vh; }
  .analyses-page .article-stack .article > a { grid-template-columns: 1fr; min-height: 0; }
  .analyses-page .article-stack .article-cover { height: clamp(150px, 24vh, 220px); min-height: 0; }
  .analyses-page .article-stack .article-copy { padding: 20px; }
  .analyses-page .article-stack .article h5 { font-size: clamp(1.45rem, 5.5vw, 1.9rem); margin: 14px 0 20px; }
  .analyses-page .article-stack .article-kicker { font-size: .8rem; }
}
@media (prefers-reduced-motion:reduce), (max-height:650px) {
  .analyses-page .article-stack { display: grid; grid-template-columns: 1fr; gap: 24px; padding-bottom: 0; }
  .analyses-page .article-stack .article { position: relative; top: auto; margin: 0; transform: none; will-change: auto; }
}
