/* Motion-only layer. Removing this stylesheet restores the approved visual design. */
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
  ::view-transition-old(root) { animation: motion-page-out 180ms ease-out both; }
  ::view-transition-new(root) { animation: motion-page-in 320ms ease-out both; }
  .mobile-nav:not([hidden]) { animation: motion-menu-in 340ms cubic-bezier(.22,1,.36,1); }
  .mobile-nav:not([hidden]) a { animation: motion-menu-link 440ms cubic-bezier(.22,1,.36,1) both; }
  .mobile-nav a:nth-child(2) { animation-delay: 25ms; }
  .mobile-nav a:nth-child(3) { animation-delay: 50ms; }
  .mobile-nav a:nth-child(4) { animation-delay: 75ms; }
  .mobile-nav a:nth-child(5) { animation-delay: 100ms; }
  .accordions details[open]>div { animation: motion-detail-in 360ms ease-out; }
  .lightbox[open] { animation: motion-dialog-in 320ms cubic-bezier(.22,1,.36,1); }
  .lightbox[open]::backdrop { animation: motion-page-in 260ms ease-out; }
  .brand-photo>img { transition: transform 1.2s cubic-bezier(.22,1,.36,1); }
  .phone-number>span[aria-hidden], .email-address>span[aria-hidden] { transition: transform 320ms ease; }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .brand-photo:hover>img { transform: scale(1.018); }
  .phone-number:hover>span[aria-hidden], .email-address:hover>span[aria-hidden] { transform: translate(3px,-3px); }
}
@keyframes motion-page-out { to { opacity: 0; } }
@keyframes motion-page-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes motion-menu-in { from { opacity: 0; clip-path: inset(0 0 12% 0); } to { opacity: 1; clip-path: inset(0); } }
@keyframes motion-menu-link { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes motion-detail-in { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: none; } }
@keyframes motion-dialog-in { from { opacity: 0; transform: translateY(8px) scale(.99); } to { opacity: 1; transform: none; } }
