/* One-shot entrances: only opacity and transform, with no scroll interception. */
.cb-motion-pending {
  --motion-x: 0px;
  --motion-y: 24px;
  opacity: 0;
  transform: translate3d(var(--motion-x), var(--motion-y), 0);
  transition: opacity 640ms ease, transform 760ms cubic-bezier(.2,.7,.2,1);
  transition-delay: var(--motion-delay, 0ms);
}
.cb-motion-pending[data-motion="left"] { --motion-x: -26px; --motion-y: 12px; }
.cb-motion-pending[data-motion="right"] { --motion-x: 26px; --motion-y: 12px; }
.cb-motion-pending[data-motion="depth"] {
  transform: perspective(1200px) translate3d(0,28px,0) rotateY(-3deg) scale(.975);
  transform-origin: center;
}
.cb-motion-pending.cb-motion-seen { opacity: 1; transform: none; }
.cb-motion-pending:focus-within { opacity: 1; transform: none; transition: none; }

/* The chapter links sit in the existing image fade, at the first screen's foot. */
@media (min-width: 901px) {
  .home-hero {
    --hero-tail: 170px;
    --hero-main: max(420px, calc(100svh - 272px));
    min-height: calc(var(--hero-main) + var(--hero-tail));
  }
  .home-hero .hero-bottom { display: none; }
  .j12-chapters {
    position: relative;
    z-index: 2;
    min-height: 92px;
    margin-top: -92px;
    padding-block: 0 24px;
    align-items: end;
  }
  .j12-chapters a { padding-block: 20px; }
}
@media (min-width: 901px) and (max-height: 820px) {
  .home-hero .hero-copy { padding-block: 28px; }
  .home-hero .hero-copy h1 { font-size: clamp(44px,4vw,58px); }
  .home-hero .hero-copy .lead { font-size: 15px; line-height: 1.75; }
}
@media (max-width: 900px) {
  .cb-motion-pending,
  .cb-motion-pending[data-motion="left"],
  .cb-motion-pending[data-motion="right"],
  .cb-motion-pending[data-motion="depth"] {
    transform: translate3d(0,14px,0);
    transition-duration: 440ms;
    transition-delay: 0ms;
  }
  .cb-motion-pending.cb-motion-seen { transform: none; }
}
@media (prefers-reduced-motion: reduce), print {
  .cb-motion-pending,
  .cb-motion-pending[data-motion] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
