/* Static composition doubles as the poster for reduced motion and slow modules. */
.object-story { height: 100svh; background: var(--paper); }
.object-story .object-sticky { height: 100svh; height: 100dvh; perspective: none; }
.object-story .object-heading {
  position: absolute; inset: 0; z-index: 2; display: grid; align-items: start;
  justify-items: center; padding-top: 9svh; pointer-events: none; will-change: auto;
}
.object-story .object-heading h2, .object-story .object-overlay {
  margin: 0; font: 500 clamp(54px, 6.45vw, 122px)/.95 var(--serif);
  letter-spacing: -.055em; color: var(--ink);
}
.object-story em { font-weight: 400; }
.object-story .torso-line {
  display: block; overflow: hidden; padding-inline: .11em; white-space: nowrap;
}
.torso-line > span {
  display: block; padding-block: .04em .095em;
}
.torso-word { display: inline-block; }
.object-story .torso-line + .torso-line { margin-top: -.09em; }
.object-story .mannequin-canvas { inset: 0; z-index: 3; will-change: auto; }
.object-story .torso-media {
  inset: 29% 0 0; width: 100%; height: 68%; aspect-ratio: auto;
  transform: none; transform-origin: center top;
  mask-image: linear-gradient(#000 75%, transparent 100%);
  -webkit-mask-image: linear-gradient(#000 75%, transparent 100%);
}
.object-story .object-overlay {
  display: none; position: absolute; top: 86%; bottom: auto; left: 0; right: 0;
  z-index: 5; transform: translateY(-50%); opacity: 1; text-align: center;
  text-shadow: none; pointer-events: none;
}
.object-story .object-sticky::after {
  content: ""; position: absolute; z-index: 4; inset: 0; pointer-events: none;
  background: linear-gradient(to bottom, transparent 54%, rgba(243,240,237,.18) 68%,
    rgba(243,240,237,.85) 85%, var(--paper) 100%);
  opacity: var(--hem-light, 0);
}
@media (prefers-reduced-motion: no-preference) {
  .js .object-story { height: 340svh; }
  .has-torso-motion .object-heading { align-items: center; padding-top: 0; }
  .has-torso-motion #object-title { transform: translate3d(0, var(--title-descent, 0px), 0); }
  .has-torso-motion .object-overlay { transform: translate3d(0, calc(-50% + var(--caption-rise, 0px)), 0); }
  .has-torso-motion .torso-media {
    inset: 0 auto auto 50%; width: min(59vw, 103dvh); height: auto; aspect-ratio: 9/16;
    transform: translate3d(-50%, var(--torso-y, 97vh), 0) scale(var(--torso-zoom, 1));
    will-change: transform;
  }
  .has-torso-motion .object-overlay { display: block; }
}
@media (max-width: 650px) {
  .object-story .object-heading h2, .object-story .object-overlay {
    font-size: clamp(31px, 10.8vw, 66px);
  }
  .object-story .object-overlay { top: 87%; font-size: clamp(29px, 9.8vw, 60px); }
}
@media (max-width: 650px) and (prefers-reduced-motion: no-preference) {
  .js .object-story { height: 305svh; }
  /* The photographed front pose occupies roughly 64% of this video plate. */
  .has-torso-motion .torso-media {
    left: 52%; width: 138%;
    mask-image: linear-gradient(#000 98%, transparent);
    -webkit-mask-image: linear-gradient(#000 98%, transparent);
  }
}
