/** Shopify CDN: Minification failed

Line 6:0 Unexpected "("

**/
(function () {
  "use strict";

  function ready(callback) {
    if (document.readyState === "loading") {
      document.addEventListener("DOMContentLoaded", callback);
    } else {
      callback();
    }
  }

  ready(function () {
    try {
      var selector = [
        ".haus-motion",
        ".haus-cascade",
        ".haus-curtain",
        ".haus-text-rise",
        ".haus-button-enter",
        ".haus-line-draw",
        ".haus-line-draw-vertical"
      ].join(",");

      var animatedItems = document.querySelectorAll(selector);

      if ("IntersectionObserver" in window && animatedItems.length) {
        var observer = new IntersectionObserver(
          function (entries) {
            entries.forEach(function (entry) {
              if (entry.isIntersecting) {
                entry.target.classList.add("is-visible");
                observer.unobserve(entry.target);
              }
            });
          },
          {
            threshold: 0.18,
            rootMargin: "0px 0px -70px 0px"
          }
        );

        animatedItems.forEach(function (item) {
          observer.observe(item);
        });
      } else {
        animatedItems.forEach(function (item) {
          item.classList.add("is-visible");
        });
      }

      /* Spotlight cursor effect */
      var spotlightSections = document.querySelectorAll(".haus-spotlight");

      spotlightSections.forEach(function (section) {
        section.addEventListener(
          "mousemove",
          function (event) {
            var rect = section.getBoundingClientRect();
            var x = ((event.clientX - rect.left) / rect.width) * 100;
            var y = ((event.clientY - rect.top) / rect.height) * 100;

            section.style.setProperty("--haus-mouse-x", x + "%");
            section.style.setProperty("--haus-mouse-y", y + "%");
          },
          { passive: true }
        );
      });

      /* Magnetic buttons, opt-in only */
      var magneticItems = document.querySelectorAll(".haus-magnetic");

      magneticItems.forEach(function (item) {
        item.addEventListener("mousemove", function (event) {
          var rect = item.getBoundingClientRect();
          var x = event.clientX - rect.left - rect.width / 2;
          var y = event.clientY - rect.top - rect.height / 2;

          item.style.transform =
            "translate3d(" + x * 0.14 + "px, " + y * 0.2 + "px, 0)";
        });

        item.addEventListener("mouseleave", function () {
          item.style.transform = "translate3d(0, 0, 0)";
        });
      });
    } catch (error) {
      console.warn("HAUS motion safely stopped:", error);
    }
  });
})();
/* =========================================================
   HAUS Section-Level Motion Presets
   Works with sections/1-list-section.liquid and section.liquid
========================================================= */

.haus-section-motion {
  position: relative;
}

/* Card cascade for list sections */
.haus-list-cascade :where(
  .grid__item,
  .slider__slide,
  .slideshow__slide,
  .list-item,
  .list__item,
  .collection-list__item,
  [data-list-item]
) {
  opacity: 0;
  transform: translate3d(0, 64px, 0) scale(0.985);
  transition:
    opacity 900ms ease,
    transform 1100ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.haus-list-cascade.is-visible :where(
  .grid__item,
  .slider__slide,
  .slideshow__slide,
  .list-item,
  .list__item,
  .collection-list__item,
  [data-list-item]
) {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.haus-list-cascade.is-visible :where(
  .grid__item,
  .slider__slide,
  .slideshow__slide,
  .list-item,
  .list__item,
  .collection-list__item,
  [data-list-item]
):nth-child(1) {
  transition-delay: 80ms;
}

.haus-list-cascade.is-visible :where(
  .grid__item,
  .slider__slide,
  .slideshow__slide,
  .list-item,
  .list__item,
  .collection-list__item,
  [data-list-item]
):nth-child(2) {
  transition-delay: 190ms;
}

.haus-list-cascade.is-visible :where(
  .grid__item,
  .slider__slide,
  .slideshow__slide,
  .list-item,
  .list__item,
  .collection-list__item,
  [data-list-item]
):nth-child(3) {
  transition-delay: 300ms;
}

.haus-list-cascade.is-visible :where(
  .grid__item,
  .slider__slide,
  .slideshow__slide,
  .list-item,
  .list__item,
  .collection-list__item,
  [data-list-item]
):nth-child(4) {
  transition-delay: 410ms;
}

.haus-list-cascade.is-visible :where(
  .grid__item,
  .slider__slide,
  .slideshow__slide,
  .list-item,
  .list__item,
  .collection-list__item,
  [data-list-item]
):nth-child(5) {
  transition-delay: 520ms;
}

/* Statement sections: bigger, cleaner arrival */
.haus-statement-motion {
  opacity: 0;
  transform: translate3d(0, 72px, 0);
  transition:
    opacity 950ms ease,
    transform 1200ms cubic-bezier(0.16, 1, 0.3, 1);
}

.haus-statement-motion.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Safer focus grid only on hover-capable devices */
@media (hover: hover) {
  .haus-list-cascade.haus-focus-grid:hover :where(
    .grid__item,
    .slider__slide,
    .slideshow__slide,
    .list-item,
    .list__item,
    .collection-list__item,
    [data-list-item]
  ) {
    opacity: 0.62;
    filter: saturate(0.86);
  }

  .haus-list-cascade.haus-focus-grid:hover :where(
    .grid__item,
    .slider__slide,
    .slideshow__slide,
    .list-item,
    .list__item,
    .collection-list__item,
    [data-list-item]
  ):hover {
    opacity: 1;
    filter: saturate(1);
    transform: translate3d(0, -8px, 0);
  }
}
/* =========================================================
   HAUS Motion: Dramatic UX Layer
   Apply through Custom CSS class fields in Shopify editor
========================================================= */

/* Strong title reveal: less fade, more physical movement */
.haus-title-sweep {
  opacity: 1;
  transform: translate3d(0, 42px, 0);
  clip-path: inset(0 0 100% 0);
  transition:
    clip-path 1050ms cubic-bezier(0.76, 0, 0.24, 1),
    transform 1050ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: var(--haus-delay, 0ms);
  will-change: clip-path, transform;
}

.haus-title-sweep.is-visible {
  transform: translate3d(0, 0, 0);
  clip-path: inset(0 0 0 0);
}

/* Big editorial slide from left */
.haus-stage-left {
  opacity: 1;
  transform: translate3d(-120px, 0, 0);
  clip-path: inset(0 0 0 100%);
  transition:
    clip-path 1100ms cubic-bezier(0.76, 0, 0.24, 1),
    transform 1100ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: var(--haus-delay, 0ms);
  will-change: clip-path, transform;
}

.haus-stage-left.is-visible {
  transform: translate3d(0, 0, 0);
  clip-path: inset(0 0 0 0);
}

/* Big editorial slide from right */
.haus-stage-right {
  opacity: 1;
  transform: translate3d(120px, 0, 0);
  clip-path: inset(0 100% 0 0);
  transition:
    clip-path 1100ms cubic-bezier(0.76, 0, 0.24, 1),
    transform 1100ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: var(--haus-delay, 0ms);
  will-change: clip-path, transform;
}

.haus-stage-right.is-visible {
  transform: translate3d(0, 0, 0);
  clip-path: inset(0 0 0 0);
}

/* Dramatic grid arrival: samples placed on the table */
.haus-stage-grid > * {
  opacity: 0;
  transform: translate3d(0, 105px, 0) scale(0.96) rotate(0.8deg);
  transition:
    opacity 700ms ease,
    transform 1150ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.haus-stage-grid.is-visible > * {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
}

.haus-stage-grid.is-visible > *:nth-child(1) {
  transition-delay: 60ms;
}

.haus-stage-grid.is-visible > *:nth-child(2) {
  transition-delay: 180ms;
}

.haus-stage-grid.is-visible > *:nth-child(3) {
  transition-delay: 300ms;
}

.haus-stage-grid.is-visible > *:nth-child(4) {
  transition-delay: 420ms;
}

.haus-stage-grid.is-visible > *:nth-child(5) {
  transition-delay: 540ms;
}

.haus-stage-grid.is-visible > *:nth-child(6) {
  transition-delay: 660ms;
}

.haus-stage-grid.is-visible > *:nth-child(7) {
  transition-delay: 780ms;
}

.haus-stage-grid.is-visible > *:nth-child(8) {
  transition-delay: 900ms;
}

/* Cinematic button entrance */
/* Softer cinematic CTA entrance */
.haus-cta-snap {
  opacity: 0;
  transform: translate3d(0, 28px, 0) scale(0.985);
  filter: blur(6px);
  transition:
    opacity 900ms ease,
    transform 1150ms cubic-bezier(0.16, 1, 0.3, 1),
    filter 950ms ease,
    background-color 240ms ease,
    color 240ms ease,
    border-color 240ms ease;
  transition-delay: var(--haus-delay, 0ms);
  will-change: opacity, transform, filter;
}

.haus-cta-snap.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}

.haus-cta-snap.is-visible:hover {
  transform: translate3d(0, -2px, 0) scale(1.006);
}

/* Eyebrow text: quick directional entrance */
.haus-eyebrow-slice {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  letter-spacing: 0.18em;
  transition:
    opacity 650ms ease,
    transform 760ms cubic-bezier(0.16, 1, 0.3, 1),
    letter-spacing 900ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: var(--haus-delay, 0ms);
}

.haus-eyebrow-slice.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  letter-spacing: inherit;
}

/* Large image or banner reveal */
.haus-image-door {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.haus-image-door::before,
.haus-image-door::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 30;
  pointer-events: none;
  transition: transform 1050ms cubic-bezier(0.76, 0, 0.24, 1);
}

.haus-image-door::before {
  background: #fffdf8;
  transform: translateX(0);
}

.haus-image-door::after {
  background: #220600;
  transform: translateX(-101%);
  transition-delay: 120ms;
}

.haus-image-door.is-visible::before {
  transform: translateX(101%);
}

.haus-image-door.is-visible::after {
  transform: translateX(101%);
}

/* Dark manifesto glow, stronger than previous spotlight */
.haus-manifesto {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.haus-manifesto::before {
  content: "";
  position: absolute;
  inset: -20%;
  background:
    radial-gradient(
      circle at var(--haus-mouse-x, 50%) var(--haus-mouse-y, 50%),
      rgba(255, 244, 225, 0.18),
      rgba(255, 244, 225, 0.06) 18%,
      transparent 42%
    );
  opacity: 0;
  transition: opacity 420ms ease;
  pointer-events: none;
  z-index: 1;
}

.haus-manifesto:hover::before {
  opacity: 1;
}

.haus-manifesto > * {
  position: relative;
  z-index: 2;
}

/* Mobile: keep drama, reduce distance */
@media screen and (max-width: 749px) {
  .haus-stage-left {
    transform: translate3d(-52px, 0, 0);
  }

  .haus-stage-right {
    transform: translate3d(52px, 0, 0);
  }

  .haus-stage-grid > * {
    transform: translate3d(0, 56px, 0) scale(0.98);
  }

  .haus-title-sweep {
    transform: translate3d(0, 28px, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .haus-title-sweep,
  .haus-stage-left,
  .haus-stage-right,
  .haus-stage-grid > *,
  .haus-cta-snap,
  .haus-eyebrow-slice,
  .haus-image-door::before,
  .haus-image-door::after {
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
    transition: none !important;
  }
}
/* =========================================================
   HAUS Safer Dramatic Text Motion
   Dramatic, but never fully disappears if JS misses
========================================================= */

.haus-title-lift {
  opacity: 1;
  transform: translate3d(0, 46px, 0);
  filter: blur(10px);
  transition:
    transform 1050ms cubic-bezier(0.16, 1, 0.3, 1),
    filter 900ms ease;
  transition-delay: var(--haus-delay, 0ms);
  will-change: transform, filter;
}

.haus-title-lift.is-visible {
  transform: translate3d(0, 0, 0);
  filter: blur(0);
}

.haus-title-lift:not(.is-visible) {
  opacity: 1;
}
/* Keeps button wrapper from disturbing layout too much */
.haus-button-motion-wrap {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
}

.haus-button-motion-wrap > * {
  width: 100%;
}
/* =========================================================
   HAUS Stage Motion Safety Override
   Fixes blank blocks caused by stage-left/right conflicts
========================================================= */

.haus-stage-left,
.haus-stage-right {
  opacity: 1 !important;
  visibility: visible !important;
  clip-path: none !important;
  filter: blur(8px);
  transition:
    transform 1050ms cubic-bezier(0.16, 1, 0.3, 1),
    filter 900ms ease !important;
  will-change: transform, filter;
}

.haus-stage-left {
  transform: translate3d(-110px, 0, 0) !important;
}

.haus-stage-right {
  transform: translate3d(110px, 0, 0) !important;
}

.haus-stage-left.is-visible,
.haus-stage-right.is-visible {
  transform: translate3d(0, 0, 0) !important;
  filter: blur(0);
}

/* If old passive classes accidentally remain, don't let them hide the block */
.haus-stage-left.haus-motion,
.haus-stage-right.haus-motion {
  opacity: 1 !important;
}
/* Individual collection-card motion */
.haus-card-stage {
  opacity: 1 !important;
  transform: translate3d(0, 72px, 0) scale(0.96);
  filter: blur(8px);
  transition:
    transform 1050ms cubic-bezier(0.16, 1, 0.3, 1),
    filter 850ms ease;
  will-change: transform, filter;
}

.haus-card-stage.is-visible {
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}
.haus-delay-6 {
  --haus-delay: 400ms;
}

.haus-delay-7 {
  --haus-delay: 700ms;
}

.haus-delay-8 {
  --haus-delay: 1500ms;
}
/* =========================================================
   HAUS Mobile Animation Safety
   Prevents blank white sections on mobile / popup interference
========================================================= */

@media screen and (max-width: 749px) {
  .haus-motion,
  .haus-text-rise,
  .haus-title-lift,
  .haus-stage-left,
  .haus-stage-right,
  .haus-stage-grid,
  .haus-cascade,
  .haus-cta-snap,
  .haus-image-door,
  .haus-curtain {
    animation-fill-mode: both;
  }

  /* Never let mobile sections stay invisible forever */
  .haus-motion:not(.is-visible),
  .haus-text-rise:not(.is-visible),
  .haus-title-lift:not(.is-visible),
  .haus-stage-left:not(.is-visible),
  .haus-stage-right:not(.is-visible),
  .haus-cta-snap:not(.is-visible) {
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* Make stage movement smaller on mobile */
  .haus-stage-left {
    transform: translate3d(-36px, 0, 0) !important;
  }

  .haus-stage-right {
    transform: translate3d(36px, 0, 0) !important;
  }

  .haus-stage-left.is-visible,
  .haus-stage-right.is-visible {
    transform: translate3d(0, 0, 0) !important;
  }
}
/* Prevent mobile carousel sections from staying blank */
@media screen and (max-width: 749px) {
  .haus-editorial-split,
  .haus-list-cascade,
  .haus-section-motion {
    opacity: 1 !important;
    visibility: visible !important;
  }

  .haus-editorial-split:not(.is-visible),
  .haus-list-cascade:not(.is-visible) {
    transform: none !important;
  }
}