/* BetterLife SG v40.8 — calm, accessible motion enhancement layer */

/* Existing content remains visible until GSAP has loaded successfully. */
html.bl-gsap-ready .stage-screen,
html.bl-gsap-ready .ffm-stage,
html.bl-gsap-ready .drawer {
  animation: none !important;
}

/* Motion is added with inline transforms only while a transition is running. */
.bl-motion-target {
  backface-visibility: hidden;
}

/* Keep native focus, hover and selection behaviour visually immediate. */
html.bl-gsap-ready :where(button, a, input, select, textarea):focus-visible {
  scroll-margin-block: 7rem;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  .bl-motion-target {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .bl-motion-target:not(.promise-node):not(.promise-outcome):not(.promise-thread) {
    transform: none !important;
  }

  .promise-thread.bl-motion-target {
    stroke-dasharray: none !important;
    stroke-dashoffset: 0 !important;
  }
}

@media print {
  .bl-motion-target {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .bl-motion-target:not(.promise-node):not(.promise-outcome):not(.promise-thread) {
    transform: none !important;
  }

  .promise-thread.bl-motion-target {
    stroke-dasharray: none !important;
    stroke-dashoffset: 0 !important;
  }
}
