/* Reversible, layered chapter transitions. The final chapter stays in normal flow
   so the footer remains reachable. JS supplies each panel's measured sticky top. */
.resume-theme main > .section { min-height: calc(100svh - 72px); display: flex; align-items: center; }
.resume-theme main > .section:not(.intro) { align-items: flex-start; padding-top: clamp(90px, 12vh, 140px); }
.resume-theme main > .section > .section-shell { width: 100%; }

.chapter-stack-ready .chapter-panel { 
  animation: none !important;
  position: relative;
  opacity: var(--chapter-opacity, 1);
  transform: translate3d(0, calc((1 - var(--chapter-in, 1)) * 7vh), 0)
             scale(calc(.96 + var(--chapter-in, 1) * .04));
  transform-origin: center top;
  z-index: var(--chapter-z, 1);
}
.chapter-stack-ready .chapter-panel:not(.chapter-final) {
  position: sticky;
  top: var(--chapter-top, 76px);
}
.chapter-stack-ready .chapter-panel:not(.chapter-final) > * {
  opacity: var(--chapter-content-opacity, 1);
  transition: none !important;
}
/* Remove the old one-off in-view animations, including animations on inner shells. */
.chapter-stack-ready.home-theme .work .wrap,
.chapter-stack-ready.home-theme .experience,
.chapter-stack-ready.home-theme .capabilities .wrap,
.chapter-stack-ready.home-theme .personal,
.chapter-stack-ready.home-theme .contact .wrap,
.chapter-stack-ready.case-theme main > .section {
  animation: none !important;
}
@media (prefers-reduced-motion: reduce), (max-height: 699px) {
  .chapter-stack-ready .chapter-panel,
  .chapter-stack-ready .chapter-panel:not(.chapter-final) {
    position: relative;
    top: auto;
    opacity: 1;
    transform: none;
  }
}
