/** Shopify CDN: Minification failed

Line 14:18 Unexpected "{"
Line 14:27 Expected ":"
Line 14:34 Unexpected "{"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:collection-nav-tiles (INDEX:11) */
/* Stop wrapper from clipping tile shadows */
#shopify-section-{{ section.id }} {
  overflow: visible !important;
}

section.collection-nav-tiles {
  padding: 1.5rem 0 1.75rem; /* tighter spacing above & below */
  overflow: visible;
}

.collection-nav-tiles__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.collection-nav-tiles__heading {
  text-align: left;
  margin-bottom: 0.7rem; /* slightly less gap above tiles */
}

.collection-nav-tiles__heading-title {
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Horizontal scroller */
.collection-nav-tiles__scroller {
  margin: 0 -1.5rem;
  padding: 0.7rem 1.5rem 0.9rem; /* reduced vertical padding */
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;        /* Firefox */
  -ms-overflow-style: none;     /* IE / Edge */
  scroll-snap-type: x mandatory;
  scroll-padding-left: 1.5rem;
  scroll-padding-right: 1.5rem;
}

/* Hide scrollbar – WebKit */
.collection-nav-tiles__scroller::-webkit-scrollbar {
  display: none;
}

.collection-nav-tiles__track {
  display: flex;
  gap: 0.9rem;
  padding-bottom: 0.25rem;
  overflow: visible;
  justify-content: flex-start; /* default */
}

/* When there aren't enough cards to overflow, centre the row */
.collection-nav-tiles__track--centered {
  justify-content: center;
}

.collection-nav-tiles__card {
  scroll-snap-align: start;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 0 0 auto;
  width: 130px;
  max-width: 35vw;
}

/* Square thumb with rounded corners + deeper but tighter shadow */
.collection-nav-tiles__thumb {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 1.2rem;
  overflow: hidden;
  background: #f3f3f3;
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.22);
  position: relative;
  transition: transform 140ms ease-out, box-shadow 140ms ease-out;
}

.collection-nav-tiles__card:hover .collection-nav-tiles__thumb {
  transform: translateY(-4px);
  box-shadow: 0 20px 42px rgba(0, 0, 0, 0.26);
}

.collection-nav-tiles__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.collection-nav-tiles__placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  color: #777777;
}

/* Label under tile – underline accent */
.collection-nav-tiles__label {
  margin-top: 0.55rem;
  font-size: var(--tile-label-size, 0.8rem);
  font-weight: var(--tile-label-weight, 500);
  text-align: center;
  color: #111111;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  white-space: nowrap;
  position: relative;
}

.collection-nav-tiles__label::after {
  content: "";
  display: block;
  margin: 0.2rem auto 0;
  width: 52%;
  max-width: 40px;
  height: 2px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.14);
  transition: background 140ms ease-out, width 140ms ease-out;
}

.collection-nav-tiles__card:hover .collection-nav-tiles__label::after {
  background: rgba(0, 0, 0, 0.4);
  width: 68%;
}

/* Mobile – more edge-to-edge feel */
@media screen and (max-width: 640px) {
  .collection-nav-tiles__inner {
    padding: 0 1rem;
  }

  .collection-nav-tiles__scroller {
    margin: 0 -1rem;
    padding: 0.7rem 1rem 0.9rem;
    scroll-padding-left: 1rem;
    scroll-padding-right: 1rem;
  }
}

/* Slightly larger on bigger screens */
@media screen and (min-width: 900px) {
  .collection-nav-tiles__card {
    width: 150px;
    max-width: none;
  }

  .collection-nav-tiles__heading {
    margin-bottom: 0.9rem;
  }
}
/* END_SECTION:collection-nav-tiles */

/* START_SECTION:uf-hero (INDEX:110) */
/* --- Layout-agnostic base -------------------------------------------- */
.uf-hero {
  position: relative;
  width: 100%;
  background: var(--h-bg);
  isolation: isolate;
}

.uf-hero__inner {
  width: 100%;
  max-width: var(--h-max-width);
  margin: 0 auto;
  padding: var(--h-pad-block) var(--h-pad-inline);
}

.uf-hero__content {
  display: flex;
  flex-direction: column;
  gap: var(--h-stack-gap);
  width: 100%;
  text-align: var(--h-text-align-mobile);
  align-items: var(--h-items-mobile);
}

.uf-hero__figure {
  display: block;
  width: 100%;
}

.uf-hero__image {
  display: block;
  width: 100%;
  object-fit: cover;
  object-position: var(--h-focal);
}

.uf-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: var(--h-overlay);
}

/* --- Mobile presentation --------------------------------------------- */
@media screen and (max-width: 749px) {
  .uf-hero--m-overlay {
    display: flex;
    min-height: var(--h-height-mobile);
    overflow: hidden;
  }

  /* static so the absolutely positioned figure resolves against .uf-hero */
  .uf-hero--m-overlay .uf-hero__inner {
    position: static;
    display: flex;
    align-items: var(--h-valign-mobile);
    justify-content: var(--h-halign-mobile);
  }

  .uf-hero--m-overlay .uf-hero__content {
    position: relative;
    z-index: 2;
    max-width: var(--h-content-width-mobile);
  }

  .uf-hero--m-overlay .uf-hero__figure {
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: 0;
    background: none;
  }

  .uf-hero--m-overlay .uf-hero__image {
    height: 100%;
    aspect-ratio: auto;
  }

  .uf-hero--shadow.uf-hero--m-overlay .uf-hero__content {
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.5), 0 1px 3px rgba(0, 0, 0, 0.35);
  }

  .uf-hero--m-stack .uf-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--h-split-gap);
  }

  .uf-hero--m-stack .uf-hero__figure {
    order: var(--h-figure-order-mobile);
    border-radius: var(--h-figure-radius);
    overflow: hidden;
    background: var(--h-figure-bg);
  }

  .uf-hero--m-stack .uf-hero__image {
    aspect-ratio: var(--h-figure-ratio);
    height: auto;
  }

  .uf-hero--m-stack .uf-hero__overlay { display: none; }
}

/* --- Desktop presentation -------------------------------------------- */
@media screen and (min-width: 750px) {
  .uf-hero__content {
    text-align: var(--h-text-align);
    align-items: var(--h-items);
  }

  .uf-hero--d-overlay {
    display: flex;
    min-height: var(--h-height-desktop);
    overflow: hidden;
  }

  .uf-hero--d-overlay .uf-hero__inner {
    position: static;
    display: flex;
    align-items: var(--h-valign);
    justify-content: var(--h-halign);
  }

  .uf-hero--d-overlay .uf-hero__content {
    position: relative;
    z-index: 2;
    max-width: var(--h-content-width);
  }

  .uf-hero--d-overlay .uf-hero__figure {
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: 0;
    background: none;
  }

  .uf-hero--d-overlay .uf-hero__image {
    height: 100%;
    aspect-ratio: auto;
  }

  .uf-hero--shadow.uf-hero--d-overlay .uf-hero__content {
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.5), 0 1px 3px rgba(0, 0, 0, 0.35);
  }

  .uf-hero--d-split .uf-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--h-split-gap);
    align-items: var(--h-valign);
  }

  .uf-hero--d-split .uf-hero__figure {
    order: var(--h-figure-order);
    border-radius: var(--h-figure-radius);
    overflow: hidden;
    background: var(--h-figure-bg);
  }

  .uf-hero--d-split .uf-hero__image {
    aspect-ratio: var(--h-figure-ratio);
    height: auto;
  }

  .uf-hero--d-split .uf-hero__overlay { display: none; }

  .uf-hero__heading { font-size: var(--h-heading-size); }
  .uf-hero__text { font-size: var(--h-text-size); }

  /* Desktop colour overrides.
     These set the colour property directly rather than redefining the mobile
     custom properties, because those are declared inline on the block elements
     and an inline custom property would win over a rule that redefines it. */
  .uf-hero--dcolors .uf-hero__heading { color: var(--h-heading-color-d); }
  .uf-hero--dcolors .uf-hero__text { color: var(--h-text-color-d); }
  .uf-hero--dcolors .uf-hero__rating-text { color: var(--h-rating-color-d); }
  .uf-hero--dcolors .uf-hero__star { fill: var(--h-star-color-d); }
  .uf-hero--dcolors .uf-hero__trust { color: var(--h-trust-color-d); }

  .uf-hero--dcolors.uf-hero--accent-underline .uf-hero__heading strong {
    text-decoration-color: var(--h-accent-color-d);
  }

  .uf-hero--dcolors.uf-hero--accent-color .uf-hero__heading strong {
    color: var(--h-accent-color-d);
  }

  .uf-hero--dcolors.uf-hero--accent-highlight .uf-hero__heading strong {
    background: var(--h-accent-color-d);
    color: var(--h-accent-text-color-d);
  }

  .uf-hero--dcolors .uf-hero__button {
    background: var(--h-btn-bg-d);
    color: var(--h-btn-color-d);
    border-color: var(--h-btn-border-d);
  }

  .uf-hero__chips { justify-content: var(--h-items); }

  .uf-hero--dcolors .uf-hero__chip {
    background: var(--h-chip-bg-d);
    color: var(--h-chip-fg-d);
    border-color: var(--h-chip-border-d);
  }
}

/* --- Rating ---------------------------------------------------------- */
.uf-hero__rating {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.uf-hero__stars {
  display: flex;
  gap: 0.1em;
  font-size: var(--h-star-size);
  line-height: 1;
}

.uf-hero__star {
  width: 1em;
  height: 1em;
  display: block;
  fill: var(--h-star-color);
  flex: 0 0 auto;
}

.uf-hero__rating-text {
  font-size: var(--h-rating-size);
  font-weight: 600;
  color: var(--h-rating-color);
  margin: 0;
}

.uf-hero__rating-text p { margin: 0; }

/* Linked variant — the whole row becomes the tap target */
.uf-hero__rating--link {
  text-decoration: none;
  cursor: pointer;
  padding: 5px 0;
  transition: opacity 140ms ease-out;
}

.uf-hero__rating--link .uf-hero__rating-text {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
  text-decoration-color: color-mix(in srgb, currentColor 45%, transparent);
}

.uf-hero__rating--link:hover { opacity: 0.88; }

.uf-hero__rating--link:hover .uf-hero__rating-text {
  text-decoration-color: currentColor;
}

.uf-hero__rating--link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
  border-radius: 4px;
}

/* --- Headline -------------------------------------------------------- */
.uf-hero__heading {
  font-size: var(--h-heading-size-mobile);
  line-height: 1.12;
  font-weight: var(--h-heading-weight);
  color: var(--h-heading-color);
  margin: 0;
  letter-spacing: -0.01em;
}

.uf-hero__heading strong { font-weight: inherit; }

.uf-hero--accent-underline .uf-hero__heading strong {
  text-decoration: underline;
  text-decoration-thickness: 0.055em;
  text-underline-offset: 0.14em;
  text-decoration-color: var(--h-accent-color);
}

.uf-hero--accent-color .uf-hero__heading strong {
  color: var(--h-accent-color);
}

.uf-hero--accent-highlight .uf-hero__heading strong {
  background: var(--h-accent-color);
  color: var(--h-accent-text-color);
  padding: 0 0.16em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

/* --- Body text ------------------------------------------------------- */
.uf-hero__text {
  font-size: var(--h-text-size-mobile);
  line-height: 1.5;
  color: var(--h-text-color);
  margin: 0;
  max-width: var(--h-measure);
}

.uf-hero__text p { margin: 0; }
.uf-hero__text p + p { margin-top: 0.5em; }

/* --- Button ---------------------------------------------------------- */
.uf-hero__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-decoration: none;
  font-size: var(--btn-size);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.95em 2.2em;
  border-radius: var(--btn-radius);
  background: var(--btn-bg);
  color: var(--btn-color);
  border: 1px solid var(--btn-border);
  transition: transform 140ms ease-out, opacity 140ms ease-out;
  max-width: 100%;
  text-shadow: none;
}

.uf-hero__button--full { width: 100%; }
.uf-hero__button:hover { opacity: 0.9; }
.uf-hero__button:active { transform: scale(0.98); }

.uf-hero__button:focus-visible {
  outline: 2px solid var(--btn-bg);
  outline-offset: 3px;
}

/* --- Chips ----------------------------------------------------------- */
.uf-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--chip-gap);
  width: 100%;
  justify-content: var(--h-items-mobile);
}

.uf-hero__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  padding: 0.5em 0.9em;
  border-radius: var(--chip-radius);
  background: var(--chip-bg);
  color: var(--chip-fg);
  border: 1px solid var(--chip-border);
  font-size: var(--chip-size);
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  text-shadow: none;
}

.uf-hero__chip svg {
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
}

/* --- Trust line ------------------------------------------------------ */
.uf-hero__trust {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: var(--h-trust-size);
  color: var(--h-trust-color);
  /* auto falls back to the content stack's alignment */
  align-self: var(--trust-align, auto);
}

.uf-hero__trust p { margin: 0; }

.uf-hero__trust-icon {
  width: 1.15em;
  height: 1.15em;
  flex: 0 0 auto;
  fill: currentColor;
  display: block;
}

@media (prefers-reduced-motion: reduce) {
  .uf-hero__button,
  .uf-hero__rating--link { transition: none; }
}
/* END_SECTION:uf-hero */

/* START_SECTION:uf-story-rail (INDEX:120) */
.uf-story-rail {
  background: var(--sr-bg);
  padding-top: var(--sr-pad-top);
  padding-bottom: var(--sr-pad-bottom);
}

/* Visibility toggles handled in CSS so there is no flash of wrong content */
@media screen and (max-width: 989px) {
  .uf-story-rail--desktop-only { display: none; }
}

@media screen and (min-width: 990px) {
  .uf-story-rail--mobile-only { display: none; }
}

.uf-story-rail__inner {
  max-width: var(--sr-max-width);
  margin: 0 auto;
  padding: 0 var(--sr-edge);
}

.uf-story-rail__heading {
  margin: 0 0 0.75rem;
  font-size: var(--sr-heading-size);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--sr-label-color);
}

/* --- Scroller ------------------------------------------------------- */
.uf-story-rail__scroller {
  margin: 0 calc(var(--sr-edge) * -1);
  padding: 0.25rem var(--sr-edge) 0.35rem;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-snap-type: x proximity;
  scroll-padding-left: var(--sr-edge);
  overscroll-behavior-x: contain;
}

.uf-story-rail__scroller::-webkit-scrollbar { display: none; }

.uf-story-rail__track {
  display: flex;
  gap: var(--sr-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

.uf-story-rail__track--centered { justify-content: center; }

.uf-story-rail__item {
  flex: 0 0 auto;
  scroll-snap-align: start;
  width: var(--sr-size);
}

/* --- Card ----------------------------------------------------------- */
.uf-story-rail__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  text-decoration: none;
  color: inherit;
  -webkit-tap-highlight-color: transparent;
}

/* The ring is the gradient; its padding creates the ring thickness and the
   thumb covers the middle. Both are <span> elements: the ring is blockified
   for free as a flex item of the card, but the thumb is not, so it must be
   given an explicit display or it collapses and the gradient fills the disc. */
.uf-story-rail__ring {
  display: flex;
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  padding: var(--sr-ring-width);
  border-radius: var(--sr-radius);
  background: var(--sr-ring-bg);
  box-sizing: border-box;
  transition: transform 160ms ease-out, background 220ms ease-out;
}

.uf-story-rail__thumb {
  display: block;
  position: relative;
  flex: 1 1 auto;
  align-self: stretch;
  min-width: 0;
  border-radius: var(--sr-radius);
  overflow: hidden;
  background: #f1f1f1;
  border: var(--sr-ring-gap) solid var(--sr-bg);
  box-sizing: border-box;
}

.uf-story-rail__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.uf-story-rail__placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  color: #888888;
  text-align: center;
  padding: 0.4rem;
}

/* --- Label ---------------------------------------------------------- */
.uf-story-rail__label {
  font-size: var(--sr-label-size);
  font-weight: var(--sr-label-weight);
  line-height: 1.2;
  text-align: center;
  color: var(--sr-label-color);
  letter-spacing: 0.01em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--sr-label-lines);
  line-clamp: var(--sr-label-lines);
  overflow: hidden;
  width: 100%;
}

/* --- Viewed state (ring dims, like an opened story) ------------------ */
.uf-story-rail__item--viewed .uf-story-rail__ring {
  background: var(--sr-viewed-color);
}

/* --- Attention pulse on "new" items ---------------------------------- */
@keyframes uf-story-rail-pulse {
  0%, 100% { box-shadow: 0 0 0 0 var(--sr-pulse-color); }
  50%      { box-shadow: 0 0 0 6px transparent; }
}

.uf-story-rail__item--new:not(.uf-story-rail__item--viewed) .uf-story-rail__ring {
  animation: uf-story-rail-pulse 2.4s ease-out infinite;
}

/* --- Hover / focus --------------------------------------------------- */
@media (hover: hover) {
  .uf-story-rail__card:hover .uf-story-rail__ring { transform: scale(1.04); }
}

.uf-story-rail__card:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
  border-radius: 0.5rem;
}

.uf-story-rail__card:active .uf-story-rail__ring { transform: scale(0.96); }

@media (prefers-reduced-motion: reduce) {
  .uf-story-rail__ring { transition: none; }
  .uf-story-rail__item--new .uf-story-rail__ring { animation: none; }
  .uf-story-rail__scroller { scroll-behavior: auto; }
}

/* --- Desktop sizing --------------------------------------------------- */
@media screen and (min-width: 990px) {
  .uf-story-rail__item { width: var(--sr-size-desktop); }
}
/* END_SECTION:uf-story-rail */