
.lp-scroll-progress {
  position: fixed;
  inset: 0 auto auto 0;
  z-index: 1000;
  width: 100%;
  height: 3px;
  pointer-events: none;
  transform: scaleX(var(--lp-scroll-progress, 0));
  transform-origin: left center;
  background: linear-gradient(90deg, #286b3a 0%, #79a464 72%, #b39b55 100%);
}

@keyframes lp-rise-in {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes lp-soft-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (prefers-reduced-motion: no-preference) {
  .lp-motion .lp-hero-in {
    animation: lp-soft-in 680ms ease-out both;
  }
  .lp-motion-ready .lp-reveal:not(.lp-inview) {
    opacity: 0;
    transform: translateY(18px);
  }
  .lp-reveal.lp-inview {
    animation: lp-rise-in 760ms cubic-bezier(.22, 1, .36, 1) both;
    animation-delay: var(--lp-delay, 0ms);
  }
  .lp-motion .layout-stage-preview.lp-loaded {
    animation: lp-soft-in 700ms ease-out both;
  }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .lp-motion :is(a.cta, .button, .contact-actions a, .contact-actions button, .subpage-closing-cta__actions a, .action-link) {
    transition: transform 260ms cubic-bezier(.22, 1, .36, 1), filter 260ms ease, box-shadow 260ms ease;
  }
  .lp-motion :is(a.cta, .button, .contact-actions a, .contact-actions button, .subpage-closing-cta__actions a, .action-link):hover {
    transform: translateY(-3px);
    filter: brightness(1.025);
    box-shadow: 0 10px 24px rgb(26 63 34 / 14%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .lp-motion *, .lp-motion *::before, .lp-motion *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
