/* One motion vocabulary. No layout animation, parallax or new library. */
:root { --ss-motion-fast:250ms; --ss-motion-enter:450ms; --ss-motion-ease:cubic-bezier(.22,1,.36,1); }
.motion-paused *, .motion-paused *:before, .motion-paused *:after { transition:none!important; }
.site-header .logo-frame, .site-header .desktop-nav, .site-header .header-actions { transition:transform var(--ss-motion-fast) var(--ss-motion-ease); transform-origin:left center; }
.site-header.is-compact .logo-frame { transform:translateY(-3px) scale(.94); }
.site-header.is-compact .desktop-nav, .site-header.is-compact .header-actions { transform:translateY(-3px); }
.night-backdrop img { animation:none; transform:scale(1.02); }
.motion-ready .reveal { transform:translateY(8px); transition:opacity var(--ss-motion-enter) var(--ss-motion-ease),transform var(--ss-motion-enter) var(--ss-motion-ease); }
.motion-ready .reveal.is-visible { transform:none; }
.motion-ready .reveal[data-reveal-order] { transition-delay:0s; }
.button, .text-link { transition:background-color var(--ss-motion-fast) ease,color var(--ss-motion-fast) ease,border-color var(--ss-motion-fast) ease; }
.button svg, .text-link svg, .button>span[aria-hidden], .text-link>span[aria-hidden] { transition:transform var(--ss-motion-fast) var(--ss-motion-ease); }
.button:is(:hover,:focus-visible) svg, .text-link:is(:hover,:focus-visible) svg,
.button:is(:hover,:focus-visible)>span[aria-hidden], .text-link:is(:hover,:focus-visible)>span[aria-hidden] { transform:translateX(3px); }
.venue-slide { transform:scale(1.02); }
.venue-slide.is-active { transform:scale(1); }
.venue-heading h1>span { animation:ss-motion-enter var(--ss-motion-enter) var(--ss-motion-ease) both; }
.venue-heading h1>span:nth-child(2) { animation-delay:80ms; }
.venue-heading h1>span:nth-child(3) { animation-delay:160ms; }
.motion-ready .groups-image.reveal { clip-path:inset(0 0 12% 0); transition:opacity var(--ss-motion-enter) var(--ss-motion-ease),transform var(--ss-motion-enter) var(--ss-motion-ease),clip-path var(--ss-motion-enter) var(--ss-motion-ease); }
.motion-ready .groups-image.reveal.is-visible { clip-path:inset(0); }
.motion-ready .groups-image.reveal img { transform:scale(1.015); transition:transform var(--ss-motion-enter) var(--ss-motion-ease); }
.motion-ready .groups-image.reveal.is-visible img { transform:scale(1); }
@keyframes ss-motion-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media(hover:hover) and (pointer:fine) {
  .home-week-photo img, .home-tastes .taste-photo img { transition:transform var(--ss-motion-enter) var(--ss-motion-ease); }
  .home-week-photo:hover img, .home-tastes .taste-photo:hover img { transform:scale(1.02); }
}
@media(prefers-reduced-motion:reduce) {
  .site-header.is-compact .logo-frame, .site-header.is-compact .desktop-nav, .site-header.is-compact .header-actions { transform:none; }
  .motion-ready .reveal, .motion-ready .groups-image.reveal { opacity:1; transform:none; clip-path:none; transition:none; }
  .venue-slide, .venue-slide.is-active, .motion-ready .groups-image.reveal img,
  .home-week-photo:hover img, .home-tastes .taste-photo:hover img { transform:none; }
  .button:is(:hover,:focus-visible) svg, .text-link:is(:hover,:focus-visible) svg,
  .button:is(:hover,:focus-visible)>span[aria-hidden], .text-link:is(:hover,:focus-visible)>span[aria-hidden] { transform:none; }
  .venue-heading h1>span { animation:none; }
}
.motion-paused .motion-ready .reveal, .motion-paused .reveal,
.motion-paused .groups-image.reveal { opacity:1; transform:none; clip-path:none; transition:none; }
.motion-paused .groups-image.reveal img, .motion-paused .home-week-photo img,
.motion-paused .home-tastes .taste-photo img { transform:none; transition:none; }