/* Elements remain visible by default. JavaScript adds .reveal-item only when animation is available. */
.reveal-item{opacity:0;transform:translateY(26px);transition:opacity .8s ease var(--reveal-delay,0ms),transform .8s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}
.reveal-item.is-visible{opacity:1;transform:translateY(0)}
.button,.filter,.menu-card,.fact,.route-step,.text-link,.hero-link{transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease,color .3s ease,border-color .3s ease,opacity .3s ease}
.button:hover,.filter:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(45,38,33,.14)}
.menu-card:hover{transform:translateY(-8px);box-shadow:0 18px 40px rgba(45,38,33,.09)}
.fact:hover,.route-step:hover{transform:translateY(-5px)}
.text-link:hover,.hero-link:hover{opacity:.72}
.back-to-top{position:fixed;right:28px;bottom:28px;z-index:40;width:58px;height:58px;border:1px solid rgba(247,243,234,.4);border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-content:center;gap:1px;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s ease,visibility .25s ease,transform .25s ease,background-color .25s ease;box-shadow:0 10px 30px rgba(45,38,33,.2)}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{background:var(--accent);transform:translateY(-3px)}
.back-to-top span{font:400 1rem/1 Arial,sans-serif}.back-to-top small{font:700 .5rem/1 Arial,sans-serif;letter-spacing:.15em}
@media(max-width:800px){.back-to-top{right:18px;bottom:18px;width:52px;height:52px}.nav-toggle>span:not(.sr-only){transition:transform .25s ease,opacity .25s ease}.global-nav.is-open a{animation:navIn .35s both}.global-nav.is-open a:nth-child(2){animation-delay:.05s}.global-nav.is-open a:nth-child(3){animation-delay:.1s}.global-nav.is-open a:nth-child(4){animation-delay:.15s}@keyframes navIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){.reveal-item{opacity:1;transform:none;transition:none}.button,.filter,.menu-card,.fact,.route-step,.text-link,.hero-link,.back-to-top{transition:none}.global-nav.is-open a{animation:none}}
