/* MD Tech colours and layout remain controlled by the original stylesheets. */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  .md-motion-pending { opacity: 0; translate: 0 18px; }
  .md-motion-visible { animation: md-reveal 560ms cubic-bezier(.22,1,.36,1) var(--md-motion-delay,0ms) backwards; }
  @keyframes md-reveal { from { opacity: 0; translate: 0 18px; } to { opacity: 1; translate: 0 0; } }
  .btn, .land-tile, .landing-menu summary, .portal-nav a {
    transition: translate 180ms ease, box-shadow 180ms ease, background-color 180ms ease, border-color 180ms ease;
  }
  @media (hover: hover) and (pointer: fine) {
    .btn:not(:disabled):hover { translate: 0 -2px; box-shadow: 0 6px 16px rgb(29 69 51 / 14%); }
    .land-tile:hover { translate: 0 -4px; box-shadow: 0 12px 28px rgb(94 49 34 / 10%); }
    .portal-nav a:hover { translate: 0 -1px; }
  }
  .btn:not(:disabled):active { translate: 0 0; }
  input, select, textarea { transition: border-color 160ms ease, box-shadow 160ms ease; }
  .landing-menu[open] .landing-menu-links { animation: md-menu 180ms ease-out; transform-origin: top right; }
  @keyframes md-menu { from { opacity: 0; translate: 0 -6px; } to { opacity: 1; translate: 0 0; } }
  .auth-progress span { transition: background-color 220ms ease; }
  .land-faq details[open] p { animation: md-menu 180ms ease-out; }
}
@media (prefers-reduced-motion: reduce) {
  .md-motion-pending { opacity: 1; translate: none; }
  .md-motion-visible { animation: none; }
}
