/* Subtle, accessible website motion */
@media (prefers-reduced-motion: no-preference) {
  .hero {background-size:cover; animation: hero-arrive 1.2s ease-out both;}
  .hero h1 {animation: rise-in .85s .10s ease-out both;}
  .hero p {animation: rise-in .85s .25s ease-out both;}
  .hero .buttonrow {animation: rise-in .85s .40s ease-out both;}
  .hero .eyebrow {animation: rise-in .75s ease-out both;}
  .reveal {opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.2,1);}
  .reveal.is-visible {opacity:1;transform:translateY(0);}
  .btn, nav a {transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease;}
  .btn:hover {transform:translateY(-3px);box-shadow:0 8px 20px rgba(2,45,72,.24);}
  .feature,.cert,.industry,.person,.form,.highlight {transition:transform .28s ease,box-shadow .28s ease;}
  .feature:hover,.cert:hover,.industry:hover,.person:hover {transform:translateY(-6px);box-shadow:0 12px 28px rgba(0,74,104,.12);}
  .circle {transition:transform .3s ease;}
  .highlight:hover .circle {transform:scale(1.08) rotate(-5deg);}
  .logo img {transition:transform .35s ease;}
  .logo:hover img {transform:scale(1.025);}
  @keyframes rise-in {from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
  @keyframes hero-arrive {from{filter:brightness(.84)}to{filter:brightness(1)}}
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after {animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}
