/* Motion is feedback, never a prerequisite for reading or navigation. */
@media (prefers-reduced-motion: no-preference) {
  .page-cover__title { animation: hero-text-enter 440ms cubic-bezier(.22,.75,.25,1) both; }
  .page-cover__description { animation: hero-text-enter 440ms 60ms cubic-bezier(.22,.75,.25,1) both; }
  .page-cover__image { animation: hero-image-enter 560ms cubic-bezier(.22,.75,.25,1) both; }
  :is(.sh-task-panel, .article-mobile-menu nav) { animation: interface-enter 280ms cubic-bezier(.22,.75,.25,1) both; }
  :is(.btn-accent, .sh-button, .calendar-action, .sticky-services__action, .article-calendar > a, .contact-card__save) {
    transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
  }
  :is(.btn-accent, .sh-button, .calendar-action, .sticky-services__action, .article-calendar > a, .contact-card__save):active {
    transform: scale(.98);
  }
  .article-rail nav a { transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease; }
  .contact-card__actions a { transition: background-color 180ms ease, border-color 180ms ease; }
  .contact-card__actions a svg { transition: transform 220ms cubic-bezier(.22,.75,.25,1); }
  .article-services__dropdown[data-open="true"] a { animation: interface-enter 260ms ease backwards; }
  .article-services__dropdown[data-open="true"] a:nth-child(2) { animation-delay: 25ms; }
  .article-services__dropdown[data-open="true"] a:nth-child(3) { animation-delay: 50ms; }
  .article-services__dropdown[data-open="true"] a:nth-child(n+4) { animation-delay: 75ms; }
}
@keyframes hero-text-enter {
  from { opacity: .15; filter: blur(5px); transform: translateY(18px); }
  to { opacity: 1; filter: blur(0); transform: translateY(0); }
}
@keyframes hero-image-enter {
  from { opacity: .4; clip-path: inset(0 0 8% 0); }
  to { opacity: 1; clip-path: inset(0); }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  :is(.btn-accent, .sh-button, .calendar-action, .sticky-services__action, .article-calendar > a, .contact-card__save):hover { transform: translateY(-3px); }
  .contact-card__actions a:hover svg { transform: translateY(-3px) rotate(-6deg); }
  .sh-principle { transition: background-color 220ms ease; }
  .sh-principle__number { display: inline-block; transition: color 220ms ease, transform 220ms ease; }
  .sh-principle:hover .sh-principle__number { color: #bc3230; transform: translateX(5px); }
}
@keyframes interface-enter {
  from { opacity: .35; transform: translateY(9px); }
  to { opacity: 1; transform: translateY(0); }
}
