/* Exact scroll-motion styling from the approved Simplisafe motion design. */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; scroll-padding-top: 110px; }
  body.motion-ready [data-motion] {
    opacity: 0;
    transform: translate3d(0, 35px, 0);
    filter: blur(5px);
    transition:
      opacity 820ms cubic-bezier(.22,1,.36,1),
      transform 1050ms cubic-bezier(.22,1,.36,1),
      filter 950ms cubic-bezier(.22,1,.36,1);
    transition-delay: var(--motion-delay, 0ms);
    backface-visibility: hidden;
  }
  body.motion-ready [data-motion='from-left'] { transform: translate3d(-35px, 8px, 0); }
  body.motion-ready [data-motion='from-right'] { transform: translate3d(35px, 8px, 0); }
  body.motion-ready [data-motion].is-visible { opacity: 1; transform: translate3d(0,0,0); filter: blur(0); }
  body.motion-ready [data-reveal][data-motion].is-visible { opacity: 1; transform: translate3d(0,0,0); }
  body.motion-ready .hero-image { transform: translate3d(0, var(--hero-scroll-y, 0px), 0) scale(1.035); will-change: transform; }
  body.motion-ready .hero-content { transform: translate3d(0,var(--hero-copy-y,0px),0); }
  body.motion-ready .hero .eyebrow:before,
  body.motion-ready .services-mast .eyebrow:before,
  body.motion-ready .contact-page .eyebrow:before,
  body.motion-ready .about-content .eyebrow:before,
  body.motion-ready .intro-head .eyebrow:before { transform-origin: left; transform: scaleX(.15); transition: transform 1050ms cubic-bezier(.22,1,.36,1) 140ms; }
  body.motion-ready .hero .eyebrow.is-visible:before,
  body.motion-ready .services-mast .eyebrow.is-visible:before,
  body.motion-ready .contact-page .eyebrow.is-visible:before,
  body.motion-ready .about-content .eyebrow.is-visible:before,
  body.motion-ready .intro-head .eyebrow.is-visible:before { transform: scaleX(1); }
  body.motion-ready .preview-card,
  body.motion-ready .service-card {
    transition: opacity 820ms cubic-bezier(.22,1,.36,1),
                transform 1050ms cubic-bezier(.22,1,.36,1),
                filter 950ms cubic-bezier(.22,1,.36,1),
                box-shadow 350ms ease;
  }
  body.motion-ready .preview-card .visual img { transition: transform 1.25s cubic-bezier(.22,1,.36,1); }
  body.motion-ready .preview-card.is-visible .visual img { transform: scale(1); }
  @media (hover:hover) and (pointer:fine) {
    body.motion-ready .preview-card.is-visible:hover,
    body.motion-ready .service-card.is-visible:hover {
      transform: translateY(-7px);
      box-shadow: 0 18px 36px rgba(8,32,60,.12);
    }
    body.motion-ready .preview-card.is-visible:hover .visual img { transform: scale(1.045); }
  }
  body.motion-ready .contact-page .bg-img {
    transform: translate3d(0,var(--contact-scroll-y,0px),0) scale(1.025);
    will-change:transform;
  }
}
@media (max-width:760px) { html { scroll-padding-top: 77px; } }
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  body.motion-ready [data-motion] { opacity:1!important; transform:none!important; filter:none!important; transition:none!important; }
  body.motion-ready .hero-image,
  body.motion-ready .hero-content,
  body.motion-ready .contact-page .bg-img { transform:none!important; }
}