/** Shopify CDN: Minification failed

Line 198:0 Unexpected "}"

**/
/* ==========================================================================
   HOMEPAGE PREMIUM — shared foundation
   Design tokens, buttons, product cards, scroll-reveal animation utility.
   Every homepage-* section links this one stylesheet.
   ========================================================================== */

:root {
  --hp-gold: #b3924a;
  --hp-gold-dark: #96793a;
  --hp-black: #111111;
  --hp-border: #ececec;
  --hp-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

.hp-section {
  position: relative;
  background: var(--hp-section-bg, #ffffff);
  padding-top: var(--hp-padding-top, 64px);
  padding-bottom: var(--hp-padding-bottom, 64px);
}
.hp-container {
  max-width: var(--hp-container-width, 1400px);
  margin: 0 auto;
  padding: 0 24px;
}
.hp-container--full { max-width: 100%; padding: 0; }

.hp-heading-row {
  text-align: center;
  margin-bottom: 40px;
}
.hp-eyebrow {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--hp-gold);
  margin-bottom: 10px;
}
.hp-heading {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin: 0;
  color: var(--hp-black);
}

/* ---------- Buttons ---------- */
.hp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 30px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background-color 350ms var(--hp-ease), color 350ms var(--hp-ease), border-color 350ms var(--hp-ease), transform 350ms var(--hp-ease);
}
.hp-btn:hover { transform: translateY(-2px); }
.hp-btn--solid {
  background: var(--hp-btn-bg, var(--hp-gold));
  color: var(--hp-btn-text, #ffffff);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.hp-btn--solid:hover {
  background: var(--hp-btn-bg-hover, var(--hp-gold-dark));
  box-shadow: 0 10px 24px -6px rgba(179, 146, 74, 0.5);
  transform: translateY(-2px) scale(1.03);
}
.hp-btn--outline {
  background: transparent;
  border-color: var(--hp-btn-outline, #ffffff);
  color: var(--hp-btn-outline, #ffffff);
}
.hp-btn--outline:hover {
  background: var(--hp-btn-outline, #ffffff);
  color: var(--hp-btn-outline-text, #111111);
}

/* ---------- Scroll reveal ---------- */
/* Progressive enhancement: content is visible by default. JS adds
   .hp-reveal-armed right before it starts observing, which is the only
   thing that actually hides the element pre-animation. This means if the
   JS file fails to load for any reason, content simply doesn't animate —
   it is never permanently invisible. */
[data-hp-reveal].hp-reveal-armed {
  opacity: 0;
  transition: opacity 800ms var(--hp-ease), transform 800ms var(--hp-ease);
}
[data-hp-reveal="up"].hp-reveal-armed { transform: translateY(36px); }
[data-hp-reveal="left"].hp-reveal-armed { transform: translateX(-36px); }
[data-hp-reveal="right"].hp-reveal-armed { transform: translateX(36px); }
[data-hp-reveal="zoom"].hp-reveal-armed { transform: scale(0.94); }
[data-hp-reveal].hp-reveal-armed.is-visible {
  opacity: 1;
  transform: translate(0, 0) scale(1);
}
@media (prefers-reduced-motion: reduce) {
  [data-hp-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ---------- Product card (shared: Featured Tabs + Our Favorites) ---------- */
.hp-product-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 16px;
}
@media screen and (min-width: 990px) {
  .hp-product-grid { grid-template-columns: repeat(3, 1fr); gap: 32px 28px; }
}

.hp-card {
  position: relative;
  display: block;
  text-decoration: none;
  color: inherit;
  transition: transform 420ms var(--hp-ease);
}
.hp-card:hover { transform: translateY(-6px); }

.hp-card__image-wrap {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: #f2efe9;
  border-radius: var(--hp-card-radius, 2px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
  transition: box-shadow 420ms var(--hp-ease);
}
.hp-card:hover .hp-card__image-wrap {
  box-shadow: 0 20px 40px -12px rgba(0, 0, 0, 0.18);
}
.hp-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 500ms var(--hp-ease), transform 900ms var(--hp-ease);
}
.hp-card__image--primary { opacity: 1; transform: scale(1); }
.hp-card__image--secondary { opacity: 0; }
.hp-card:hover .hp-card__image--primary { opacity: 0; transform: scale(1.06); }
.hp-card:hover .hp-card__image--secondary { opacity: 1; transform: scale(1.06); }

.hp-card__badge {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 5px 9px;
  color: #ffffff;
}
.hp-card__badge--sale { background: #c0392b; }
.hp-card__badge--soldout { background: #777777; }

.hp-card__quick-view {
  position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translate(-50%, 10px);
  opacity: 0;
  z-index: 2;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(17, 17, 17, 0.85);
  border-radius: 999px;
  color: #111111;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 9px 20px;
  white-space: nowrap;
  transition: opacity 320ms var(--hp-ease), transform 320ms var(--hp-ease), background 250ms ease, color 250ms ease, padding 250ms ease;
}
.hp-card:hover .hp-card__quick-view:hover {
  background: #111111;
  color: #ffffff;
  padding-left: 24px;
  padding-right: 24px;
}
}
.hp-card:hover .hp-card__quick-view {
  opacity: 1;
  transform: translate(-50%, 0);
}

.hp-card__wishlist {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateY(-6px);
  transition: opacity 320ms var(--hp-ease), transform 320ms var(--hp-ease);
}
.hp-card:hover .hp-card__wishlist { opacity: 1; transform: translateY(0); }
.hp-card__wishlist svg { width: 15px; height: 15px; }

.hp-card__info { padding-top: 14px; text-align: center; font-family: inherit; }
.hp-card__title {
  font-size: 13px;
  font-weight: 500;
  margin: 0 0 4px;
  color: var(--hp-card-title-color, var(--hp-black));
}
.hp-card__price { font-size: 13px; color: var(--hp-card-price-color, var(--hp-black)); }
.hp-card__price--sale { color: #c0392b; margin-right: 6px; }
.hp-card__price--compare { color: #999999; text-decoration: line-through; }

.hp-card__swatches {
  display: flex;
  justify-content: center;
  gap: 5px;
  margin-top: 8px;
}
.hp-card__swatch {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.12);
}

/* ---------- Product slider (Featured Product Tabs) ---------- */
.hp-product-slider {
  position: relative;
}
.hp-product-slider__track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 0;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.hp-product-slider__track::-webkit-scrollbar { display: none; }
.hp-product-slider__item {
  flex: 0 0 calc((100% - (var(--hp-per-view-mobile, 2) - 1) * 20px) / var(--hp-per-view-mobile, 2));
  scroll-snap-align: start;
}
@media screen and (min-width: 750px) and (max-width: 989px) {
  .hp-product-slider__item {
    flex-basis: calc((100% - (var(--hp-per-view-tablet, 2) - 1) * 20px) / var(--hp-per-view-tablet, 2));
  }
}
@media screen and (min-width: 990px) {
  .hp-product-slider__track { gap: 28px; }
  .hp-product-slider__item {
    flex-basis: calc((100% - (var(--hp-per-view-desktop, 3) - 1) * 28px) / var(--hp-per-view-desktop, 3));
  }
}
.hp-product-slider__dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 24px;
}
.hp-product-slider__dots .hp-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  border: none;
  background: #dcdcdc;
  padding: 0;
  cursor: pointer;
  transition: background 250ms ease, transform 250ms ease;
}
.hp-product-slider__dots .hp-dot.is-active {
  background: var(--hp-gold);
  transform: scale(1.2);
}


.hp-tabs {
  display: flex;
  justify-content: center;
  gap: 32px;
  list-style: none;
  margin: 0 0 36px;
  padding: 0;
  flex-wrap: wrap;
}
.hp-tab {
  background: none;
  border: none;
  font-size: 12px;
  letter-spacing: 0.5px;
  color: #999999;
  cursor: pointer;
  padding: 4px 0;
  position: relative;
  transition: color 300ms var(--hp-ease);
}
.hp-tab::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: -2px;
  height: 1px;
  background: var(--hp-black);
  transform: scaleX(0);
  transition: transform 300ms var(--hp-ease);
}
.hp-tab.is-active { color: var(--hp-black); }
.hp-tab.is-active::after { transform: scaleX(1); }

.hp-tab-panel { display: none; }
.hp-tab-panel.is-active { display: block; }

/* ---------- Slider controls (shared: tabs grid, logos) ---------- */
.hp-slider-track { position: relative; overflow: hidden; }
.hp-slider-arrow {
  position: absolute;
  top: 40%;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--hp-border);
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 5;
  transition: background 250ms ease, transform 250ms ease;
}
.hp-slider-arrow:hover { background: #f5f5f5; transform: translateY(-50%) scale(1.05); }
.hp-slider-arrow--prev { left: -8px; }
.hp-slider-arrow--next { right: -8px; }
@media screen and (min-width: 1440px) {
  .hp-slider-arrow--prev { left: -20px; }
  .hp-slider-arrow--next { right: -20px; }
}

/* ---------- Overlay banners (promo duo, hero, promo cards) ---------- */
.hp-banner {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: var(--hp-banner-radius, 0px);
  text-decoration: none;
  color: inherit;
}
.hp-banner__media {
  position: relative;
  width: 100%;
  height: 100%;
}
.hp-banner__media img,
.hp-banner__media video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms var(--hp-ease);
}
.hp-banner--zoom:hover .hp-banner__media img,
.hp-banner--zoom:hover .hp-banner__media video {
  transform: scale(1.06);
}
.hp-banner__link-overlay {
  position: absolute;
  inset: 0;
  z-index: 3;
}
.hp-banner__overlay {
  display: block !important;
  position: absolute;
  inset: 0;
  background: var(--hp-overlay-color, #000000);
  opacity: var(--hp-overlay-opacity, 0.25);
  transition: opacity 400ms var(--hp-ease);
}
.hp-banner:hover .hp-banner__overlay {
  opacity: calc(var(--hp-overlay-opacity, 0.25) + 0.08);
}
.hp-banner__content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  padding: 32px;
  z-index: 2;
  color: var(--hp-banner-text, #ffffff);
}
.hp-banner__content--bottom-left { justify-content: flex-end; align-items: flex-start; text-align: left; }
.hp-banner__content--bottom-center { justify-content: flex-end; align-items: center; text-align: center; }
.hp-banner__content--center { justify-content: center; align-items: center; text-align: center; }
.hp-banner__content--top-left { justify-content: flex-start; align-items: flex-start; text-align: left; }

.hp-banner__small-heading {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  opacity: 0.9;
  margin-bottom: 8px;
}
.hp-banner__heading {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin: 0 0 16px;
}
.hp-banner__description {
  font-size: 14px;
  line-height: 1.6;
  max-width: 420px;
  margin-bottom: 20px;
}

/* ---------- Editorial category cards ---------- */
.hp-editorial-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
}
@media screen and (min-width: 750px) {
  .hp-editorial-grid { grid-template-columns: repeat(2, 1fr); }
}
@media screen and (min-width: 990px) {
  .hp-editorial-grid { grid-template-columns: repeat(3, 1fr); }
}
.hp-editorial-card {
  position: relative;
  display: block;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  text-decoration: none;
  border-radius: var(--hp-card-radius, 0px);
}
.hp-editorial-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms var(--hp-ease);
}
.hp-editorial-card:hover .hp-editorial-card__image { transform: scale(1.08); }
.hp-editorial-card__overlay {
  display: block !important;
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0));
}
.hp-editorial-card__content {
  position: absolute;
  left: 20px;
  bottom: 18px;
  color: #ffffff;
  z-index: 2;
}
.hp-editorial-card__heading {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0;
}
.hp-editorial-card__subtitle {
  font-size: 12px;
  opacity: 0.85;
  margin-top: 2px;
}

/* ---------- Brand logos ---------- */
.hp-logos-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.hp-logos-track {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--hp-logo-spacing, 64px);
  width: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.hp-logos-track::-webkit-scrollbar { display: none; }
.hp-logo-item {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--hp-logo-height, 40px);
  max-width: var(--hp-logo-width, 140px);
  scroll-snap-align: start;
}
.hp-logo-item img {
  display: block; /* default inline display reserves descender
                      whitespace below the image, which throws off
                      vertical centering inside the flex row even
                      though align-items: center looks correct */
  max-height: 100%;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: var(--hp-logo-filter, none);
  opacity: 0.7;
  transition: filter 300ms ease, opacity 300ms ease, transform 300ms ease;
}
.hp-logo-item:hover img {
  filter: none;
  opacity: 1;
  transform: scale(1.04);
}

.hp-brand-social {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 28px;
}
.hp-brand-social__icon {
  display: inline-flex;
  color: var(--hp-social-icon-color, #111111);
  transition: color 300ms ease, transform 300ms ease;
}
.hp-brand-social__icon svg {
  width: var(--hp-social-icon-size, 18px);
  height: var(--hp-social-icon-size, 18px);
}
.hp-brand-social__icon:hover {
  color: var(--hp-social-icon-hover-color, #b3924a);
  transform: translateY(-2px);
}

/* ---------- Newsletter ---------- */
.hp-newsletter {
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 750px) {
  .hp-newsletter { grid-template-columns: 1fr 1fr; }
}
.hp-newsletter__image { position: relative; min-height: 260px; overflow: hidden; }
.hp-newsletter__image img,
.hp-newsletter__image video {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.hp-newsletter__form {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 48px;
  background: var(--hp-newsletter-bg, #ffffff);
}
.hp-newsletter__heading {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin: 0 0 10px;
}
.hp-newsletter__description { font-size: 14px; margin-bottom: 22px; opacity: 0.75; }
.hp-newsletter__input-row { display: flex; gap: 0; margin-bottom: 8px; }
.hp-newsletter__input {
  flex: 1;
  border: 1px solid var(--hp-border);
  border-right: none;
  padding: 13px 16px;
  font-size: 13px;
  outline: none;
}
.hp-newsletter__submit {
  border: none;
  background: var(--hp-gold);
  color: #ffffff;
  padding: 0 26px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 300ms ease;
}
.hp-newsletter__submit:hover { background: var(--hp-gold-dark); }
.hp-newsletter__success { font-size: 13px; color: #2e7d32; margin-top: 8px; }
.hp-newsletter__social { display: flex; gap: 14px; margin-top: 18px; }
.hp-newsletter__social a { color: inherit; display: inline-flex; }
.hp-newsletter__social svg { width: 16px; height: 16px; }

/* ---------- Split banner ---------- */
.hp-split {
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 750px) {
  .hp-split { grid-template-columns: 1fr 1fr; align-items: stretch; }
  .hp-split--reverse { direction: rtl; }
  .hp-split--reverse > * { direction: ltr; }
}
.hp-split__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 48px;
  background: var(--hp-split-bg, #ffffff);
  color: var(--hp-split-text, #111111);
}
.hp-split__media { position: relative; min-height: 320px; overflow: hidden; border-radius: var(--hp-split-radius, 0px); box-shadow: var(--hp-split-shadow, none); }
.hp-split__media img,
.hp-split__media video {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.hp-split__eyebrow { font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--hp-gold); margin-bottom: 10px; }
.hp-split__heading { font-size: 24px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; margin: 0 0 8px; }
.hp-split__subheading { font-size: 14px; opacity: 0.7; margin-bottom: 16px; }
.hp-split__description { font-size: 14px; line-height: 1.7; margin-bottom: 24px; max-width: 420px; }

/* ---------- Large hero banner (Section 3) ---------- */
.hp-hero-banner { position: relative; overflow: hidden; }
.hp-hero-banner__media { position: relative; width: 100%; height: 100%; }
.hp-hero-banner__media img,
.hp-hero-banner__media video {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.hp-hero-banner__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 40px 24px;
}
.hp-hero-banner__buttons { display: flex; gap: 14px; flex-wrap: wrap; }

@media screen and (max-width: 749px) {
  .hp-banner__content,
  .hp-hero-banner__content { padding: 24px; }
  .hp-banner__heading { font-size: 18px; }
}
