/* =========================================================
   TrueCraft — site-wide scroll motion (homepage-style)
   Blur + 20% rise. Applied by js/scroll-motion.js only.
   ========================================================= */

@media (prefers-reduced-motion: no-preference) {
  /* Hero curtain fallback (native scroll / mobile pages without Lenis pin) */
  body.tc-curtain-scroll--mobile .home-hero.home-hero--page.tc-curtain-hero {
    position: sticky;
    top: 0;
    z-index: 1;
    min-height: 92vh;
    height: 92vh;
  }

  body.tc-curtain-scroll .tc-curtain-panel {
    position: relative;
    z-index: 2;
    margin-top: 0 !important;
    background-color: #161616;
    box-shadow: 0 -32px 64px rgba(0, 0, 0, 0.4);
  }

  body.tc-curtain-scroll--mobile .tc-curtain-panel {
    box-shadow: 0 -20px 40px rgba(0, 0, 0, 0.35);
  }

  body.tc-curtain-scroll .tc-curtain-panel.svc-intro,
  body.tc-curtain-scroll .tc-curtain-panel.project-details,
  body.tc-curtain-scroll .tc-curtain-panel.shaping,
  body.tc-curtain-scroll .tc-curtain-panel.blog,
  body.tc-curtain-scroll .tc-curtain-panel.project,
  body.tc-curtain-scroll .tc-curtain-panel.contact {
    padding-top: 110px;
  }

  body.tc-curtain-scroll--mobile .tc-curtain-panel.svc-intro,
  body.tc-curtain-scroll--mobile .tc-curtain-panel.project-details,
  body.tc-curtain-scroll--mobile .tc-curtain-panel.shaping,
  body.tc-curtain-scroll--mobile .tc-curtain-panel.blog,
  body.tc-curtain-scroll--mobile .tc-curtain-panel.project,
  body.tc-curtain-scroll--mobile .tc-curtain-panel.contact {
    padding-top: 72px;
  }

  /* Hero load animation */
  .tcm-hero {
    opacity: 0;
    transform: translate3d(0, 20%, 0);
    filter: blur(5px);
    transition:
      opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
      transform 1s cubic-bezier(0.22, 1, 0.36, 1),
      filter 1s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .tcm-hero.tcm-hero-in {
    opacity: 1;
    transform: none;
    filter: none;
  }

  /* Scroll reveals — homepage about-section feel */
  [data-sdm],
  [data-tcm-reveal],
  [data-tcm="up"] {
    opacity: 0;
    transform: translate3d(0, 20%, 0);
    filter: blur(5px);
    transition:
      opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
      transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
      filter 0.9s cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: var(--tcm-delay, 0s);
  }

  [data-tcm="left"] {
    transform: translate3d(-24px, 12%, 0);
    filter: blur(4px);
  }

  [data-tcm="right"] {
    transform: translate3d(24px, 12%, 0);
    filter: blur(4px);
  }

  [data-tcm="scale"] {
    transform: scale(0.96);
    filter: blur(3px);
  }

  [data-sdm].tcm-in,
  [data-tcm-reveal].tcm-in,
  [data-tcm].tcm-in {
    opacity: 1;
    transform: none;
    filter: none;
  }

  /* Parallax images — extra scale headroom inside overflow clips */
  .image-content-parallax {
    will-change: transform;
    transition: transform 0.1s linear;
  }

  .overflow-hiden-div,
  .project-details-02,
  .project-details-03,
  .project-details-05-image,
  .project-details-06-image,
  .svc-detail__work-media,
  .cs-detail__related-media {
    overflow: hidden;
  }

  /* Inner pages — smaller project-details imagery */
  body:has(#smooth-wrapper) .project-details-02,
  body:not(:has(#smooth-wrapper)) .project-details-02 {
    height: clamp(240px, 38vw, 420px);
    margin-top: 90px;
  }

  body:has(#smooth-wrapper) .project-details-03,
  body:has(#smooth-wrapper) .project-details-05-image,
  body:has(#smooth-wrapper) .project-details-06-image,
  body:not(:has(#smooth-wrapper)) .project-details-03,
  body:not(:has(#smooth-wrapper)) .project-details-05-image,
  body:not(:has(#smooth-wrapper)) .project-details-06-image {
    height: clamp(200px, 26vw, 300px);
  }

  body:has(#smooth-wrapper) .project-details-04,
  body:not(:has(#smooth-wrapper)) .project-details-04 {
    margin-top: 64px;
  }

  body:has(#smooth-wrapper) .project-details-05,
  body:not(:has(#smooth-wrapper)) .project-details-05 {
    margin-top: 36px;
  }
}
