/* Only JavaScript-enhanced, below-the-fold elements receive these states. */
  html[data-motion="on"] .scroll-reveal {
    opacity: 0;
    transform: translate3d(0, 55px, 0);
    transition: opacity .75s ease var(--reveal-delay, 0ms),
      transform .85s cubic-bezier(.2,.7,.2,1) var(--reveal-delay, 0ms) !important;
  }
  html[data-motion="on"] .scroll-reveal.is-revealed {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  html[data-motion="on"] .hero-visual > img, html[data-motion="on"] .service-photo > img {
    transform: scale(1.22);
  }
.motion-toggle { border: 0; border-bottom: 1px solid #a5af97; background: transparent; color: #59664a; padding: 0 0 3px; font-size: 9px; cursor: pointer; }
/* Keep the explicit site-level control accessible without scrolling to the footer. */
.motion-toggle { position: fixed; bottom: 18px; right: 18px; z-index: 50; padding: 10px 15px; border: 1px solid #b8c5a4; border-radius: 30px; background: #f7f9efee; box-shadow: 0 3px 16px #19201912; font-size: 11px; }
/* Asymmetric markers make scroll-driven ring rotation visible. */
.connection-orbit::before { content: ""; position: absolute; top: 38px; left: 47px; width: 14px; height: 14px; background: #7d963e; border: 4px solid #e6edd7; border-radius: 50%; }
.connection-orbit.small::before { top: 14px; left: 45px; width: 10px; height: 10px; border-width: 2px; background: #27351c; }
.connection-orbit { border-top: 2px solid #93aa69; border-right-style: dashed; }
