/* Motion stays optional: the page is fully visible without JavaScript. */
@media (prefers-reduced-motion: no-preference) {
  .masthead { background-size: 115% 120%; animation: amber-drift 16s ease-in-out infinite alternate; }
  .nav { animation: header-arrive .75s ease-out both; }
  .masthead-main h1 { animation: title-arrive 1.1s cubic-bezier(.16,1,.3,1) .12s both; }
  .masthead-bottom { animation: header-arrive .85s ease-out .35s both; }
  .hero-copy { animation: header-arrive 1s ease-out .5s both; }
  .motion-reveal { transition: opacity .85s ease, transform .95s cubic-bezier(.16,1,.3,1); }
  .motion-reveal.motion-pending { opacity: 0; transform: translateY(34px); }
  .motion-reveal:focus-within { opacity: 1; transform: none; }
  .about-image, .nesta-photo { overflow: hidden; }
  .about-image img, .nesta-photo img { transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
  .pill { transition: transform .25s ease, background-color .25s ease, color .25s ease; }
  .service-list>a { transition: background-color .3s ease; }
  .service-list>a>span:last-child { transition: transform .3s ease; }
  .text-link, .phone { transition: opacity .25s ease; }
  @media (hover: hover) and (pointer: fine) {
    .pill:hover { transform: translateY(-3px); }
    .pill:active { transform: translateY(0); }
    .about-image:hover img, .nesta-photo:hover img { transform: scale(1.035); }
    .service-list>a:hover { background-color: #ffffff18; }
    .service-list>a:hover>span:last-child { transform: translate(4px,-4px); }
    .text-link:hover, .phone:hover { opacity: .7; }
  }
}
@keyframes header-arrive { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
@keyframes title-arrive { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }
@keyframes amber-drift { from { background-position:0% 0%; } to { background-position:70% 30%; } }
@media (prefers-reduced-motion: reduce) {
  .motion-reveal.motion-pending { opacity:1; transform:none; }
}
@media print { .motion-reveal.motion-pending { opacity:1!important; transform:none!important; } }
