/* Calm motion; page content remains visible when JavaScript is unavailable. */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  @view-transition { navigation: auto; }
  html { view-transition-name: none; }
  main { view-transition-name: page-content; }
  ::view-transition { pointer-events: none; }
  ::view-transition-group(page-content) { animation: none; }
  ::view-transition-old(page-content),::view-transition-new(page-content) { height: auto; animation-duration: 340ms; animation-timing-function: cubic-bezier(.22,.7,.18,1); }
  [data-reveal="pending"] { opacity: 0; transform: translateY(18px); }
  .button,.header-contact,.back-top,.service-siblings a,.dialog-close {
    transition: background-color 260ms ease, color 260ms ease, box-shadow 350ms ease;
  }
  .button>svg,.inline-link>svg,.header-contact>svg,.back-top>svg {
    transition: transform 380ms cubic-bezier(.2,.7,.2,1);
  }
  .button:not(:disabled):hover>svg,.inline-link:hover>svg,.header-contact:hover>svg {
    transform: translate(2px,-2px);
  }
  .back-top:hover>svg { transform: translateY(-3px); }
  .article-card { transition: background-color 350ms ease, box-shadow 400ms ease; }
  .article-card:hover { box-shadow: 0 10px 28px #073c2e12; }
  .menu-toggle span { transition: transform 320ms ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .nav-group[open]>.nav-panel { animation: panel-in 280ms cubic-bezier(.2,.7,.2,1); }
  dialog[open]::backdrop { animation: backdrop-in 300ms ease; }
  dialog.is-closing::backdrop { animation: backdrop-out 240ms ease forwards; }
}
@keyframes panel-in { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: none; } }
@keyframes backdrop-in { from { background: #001a1600; } to { background: var(--dialog-backdrop,#001a16cc); } }
@keyframes backdrop-out { from { background: var(--dialog-backdrop,#001a16cc); } to { background: #001a1600; } }
.disclosure-body { display: flow-root; }
