/**
 * Studio page scroll reveals — same motion language as homepage (Framer-style).
 * Pairs with js/studio-framer-reveal.js (body.studio-page only).
 */

html.page-studio-reveal-init {
  --framer-ease: var(--ease-smooth-opacity, cubic-bezier(0.33, 1, 0.68, 1));
  --framer-ease-soft: var(--ease-smooth-transform, cubic-bezier(0.22, 1, 0.42, 1));
  --framer-dur-in: 0.98s;
  --framer-dur-out: 0.78s;
}

html.page-studio-reveal-init .framer-reveal-prep:not(.framer-reveal-visible) {
  opacity: 0;
  transform: translate3d(0, 1.5rem, 0);
  filter: none;
  will-change: opacity, transform;
  transition:
    opacity var(--framer-dur-out) var(--framer-ease),
    transform calc(var(--framer-dur-out) + 0.08s) var(--framer-ease-soft);
  transition-delay: 0ms;
}

html.page-studio-reveal-init .framer-reveal-prep.framer-reveal-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
  transition:
    opacity var(--framer-dur-in) var(--framer-ease),
    transform calc(var(--framer-dur-in) + 0.1s) var(--framer-ease-soft);
  transition-delay: var(--framer-d, 0ms);
}

/* Large hero image: slightly more travel (reads like Framer full-bleed blocks) */
html.page-studio-reveal-init .studio-hero__media.framer-reveal-prep:not(.framer-reveal-visible) {
  transform: translate3d(0, 2rem, 0);
}

html.page-studio-reveal-init .studio-banner__media.framer-reveal-prep:not(.framer-reveal-visible) {
  transform: translate3d(0, 1.75rem, 0);
}

/* Keep designed subtitle opacity (Framer visible state defaults to 1) */
html.page-studio-reveal-init .studio-story__summary.framer-reveal-prep.framer-reveal-visible {
  opacity: 0.88;
}

@media (prefers-reduced-motion: reduce) {
  html.page-studio-reveal-init .framer-reveal-prep {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
  }
}
