@keyframes copper-drift {
  from {
    transform: translate(-14%, 9%) rotate(-6deg) scale(1.04);
  }
  to {
    transform: translate(14%, -9%) rotate(6deg) scale(1.14);
  }
}
@keyframes peach-drift {
  from {
    transform: translate(12%, -8%) rotate(5deg) scale(1.12);
  }
  to {
    transform: translate(-12%, 10%) rotate(-5deg) scale(1.02);
  }
}
@keyframes arrive {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes border-orbit {
  from {
    offset-distance: 0%;
  }
  to {
    offset-distance: 100%;
  }
}
.reveal-token {
  display: inline-block;
}
.reveal-line {
  display: block;
}
@media (prefers-reduced-motion: no-preference) {
  .motion-ready .hero-light-fields::before {
    animation: copper-drift 16s ease-in-out -4s infinite alternate paused;
  }
  .motion-ready .hero-light-fields::after {
    animation: peach-drift 19s ease-in-out -8s infinite alternate paused;
  }
  .motion-ready.hero-visible .hero-light-fields::before,
  .motion-ready.hero-visible .hero-light-fields::after {
    animation-play-state: running;
  }
  .motion-ready .hero-bottom.arrival {
    animation: arrive 0.7s var(--ease) 0.4s both;
  }
  .motion-ready .reveal {
    opacity: 0;
    transform: translateY(16px);
    transition:
      opacity 650ms var(--ease),
      transform 650ms var(--ease);
    transition-delay: var(--reveal-delay, 0ms);
  }
  .motion-ready .reveal.is-visible {
    opacity: 1;
    transform: none;
  }
  .motion-ready .reveal-line {
    opacity: 0;
    transform: translateY(20px);
    transition:
      opacity 650ms var(--ease),
      transform 650ms var(--ease);
    transition-delay: var(--line-delay);
  }
  .motion-ready .motion-heading.is-visible .reveal-line {
    opacity: 1;
    transform: none;
  }
  .motion-ready .hero-surface {
    clip-path: inset(var(--hero-inset, 0px) round var(--hero-radius, 0px));
  }
  .motion-ready .form-orbit {
    display: block;
  }
  .motion-ready .orbit-beam {
    animation: border-orbit 14s linear infinite paused;
  }
  .motion-ready.hero-visible .orbit-beam {
    animation-play-state: running;
  }
  .motion-ready .hero-signup[aria-busy="true"] .orbit-beam {
    animation-play-state: paused;
  }
  .motion-ready .hero-signup.is-received .form-orbit {
    display: none;
  }
  html.lenis,
  html.lenis body {
    height: auto;
  }
  .lenis.lenis-smooth {
    scroll-behavior: auto;
  }
  .lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
  }
  .lenis.lenis-stopped {
    overflow: clip;
  }
}
@media (prefers-reduced-motion: reduce) {
  .request-button,
  .nav-cta {
    transition: none;
  }
}
@media print {
  .navigation,
  .hero-signup,
  .contact-fields,
  .specialty-map {
    display: none;
  }
  .hero,
  .problem,
  .contact {
    min-height: 0;
    height: auto;
    padding: 40px;
  }
  .motion-ready .reveal,
  .motion-ready .reveal-line {
    opacity: 1;
    transform: none;
  }
}
