@media (prefers-reduced-motion:no-preference) {
  .hero__image { transform: translateY(calc(var(--hero-shift, 0) * .12px)) scale(1.075); transition: transform .1s linear; will-change: transform; }
  .site-header { transition: top .28s ease, box-shadow .28s ease, background .28s ease; }
  .site-header.is-scrolled { box-shadow: 0 8px 30px rgba(33,22,17,.16); }
  .hero-chips { animation: hero-rise .8s cubic-bezier(.16,1,.3,1) both .1s; }
  .hero h1 { animation: hero-rise 1s cubic-bezier(.16,1,.3,1) both .18s; }
  .hero__content > p { animation: hero-rise .9s cubic-bezier(.16,1,.3,1) both .3s; }
  .hero__actions { animation: hero-rise .85s cubic-bezier(.16,1,.3,1) both .42s; }
  .motion-reveal { opacity: 0; transform: translateY(28px) scale(.985); filter: blur(4px); transition: opacity .75s cubic-bezier(.16,1,.3,1), transform .75s cubic-bezier(.16,1,.3,1), filter .65s ease; transition-delay: var(--reveal-delay,0ms); }
  .motion-reveal.is-visible { opacity: 1; transform: none; filter: none; }
  .service-card, .inspiration-grid a { transition: transform .45s cubic-bezier(.16,1,.3,1), box-shadow .45s ease; }
  .service-card:hover, .inspiration-grid a:hover { transform: translateY(-8px); box-shadow: 0 18px 34px rgba(49,32,25,.18); }
  .service-card > b, .inspiration-grid b { transition: transform .3s cubic-bezier(.16,1,.3,1), background .3s ease; }
  .service-card:hover > b, .inspiration-grid a:hover b { transform: rotate(45deg); background: #fff; color: var(--ink); }
  .button { transition: transform .28s cubic-bezier(.16,1,.3,1), box-shadow .28s ease, background .28s ease; }
  .button:hover { box-shadow: 0 10px 20px rgba(32,20,14,.17); }
  .wordmark img { transition: transform .3s cubic-bezier(.16,1,.3,1); }
  .wordmark:hover img { transform: scale(1.04); }
  .accordion details { transition: transform .25s ease, box-shadow .25s ease; }
  .accordion details[open] { box-shadow: 0 10px 24px rgba(54,38,28,.07); }
  .accordion details[open] summary span { background: var(--ink); color: #fff; transform: rotate(180deg); }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
@keyframes hero-rise { from { opacity: 0; transform: translateY(28px); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }
