/* Home-only motion layer. It never changes exchange values or form layout. */
body.site-has-header[data-page='index'].home-motion-on .hero-grid {
  position: relative;
  isolation: isolate;
}

body.site-has-header[data-page='index'].home-motion-on .home-motion-ambient {
  position: absolute;
  z-index: -1;
  top: 2%;
  left: 27%;
  width: min(44vw, 620px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(119, 194, 175, .16) 0%, rgba(92, 159, 157, .065) 43%, transparent 72%);
  filter: blur(30px);
  pointer-events: none;
  will-change: transform;
}

body.site-has-header[data-page='index'].home-motion-on :is(
  .ribbon-wrap,
  .hero-copy,
  .form-shell,
  .hero-side-card,
  .recent-section,
  .reviews-section,
  .user-tools-section,
  .footer
) {
  opacity: var(--hm-opacity, 1) !important;
  transform: translate3d(0, var(--hm-y, 0px), 0) !important;
  filter: none !important;
  animation: none !important;
  will-change: transform, opacity;
}

body.site-has-header[data-page='index'].home-motion-on .home-motion-settled {
  will-change: auto;
}

body.site-has-header[data-page='index'].home-motion-on .hero-copy > *,
body.site-has-header[data-page='index'].home-motion-on .form-shell > * {
  animation: none !important;
  filter: none !important;
}

body.site-has-header[data-page='index'].home-motion-on .form-shell {
  position: relative;
}

body.site-has-header[data-page='index'].home-motion-on .form-shell::before {
  content: '';
  position: absolute;
  z-index: 2;
  top: -1px;
  left: 10%;
  width: 36%;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(205, 249, 239, .88), transparent);
  pointer-events: none;
  animation: home-edge-sweep 1.65s cubic-bezier(.2, .75, .2, 1) both;
}

@keyframes home-edge-sweep {
  from { transform: translateX(-110%); opacity: 0; }
  30% { opacity: .85; }
  to { transform: translateX(175%); opacity: 0; }
}

body.site-has-header[data-page='index'].home-motion-on :is(.hero-actions a, .favorite-current-pair) {
  transition: transform .28s ease, border-color .28s ease, background-color .28s ease, box-shadow .28s ease;
}

body.site-has-header[data-page='index'].home-motion-on :is(.hero-actions a, .favorite-current-pair):hover {
  transform: translateY(-2px);
  border-color: rgba(163, 229, 211, .55);
  background-color: rgba(129, 205, 184, .09);
}

body.site-has-header[data-page='index'].home-motion-on .asset-block {
  transition: border-color .28s ease, box-shadow .28s ease;
}

body.site-has-header[data-page='index'].home-motion-on .asset-block:focus-within {
  border-color: rgba(154, 221, 204, .48) !important;
  box-shadow: 0 0 0 3px rgba(123, 201, 181, .07) !important;
}

body.site-has-header[data-page='index'].home-motion-on .submit-btn:not(:disabled) {
  transition: transform .28s ease, box-shadow .28s ease, filter .28s ease;
}

body.site-has-header[data-page='index'].home-motion-on .submit-btn:not(:disabled):hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(31, 119, 96, .23) !important;
  filter: brightness(1.055);
}

body.site-has-header[data-page='index'].home-motion-on .submit-btn:not(:disabled):active {
  transform: translateY(0);
}

@media (max-width: 740px) {
  body.site-has-header[data-page='index'].home-motion-on .home-motion-ambient { display: none; }
  body.site-has-header[data-page='index'].home-motion-on .form-shell::before { opacity: .45; }
}

@media (prefers-reduced-motion: reduce) {
  body.site-has-header[data-page='index'].home-motion-on :is(
    .ribbon-wrap, .hero-copy, .form-shell, .hero-side-card,
    .recent-section, .reviews-section, .user-tools-section, .footer
  ) {
    opacity: 1 !important;
    transform: none !important;
    will-change: auto;
  }
  body.site-has-header[data-page='index'].home-motion-on .home-motion-ambient,
  body.site-has-header[data-page='index'].home-motion-on .form-shell::before { display: none; }
  body.site-has-header[data-page='index'].home-motion-on :is(.hero-actions a, .favorite-current-pair, .asset-block, .submit-btn) {
    transition: none !important;
  }
}
