/* Motion enhances the existing layout; content stays visible without JavaScript. */
@media (prefers-reduced-motion: no-preference) {
  .motion-pending { opacity: 0; }

  .button, .icon-button, .filter-group button, .sample-buttons button {
    transition: background-color 220ms ease, color 220ms ease,
      border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
  }
  .button > span, .text-button > span, .lesson-bottom > span {
    display: inline-block;
    transition: transform 250ms cubic-bezier(.22,1,.36,1);
  }
  .solution-card, .product-card, .lesson-card {
    transition: transform 300ms cubic-bezier(.22,1,.36,1),
      box-shadow 300ms ease, border-color 300ms ease, background-color 250ms ease;
  }
  .about-image img {
    transition: transform 650ms cubic-bezier(.22,1,.36,1);
  }
  .desktop-nav a::before {
    content: "";
    position: absolute;
    inset: auto 0 4px;
    height: 2px;
    background: var(--green);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 240ms cubic-bezier(.22,1,.36,1);
  }
  .desktop-nav a:hover::before, .desktop-nav a:focus-visible::before {
    transform: scaleX(1);
  }
  .menu-toggle span {
    transition: transform 220ms ease;
  }
  .menu-toggle[aria-expanded="true"] span:first-child {
    transform: translateY(4px) rotate(45deg);
  }
  .menu-toggle[aria-expanded="true"] span:last-child {
    transform: translateY(-4px) rotate(-45deg);
  }
  .mobile-nav:not([hidden]) {
    animation: lawfarm-menu-in 230ms cubic-bezier(.22,1,.36,1) both;
  }
  .experience-dialog[open] {
    animation: lawfarm-dialog-in 300ms cubic-bezier(.22,1,.36,1) both;
  }
  .experience-dialog[open]::backdrop {
    animation: lawfarm-fade-in 220ms ease both;
  }
  #dialog-body > .dialog-content, #dialog-body > .success-view,
  #dialog-body > .profile-hero, #check-result > .result-heading {
    animation: lawfarm-content-in 280ms cubic-bezier(.22,1,.36,1) both;
  }
  .toast:not([hidden]) {
    animation: lawfarm-toast-in 260ms cubic-bezier(.22,1,.36,1) both;
  }
  .button:not(:disabled):active, .icon-button:active {
    transform: translateY(0) scale(.98);
  }
}

@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .solution-card:hover, .product-card:hover, .lesson-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 28px -16px #174b3540;
    border-color: #b9cdaa;
  }
  .solution-card.featured:hover { border-color: var(--green); }
  .button:not(:disabled):hover {
    box-shadow: 0 9px 19px -12px #174b3570;
  }
  .button:not(:disabled):hover > span, .text-button:hover > span,
  .lesson-card:hover .lesson-bottom > span {
    transform: translateX(3px);
  }
  .about-image:hover img { transform: scale(1.035); }
  .icon-button:hover { transform: rotate(7deg); }
}

@keyframes lawfarm-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes lawfarm-dialog-in {
  from { opacity: 0; translate: 0 14px; scale: .985; }
  to { opacity: 1; translate: 0 0; scale: 1; }
}
@keyframes lawfarm-content-in {
  from { opacity: 0; translate: 0 8px; }
  to { opacity: 1; translate: 0 0; }
}
@keyframes lawfarm-menu-in {
  from { opacity: 0; translate: 0 -8px; }
  to { opacity: 1; translate: 0 0; }
}
@keyframes lawfarm-toast-in {
  from { opacity: 0; translate: 0 10px; }
  to { opacity: 1; translate: 0 0; }
}

@media (prefers-reduced-motion: reduce) {
  .motion-pending { opacity: 1 !important; }
  html { scroll-behavior: auto; }
}
@media print {
  .motion-pending { opacity: 1 !important; }
}
