:root{--ease:cubic-bezier(.23,1,.32,1)}
html{scrollbar-gutter:stable}
.hero-actions:focus-within{animation:none!important}
.loft-photo{overflow:hidden}
.mobile-nav{position:absolute;top:100%;inset-inline:0;box-shadow:0 20px 25px -25px rgb(0 0 0 / .25);transform-origin:top}
.button,.text-link,.close-dialog,.lightbox-controls button{transition:background-color 180ms,color 180ms,border-color 180ms,transform 240ms var(--ease)}
.button span,.text-link span{transition:transform 280ms var(--ease)}
.category-tabs{position:relative}
.category-tabs button{transition:color 180ms,border-color 180ms}
.close-dialog:active,.lightbox-controls button:active{transform:scale(.94)}

@media(hover:hover) and (pointer:fine){
  .button:hover{transform:translateY(-2px)}
  .button:hover span,.text-link:hover span{transform:translate(3px,-3px)}
  .dish:hover .dish-photo img{transform:scale(1.04)}
  .gallery-item:hover img{transform:scale(1.035)}
}
@media(hover:none),(pointer:coarse){
  .button:hover,.dish:hover .dish-photo img,.gallery-item:hover img,.footer-wordmark:hover .footer-arrow{transform:none}
}
.button:active{transform:scale(.97)}

@media(prefers-reduced-motion:no-preference){
  .motion-pending{opacity:0;transform:translateY(30px)}
  .hero .eyebrow{animation:copy-arrive 700ms var(--ease) both}
  .hero h1{animation:copy-arrive 800ms var(--ease) 100ms both}
  .hero-description{animation:copy-arrive 800ms var(--ease) 240ms both}
  .hero-actions{animation:copy-arrive 800ms var(--ease) 330ms both}
  dialog::backdrop{transition:opacity 180ms ease-out;opacity:1}
  dialog.is-closing::backdrop{opacity:0}
  @starting-style{dialog[open]::backdrop{opacity:0}}
}
@keyframes copy-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
  .motion-pending{opacity:1;transform:none}
  .button:hover,.text-link:hover span,.button:hover span,.dish:hover .dish-photo img,.gallery-item:hover img,.footer-wordmark:hover .footer-arrow{transform:none}
}
@media print{.motion-pending{opacity:1!important;transform:none!important}*{animation:none!important}}
