/* The introduction enters over a pinned hero; later chapters reveal in view. */
.home-theme .entry-stage { position: relative; isolation: isolate; background: #6c757d; }
.home-theme .entry-stage > .hero {
  position: sticky;
  top: 76px;
  z-index: 0;
  min-height: calc(100svh - 76px);
}
.home-theme .entry-stage > .hero .hero-inner {
  transform: scale(calc(1 - var(--entry-progress, 0) * .055));
  opacity: calc(1 - var(--entry-progress, 0) * .32);
  transform-origin: 50% 45%;
  will-change: transform, opacity;
}
.home-theme .entry-reveal {
  position: relative;
  z-index: 2;
  overflow: clip;
  border-radius: 22px 22px 0 0;
  background: #f8f9fa;
  box-shadow: 0 -28px 80px #21252938;
}
.home-theme .entry-reveal .about { min-height: 100svh; }
@supports (animation-timeline: view()) {
  .home-theme .work .wrap,
  .home-theme .experience,
  .home-theme .capabilities .wrap,
  .home-theme .personal,
  .home-theme .contact .wrap {
    animation: scene-rise linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 30%;
  }
  @keyframes scene-rise {
    from { opacity: .55; transform: translateY(50px) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
  }
}
@media(max-width:760px) {
  .home-theme .entry-stage > .hero { top: 64px; min-height: calc(100svh - 64px); }
  .home-theme .entry-reveal { border-radius: 16px 16px 0 0; }
}
@media(max-height:700px) {
  /* Short screens have more hero content than viewport: never trap it behind a sticky panel. */
  .home-theme .entry-stage > .hero { position: relative; top: auto; }
}
@media(prefers-reduced-motion:reduce) {
  .home-theme .entry-stage > .hero { position: relative; top: auto; }
  .home-theme .entry-stage > .hero .hero-inner { transform: none; opacity: 1; will-change: auto; }
  .home-theme .work .wrap,
  .home-theme .experience,
  .home-theme .capabilities .wrap,
  .home-theme .personal,
  .home-theme .contact .wrap { animation: none; opacity: 1; transform: none; }
}
