/* Inferno 1.4 — restrained, accessible motion. No animations are required for content visibility. */
@keyframes ois-enter-up {
  from { opacity: 0; transform: translate3d(0, 21px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes ois-enter-art {
  from { opacity: 0; transform: translate3d(18px, 26px, 0) scale(.975); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes ois-soft-float {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -10px, 0); }
}
@keyframes ois-halo-breathe {
  0%, 100% { opacity: .72; transform: scale(.97); }
  50% { opacity: 1; transform: scale(1.035); }
}
@keyframes ois-tiny-twinkle {
  0%, 100% { opacity: .66; transform: scale(.94) rotate(-5deg); }
  50% { opacity: 1; transform: scale(1.09) rotate(7deg); }
}
@keyframes ois-stamp-drift {
  0%,100% { transform: rotate(14deg) translateY(0); }
  50% { transform: rotate(12deg) translateY(-4px); }
}

/* Hero: short one-time reveal + slow, low-amplitude ambient motion. */
.ois-front-page .ois-hero-copy .ois-eyebrow { animation: ois-enter-up .6s both cubic-bezier(.2,.7,.2,1); }
.ois-front-page .ois-hero-copy h1 { animation: ois-enter-up .78s .10s both cubic-bezier(.2,.7,.2,1); }
.ois-front-page .ois-hero-copy > p { animation: ois-enter-up .7s .22s both cubic-bezier(.2,.7,.2,1); }
.ois-front-page .ois-hero-cta { animation: ois-enter-up .7s .32s both cubic-bezier(.2,.7,.2,1); }
.ois-front-page .ois-hero-micro { animation: ois-enter-up .7s .42s both cubic-bezier(.2,.7,.2,1); }
.ois-front-page .ois-hero-art { animation: ois-enter-art .95s .10s both cubic-bezier(.2,.7,.2,1); }
.ois-front-page .ois-hero-art img.ois-hero-muse { animation: ois-soft-float 6.8s 1.1s ease-in-out infinite; }
.ois-front-page .ois-hero-halo, .ois-front-page .ois-hero-art-ring { animation: ois-halo-breathe 9s ease-in-out infinite; }
.ois-front-page .ois-spark-a { animation: ois-tiny-twinkle 5.4s ease-in-out infinite; }
.ois-front-page .ois-spark-b { animation: ois-tiny-twinkle 7.2s 1s ease-in-out infinite; }
.ois-front-page .ois-art-stamp { animation: ois-stamp-drift 7s ease-in-out infinite; }

/* Scroll reveal: activated only by JS when IntersectionObserver exists and reduced-motion is off.
   An animation never hides anything if scripting fails or visitors prefer less motion. */
.ois-motion-enabled .ois-motion-reveal {
  opacity: 1;
  transition: opacity .72s ease, transform .72s cubic-bezier(.2,.75,.22,1);
  transition-delay: var(--ois-reveal-delay, 0ms);
}
.ois-motion-enabled .ois-motion-reveal:not(.ois-is-visible) {
  opacity: 0;
  transform: translate3d(0, 23px, 0);
}
.ois-motion-enabled .ois-motion-reveal.ois-from-left:not(.ois-is-visible) {
  transform: translate3d(-24px, 0, 0);
}
.ois-motion-enabled .ois-motion-reveal.ois-from-right:not(.ois-is-visible) {
  transform: translate3d(24px, 0, 0);
}
/* The card's hover transform must remain controlled by its original style when revealed. */

/* Hover states only for precise pointing devices. Keyboard focus stays clearly visible. */
@media (hover:hover) and (pointer:fine) {
  .ois-header-logo img { transition: filter .3s ease, transform .3s ease; }
  .ois-header-logo:hover img { filter: drop-shadow(0 0 13px rgba(234,45,40,.35)); transform: scale(1.025); }
  .ois-nav-list a { position:relative; }
  .ois-nav-list a::after {
    content: ''; position:absolute; height:2px; left:0; right:100%; bottom:-7px;
    background:var(--ois-red); transition:right .22s ease;
  }
  .ois-nav-list a:hover::after, .ois-nav-list a:focus-visible::after { right:0; }
  .ois-category:hover .ois-category-icon { transform: rotate(-8deg) scale(1.08); }
  .ois-category-icon { transition: transform .32s ease; }
  .ois-product-holder .woocommerce ul.products li.product,
  .woocommerce ul.products li.product {
    transition: border-color .28s ease, box-shadow .28s ease, translate .28s ease;
  }
  .ois-product-holder .woocommerce ul.products li.product:hover,
  .ois-product-holder .woocommerce ul.products li.product:focus-within,
  .woocommerce ul.products li.product:hover,
  .woocommerce ul.products li.product:focus-within {
    translate:0 -5px;
    border-color:#a93a39;
    box-shadow:0 17px 34px rgba(0,0,0,.38), 0 0 18px rgba(208,35,32,.1);
  }
  .ois-spotlight-wide:hover .ois-spotlight-aura { opacity:1; }
  .ois-spotlight-aura { transition: opacity .4s ease; opacity:.76; }
  .ois-btn-primary:hover { box-shadow:0 10px 31px rgba(240,52,44,.35), 6px 6px 0 rgba(94,14,20,.65); }
  .ois-btn-primary:active { transform:translateY(0) rotate(0)!important; }
}
.ois-btn:focus-visible, .ois-section-link:focus-visible,
.woocommerce a.button:focus-visible, .woocommerce button.button:focus-visible {
  outline:3px solid #ffe2c7; outline-offset:4px;
}

/* Pause ambient loops in hidden tabs. */
.ois-tab-hidden .ois-hero-muse, .ois-tab-hidden .ois-hero-halo,
.ois-tab-hidden .ois-hero-art-ring, .ois-tab-hidden .ois-hero-art-spark,
.ois-tab-hidden .ois-art-stamp { animation-play-state:paused!important; }

/* Keep motion gentle on small devices, and avoid expensive ambient effects. */
@media (max-width:700px) {
  .ois-front-page .ois-hero-art img.ois-hero-muse { animation-duration:8.5s; }
  .ois-front-page .ois-hero-halo { animation:none; }
  .ois-motion-enabled .ois-motion-reveal:not(.ois-is-visible) { transform:translate3d(0,14px,0); }
}

/* Respect both system-wide reduced-motion and user-selected browser preferences. */
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  .ois-front-page .ois-hero-copy .ois-eyebrow,
  .ois-front-page .ois-hero-copy h1,
  .ois-front-page .ois-hero-copy > p,
  .ois-front-page .ois-hero-cta,
  .ois-front-page .ois-hero-micro,
  .ois-front-page .ois-hero-art,
  .ois-front-page .ois-hero-art img.ois-hero-muse,
  .ois-front-page .ois-hero-halo,
  .ois-front-page .ois-hero-art-ring,
  .ois-front-page .ois-hero-art-spark,
  .ois-front-page .ois-art-stamp {
    animation:none!important; opacity:1!important;
  }
  .ois-motion-enabled .ois-motion-reveal,
  .ois-motion-enabled .ois-motion-reveal:not(.ois-is-visible),
  .ois-motion-enabled .ois-motion-reveal.ois-from-left:not(.ois-is-visible),
  .ois-motion-enabled .ois-motion-reveal.ois-from-right:not(.ois-is-visible) {
    opacity:1!important; transform:none!important; transition:none!important;
  }
  .ois-header-logo img, .ois-category-icon,
  .ois-product-holder .woocommerce ul.products li.product,
  .woocommerce ul.products li.product { transition:none!important; }
  .ois-product-holder .woocommerce ul.products li.product:hover,
  .woocommerce ul.products li.product:hover { translate:none!important; }
}
