@keyframes slideDown {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes heroReveal {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes cueMove {
  0%,
  100% {
    transform: scaleY(0.35);
    transform-origin: top;
  }
  50% {
    transform: scaleY(1);
    transform-origin: top;
  }
}
.hero-copy > * {
  opacity: 0;
  animation: heroReveal 0.85s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
}
.hero-copy > .eyebrow {
  animation-delay: 0.12s;
}
.hero-copy > h1 {
  animation-delay: 0.22s;
}
.hero-copy > .hero-intro {
  animation-delay: 0.34s;
}
.hero-copy > .hero-actions {
  animation-delay: 0.46s;
}
.hero-note {
  opacity: 0;
  animation: heroReveal 0.85s 0.58s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
}
.reveal-ready .scroll-reveal {
  opacity: 0;
  transform: translateY(38px);
  transition:
    opacity 0.75s cubic-bezier(0.2, 0.7, 0.2, 1),
    transform 0.75s cubic-bezier(0.2, 0.7, 0.2, 1);
  transition-delay: var(--reveal-delay, 0ms);
}
.reveal-ready .scroll-reveal.story-image {
  transform: translateX(-38px);
}
.reveal-ready .scroll-reveal.story-copy {
  transform: translateX(38px);
}
.reveal-ready .scroll-reveal.is-visible {
  opacity: 1;
  transform: none;
}

/* Global interaction polish: visual-only effects that never intercept clicks. */
@media (hover: hover) and (pointer: fine) {
  :where(
    .product-card,
    .category-card,
    .post-card,
    .editorial-card,
    .shop-sidebar .widget,
    .testimonial-grid blockquote,
    .value-grid article
  ) {
    transition:
      transform 0.38s cubic-bezier(0.2, 0.7, 0.2, 1),
      box-shadow 0.38s ease,
      border-color 0.38s ease;
  }

  :where(
    .product-card,
    .category-card,
    .post-card,
    .editorial-card,
    .shop-sidebar .widget,
    .testimonial-grid blockquote,
    .value-grid article
  ):hover {
    transform: translateY(-6px);
    border-color: rgba(139, 96, 61, 0.3);
    box-shadow: 0 20px 44px rgba(52, 35, 23, 0.12);
  }

  .reveal-ready
    :where(
      .product-card,
      .category-card,
      .post-card,
      .editorial-card,
      .shop-sidebar .widget,
      .testimonial-grid blockquote,
      .value-grid article
    ).scroll-reveal.is-visible:hover {
    transform: translateY(-6px);
  }

  :where(.product-card-media, .category-image, .post-card-image) img {
    transition:
      transform 0.75s cubic-bezier(0.2, 0.7, 0.2, 1),
      filter 0.45s ease;
  }

  :where(.product-card, .category-card, .post-card):hover
    :where(.product-card-media, .category-image, .post-card-image)
    img {
    transform: scale(1.045);
    filter: saturate(1.05) contrast(1.02);
  }

  :where(.btn, .button, button, .footer-shop-link, .category-info i) {
    transition-timing-function: cubic-bezier(0.2, 0.7, 0.2, 1);
  }

  :where(.btn, .button):not(:disabled):hover {
    transform: translateY(-2px);
  }

  :where(.footer-shop-link, .category-card) .icon-arrow {
    transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1);
  }

  :where(.footer-shop-link, .category-card):hover .icon-arrow {
    transform: translateX(3px);
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *:before,
  *:after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  .hero-copy > *,
  .hero-note,
  .scroll-reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}
