/* Quiet editorial motion. No autoplay carousel or scroll interception. */
@media(prefers-reduced-motion:no-preference){
 .theme-image{transition:transform .65s cubic-bezier(.22,1,.36,1),filter .65s ease}
 .text-link{transition:opacity .3s ease,text-underline-offset .35s ease}
 .text-link:hover,.text-link:focus-visible{text-underline-offset:.5em;opacity:.8}
 .fine-button{transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease}
 .fine-button:active{transform:translateY(1px)}
 .gallery-controls button,.carousel-arrow{transition:background-color .3s ease,opacity .3s ease,transform .3s ease}
 .gallery-controls button:active:not(:disabled){transform:scale(.94)}
 .header-left a,.header-left button,.header-tools button,.nav-group button{transition:opacity .25s ease}
 dialog[open].drawer{animation:lancret-drawer .5s cubic-bezier(.22,1,.36,1)}
 dialog[open].menu-dialog{animation:lancret-menu .45s cubic-bezier(.22,1,.36,1)}
 dialog[open]::backdrop{animation:lancret-backdrop .4s ease}
 .toast.show{animation:lancret-backdrop .25s ease}
 @media(hover:hover) and (pointer:fine){
  .theme-image:hover,.theme-image:focus-visible{transform:translateY(-5px);filter:drop-shadow(0 16px 15px rgb(45 49 37 / .18))}
  .fine-button:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgb(40 35 25 / .12)}
  .category-frame .selection-photo{transition:transform .8s cubic-bezier(.22,1,.36,1)}
  .category-open:hover .selection-photo{transform:scale(1.035)}
 }
}
@keyframes lancret-drawer{from{opacity:.2;transform:translateX(32px)}to{opacity:1;transform:translateX(0)}}
@keyframes lancret-menu{from{opacity:.2;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}
@keyframes lancret-backdrop{from{opacity:0}to{opacity:1}}
