:root {
  --en-ink: #34251f;
  --en-cream: #f7f1e7;
  --en-butter: #e9be45;
  --en-olive: #3e4b36;
  --en-pink: #d9a4a2;
  --en-ease: cubic-bezier(.22, 1, .36, 1);
}

.en-motion-ready { --en-pointer-x: 50%; --en-pointer-y: 50%; }

.en-motion-banner {
  position: relative;
  z-index: 30;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 42px;
  padding: 7px clamp(16px, 4vw, 64px);
  color: #fffaf0;
  background: var(--en-ink);
  overflow: hidden;
}

.en-motion-banner::before {
  content: '';
  position: absolute;
  inset: -100% -20%;
  background: radial-gradient(circle at var(--en-pointer-x) 50%, rgba(233,190,69,.32), transparent 25%);
  pointer-events: none;
}

.en-motion-banner__eyebrow,
.en-motion-banner__link {
  position: relative;
  z-index: 1;
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.en-motion-banner__eyebrow { opacity: .66; }
.en-motion-banner__link { justify-self: end; color: inherit; text-decoration: none; }
.en-motion-banner__link::after { content: ' ↗'; transition: transform .3s var(--en-ease); }
.en-motion-banner__link:hover::after { display: inline-block; transform: translate(3px, -3px); }

.en-motion-banner__rotator {
  position: relative;
  z-index: 1;
  min-width: min(460px, 44vw);
  text-align: center;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(13px, 1.25vw, 16px);
  letter-spacing: .015em;
}

.en-motion-banner__text { display: inline-block; transition: opacity .28s ease, transform .45s var(--en-ease); }
.en-motion-banner__text.is-changing { opacity: 0; transform: translateY(10px); }

body.home main :is(figure, .wp-block-image, .wp-block-post-featured-image, .wc-block-grid__product-image) {
  overflow: hidden;
  isolation: isolate;
}

body.home main :is(figure, .wp-block-image, .wp-block-post-featured-image, .wc-block-grid__product-image) img {
  transition: transform .8s var(--en-ease), filter .8s var(--en-ease);
  will-change: transform;
}

body.home main :is(figure, .wp-block-image, .wp-block-post-featured-image, .wc-block-grid__product-image):hover img {
  transform: scale(1.055) rotate(var(--en-image-rotate, -.45deg));
  filter: saturate(1.04) contrast(1.025);
}

.en-tilt-card {
  transform: perspective(1000px) rotateX(var(--en-tilt-y, 0deg)) rotateY(var(--en-tilt-x, 0deg)) translateY(var(--en-lift, 0));
  transform-style: preserve-3d;
  transition: transform .55s var(--en-ease), box-shadow .55s var(--en-ease);
  will-change: transform;
}
.en-tilt-card:hover { --en-lift: -7px; box-shadow: 0 24px 55px rgba(52,37,31,.13); }

.en-reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .8s var(--en-ease), transform .9s var(--en-ease);
  transition-delay: var(--en-delay, 0ms);
}
.en-reveal.is-visible { opacity: 1; transform: translateY(0); }

.en-word-reveal .en-word {
  display: inline-block;
  opacity: 0;
  transform: translateY(.7em) rotate(1.5deg);
  transition: opacity .6s var(--en-ease), transform .75s var(--en-ease);
  transition-delay: calc(var(--en-word-index) * 45ms + 100ms);
}
.en-word-reveal.is-visible .en-word { opacity: 1; transform: none; }

.en-carousel-wrap { position: relative; }
.en-carousel {
  display: grid !important;
  grid-auto-flow: column;
  grid-auto-columns: minmax(280px, 32vw);
  gap: clamp(16px, 2.2vw, 30px) !important;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  padding-bottom: 16px !important;
}
.en-carousel::-webkit-scrollbar { display: none; }
.en-carousel > * { scroll-snap-align: start; min-width: 0; }

.en-carousel-controls {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin: 0 0 14px;
}
.en-carousel-button {
  display: inline-grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(52,37,31,.25);
  border-radius: 999px;
  color: var(--en-ink);
  background: rgba(247,241,231,.78);
  backdrop-filter: blur(10px);
  cursor: pointer;
  transition: color .3s ease, background .3s ease, transform .3s var(--en-ease);
}
.en-carousel-button:hover { color: #fff; background: var(--en-ink); transform: scale(1.06); }
.en-carousel-button:focus-visible { outline: 3px solid var(--en-butter); outline-offset: 3px; }

.en-cursor-glow {
  position: fixed;
  z-index: 9999;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: rgba(233,190,69,.18);
  filter: blur(2px);
  transform: translate(-50%, -50%);
  pointer-events: none;
  opacity: 0;
  transition: opacity .25s ease, width .35s var(--en-ease), height .35s var(--en-ease);
  mix-blend-mode: multiply;
}
.en-cursor-glow.is-active { opacity: 1; width: 122px; height: 122px; }

@media (max-width: 760px) {
  .en-motion-banner { grid-template-columns: 1fr; min-height: 38px; }
  .en-motion-banner__eyebrow, .en-motion-banner__link { display: none; }
  .en-motion-banner__rotator { min-width: 0; }
  .en-carousel { grid-auto-columns: minmax(250px, 82vw); }
  .en-cursor-glow { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
  .en-reveal, .en-word-reveal .en-word { opacity: 1; transform: none; transition: none; }
  .en-tilt-card, body.home main img { transform: none !important; transition-duration: .01ms !important; }
  .en-cursor-glow { display: none; }
}

