:root {
  --russo-motion-press: 120ms;
  --russo-motion-hover: 150ms;
  --russo-motion-state: 200ms;
  --russo-motion-editorial: 400ms;
  --russo-motion-ease: cubic-bezier(.32,.72,0,1);
}
html.russo-motion-ready body :is(button, a.button, .russo-hero-cta, .rt-button, .wc-block-components-button):not(:disabled) {
  transition: transform var(--russo-motion-press) var(--russo-motion-ease), color var(--russo-motion-hover) cubic-bezier(.32,.72,0,1), background-color var(--russo-motion-hover) cubic-bezier(.32,.72,0,1), border-color var(--russo-motion-hover) cubic-bezier(.32,.72,0,1);
}
html.russo-motion-ready body :is(button, a.button, .russo-hero-cta, .rt-button):not(:disabled):active { transform: scale(.98); }
html.russo-motion-ready body :is(button, a, input, select):focus-visible { transition: none; }
html.russo-motion-ready .russo-filter-dialog[open],
html.russo-motion-ready .russo-mini-cart[open] .russo-mini-cart-shell { animation: none; }
/* Site-wide timing also covers Elementor and theme-owned CSS motion. */
body.russo-site-shell,
body.russo-site-shell *,
body.russo-site-shell *::before,
body.russo-site-shell *::after {
  transition-timing-function: var(--russo-motion-ease) !important;
  animation-timing-function: var(--russo-motion-ease) !important;
}
/* Home header contracts on scroll and expands again at the top. */
body.russo-site-shell.home .elementor-location-header.is-compact { padding: 0; background: #fff; }
body.russo-site-shell.home .elementor-location-header.is-compact > .e-con { width: 100%; max-width: none; border-radius: 0; }
body.russo-site-shell .elementor-location-header,
body.russo-site-shell .elementor-location-header [data-id="11565b14"],
body.russo-site-shell .elementor-location-header .e-5aa5a578-3f98 { transition: none; }
body.russo-site-shell.home .elementor-location-header { transition: padding 300ms var(--russo-motion-ease), background-color 300ms var(--russo-motion-ease); }
body.russo-site-shell.home .elementor-location-header > .e-con { transition: max-width 300ms var(--russo-motion-ease), padding 300ms var(--russo-motion-ease), border-radius 300ms var(--russo-motion-ease), box-shadow 300ms var(--russo-motion-ease); }
body.russo-site-shell.home .elementor-location-header [data-id="11565b14"] { transition: width 300ms var(--russo-motion-ease); }
body.russo-site-shell.home .elementor-location-header.is-compact .e-5aa5a578-3f98 { max-width: none; padding-block: .8rem; }
body.russo-site-shell.home .elementor-location-header.is-compact [data-id="11565b14"] { width: 7.03125rem; }
body.russo-site-shell.home .elementor-location-header.is-compact > .e-con { box-shadow: 0 8px 24px #2222220d; }
.r404-stamp-ring { animation: none; }
/* Category editorial: crop the photograph while labels stay still. */
body.home [data-id="77a6cf4a"] > a { overflow: hidden; }
body.home [data-id="77a6cf4a"] > a > img {
  transition: transform 650ms cubic-bezier(.32,.72,0,1);
}
body.home [data-id="77a6cf4a"] > a > span:last-child {
  transition: transform 240ms cubic-bezier(.32,.72,0,1), background-color 200ms cubic-bezier(.32,.72,0,1), color 200ms cubic-bezier(.32,.72,0,1);
}
body.home [data-id="77a6cf4a"] > a:focus-visible > span:last-child {
  background-color: #222;
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  body.home [data-id="77a6cf4a"] > a:hover > span:last-child {
    background-color: #222;
    color: #fff;
  }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  body.home [data-id="77a6cf4a"] > a:hover > img { transform: scale(1.035); }
  body.home [data-id="77a6cf4a"] > a:hover > span:last-child { transform: translate(2px, -2px); }
}
@media (max-width: 767px) {
  body.russo-site-shell.home .elementor-location-header.is-compact { padding: 0; }
  body.russo-site-shell.home .elementor-location-header.is-compact .e-5aa5a578-3f98 { min-height: 3.125rem; padding-block: .1875rem; }
  body.russo-site-shell.home .elementor-location-header.is-compact [data-id="11565b14"] { width: 4.875rem; }
}
/* Shared product-card zoom, including the return from hover. */
html.russo-motion-ready body ul.products li.product.russo-product-card > a.woocommerce-loop-product__link:first-child img {
  transition: transform 0.5s ease;
  transition-timing-function: ease !important;
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html.russo-motion-ready body ul.products li.product.russo-product-card > a.woocommerce-loop-product__link:first-child:hover img { transform: scale(1.05); }
}
@media (prefers-reduced-motion: reduce) {
  html.russo-motion-ready body *, html.russo-motion-ready body *::before, html.russo-motion-ready body *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

html.russo-motion-ready body :is(button, a):focus-visible:active { transform: none; }

/* Keyboard commands resolve immediately, including component-owned transitions. */
html.russo-motion-ready.russo-keyboard-input body *,
html.russo-motion-ready.russo-keyboard-input body *::before,
html.russo-motion-ready.russo-keyboard-input body *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }

/* The hero Ken Burns is the sole easing exception: 10s out, 10s back.
   Keep its timeline intact when keyboard input disables interface motion. */
html.russo-motion-ready body.russo-site-shell .russo-hero-slide img {
  animation: russo-hero-ken-burns 10s linear infinite alternate !important;
  animation-play-state: paused !important;
}
html.russo-motion-ready body.russo-site-shell .russo-hero-slide.is-active img {
  animation-play-state: running !important;
}
@media (prefers-reduced-motion: reduce) {
  html.russo-motion-ready body.russo-site-shell .russo-hero-slide img {
    animation: none !important;
    transform: none;
  }
}
