/** Shopify CDN: Minification failed

Line 1741:6 Unexpected "{"
Line 1741:7 Expected identifier but found "%"
Line 1743:6 Unexpected "{"
Line 1743:7 Expected identifier but found "%"
Line 1745:6 Unexpected "{"
Line 1745:7 Expected identifier but found "%"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:accordion-with-image (INDEX:1) */
.accordion-with-image-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
  }

  .accordion-images {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-height: 400px;
    overflow: hidden;
    aspect-ratio: 15 / 16;
    width: 100%;
  }

  .accordion-image {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    height: 100%;
    width: 100%;
    min-height: 0;
    overflow: hidden;
  }

  .accordion-image--active {
    display: block;
    opacity: 1;
  }

  .accordion-image__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  }

  .accordion-image__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 400px;
    background: #f5f5f5;
    border-radius: 8px;
    color: #666;
    font-style: italic;
  }

  .accordion-content {
    display: flex;
    flex-direction: column;
  }

  .accordion-content .accordion {
    flex: 1;
    width: 100%;
    max-width: 763px;
  }

  .accordion-content .accordion--dividers accordion-custom:not(:first-child) .details {
    border-block-start: var(--style-border-width) solid color-mix(in srgb, var(--color-dark-brown) 50%, transparent);
  }

  /* When accordion borders are not set, show fallback borders */
  .accordion-content .accordion--dividers {
    --show-fallback-borders: 0;
  }

  .accordion-content .accordion--dividers:not([class*='color-'])[style*='--border-width: 0'],
  .accordion-content .accordion--dividers:not([class*='color-'])[style*='--border-style: none'] {
    --show-fallback-borders: 1;
  }

  .accordion-content .accordion--dividers accordion-custom:first-child .details {
    border-block-start: calc(var(--style-border-width) * var(--show-fallback-borders)) solid
      color-mix(in srgb, var(--color-dark-brown) 50%, transparent);
  }

  .accordion-content .accordion--dividers accordion-custom:last-child .details {
    border-block-end: calc(var(--style-border-width) * var(--show-fallback-borders)) solid
      color-mix(in srgb, var(--color-dark-brown) 50%, transparent);
  }

  /* Always show borders on first and last items when dividers are enabled */
  .accordion-content .accordion--dividers accordion-custom:first-child .details {
    border-block-start: var(--style-border-width) solid color-mix(in srgb, var(--color-dark-brown) 50%, transparent);
  }

  .accordion-content .accordion--dividers accordion-custom:last-child .details {
    border-block-end: var(--style-border-width) solid color-mix(in srgb, var(--color-dark-brown) 50%, transparent);
  }

  .accordion-content .accordion--dividers .details-content {
    padding-block-end: var(--padding-sm);
  }

  .accordion-with-image-section-inner accordion-custom details::details-content,
  .accordion-with-image-section-inner accordion-custom details .details-content {
    transition: padding-block 0.55s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
      block-size 0.55s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: block-size, opacity;
  }

  .accordion-with-image-section-inner accordion-custom details[open]::details-content,
  .accordion-with-image-section-inner accordion-custom details[open] .details-content {
    will-change: auto;
  }

  .accordion-content .accordion--caret .icon-plus,
  .accordion-content .accordion--plus .icon-caret {
    display: none;
  }

  /* Apply theme accordion header styling */
  .accordion-with-image-section-inner .details__header {
    font-family: var(--font-kennerley-swash);
    font-style: var(--summary-font-style);
    font-weight: var(--summary-font-weight);
    font-size: var(--summary-font-size);
    line-height: var(--summary-font-line-height);
    text-transform: var(--summary-font-case);
    min-height: var(--minimum-touch-target);
    letter-spacing: -2.8px;
    padding-top: 20px;
    padding-bottom: 20px;
    transition: text-shadow var(--animation-speed-slower) var(--animation-easing);
    width: fit-content;
  }

  .accordion-with-image-section-inner .details__header:hover {
    text-shadow: 0 0 30px var(--glow-color-dark);
  }

  .item-description {
    margin-bottom: 1rem;
  }

  .item-description:last-child {
    margin-bottom: 0;
  }

  /* Mobile responsiveness */
  @media (max-width: 768px) {
    .accordion-with-image-section-inner {
      padding-left: 0px;
      padding-right: 0px;
    }

    .accordion-with-image-container {
      grid-template-columns: 1fr;
      gap: 2rem;
    }

    .accordion-images {
      position: static;
      order: 1;
    }

    .accordion-content {
      order: 2;
    }

    .accordion-trigger {
      padding: 1rem 0;
      font-size: 1rem;
    }
  }

  /* Focus styles for accessibility */
  .accordion-trigger:focus {
    outline: 2px solid #007bff;
    outline-offset: 2px;
  }

  /* Full width layout */
  .section--full-width .accordion-with-image-container {
    padding-inline: var(--page-margin);
  }

  @media (max-width: 749px) {
    .section--full-width .accordion-with-image-container {
      padding-inline: var(--page-margin-mobile);
    }
  }
/* END_SECTION:accordion-with-image */

/* START_SECTION:collection-links (INDEX:2) */
collection-links-component {
    --alignment: flex-start;

    display: grid;
    align-items: center;
    grid-gap: var(--gap-3xl);

    &:has([ratio='portrait']) {
      --template-column-ratio: 0.8fr;
    }

    &:has([ratio='square']) {
      --template-column-ratio: 1fr;
    }

    &:has([ratio='landscape']) {
      --template-column-ratio: 1.4fr;
    }

    &[alignment='center'] {
      --alignment: center;

      .text-block {
        text-align: center;
      }
    }

    &[alignment='right'] {
      --alignment: flex-end;

      .text-block {
        text-align: right;
      }
    }

    &[layout='spotlight'] {
      position: relative;
      grid-template-columns: 1fr var(--template-column-ratio);
      grid-template-areas: 'text image';

      &[reverse] {
        grid-template-areas: 'image text';
        grid-template-columns: var(--template-column-ratio) 1fr;
      }

      .collection-links__container {
        align-items: var(--alignment);
      }

      @media (max-width: 749px) {
        grid-template-columns: 1fr;
        grid-template-areas: 'text' 'image';
        grid-gap: var(--gap-2xl);

        .collection-links__container {
          gap: clamp(var(--gap-xs), 1vw, var(--gap-xl)) var(--gap-2xl);
          justify-content: var(--alignment);
        }
      }
    }

    &[layout='text'] {
      grid-gap: 0;
      grid-template-areas: 'text';

      .collection-links__container {
        gap: clamp(var(--gap-xs), 1vw, var(--gap-xl)) var(--gap-2xl);
        flex-wrap: wrap;
        flex-direction: row;
        justify-content: var(--alignment);
      }
    }
  }

  .collection-links__container {
    display: flex;
    gap: var(--gap-md);
    flex-direction: column;
  }

  .collection-links__images {
    overflow: hidden;
    grid-area: image;

    @media (max-width: 749px) {
      image-block {
        max-width: 100%;
      }
    }
  }
/* END_SECTION:collection-links */

/* START_SECTION:comparison-table (INDEX:4) */
.comparison-table,
  .comparison-table__background {
    --comparison-table-text: var(--color-dark-brown, #291406);
    --comparison-table-muted: rgb(41 20 6 / 0.54);
    --comparison-table-sand: #e9e4da;
    --comparison-table-label-bg: rgb(233 228 218 / 0.55);
    --comparison-table-row-alt: rgb(0 0 0 / 0.04);
    --comparison-table-mark: #910048;
    --comparison-table-cream: #f2efe9;
    --comparison-table-radius: 22px;
    --comparison-table-col-min: 11.5rem;
    --comparison-table-emphasis-lift: 1.125rem;

    /* !important: theme forces .section { background: transparent } */
    background-color: var(--comparison-table-background-color, transparent) !important;
    background-image: var(--comparison-table-background-image, none) !important;
    background-position: var(--page-texture-position, center) !important;
    background-size: var(--page-texture-size, auto) var(--page-texture-size, auto) !important;
    background-repeat: var(--page-texture-repeat, repeat) !important;
    background-blend-mode: var(--page-texture-blend, normal) !important;
  }

  .comparison-table__defs {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
  }

  .comparison-table__inner {
    width: 100%;
    max-width: 58.75rem;
    margin-inline: auto;
  }

  .comparison-table__header {
    display: grid;
    justify-items: center;
    gap: 0.75rem;
    margin-block-end: clamp(0.75rem, 1.5vw, 1.25rem);
    text-align: center;
  }

  .comparison-table__stamp {
    display: flex;
    width: var(--comparison-table-stamp-width, 86px);
    align-items: center;
    justify-content: center;
  }

  .comparison-table__stamp img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    mix-blend-mode: multiply;
    opacity: 0.9;
  }

  .comparison-table__heading :is(h1, h2, h3, p) {
    margin: 0;
    color: var(--comparison-table-text);
    font-family: var(--font-shango-gothic-medium);
    font-size: clamp(2rem, 4.5vw, 3.5rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 0.85;
    text-wrap: balance;
  }

  .comparison-table__heading em {
    font-family: var(--font-mrs-saint-delafield);
    font-size: 1.85em;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 0.8;
  }

  .comparison-table__scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .comparison-table__scroll::-webkit-scrollbar {
    display: none;
  }

  .comparison-table__frame {
    position: relative;
    min-width: 0;
    width: 100%;
  }

  @media screen and (min-width: 750px) {
    .comparison-table__frame {
      min-width: 40rem;
    }

    .comparison-table__frame--variety {
      min-width: 52rem;
    }
  }

  .comparison-table__frame--vs_competitor {
    padding-block: var(--comparison-table-emphasis-lift);
  }

  .comparison-table__table {
    position: relative;
    z-index: 1;
    width: 100%;
    min-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    background-color: transparent;
  }

  .comparison-table__corner,
  .comparison-table__label {
    width: var(--comparison-table-col-min);
    background-color: transparent;
    color: var(--comparison-table-text);
    font-family: var(--font-shango-gothic-bold);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    vertical-align: middle;
  }

  .comparison-table__corner {
    border-radius: 0.75rem 0 0 0;
  }

  .comparison-table__label {
    padding: 1rem 0.75rem;
  }

  .comparison-table__table tbody tr:last-child .comparison-table__label {
    border-radius: 0 0 0 0.75rem;
  }

  .comparison-table__col {
    position: relative;
    width: var(--comparison-table-col-min);
    padding: 1.25rem 0.75rem 1rem;
    color: var(--comparison-table-text);
    font-family: var(--font-shango-gothic-bold);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    vertical-align: top;
  }

  .comparison-table__col-heading,
  .comparison-table__col-subtitle {
    display: block;
  }

  .comparison-table__col-subtitle {
    margin-block-start: 0.65rem;
    color: inherit;
    font-family: var(--font-kennerley-bold-italic);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 0.9;
    margin: 20px 0px 10px;
  }

  .comparison-table__cell {
    padding: 0.85rem 0.75rem;
    color: var(--comparison-table-text);
    font-family: var(--font-kennerley-bold);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.3;
    text-align: center;
    vertical-align: middle;
  }

  .comparison-table__cell-text {
    display: block;
  }

  .comparison-table__mark {
    display: inline-flex;
    color: var(--comparison-table-mark);
    line-height: 0;
  }

  .comparison-table__row--alt .comparison-table__label {
    background-color: var(--comparison-table-row-alt);
  }

  .comparison-table__row--alt .comparison-table__cell {
    background-image: linear-gradient(var(--comparison-table-row-alt), var(--comparison-table-row-alt));
  }

  /* Variety: accent bars with Figma GRAIN edge treatment */
  .comparison-table__table--variety .comparison-table__col {
    background-color: #d6cfc5;
  }

  .comparison-table__table--variety .comparison-table__col--2 {
    background-color: var(--comparison-table-sand);
  }

  .comparison-table__table--variety .comparison-table__col--1::before,
  .comparison-table__table--variety .comparison-table__col--2::before,
  .comparison-table__table--variety .comparison-table__col--3::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 9px;
    pointer-events: none;
    filter: var(--comparison-table-grunge);
  }

  .comparison-table__table--variety .comparison-table__col--1::before {
    background-color: var(--comparison-table-accent-1);
  }

  .comparison-table__table--variety .comparison-table__col--2::before {
    background-color: var(--comparison-table-accent-2);
  }

  .comparison-table__table--variety .comparison-table__col--3::before {
    background-color: var(--comparison-table-accent-3);
  }

  .comparison-table__table--variety .comparison-table__col--1 {
    border-radius: 4px 0 0 0;
  }

  .comparison-table__table--variety .comparison-table__col--3 {
    border-radius: 0 4px 0 0;
  }

  .comparison-table__table--variety .comparison-table__cell--1 {
    background-color: #d6cfc5;
  }

  .comparison-table__table--variety .comparison-table__cell--2 {
    background-color: var(--comparison-table-sand);
  }

  .comparison-table__table--variety .comparison-table__cell--3 {
    background-color: #d6cfc5;
  }

  .comparison-table__table--variety tbody tr:last-child .comparison-table__cell--3 {
    border-radius: 0 0 0.75rem 0;
  }

  /* VS competitor: single accent pillar with Figma GRAIN edge treatment */
  .comparison-table__accent-pillar {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 33.333%;
    z-index: 0;
    width: 33.333%;
    pointer-events: none;
    background-color: var(--comparison-table-accent-1);
    border-radius: var(--comparison-table-radius);
    filter: var(--comparison-table-grunge);
  }

  .comparison-table__table--vs_competitor .comparison-table__col--2,
  .comparison-table__table--vs_competitor .comparison-table__cell--2 {
    color: var(--comparison-table-muted);
    background-color: var(--comparison-table-sand);
  }

  .comparison-table__table--vs_competitor .comparison-table__col--1,
  .comparison-table__table--vs_competitor .comparison-table__cell--1 {
    position: relative;
    z-index: 1;
    background-color: transparent;
    color: var(--comparison-table-accent-text);
  }

  .comparison-table__table--vs_competitor .comparison-table__col--2 {
    border-radius: 0 0.75rem 0 0;
  }

  .comparison-table__table--vs_competitor tbody tr:last-child .comparison-table__cell--2 {
    border-radius: 0 0 0.75rem 0;
  }

  .comparison-table__table--vs_competitor .comparison-table__col--1 .comparison-table__col-heading,
  .comparison-table__table--vs_competitor .comparison-table__col--1 .comparison-table__col-subtitle,
  .comparison-table__table--vs_competitor .comparison-table__cell--1 .comparison-table__cell-text,
  .comparison-table__table--vs_competitor .comparison-table__cell--1 .comparison-table__mark {
    color: inherit;
  }

  .comparison-table__table--vs_competitor .comparison-table__row--alt .comparison-table__cell--1 {
    background-image: none;
  }

  @media (prefers-contrast: more) {
    .comparison-table__row--alt .comparison-table__label {
      background-color: rgb(0 0 0 / 0.1);
    }

    .comparison-table__col--2,
    .comparison-table__cell--2 {
      color: var(--comparison-table-text);
    }

    .comparison-table__accent-pillar {
      outline: 2px solid var(--comparison-table-text);
      outline-offset: -2px;
    }
  }

  /* Mobile: fit full table in viewport (no clipped columns / scrollbar) */
  @media screen and (max-width: 749px) {
    .comparison-table__scroll {
      overflow-x: hidden;
    }

    .comparison-table__table {
      width: 100%;
      max-width: 100%;
      min-width: 0;
    }

    .comparison-table__corner,
    .comparison-table__label,
    .comparison-table__col {
      width: 30%;
    }

    .comparison-table__table--variety .comparison-table__corner,
    .comparison-table__table--variety .comparison-table__label,
    .comparison-table__table--variety .comparison-table__col {
      width: 25%;
    }

    .comparison-table__label,
    .comparison-table__col,
    .comparison-table__cell {
      padding-inline: 0.5rem;
    }
  }
/* END_SECTION:comparison-table */

/* START_SECTION:featured-authors (INDEX:7) */
.featured-authors,
  .featured-authors__background {
    background-color: var(--featured-authors-background-color, transparent) !important;
    background-image: var(--featured-authors-background-image, none) !important;
    background-position: var(--page-texture-position, center) !important;
    background-size: var(--page-texture-size, auto) var(--page-texture-size, auto) !important;
    background-repeat: var(--page-texture-repeat, repeat) !important;
    background-blend-mode: var(--page-texture-blend, normal) !important;
  }

  .featured-authors__inner {
    width: 100%;
    max-width: 1200px;
    margin-inline: auto;
    padding-block: var(--featured-authors-padding-top) var(--featured-authors-padding-bottom);
  }

  .section--full-width .featured-authors__inner {
    padding-inline: var(--page-margin);
  }

  .featured-authors__header {
    width: min(100%, var(--featured-authors-heading-width));
    margin-inline: auto;
    margin-block-end: clamp(2.5rem, 6vw, 5rem);
    text-align: center;
  }

  .featured-authors__header-icon {
    display: flex;
    width: var(--featured-authors-icon-width);
    margin: 0 auto 24px;
    align-items: center;
    justify-content: center;
  }

  .featured-authors__header-icon img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .featured-authors__heading :is(h1, h2, h3, p),
  .featured-authors__text :is(p, h1, h2, h3) {
    margin: 0;
  }

  .featured-authors__heading :is(h1, h2, h3, p) {
    color: #291406;
    font-family: var(--font-shango-gothic-medium);
    font-size: clamp(2rem, 4vw, 52px);
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 0.8;
  }

  .featured-authors__text {
    max-width: 635px;
    margin: clamp(1rem, 2vw, 1.5rem) auto 0;
    color: #291406;
    font-family: var(--font-kennerley);
    font-size: clamp(1.1rem, 2.25vw, 29px);
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 0.8;
  }

  .featured-authors__groups {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: var(--featured-authors-group-gap);
  }

  @media screen and (max-width: 989px) {
    .featured-authors__groups {
      grid-template-columns: 1fr;
      gap: max(4rem, var(--featured-authors-group-gap));
    }

    .featured-authors__group {
      width: min(100%, 38rem);
      margin-inline: auto;
    }
  }

  @media screen and (max-width: 749px) {
    .featured-authors__inner {
      padding-block: min(var(--featured-authors-padding-top), 56px) min(var(--featured-authors-padding-bottom), 56px);
    }

    .featured-authors__header {
      margin-block-end: 2.75rem;
    }
  }
/* END_SECTION:featured-authors */

/* START_SECTION:featured-product (INDEX:8) */
.featured-product-section .section-content-wrapper {
    grid-template-columns: 1fr;
    display: grid;
    overflow: hidden;

    @media (min-width: 750px) {
      grid-template-columns: 1fr 1fr;
    }
  }

  /* Here I should maybe set the width to auto when the ratio is set to adapt */
  .featured-product-section .product-media-container.constrain-height {
    /* arbitrary offset value based on average theme spacing and header height */
    --viewport-offset: 400px;
    --constrained-min-height: var(--visual-preview--height, 80dvh);

    @media screen and (min-width: 750px) {
      --viewport-offset: 300px;
    }
  }

  .featured-product-section .product-grid__card {
    --padding-block: 20px;
    --padding-inline: 20px;

    @media screen and (min-width: 750px) {
      --padding-block: 40px;
      --padding-inline: 40px;
    }
  }

  @media screen and (max-width: 749px) {
    .featured-product-section .media-block {
      order: -1;
    }
  }
/* END_SECTION:featured-product */

/* START_SECTION:footer (INDEX:9) */
footer {
    z-index: 3;
  }

  .footer--has-overlay {
    position: initial;
  }

  .stamp-bg {
    position: absolute;
    top: 0;
    left: calc(50% - 80px);
    background-color: #370a16;
    width: 160px;
    height: 160px;
    border-radius: 100%;
    transform: translateY(-40%);
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .footer-overlay-image__logo {
    width: 127px;
  }
/* END_SECTION:footer */

/* START_SECTION:formula-breakdown (INDEX:10) */
.formula-breakdown,
  .formula-breakdown__background {
    --formula-breakdown-text: var(--color-dark-brown, #291406);
    --formula-breakdown-muted: rgb(41 20 6 / 0.72);
    --formula-breakdown-body-size: 1.125rem;
    --formula-breakdown-radius: 4px;
    --formula-breakdown-row-gap: clamp(3rem, 7vw, 5.5rem);
    --formula-breakdown-cell-gap: clamp(1.5rem, 4vw, 3rem);

    /* !important: theme forces .section { background: transparent } */
    background-color: var(--formula-breakdown-background-color, transparent) !important;
    background-image: var(--formula-breakdown-background-image, none) !important;
    background-position: var(--page-texture-position, center) !important;
    background-size: var(--page-texture-size, auto) var(--page-texture-size, auto) !important;
    background-repeat: var(--page-texture-repeat, repeat) !important;
    background-blend-mode: var(--page-texture-blend, normal) !important;
  }

  .formula-breakdown__inner {
    width: 100%;
    max-width: 75rem;
    margin-inline: auto;
    padding-inline: clamp(1rem, 3vw, 2.25rem);
    padding-block: clamp(2rem, 4vw, 3.75rem);
  }

  .formula-breakdown__header {
    display: grid;
    justify-items: center;
    gap: 0.75rem;
    margin-block-end: clamp(2rem, 4vw, 3rem);
    text-align: center;
  }

  .formula-breakdown__heading :is(h1, h2, h3, p) {
    margin: 0;
    color: var(--formula-breakdown-text);
    font-family: var(--font-shango-gothic-medium);
    font-size: clamp(2rem, 4.5vw, 3.5rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 0.85;
    text-wrap: balance;
  }

  .formula-breakdown__heading em {
    font-family: var(--font-mrs-saint-delafield);
    font-size: 1.85em;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 0.8;
  }

  .formula-breakdown__rows {
    display: grid;
    gap: var(--formula-breakdown-row-gap);
  }

  .formula-breakdown__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      'media'
      'content';
    gap: var(--formula-breakdown-cell-gap);
    align-items: center;
  }

  .formula-breakdown__row--card {
    padding: clamp(1.25rem, 3vw, 2rem);
    background-color: var(--formula-breakdown-card-background, transparent);
    background-image: var(--formula-breakdown-card-texture, none);
    background-position: var(--page-texture-position, center);
    background-size: var(--page-texture-size, auto) var(--page-texture-size, auto);
    background-repeat: var(--page-texture-repeat, repeat);
    background-blend-mode: var(--page-texture-blend, normal);
    border-radius: var(--formula-breakdown-radius);
  }

  .formula-breakdown__media {
    grid-area: media;
    min-width: 0;
    width: min(100%, var(--formula-breakdown-image-size, 20rem));
  }

  .formula-breakdown__image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: var(--formula-breakdown-media-ratio, auto);
    border-radius: var(--formula-breakdown-radius);
    object-fit: cover;
  }

  .formula-breakdown__content {
    display: flex;
    grid-area: content;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    text-align: start;
  }

  .formula-breakdown__title {
    margin: 0;
    margin-block-end: 1rem;
    color: var(--formula-breakdown-text);
    font-family: var(--font-shango-gothic-medium);
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1;
    text-wrap: balance;
  }

  .formula-breakdown__lede :is(p) {
    margin: 0;
    margin-block-end: 1rem;
    max-width: 46ch;
    color: var(--formula-breakdown-text);
    font-family: var(--font-kennerley-italic);
    font-size: clamp(1.25rem, 2.2vw, 1.5rem);
    line-height: 1.25;
    letter-spacing: -0.02em;
    text-wrap: pretty;
    overflow-wrap: break-word;
  }

  .formula-breakdown__dek :is(p) {
    margin: 0;
    margin-block-end: 0.75rem;
    max-width: 46ch;
    color: var(--formula-breakdown-muted);
    font-family: var(--font-kennerley);
    font-size: var(--formula-breakdown-body-size);
    line-height: 1.45;
    letter-spacing: -0.01em;
    text-wrap: pretty;
    overflow-wrap: break-word;
  }

  .formula-breakdown__more :is(p) {
    margin: 0;
    max-width: 46ch;
    color: var(--formula-breakdown-muted);
    font-family: var(--font-kennerley);
    font-size: var(--formula-breakdown-body-size);
    line-height: 1.45;
    letter-spacing: -0.01em;
    text-wrap: pretty;
    overflow-wrap: break-word;
  }

  .formula-breakdown__cta-wrapper {
    margin-block-start: 1.75rem;
  }

  .formula-breakdown__footnote :is(p) {
    margin: 0;
    margin-block-start: clamp(2rem, 4vw, 3rem);
    color: var(--formula-breakdown-muted);
    font-family: var(--font-kennerley);
    font-size: 0.875rem;
    line-height: 1.4;
    text-align: center;
  }

  @media screen and (min-width: 750px) {
    .formula-breakdown__row {
      grid-template-columns: minmax(0, var(--formula-breakdown-image-size)) minmax(0, 1fr);
      grid-template-areas: 'media content';
    }

    .formula-breakdown__row--reverse {
      grid-template-columns: minmax(0, 1fr) minmax(0, var(--formula-breakdown-image-size));
      grid-template-areas: 'content media';
    }

    .formula-breakdown__row--no-media {
      grid-template-columns: minmax(0, 1fr);
      grid-template-areas: 'content';
    }

    .formula-breakdown__media {
      width: 100%;
    }
  }
/* END_SECTION:formula-breakdown */

/* START_SECTION:header-announcements (INDEX:11) */
.announcement-bar__background {
    background-color: var(--color-review-red) !important;
  }

  .announcement-bar {
    background-color: var(--color-review-red);
    border-block-end: var(--border-bottom-width) solid var(--color-border);
  }

  @media screen and (max-width: 749px) {
    .announcement-bar {
      padding-inline: 8px;
    }
  }

  .announcement-bar__slider {
    display: flex;
    flex-direction: row;
    align-items: center;
    position: relative;

    @media screen and (max-width: 749px) {
      grid-column: 1 / -1;
    }
  }

  .announcement-bar__slides {
    display: grid;
    grid: [stack] auto / [stack] auto;
    width: 100%;
    max-width: 680px;
    margin-inline: auto;
  }

  .announcement-bar__slides > * {
    grid-area: stack;
  }

  .announcement-bar__slide {
    transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;

    &[aria-hidden='true'] {
      opacity: 0;
      visibility: hidden;
    }
  }

  .announcement-bar__slide {
    place-content: center;
  }

  .announcement-bar__text {
    color: var(--color-white) !important;
    text-transform: uppercase;
    margin: 0;
    font-family: var(--font-shango-gothic-medium);
    font-weight: 500;
    font-size: 0.75rem !important; /* 12px on mobile */
    line-height: 1.2 !important;
    letter-spacing: 0.02em !important;
  }

  /* Override custom typography font size for announcement bar */
  .announcement-bar__slide.custom-typography .announcement-bar__text,
  .announcement-bar__slide.custom-font-size .announcement-bar__text {
    font-size: 0.75rem !important; /* 12px on mobile */
  }

  @media screen and (min-width: 750px) {
    .announcement-bar__text {
      font-size: 0.875rem !important; /* 14px on desktop */
    }

    .announcement-bar__slide.custom-typography .announcement-bar__text,
    .announcement-bar__slide.custom-font-size .announcement-bar__text {
      font-size: 0.875rem !important; /* 14px on desktop */
    }
  }

  .announcement-bar__text a {
    color: var(--color-white) !important;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em;
  }

  .announcement-bar__text a:hover,
  .announcement-bar__text a:focus {
    color: var(--color-white) !important;
    text-decoration-thickness: 1px;
  }

  .announcement-bar__link {
    position: absolute;
    inset: 0;
  }
/* END_SECTION:header-announcements */

/* START_SECTION:header (INDEX:12) */
body {
    --header-height: 0px;
    --header-group-height: var(--header-height);
    --transparent-header-offset-boolean: 0; /* stylelint-disable-line declaration-property-value-disallowed-list */
    --header-motion-duration: 320ms;
    --header-motion-easing: cubic-bezier(0.22, 1, 0.36, 1);
  }

  body:has(> #header-group > header) {
    --header-height: 60px;
  }

  body:has(> #header-group:empty) {
    --header-group-height: 0px;
  }

  .header[transparent] {
    --language-button-background-color: transparent;
    --language-button-border-color: transparent;

    /* used to apply transparency to .header__row, will only ever be transparent or unset */
    --header-bg-color: transparent;

    /* used to display the appropriate logo based on transparency state */
    --header-logo-display: none;
    --header-logo-inverse-display: block;

    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin-left: 40px;
    margin-right: 40px;

    /* transparent color scheme on .header should never apply its background color */
    background-color: transparent;
    z-index: var(--layer-overlay);

    /* When transparent header becomes sticky after scrolling, show non-transparent styling */
    &[data-transparent-scrolled='true'][data-sticky-state='active'] {
      --header-logo-display: unset;
      --header-logo-inverse-display: unset;
      --header-bg-color: unset;
      --color-foreground: inherit;
      --color-foreground-rgb: inherit;
      --color-background: inherit;
      --color-background-rgb: inherit;
      --color-border: inherit;
      --color-border-rgb: inherit;

      /* Keep absolute positioning - header-section handles sticky positioning */
      position: absolute;
      z-index: var(--layer-temporary);
      margin-left: 0;
      margin-right: 0;
      border-bottom: 1px solid rgba(41, 20, 6, 0.4);

      /* Opacity transition defined here, but opacity value comes from opacity rules */
      transition: opacity var(--animation-speed) var(--animation-easing);

      .header__row {
        /* Faster transition for "in" animation */
        transition: color var(--animation-values-fast), border-color var(--animation-values-fast),
          background-color var(--animation-values-fast);

        /* Remove top margin when sticky to align with top of viewport */
        margin-top: 0;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
      }
    }

    /* Keep sticky header layout intact during fade-out to prevent flash */
    &[data-transparent-scrolled='true']:not([data-sticky-state='active']) {
      /* Maintain sticky header layout during fade-out */
      --header-logo-display: unset;
      --header-logo-inverse-display: unset;
      --header-bg-color: unset;
      --color-foreground: inherit;
      --color-foreground-rgb: inherit;
      --color-background: inherit;
      --color-background-rgb: inherit;
      --color-border: inherit;
      --color-border-rgb: inherit;

      position: absolute;
      z-index: var(--layer-sticky);
      margin-left: 0;
      margin-right: 0;

      /* Opacity transition defined here, but opacity value comes from opacity rules */
      transition: opacity var(--animation-speed) var(--animation-easing);

      .header__row {
        margin-top: 0;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
      }
    }

    &[transparent='not-sticky'][data-sticky-state='active'] {
      --header-logo-display: unset;
      --header-logo-inverse-display: unset;
      --header-bg-color: unset;
      --color-foreground: inherit;
      --color-foreground-rgb: inherit;
      --color-background: inherit;
      --color-background-rgb: inherit;
      --color-border: inherit;
      --color-border-rgb: inherit;

      .header__row {
        /* Faster transition for "in" animation */
        transition: color var(--animation-values-fast), border-color var(--animation-values-fast),
          background-color var(--animation-values-fast);
      }
    }

    .header__row {
      /* Slower transition for "out" animation */
      transition: color var(--animation-values-slow), border-color var(--animation-values-slow),
        background-color var(--animation-values-slow);

      /* Add 40px spacing between header row and container for transparent headers */
      margin-top: 40px;
      /* margin-left: 40px;
      margin-right: 40px; */
    }

    /* When the mobile drawer is open, force transparent headers to render as solid */
    &[data-mobile-drawer-open='true'] {
      --header-logo-display: unset;
      --header-logo-inverse-display: unset;
      --header-bg-color: var(--page-texture-color);
      --color-foreground: inherit;
      --color-foreground-rgb: inherit;
      --color-background: inherit;
      --color-background-rgb: inherit;
      --color-border: inherit;
      --color-border-rgb: inherit;

      position: absolute;
      z-index: var(--layer-sticky);
      margin-left: 0;
      margin-right: 0;
      border-bottom: 1px solid rgba(41, 20, 6, 0.4);

      @media screen and (max-width: 749px) {
        /* Drawer-open state must be anchored to viewport, not document flow. */
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
      }

      .header__row {
        margin-top: 0;
        background-color: var(--page-texture-color) !important;
        background-image: var(--page-texture-image) !important;
        background-position: var(--page-texture-position) !important;
        background-size: var(--page-texture-size) var(--page-texture-size) !important;
        background-repeat: var(--page-texture-repeat) !important;
        background-blend-mode: var(--page-texture-blend) !important;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
      }
    }

    /* Disable mega menu functionality on transparent headers */
    header-menu .menu-list__list-item[aria-haspopup] {
      pointer-events: none;
    }

    header-menu .menu-list__list-item[aria-haspopup] .menu-list__link {
      pointer-events: auto;
    }

    header-menu .menu-list__submenu {
      display: none !important;
    }

    header-menu .overflow-menu::part(overflow) {
      display: none !important;
    }

    @media screen and (max-width: 749px) {
      /* Mobile-specific styles for transparent headers */
      margin-left: 24px;
      margin-right: 24px;
    }

    @media screen and (max-width: 749px) {
      /* Keep drawer close from showing a transient header background block. */
      .header__row {
        transition: color var(--animation-values-slow), border-color var(--animation-values-slow),
          background-color 0s linear;
      }
    }
  }

  /* Sticky overlay header: fixed, initially hidden, shown when scrolled past hero (data-visible set by JS) */
  header-component[data-sticky-overlay] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--layer-sticky);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--header-motion-duration) var(--header-motion-easing),
      transform var(--header-motion-duration) var(--header-motion-easing);
  }

  header-component[data-sticky-overlay][data-visible] {
    opacity: 1;
    pointer-events: auto;
  }

  /* Hide sticky overlay on scroll down, show on scroll up */
  header-component[data-sticky-overlay][data-visible][data-header-hidden] {
    opacity: 0;
    transform: translateY(calc(-100% - 1px));
  }

  :is(.header[transparent]:not([data-sticky-state='active']), .header[transparent='always'][data-sticky-state='active'])
    .header__row:not(
      :has(
          .mega-menu__list:hover,
          .menu-list__link[aria-haspopup]:is(:hover, [aria-expanded='true'], [data-animating]),
          .menu-list__list-item[slot='overflow'] .menu-list__link:is(:hover, [aria-expanded='true'], [data-animating])
        )
    ) {
    /* while transparent, header-row ignores its color-scheme settings, pull from the header-component */
    --color-foreground: inherit;
    --color-foreground-rgb: inherit;
    --color-border: inherit;
    --color-border-rgb: inherit;
    --color-primary-button-background: inherit;
    --color-primary-button-text: inherit;
  }

  /* Only show opaque background when hovering over menu items with children (mega menu) - disabled for transparent headers */
  .header:not([transparent]):has(.mega-menu__list:hover),
  .header:not([transparent]):has(.menu-list__link[aria-haspopup]:is(:hover, [aria-expanded='true'], [data-animating])),
  .header:not([transparent]):has(
      .menu-list__list-item[slot='overflow'] .menu-list__link:is(:hover, [aria-expanded='true'], [data-animating])
    ) {
    --header-logo-display: unset;
    --header-logo-inverse-display: unset;
    --header-bg-color: unset;
    --color-foreground: inherit;
    --color-foreground-rgb: inherit;
    --color-background: inherit;
    --color-background-rgb: inherit;
    --color-border: inherit;
    --color-border-rgb: inherit;

    .header__row {
      /* Faster transition for "in" animation */
      transition: color var(--animation-values-fast), border-color var(--animation-values-fast),
        background-color var(--animation-values-fast);
    }
  }

  /* Prevent color changes on transparent headers when hovering menu items - must come after other rules */
  .header[transparent] .header__row,
  .header[transparent]:has(.menu-list__link[aria-haspopup]:is(:hover, [aria-expanded='true'], [data-animating]))
    .header__row,
  .header[transparent]:has(
      .menu-list__list-item[slot='overflow'] .menu-list__link:is(:hover, [aria-expanded='true'], [data-animating])
    )
    .header__row {
    --color-foreground: inherit !important;
    --color-foreground-rgb: inherit !important;
    --color-background: inherit !important;
    --color-background-rgb: inherit !important;
    --color-border: inherit !important;
    --color-border-rgb: inherit !important;
  }

  /* Disable color scheme changes on menu hover for transparent headers */
  .header:not([transparent]).header--inherit-color-scheme-on-menu-open:has(.mega-menu__list:hover) .header__row,
  .header:not([transparent]).header--inherit-color-scheme-on-menu-open:has(
      .menu-list__link[aria-haspopup]:is(:hover, [aria-expanded='true'], [data-animating])
    )
    .header__row,
  .header:not([transparent]).header--inherit-color-scheme-on-menu-open:has(
      .menu-list__list-item[slot='overflow'] .menu-list__link:is(:hover, [aria-expanded='true'], [data-animating])
    )
    .header__row {
    --color-foreground: inherit;
    --color-foreground-rgb: inherit;
    --color-background: inherit;
    --color-background-rgb: inherit;
    --color-border: inherit;
    --color-border-rgb: inherit;
  }

  .header-section {
    position: relative;
  }

  #header-group:has(#header-component[sticky]) {
    display: contents;
  }

  .header-section:has(> #header-component[sticky='always']),
  .header-section:has(> #header-component[sticky='scroll-up'][data-sticky-state='active']) {
    position: sticky;

    /* Use -1 instead of 0 so intersection observer can track sticky state */
    top: -1px;
    z-index: var(--layer-sticky);
    border-bottom: 1px solid #b7b1ab;

    /* Hide header on scroll down, show on scroll up */
    transition: transform var(--header-motion-duration) var(--header-motion-easing);
  }

  /* Hide header when scrolling down */
  .header-section:has(> #header-component[data-header-hidden]) {
    transform: translateY(calc(-100% - 1px));
  }

  @media screen and (max-width: 749px) {
    /* Keep the mobile header anchored while the drawer is open. */
    .header-section:has(> #header-component[data-mobile-drawer-open]) {
      position: sticky;
      top: 0;
      z-index: var(--layer-temporary);
      transform: translateY(0);
    }

    /* Prevent sticky-hide transforms from moving the header offscreen mid-drawer. */
    #header-component[data-mobile-drawer-open][data-header-hidden],
    #header-component[transparent][data-transparent-scrolled='true'][sticky='always'][data-mobile-drawer-open][data-header-hidden] {
      transform: translateY(0);
    }
  }

  /* Hide transparent sticky header when scrolling down - apply transform to the component itself
     since the header-section has 0 height due to absolute positioning */
  #header-component[transparent][data-transparent-scrolled='true'][sticky='always'] {
    transition: transform var(--header-motion-duration) var(--header-motion-easing);
    transform: translateY(0);
  }

  #header-component[transparent][data-transparent-scrolled='true'][sticky='always'][data-header-hidden] {
    transform: translateY(calc(-100% - 1px));
  }

  /* Make header-section sticky when transparent header becomes sticky after scrolling */
  .header-section:has(> #header-component[transparent][data-transparent-scrolled='true'][sticky='always']) {
    position: sticky;
    top: -1px;
    z-index: var(--layer-sticky);
    border-bottom: 1px solid rgba(41, 20, 6, 0.4);

    /* Hide header on scroll down, show on scroll up */
    transition: transform var(--header-motion-duration) var(--header-motion-easing);
  }

  /* Base transition for sticky state */
  .header[data-sticky-state='active'] {
    view-transition-name: sticky-header;
  }

  .header__row {
    position: relative;

    /* will default to bg from its color scheme unless --header-bg-color is transparent */
    background-color: var(--header-bg-color, var(--color-background));

    /* On mobile, header row must be above the menu drawer so border and shadow stay visible */
    @media screen and (max-width: 749px) {
      z-index: calc(var(--layer-menu-drawer) + 1);
    }
  }

  /* Apply background texture to non-transparent headers */
  .header:not([transparent]) .header__row {
    background-color: var(--page-texture-color) !important;
    background-image: var(--page-texture-image) !important;
    background-position: var(--page-texture-position) !important;
    background-size: var(--page-texture-size) var(--page-texture-size) !important;
    background-repeat: var(--page-texture-repeat) !important;
    background-blend-mode: var(--page-texture-blend) !important;
  }

  /* Apply background texture to transparent headers when they become sticky after scrolling */
  .header[data-sticky-state='active'] .header__row {
    background-color: var(--page-texture-color) !important;
    background-image: var(--page-texture-image) !important;
    background-position: var(--page-texture-position) !important;
    background-size: var(--page-texture-size) var(--page-texture-size) !important;
    background-repeat: var(--page-texture-repeat) !important;
    background-blend-mode: var(--page-texture-blend) !important;
  }

  /* Add bottom drop shadow for non-transparent headers only */
  .header:not([transparent]) .header__row {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  }

  /* Add 40px margin around the entire header */
  .header {
    position: relative;
  }

  @media screen and (max-width: 749px) {
    /* Mobile border rules only apply to transparent headers */
    .header[transparent] .header__row--top:not(.divider--page-width),
    .header[transparent] .header__row--top.divider--page-width .header__columns {
      border-bottom-width: var(--border-bottom-width-mobile);
    }
  }

  .header__row.divider--page-width:not(.section--page-width) .header__columns {
    @media screen and (min-width: 750px) {
      padding-inline-start: 0;
      padding-inline-end: 0;
      margin-inline-start: var(--page-margin);
      margin-inline-end: var(--page-margin);
    }
  }

  .header__column {
    display: flex;
    align-items: center;

    /* on mobile, header__column nodes are ignored to create a new grid-template-area based on all visible content */
    @media screen and (max-width: 749px) {
      display: contents;
    }
  }

  .header__column--left,
  .header__column--center {
    gap: var(--gap-xl);
    grid-area: left;
  }

  .header__column--center {
    justify-content: center;
    grid-area: center;

    header-menu:only-child .overflow-menu::part(list) {
      justify-content: center;
    }
  }

  .header__column--right {
    gap: var(--gap-xl);
    justify-content: flex-end;
    grid-area: right;

    .overflow-menu::part(list) {
      justify-content: flex-end;
    }
  }

  .header__columns {
    /* Three column layout */
    --header-center: auto;
    --header-left: minmax(max-content, 1fr);
    --header-right: minmax(max-content, 1fr);
    --header-template-columns: var(--header-left) var(--header-center) var(--header-right);

    /* Mobile layout */
    --header-mobile-bookend: 44px;

    display: grid;
    grid-template-areas: 'left center right';
    grid-gap: var(--gap-xl);
    padding-left: 40px;
    padding-right: 40px;
    grid-template-columns: var(--header-template-columns);

    /* If menu is in center column */
    &:has(.header__column--center header-menu) {
      --header-center: auto;
      --header-left: minmax(max-content, 1fr);
      --header-right: minmax(max-content, 1fr);
    }

    /* If there is no center column, make the column the menu is in grow eagerly */
    &:where(:not(:has(.header__column--center))) {
      @media screen and (min-width: 750px) {
        --header-template-columns: var(--header-left) var(--header-right);

        grid-template-areas: 'left right';
      }

      /* If the header-menu is in the right column */
      &:has(.header__column--right header-menu) {
        --header-right: auto;
        --header-left: minmax(max-content, 1fr);
      }

      /* If the header-menu is in the left column */
      &:has(.header__column--left header-menu) {
        --header-left: auto;
        --header-right: minmax(max-content, 1fr);
      }
    }

    @media screen and (max-width: 749px) {
      --header-template-columns: var(--header-mobile-bookend) 21px 1fr 21px var(--header-mobile-bookend);

      grid-template-areas: 'leftA leftB center rightA rightB';
      grid-column: span 3;
      column-gap: 0;
      align-items: center;
      padding: 16px;

      .header-logo {
        grid-area: center;
      }

      &:not(:has(header-actions)) .search-action {
        grid-area: leftB;
      }

      &:not(:has(.account-actions)) .search-action {
        grid-area: rightA;
      }

      .search-action {
        grid-area: leftB;
      }

      header-actions {
        grid-area: rightB;
      }
    }
  }

  /* Single column layout if there are no columns within */
  .header__columns:not(:has(.header__column)) {
    grid-template-columns: 1fr;
  }

  /* Ensure smooth transitions for all interactive elements */
  header-menu,
  .header-actions__action,
  .dropdown-localization__button,
  .header__icon--menu {
    transition: opacity var(--animation-speed) var(--animation-easing);
  }

  /* Set header paddings based on height setting */
  .header {
    --header-padding: var(--padding-sm);
    --font-paragraph--line-height: 1;
  }

  .header.header--compact {
    --header-padding: var(--padding-2xs);
  }

  .header__columns {
    --padding-block-start: 16px;
    --padding-block-end: 13px;
  }
  @media screen and (max-width: 749px) {
    .header__columns {
      padding: 14px 0px;
    }
  }

  .header:not(.header--compact) .header__row--bottom {
    --header-padding: var(--padding-sm);
  }

  .header--collapse-row-paddings {
    .header__row--top .header__columns {
      --padding-block-end: 0px;
    }

    .header__row--bottom .header__columns {
      --padding-block-start: 0px;
    }
  }

  /* When the header is transparent, add a margin to a potential header-section below it */
  .header-section:has(.header[transparent]) + .shopify-section {
    margin-top: var(--header-height);
  }

  /* When the header is transparent, and when there is no header-section below it, offset the first main-section with
   * the height of the header
   */

  main > .shopify-section:first-child .section:not(.disable-section-top-offset) {
    &.spacing-style,
    .spacing-style {
      --section-top-offset: calc(var(--header-height) * var(--transparent-header-offset-boolean));

      /* Any nested sections should not be offset */
      :is(.spacing-style, .inherit-spacing) {
        --section-top-offset: 0px;
      }
    }

    /* Make sticky content immediately stick to the top of the page */
    .sticky-content {
      margin-top: calc(var(--header-height) * var(--transparent-header-offset-boolean) * -1);
    }
  }
/* END_SECTION:header */

/* START_SECTION:hero (INDEX:13) */
.hero-wrapper {
    --hero-height-offset: 0px;
  }

  /* Being extra specific in the selector for performance reasons */
  body:has(> #header-group > .header-section > #header-component) .hero-wrapper:first-child {
    --hero-height-offset: var(--header-group-height, 0);
  }

  .hero {
    position: relative;
    min-height: calc(var(--hero-min-height) - var(--hero-height-offset));
    z-index: var(--layer-raised)
  }

  @media screen and (max-width: 749px) {
    .hero {
      {% if section.settings.section_height_mobile == 'auto' %}
        min-height: auto;
      {% elsif section.settings.section_height_mobile != blank %}
        min-height: calc(var(--hero-min-height-mobile) - var(--hero-height-offset));
      {% endif %}
    }
  }

  .hero[data-shopify-visual-preview] {
    --hero-min-height: 600px;

    min-height: 600px;
  }

  .hero__container {
    position: relative;
    border: var(--hero-border-width) var(--hero-border-style) rgb(var(--color-border-rgb) / var(--hero-border-opacity));
    min-height: inherit;
    align-items: var(--vertical-alignment-mobile);
    justify-content: var(--horizontal-alignment);
    z-index: var(--layer-base);

    @media screen and (min-width: 750px) {
      align-items: var(--vertical-alignment);
    }
  }

  .hero__content-wrapper.page-width {
    grid-column: 2 / 3;
  }

  .hero__content-wrapper {
    position: relative;
    inset: 0;
    color: #f2efe9;
    z-index: var(--layer-flat);
  }

  .hero__content-wrapper .group-block-content {
    position: relative;
  }

  .hero__media-wrapper {
    position: absolute;
    inset: 0;
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(var(--hero-media-count, 1), 1fr);
  }

  .hero--auto .hero__image,
  .hero--auto .hero__video {
    aspect-ratio: var(--hero-media-aspect-ratio);
  }

  .hero--no-blocks-auto-height {
    :is(.hero__image, .hero__video) {
      width: 100%;
      aspect-ratio: auto;
    }

    .hero__media-wrapper {
      /* When there are no blocks and the height is auto, allow the image to appear. */
      position: relative;
    }
  }

  .hero__image,
  .hero__video,
  .hero__video-poster {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center center;
    overflow: hidden;
    position: relative;
    z-index: var(--layer-base);
  }

  /* Mobile image visibility */
  .hero__image--mobile {
    display: block;
  }

  .hero__image--desktop {
    display: none;
  }

  @media screen and (min-width: 750px) {
    .hero__image--mobile {
      display: none;
    }

    .hero__image--desktop {
      display: block;
    }

    /* If only mobile image exists (no desktop images), show it on desktop too */
    .hero__media-wrapper:not(:has(.hero__image--desktop)) .hero__image--mobile {
      display: block;
    }
  }

  .hero__video-wrapper {
    position: relative;
  }

  .hero__video-poster {
    position: absolute;
  }

  .hero__link {
    position: absolute;
    inset: 0;
    grid-column: 1 / -1;
  }

  .hero__media-wrapper,
  .hero__content-wrapper {
    pointer-events: none;

    :is(a, button, input, textarea, select) {
      pointer-events: auto;
    }
  }

  .hero__content-wrapper--design-mode * {
    pointer-events: auto;
  }

  .hero[data-blur-shadow='true'] {
    --blurred-reflection-filter-saturate: saturate(1.5);
    --blurred-reflection-mask-image: linear-gradient(to bottom, #000 0%, #000 60%, transparent 100%);
    --blurred-reflection-box-shadow: rgb(0 0 0 / 5%) 0 0 1rem;
    --blurred-reflection-filter-blur: blur(20px);
    --blurred-reflection-scale: scale(2, 1.25);
    --blurred-reflection-padding-block-end: 60px;
  }

  .hero[data-blur-shadow='true'] .hero__container {
    overflow: inherit;
  }

  .hero[data-blur-shadow='true'] .hero__container::before {
    content: '';
    position: absolute;
    inset: 0;
    box-shadow: var(--blurred-reflection-box-shadow);
    mix-blend-mode: overlay;
    pointer-events: none;
    z-index: -1;
  }

  .hero__blurred-image {
    position: absolute;
    inset: 0;
    z-index: -1;
    mask-image: var(--blurred-reflection-mask-image);
    filter: var(--blurred-reflection-filter-saturate);
    pointer-events: none;
    transform: translateY(50%);
    overflow: hidden;
  }

  .hero__blurred-image img,
  .hero__blurred-image svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    filter: var(--blurred-reflection-filter-blur);
    opacity: var(--blur-opacity);
    transform: var(--blurred-reflection-scale);
    padding-block-end: var(--blurred-reflection-padding-block-end);

    &:not(:only-child) {
      width: 50%;

      &:last-child {
        right: 0;
        left: auto;
      }
    }
  }

  .hero__border-bottom-left {
    position: absolute;
    bottom: 16px;
    left: 16px;
    z-index: 1;
  }
  @media screen and (min-width: 750px) {
    .hero__border-bottom-left {
      bottom: 25px;
      left: 25px;
    }
  }
  .hero__border-top-left {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 1;
  }
  @media screen and (min-width: 750px) {
    .hero__border-top-left {
      top: 25px;
      left: 25px;
    }
  }
  .hero__border-top-right {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 1;
  }
  @media screen and (min-width: 750px) {
    .hero__border-top-right {
      top: 25px;
      right: 25px;
    }
  }
  .hero__border-bottom-right {
    position: absolute;
    bottom: 16px;
    right: 16px;
    z-index: 1;
  }
  @media screen and (min-width: 750px) {
    .hero__border-bottom-right {
      bottom: 25px;
      right: 25px;
    }
  }

  /* Horizontal bars */
  .hero__border-horizontal-top {
    position: absolute;
    top: 16px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    width: calc(100% - 90px); /* Account for corner pieces (16px + 16px + corner width + clearance) */
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    overflow: hidden;
  }
  @media screen and (min-width: 750px) {
    .hero__border-horizontal-top {
      top: 25px;
      width: calc(100% - 108px); /* Account for corner pieces (25px + 25px + corner width + clearance) */
    }
  }

  .hero__border-horizontal-bottom {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    width: calc(100% - 90px); /* Account for corner pieces */
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    overflow: hidden;
  }
  @media screen and (min-width: 750px) {
    .hero__border-horizontal-bottom {
      bottom: 25px;
      width: calc(100% - 108px); /* Account for corner pieces */
    }
  }

  /* Vertical bars */
  .hero__border-vertical-left {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    height: calc(100% - 90px); /* Account for corner pieces + clearance */
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    overflow: hidden;
  }
  @media screen and (min-width: 750px) {
    .hero__border-vertical-left {
      left: 25px;
      height: calc(100% - 108px); /* Account for corner pieces + clearance */
    }
  }

  .hero__border-vertical-right {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    height: calc(100% - 90px); /* Account for corner pieces + clearance */
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    overflow: hidden;
  }
  @media screen and (min-width: 750px) {
    .hero__border-vertical-right {
      right: 25px;
      height: calc(100% - 108px); /* Account for corner pieces + clearance */
    }
  }

  /* SVG styling for repeated patterns */
  .hero__border-horizontal-top svg,
  .hero__border-horizontal-bottom svg {
    width: 71px;
    height: 6px;
    flex-shrink: 0;
    margin: 0;
    padding: 0;
    display: block;
    vertical-align: top;
    margin-right: -2px; /* Overlap slightly to eliminate gaps */
  }

  .hero__border-vertical-left svg,
  .hero__border-vertical-right svg {
    width: 6px;
    height: 72px;
    flex-shrink: 0;
    margin: 0;
    padding: 0;
    display: block;
    vertical-align: top;
    margin-bottom: -2px; /* Overlap slightly to eliminate gaps */
  }

  /* Ensure no gaps between SVG elements */
  .hero__border-horizontal-top,
  .hero__border-horizontal-bottom {
    gap: 0;
  }

  .hero__border-vertical-left,
  .hero__border-vertical-right {
    gap: 0;
  }
/* END_SECTION:hero */

/* START_SECTION:icon-4-up (INDEX:14) */
.icon-4-up-section-wrapper {
    background-color: var(--icon-4-up-background-color, transparent) !important;
    background-image: var(--icon-4-up-background-image, none) !important;
    background-position: var(--page-texture-position, center) !important;
    background-size: var(--page-texture-size, auto) var(--page-texture-size, auto) !important;
    background-repeat: var(--page-texture-repeat, repeat) !important;
    background-blend-mode: var(--page-texture-blend, normal) !important;
    --icon-4-up-padding-block: clamp(2rem, 4vw, 3.75rem);
    --icon-4-up-padding-inline: clamp(1rem, 3vw, 2.25rem);
    --icon-4-up-column-gap: clamp(1.25rem, 3vw, 3rem);
    --icon-4-up-row-gap: clamp(1.75rem, 4vw, 3rem);
    --icon-4-up-icon-size: 3.25rem;
  }

  .icon-4-up-section-background {
    background-color: var(--icon-4-up-background-color, transparent) !important;
    background-image: var(--icon-4-up-background-image, none) !important;
    background-position: var(--page-texture-position, center) !important;
    background-size: var(--page-texture-size, auto) var(--page-texture-size, auto) !important;
    background-repeat: var(--page-texture-repeat, repeat) !important;
    background-blend-mode: var(--page-texture-blend, normal) !important;
  }

  .icon-4-up-section {
    width: 100%;
    padding-inline: var(--icon-4-up-padding-inline);
    padding-block: var(--icon-4-up-padding-block);
  }

  .icon-4-up-section__content {
    width: 100%;
    max-width: var(--normal-page-width);
    margin-inline: auto;
  }

  .icon-4-up-section__grid {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    column-gap: var(--icon-4-up-column-gap);
    row-gap: var(--icon-4-up-row-gap);
  }

  .icon-4-up-section__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .icon-4-up-section__icon-wrapper {
    width: var(--icon-4-up-icon-size);
    height: var(--icon-4-up-icon-size);
    margin-block-end: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .icon-4-up-section__icon-image,
  .icon-4-up-section__icon-fallback {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
  }

  .icon-4-up-section__icon-fallback {
    fill: currentcolor;
    color: var(--color-foreground-heading);
  }

  .icon-4-up-section__title {
    margin: 0;
    margin-block-end: 4px;
    font-family: var(--font-kennerley-small-caps-bold);
    font-size: 0.875rem;
    line-height: 1.4;
    letter-spacing: 0;
    color: var(--color-foreground);
    text-transform: none !important;
  }

  .icon-4-up-section__body {
    margin: 0;
    font-family: var(--font-kennerley);
    font-size: 1rem;
    line-height: 1.4;
    letter-spacing: -0.02em;
    color: var(--color-foreground);
    max-width: 25ch;
  }

  .icon-4-up-section__grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  @media screen and (min-width: 350px) {
    .icon-4-up-section__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      row-gap: 48px;
    }

    .icon-4-up-section__grid--five > .icon-4-up-section__item:last-child {
      grid-column: 1 / -1;
      width: calc((100% - var(--icon-4-up-column-gap)) / 2);
      justify-self: center;
    }
  }

  @media screen and (min-width: 750px) {
    .icon-4-up-section-wrapper {
      --icon-4-up-icon-size: 4.75rem;
    }
  }

  @media screen and (min-width: 800px) {
    .icon-4-up-section__grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .icon-4-up-section__grid.icon-4-up-section__grid--five {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .icon-4-up-section__grid--five > .icon-4-up-section__item:last-child {
      grid-column: auto;
      width: auto;
    }
  }
/* END_SECTION:icon-4-up */

/* START_SECTION:ingredient-categories (INDEX:15) */
.ingredient-categories,
  .ingredient-categories__background {
    --ingredient-categories-text: var(--color-dark-brown, #291406);
    --ingredient-categories-muted: rgb(41 20 6 / 0.72);
    --ingredient-categories-rule: rgb(41 20 6 / 0.15);
    --ingredient-categories-column-gap: clamp(1.25rem, 3vw, 3rem);
    --ingredient-categories-row-gap: clamp(2rem, 4vw, 3rem);
    --ingredient-categories-icon-size: 3.75rem;

    /* !important: theme forces .section { background: transparent } */
    background-color: var(--ingredient-categories-background-color, transparent) !important;
    background-image: var(--ingredient-categories-background-image, none) !important;
    background-position: var(--page-texture-position, center) !important;
    background-size: var(--page-texture-size, auto) var(--page-texture-size, auto) !important;
    background-repeat: var(--page-texture-repeat, repeat) !important;
    background-blend-mode: var(--page-texture-blend, normal) !important;
  }

  .ingredient-categories__inner {
    width: 100%;
    max-width: 75rem;
    margin-inline: auto;
    padding-inline: clamp(1rem, 3vw, 2.25rem);
    padding-block: clamp(2rem, 4vw, 3.75rem);
  }

  .ingredient-categories__header {
    display: grid;
    justify-items: center;
    gap: 0.75rem;
    margin-block-end: clamp(2rem, 4vw, 3rem);
    text-align: center;
  }

  .ingredient-categories__heading :is(h1, h2, h3, p) {
    margin: 0;
    color: var(--ingredient-categories-text);
    font-family: var(--font-shango-gothic-medium);
    font-size: clamp(2rem, 4.5vw, 3.5rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 0.85;
    text-wrap: balance;
  }

  .ingredient-categories__heading em {
    font-family: var(--font-mrs-saint-delafield);
    font-size: 1.85em;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 0.8;
  }

  .ingredient-categories__lede :is(p) {
    margin: 0;
    max-width: 40ch;
    color: var(--ingredient-categories-text);
    font-family: var(--font-kennerley);
    font-size: 1.25rem;
    line-height: 1.35;
    letter-spacing: -0.01em;
    text-wrap: pretty;
  }

  .ingredient-categories__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    column-gap: var(--ingredient-categories-column-gap);
    row-gap: var(--ingredient-categories-row-gap);
  }

  .ingredient-categories__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    text-align: center;
  }

  .ingredient-categories__icon {
    display: inline-flex;
    width: var(--ingredient-categories-icon-size);
    height: var(--ingredient-categories-icon-size);
    margin-block-end: 1rem;
    align-items: center;
    justify-content: center;
  }

  .ingredient-categories__icon-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .ingredient-categories__title {
    margin: 0;
    margin-block-end: 0.5rem;
    color: var(--ingredient-categories-text);
    font-family: var(--font-kennerley-small-caps-bold);
    font-size: 24px;
    line-height: 1.3;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .ingredient-categories__description {
    margin: 0;
    max-width: 28ch;
    color: var(--ingredient-categories-muted);
    font-family: var(--font-kennerley);
    font-size: 1rem;
    line-height: 1.4;
    letter-spacing: -0.01em;
    text-wrap: pretty;
    overflow-wrap: break-word;
  }

  .ingredient-categories__list {
    width: 100%;
    margin: 0;
    margin-block-start: 1.25rem;
    padding-inline-start: 0;
    border-block-start: 1px solid var(--ingredient-categories-rule);
    list-style: none;
  }

  .ingredient-categories__item {
    padding-block: 0.625rem;
    border-block-end: 1px solid var(--ingredient-categories-rule);
    color: var(--ingredient-categories-text);
    font-family: var(--font-shango-gothic-medium);
    font-size: 0.875rem;
    line-height: 1.3;
    letter-spacing: 0.01em;
    overflow-wrap: break-word;
  }

  /* 600px: the theme editor canvas can be as narrow as ~665px on desktop */
  @media screen and (min-width: 600px) {
    .ingredient-categories__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media screen and (min-width: 1000px) {
    .ingredient-categories__grid {
      grid-template-columns: repeat(var(--ingredient-categories-columns, 4), minmax(0, 1fr));
    }
  }
/* END_SECTION:ingredient-categories */

/* START_SECTION:main-blog-post (INDEX:17) */
.blog-post-comments-container {
    width: 100%;
    max-width: var(--normal-content-width);
    margin: 0 auto;
  }

  .blog-post-comments {
    display: flex;
    flex-direction: column;
    gap: var(--gap-3xl);
  }

  .blog-post-comment__author {
    display: flex;
    align-items: center;
    gap: var(--gap-2xs);
    margin-top: var(--margin-md);
    font-size: var(--font-size--body-sm);
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
  }

  .blog-post-comments-pagination {
    display: flex;
    justify-content: center;
    gap: var(--gap-2xs);
  }

  .blog-post-comments-pagination,
  .blog-post-comments-pagination a {
    color: var(--color-foreground);
  }

  .blog-post-comments-pagination .current {
    color: var(--color-foreground);
  }

  .blog-post-comments-pagination .current,
  .blog-post-comments-pagination a {
    display: block;
    padding: var(--padding-2xs) var(--padding-xs);
  }

  .blog-post-comments-pagination .current,
  .blog-post-comments-pagination a:hover {
    border-bottom: 1px solid var(--color-foreground);
  }
/* END_SECTION:main-blog-post */

/* START_SECTION:main-blog (INDEX:18) */
/**
   * Blog posts page layout
   */
  .blog-posts {
    --page-content-width: var(--narrow-page-width);
    --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2));
    --columns-gap: 36px;
    --rows-gap: 36px;
  }

  .blog-posts-container {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1rem;
    width: 100%;
    column-gap: var(--columns-gap);
    row-gap: var(--rows-gap);
  }

  /**
   * Apart from the first and second rows in the grid, all remaining blog posts
   * are arranged in a three-column layout:
   * +------------+------------+-------------+
   * |            |            |             |
   * |  (span 2)  |  (span 2)  |  (span 2)   |
   * |            |            |             |
   * +------------+------------+-------------+
   */
  .blog-post-item {
    --blog-post-card-scale: 0.6;

    grid-column: span 2;

    @media screen and (max-width: 749px) {
      --blog-post-card-scale: 0.5;

      grid-column: span 6;
    }
  }

  /**
   * The second row of blog posts has two columns:
   * +-------------------+-------------------+
   * |                   |                   |
   * |  (column span 3)  |  (column span 3)  |
   * |                   |                   |
   * +-------------------+-------------------+
   */
  .blog-post-item:nth-child(2),
  .blog-post-item:nth-child(3) {
    --blog-post-card-scale: 0.8;

    grid-column: span 3;

    @media screen and (max-width: 749px) {
      --blog-post-card-scale: 0.5;

      grid-column: span 6;
    }
  }

  /**
   * The first row of blog posts has only one column:
   * +---------------------------------------+
   * |                                       |
   * |           (1 column span 6)           |
   * |                                       |
   * +---------------------------------------+
   */
  .blog-post-item:first-child {
    --blog-post-card-scale: 1;

    grid-column: span 6;
  }

  /**
   * When there's no image, the blog post item has a border.
   */
  .blog-post-item {
    border: 1px solid rgb(var(--color-foreground-rgb) / var(--opacity-20));
    padding: 0 1rem 1rem;
  }

  .blog-post-item:has(.blog-post-card__image-container) {
    border: none;
    padding: 0;
  }
/* END_SECTION:main-blog */

/* START_SECTION:main-cart (INDEX:19) */
.cart-page {
    --cart-font-size--2xs: var(--font-size--2xs);
    --cart-font-size--xs: var(--font-size--xs);
    --cart-font-size--sm: var(--font-size--sm);
    --cart-font-size--md: var(--font-size--md);
    --cart-font-size--2xl: var(--font-size--2xl);

    display: grid;
    grid-template-columns: 1fr;
    gap: 0 var(--padding-5xl);
    min-height: 70vh;
  }

  .cart-page--empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .cart-page--empty .cart-page__title,
  .cart-page--empty .cart-page__more-blocks {
    margin-top: var(--margin-6xl);
  }

  .cart-page__more-blocks {
    width: 100%;
  }

  .cart-page--empty .cart-title {
    text-align: center;
  }

  .cart-page__main {
    grid-column: 1;
  }

  .cart-page__summary {
    padding-top: var(--padding-xl);
  }

  @media screen and (min-width: 750px) {
    .cart-page {
      grid-template-columns: 1fr min(50vw, var(--sidebar-width));
      grid-template-rows: min-content min-content 1fr;
    }

    .cart-page__summary {
      display: grid;
      height: 100%;
      grid-column: 2;
      grid-row: 1 / -1;
      align-self: stretch;
      grid-template-rows: subgrid;
      padding-top: 0;

      /* needed to support blurred effect from hero section */
      position: relative;
    }

    .section--page-width .cart-page:has(.cart__container--extend) {
      grid-column: 2 / 4;
      grid-template-columns: 1fr minmax(
          var(--sidebar-width),
          calc((100vw - var(--page-width)) / 2 + var(--sidebar-width))
        );
    }

    .cart__container--extend {
      height: 100%;
    }
  }

  @media screen and (min-width: 1400px) {
    .cart-page {
      grid-template-columns: 1fr var(--sidebar-width);
    }
  }
/* END_SECTION:main-cart */

/* START_SECTION:main-collection (INDEX:21) */
.main-collection-grid {
    grid-column: var(--grid-column--mobile);

    @media screen and (min-width: 750px) {
      grid-column: var(--grid-column--desktop);
    }
  }

  .collection-wrapper {
    @media screen and (min-width: 750px) {
      grid-template-columns:
        1fr repeat(
          var(--centered-column-number),
          minmax(0, calc((var(--page-width) - var(--page-margin) * 2) / var(--centered-column-number)))
        )
        1fr;
    }
  }

  .collection-wrapper:has(.facets-block-wrapper--full-width),
  .collection-wrapper:has(.collection-wrapper--full-width) {
    @media screen and (min-width: 750px) {
      grid-column: 1 / -1;
      grid-template-columns:
        minmax(var(--page-margin), 1fr) repeat(
          var(--centered-column-number),
          minmax(0, calc((var(--page-width) - var(--page-margin) * 2) / var(--centered-column-number)))
        )
        minmax(var(--page-margin), 1fr);
    }
  }

  .collection-wrapper:has(.facets--vertical) .facets-block-wrapper--vertical:not(.hidden) ~ .main-collection-grid {
    @media screen and (min-width: 750px) {
      grid-column: var(--facets-vertical-col-width) / var(--full-width-column-number);
    }
  }

  .collection-wrapper:has(.facets-block-wrapper--vertical:not(#filters-drawer)):has(.collection-wrapper--full-width) {
    @media screen and (min-width: 750px) {
      grid-column: 1 / -1;
      grid-template-columns: 0fr repeat(var(--centered-column-number), minmax(0, 1fr)) 0fr;
    }
  }

  :is(.collection-wrapper--full-width, .collection-wrapper--full-width-on-mobile)
    [product-grid-view='default']
    .product-grid__card {
    @media screen and (max-width: 749px) {
      padding-inline-start: max(var(--padding-xs), var(--padding-inline-start));
      padding-inline-end: max(var(--padding-xs), var(--padding-inline-end));
    }
  }

  :is(.collection-wrapper--full-width, .collection-wrapper--full-width-on-mobile)
    [product-grid-view='mobile-single']
    .product-grid__card {
    @media screen and (max-width: 749px) {
      padding-inline-start: max(var(--padding-xs), var(--padding-inline-start));
      padding-inline-end: max(var(--padding-xs), var(--padding-inline-end));
    }
  }

  /* Make product media go edge-to-edge by using negative margins */
  :is(.collection-wrapper--full-width) .card-gallery,
  :is(.collection-wrapper--full-width-on-mobile) .card-gallery {
    @media screen and (max-width: 749px) {
      margin-inline-start: calc(-1 * max(var(--padding-xs), var(--padding-inline-start)));
      margin-inline-end: calc(-1 * max(var(--padding-xs), var(--padding-inline-end)));
    }
  }
/* END_SECTION:main-collection */

/* START_SECTION:main-recipe-post (INDEX:23) */
.recipe-post {
    --recipe-accent: #690033;
    --recipe-ink: #291406;
    --recipe-mulberry: #690033;
    --recipe-pill-blue: #403C87;
    --recipe-pill-purple: var(--recipe-pill-blue);
    --recipe-pill-pink: #690033;
    --recipe-pill-mulberry: var(--recipe-mulberry);
    --recipe-pill-orange: #8B1704;
    --recipe-pill-teal: #93E4D2;
    --recipe-pill-brown: #796c61;
  }

  .recipe-post__inner {
    width: min(100%, 1120px);
    margin: 0 auto;
    padding-inline: var(--page-margin);
  }

  .recipe-post__layout {
    display: grid;
    grid-template-columns: minmax(0, 360px) minmax(0, 1fr);
    gap: clamp(36px, 7vw, 88px);
    align-items: start;
  }

  .recipe-post__copy {
    min-width: 0;
  }

  .recipe-post__header {
    display: grid;
    justify-items: start;
    gap: 10px;
    margin-bottom: 32px;
    text-align: left;
  }

  .recipe-post__tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
  }

  .recipe-post__tag {
    display: inline-flex;
    align-items: center;
    min-height: 15px;
    padding: 4px 6px 3px;
    border-radius: 999px;
    color: var(--recipe-badge-color, #fff);
    background: var(--recipe-badge-background, var(--recipe-pill-mulberry));
    font-family: var(--font-shango-gothic-medium);
    font-size: 10px;
    line-height: 1;
    text-transform: uppercase;
  }

  .recipe-post__tag--1 {
    --recipe-badge-background: var(--recipe-pill-blue);
  }

  .recipe-post__tag--2 {
    --recipe-badge-background: var(--recipe-pill-pink);
  }

  .recipe-post__tag--3 {
    --recipe-badge-background: var(--recipe-pill-brown);
  }

  .recipe-post__title {
    max-width: 360px;
    margin: 0;
    color: var(--recipe-ink);
    font-family: 'Andralex Slanted', var(--font-mrs-saint-delafield), cursive;
    font-size: 72px;
    font-style: normal;
    font-weight: 400;
    line-height: 80%;
    letter-spacing: -3.6px;
    text-transform: capitalize;
  }

  .recipe-post__meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
    color: rgb(var(--color-foreground-rgb) / 0.72);
    font-family: var(--font-kennerley-italic);
    font-size: 1rem;
  }

  .recipe-post__media {
    min-width: 0;
  }

  .recipe-post__media--thumbs-outside {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  .recipe-post__image-wrap {
    position: relative;
    
  }

  .recipe-post__image-wrap img,
  .recipe-post__image-wrap video {
    border-radius: 4px;
    overflow: hidden;
  }

  .recipe-post__carousel {
    position: relative;
    width: 100%;
    aspect-ratio: var(--recipe-image-ratio);
    max-height: 690px;
    overflow: hidden;
  }

  .recipe-post__gallery-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    z-index: 0;
    pointer-events: none;
    transition:
      opacity 520ms cubic-bezier(0.22, 1, 0.36, 1),
      visibility 0s linear 520ms;
    will-change: opacity;
  }

  .recipe-post__gallery-slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
    pointer-events: auto;
    transition:
      opacity 520ms cubic-bezier(0.22, 1, 0.36, 1),
      visibility 0s;
  }

  .recipe-post__gallery-slide.is-entering {
    z-index: 2;
  }

  .recipe-post__image,
  .recipe-post__video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .recipe-post__stamp {
    position: absolute;
    top: 20px;
    right: 0;
    width: clamp(74px, 142px);
    opacity: 0.72;
    pointer-events: none;
    z-index: 3;
    transform: translateX(33%);

    @media (max-width: 600px) {
      transform: translateX(20%);
    }
  }

  .recipe-post__stamp svg {
    display: block;
    width: 100%;
    height: auto;
  }

  .recipe-post__gallery-thumbs {
    position: absolute;
    left: 20px;
    bottom: 20px;
    z-index: 3;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    max-width: calc(100% - 40px);
  }

  .recipe-post__media--thumbs-outside .recipe-post__gallery-thumbs {
    position: static;
    z-index: auto;
  }

  .recipe-post__gallery-thumb {
    position: relative;
    display: block;
    width: 64px;
    aspect-ratio: 1;
    padding: 0;
    border: none;
    opacity: 0.7;
    border-radius: 4px;
    overflow: hidden;
    background: transparent;
    cursor: pointer;
    text-decoration: none;
  }

  .recipe-post__gallery-thumb.is-active {
    border-color: var(--recipe-ink);
    opacity: 1;
  }

  .recipe-post__gallery-thumb-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .recipe-post__gallery-thumb-play {
    position: absolute;
    inset: 50% auto auto 50%;
    display: grid;
    place-items: center;
    width: 24px;
    aspect-ratio: 1;
    border-radius: 50%;
    color: #fff;
    background: rgb(41 20 6 / 0.72);
    transform: translate(-50%, -50%);
    pointer-events: none;
  }

  .recipe-post__gallery-thumb-play svg {
    display: block;
    width: 11px;
    height: 11px;
  }

  .recipe-post__content {
    max-width: 360px;
    margin: 0;
    color: var(--recipe-ink);
  }

  .recipe-post__content meta,
  .recipe-post__content span:empty {
    display: none;
  }

  .recipe-post__content h5 {
    margin: 0 0 4px;
    color: var(--recipe-ink);
    font-family: var(--font-kennerley);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%;
    letter-spacing: -0.28px;
  }

  .recipe-post__content h5 em {
    font-family: var(--font-kennerley-bold-italic);
    font-style: italic;
    font-weight: 700;
  }

  .recipe-post__content p {
    margin: 24px 0 0;
    color: var(--recipe-ink);
    font-family: var(--font-kennerley);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%;
    letter-spacing: -0.28px;
  }

  .recipe-post__content :is(h2, h3, h4) {
    margin: 40px 0 24px;
    color: var(--recipe-ink);
    font-family: var(--font-shango-gothic-medium);
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 80%;
    letter-spacing: -0.64px;
    text-transform: uppercase;
  }

  .recipe-post__content ul,
  .recipe-post__content ol {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .recipe-post__content li {
    margin: 0;
    padding: 0 0 11px;
    color: var(--recipe-ink);
    font-family: var(--font-kennerley);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%;
    letter-spacing: -0.28px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='370' height='3' viewBox='0 0 370 3' fill='none'%3E%3Cg filter='url(%23filter0_g_17_838)'%3E%3Cpath d='M1 1H369V2H1V1Z' fill='%23291406'/%3E%3C/g%3E%3Cdefs%3E%3Cfilter id='filter0_g_17_838' x='0' y='0' width='370' height='3' filterUnits='userSpaceOnUse' color-interpolation-filters='sRGB'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend mode='normal' in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.99900001287460327 0.99900001287460327' numOctaves='3' seed='7024'/%3E%3CfeDisplacementMap in='shape' scale='2' xChannelSelector='R' yChannelSelector='G' result='displacedImage' width='100%25' height='100%25'/%3E%3CfeMerge result='effect1_texture_17_838'%3E%3CfeMergeNode in='displacedImage'/%3E%3C/feMerge%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 100% 3px;
  }

  .recipe-post__content li + li {
    padding-top: 11px;
  }

  .recipe-post__content a {
    color: inherit;
    text-decoration: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: none;
    text-underline-offset: auto;
  }

  .recipe-stock-up {
    margin-top: 44px;
  }

  .recipe-stock-up__heading {
    margin: 0 0 24px;
    color: var(--recipe-ink);
    font-family: var(--font-shango-gothic-medium);
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 80%;
    letter-spacing: -0.64px;
    text-transform: uppercase;
  }

  .recipe-stock-up__cards {
    display: grid;
    gap: 12px;
  }

  .recipe-stock-card {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    width: min(100%, 300px);
    min-height: 76px;
    padding: 10px;
    border: 1px solid rgb(var(--color-foreground-rgb) / 0.18);
    border-radius: 4px;
    background: rgb(242 239 233 / 0.72);
  }

  .recipe-stock-card__image-link,
  .recipe-stock-card__image {
    display: block;
    width: 56px;
    aspect-ratio: 1;
    border-radius: 4px;
    overflow: hidden;
  }

  .recipe-stock-card__image {
    object-fit: cover;
  }

  .recipe-stock-card__details {
    min-width: 0;
  }

  .recipe-stock-card__title {
    display: block;
    color: var(--recipe-ink);
    font-family: var(--font-shango-gothic-medium);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 90%;
    letter-spacing: -0.42px;
    text-decoration: none;
    text-transform: uppercase;
  }

  .recipe-stock-card__price {
    margin-top: 6px;
    color: var(--recipe-ink);
    font-family: var(--font-kennerley);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%;
    letter-spacing: -0.28px;
  }

  .recipe-stock-card__form-component,
  .recipe-stock-card__form-component .shopify-product-form {
    display: block;
  }

  .recipe-stock-card__form-component add-to-cart-component,
  .recipe-stock-card__form-component .button-glow-container {
    width: 50px !important;
    margin: 0;
  }

  .recipe-stock-card__button {
    min-width: 38px;
    min-height: 23px;
    padding: 0 8px;
    border-radius: 999px;
    font-family: var(--font-shango-gothic-medium);
    font-size: 10px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.2px;
    background: var(--recipe-mulberry, #690033);
    border-color: var(--recipe-mulberry, #690033);
    color: #fff;
  }

  .recipe-stock-card__button .add-to-cart-text__content {
    display: block;
  }

  .recipe-stock-card__button:hover {
    background: #370a16;
    border-color: #370a16;
  }

  .recipe-post__back {
    display: table;
    margin: 32px 0 0;
    color: var(--recipe-accent);
    font-family: var(--font-kennerley-italic);
    font-size: 1rem;
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  @media screen and (max-width: 989px) {
    .recipe-post__layout {
      grid-template-columns: 1fr;
    }

    .recipe-post__copy {
      display: contents;
    }

    .recipe-post__header {
      order: 1;
      margin-bottom: 0;
    }

    .recipe-post__image-wrap {
      order: 2;
    }

    .recipe-post__content {
      order: 3;
    }

    .recipe-stock-up {
      order: 4;
    }

    .recipe-post__back {
      order: 5;
    }

    .recipe-post__title,
    .recipe-post__content {
      max-width: 720px;
    }

    .recipe-post__media--thumbs-outside {
      flex-direction: column-reverse;
      gap: 14px;
    }
  }

  @media screen and (max-width: 599px) {
    .recipe-post__title {
      font-size: 52px;
      letter-spacing: -2.6px;
    }

    .recipe-post__gallery-thumbs {
      left: 18px;
      bottom: 18px;
      gap: 10px;
    }

    .recipe-post__media--thumbs-outside .recipe-post__gallery-thumbs {
      gap: 10px;
    }

    .recipe-stock-card {
      width: 100%;
      grid-template-columns: 52px minmax(0, 1fr) auto;
      gap: 12px;
    }
  }
/* END_SECTION:main-recipe-post */

/* START_SECTION:main-recipes-blog (INDEX:24) */
.recipes-blog {
    --recipe-accent: #690033;
    --recipe-ink: #291406;
    --recipe-mulberry: #690033;
    --recipe-paper: #f2efe9;
    --recipe-sand: #e9e4da;
    --recipe-pill-blue: #403C87;
    --recipe-pill-purple: var(--recipe-pill-blue);
    --recipe-pill-pink: #690033;
    --recipe-pill-mulberry: var(--recipe-mulberry);
    --recipe-pill-orange: #8B1704;
    --recipe-pill-teal: #93E4D2;
    --recipe-pill-brown: #796c61;
    --recipe-card-gap: 25px;
  }

  .recipes-blog__inner {
    width: min(100%, var(--page-width));
    margin: 0 auto;
    padding-inline: var(--page-margin);
  }

  .recipes-blog__title {
    margin: 0 0 40px;
    color: var(--recipe-ink);
    font-family: var(--font-shango-gothic-medium);
    font-size: 52px;
    font-style: normal;
    font-weight: 500;
    line-height: 80%;
    letter-spacing: -1.04px;
    text-transform: uppercase;
  }

  .recipes-blog__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: var(--recipe-card-gap);
  }

  .recipe-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-width: 0;
    border-radius: 4px;
    overflow: hidden;
  }

  .recipe-card__media-link {
    position: relative;
    display: block;
    flex: 0 0 auto;
    color: inherit;
    text-decoration: none;
  }

  .recipe-card__image,
  .recipe-card__placeholder {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 0.96;
    object-fit: cover;
    background: rgb(var(--color-foreground-rgb) / 0.08);
  }

  .recipe-card__tags {
    position: absolute;
    top: 16px;
    left: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    max-width: calc(100% - 16px);
  }

  .recipe-card__tag {
    display: inline-flex;
    align-items: center;
    min-height: 14px;
    padding: 2px 4px 1px;
    border-radius: 999px;
    color: var(--recipe-badge-color, var(--recipe-paper));
    background: var(--recipe-badge-background, var(--recipe-pill-mulberry));
    font-family: var(--font-shango-gothic-medium);
    font-size: 10px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: -0.2px;
    text-transform: uppercase;
  }

  .recipe-card__tag--1 {
    --recipe-badge-background: var(--recipe-pill-blue);
  }

  .recipe-card__tag--2 {
    --recipe-badge-background: var(--recipe-pill-pink);
  }

  .recipe-card__tag--3 {
    --recipe-badge-background: var(--recipe-pill-brown);
  }

  .recipe-card__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: center;
    padding: 20px 40px;
    background: var(--recipe-sand);
    text-align: center;
  }

  .recipe-card__title {
    margin: 0 auto 12px;
    font-family: var(--font-shango-gothic-medium);
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 0.8;
    letter-spacing: -0.96px;
    text-transform: uppercase;
    max-width: 250px;
  }

  .recipe-card__title a {
    color: inherit;
    text-decoration: none;
    white-space: wrap;
    line-height: 0.8;
  }

  .recipe-card__title a:hover,
  .recipe-card__read-more:hover {
    color: var(--recipe-accent);
  }

  .recipe-card__excerpt {
    margin: 0 auto 12px;
    font-family: var(--font-kennerley-italic);
    font-size: 14px;
    font-style: italic;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: -0.28px;
  }

  .recipe-card__read-more {
    display: inline-block;
    margin-top: auto;
    padding-top: 3px;
    color: var(--recipe-mulberry);
    font-family: var(--font-kennerley);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%;
    letter-spacing: -0.28px;
    text-decoration: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: none;
  }

  .recipes-blog__pagination {
    display: flex;
    justify-content: center;
    margin-top: 40px;
  }

  .recipes-blog__pagination .pagination {
    display: flex;
    gap: 10px;
    list-style: none;
  }

  @media screen and (max-width: 989px) {
    .recipes-blog__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media screen and (max-width: 599px) {
    .recipes-blog__grid {
      grid-template-columns: 1fr;
    }

    .recipes-blog__title {
      font-size: 40px;
    }
  }
/* END_SECTION:main-recipes-blog */

/* START_SECTION:marquee (INDEX:25) */
marquee-component {
    display: block;
    width: 100%;
    overflow: hidden;
  }

  .marquee__wrapper {
    display: flex;
    width: fit-content;
    white-space: nowrap;
  }

  .marquee__content {
    min-width: max-content;
    display: flex;
    gap: var(--marquee-gap);
    @media screen and (min-width: 750px) {
      gap: var(--marquee-gap-desktop);
    }
  }

  .marquee__content :is(p, h1, h2, h3, h4, h5, h6) {
    white-space: nowrap;
  }

  .marquee__content .marquee__repeated-items * {
    max-width: none;
  }

  .marquee__repeated-items {
    min-width: max-content;
    display: flex;
    gap: var(--marquee-gap);
    align-items: center;
    justify-content: center;
  }

  @media screen and (min-width: 750px) {
    .marquee__repeated-items {
      gap: var(--marquee-gap-desktop);
    }
  }

  .marquee__repeated-items > * {
    align-content: center;
  }

  @media (prefers-reduced-motion: no-preference) {
    marquee-component:not([data-disabled]) .marquee__wrapper {
      animation: marquee-motion var(--marquee-speed) linear infinite var(--marquee-direction);
    }
  }

  @keyframes marquee-motion {
    to {
      transform: translate3d(calc(-50% - (var(--marquee-gap) / 2)), 0, 0);
    }
  }

  @media screen and (min-width: 750px) {
    @keyframes marquee-motion-desktop {
      to {
        transform: translate3d(calc(-50% - (var(--marquee-gap-desktop) / 2)), 0, 0);
      }
    }

    @media (prefers-reduced-motion: no-preference) {
      marquee-component:not([data-disabled]) .marquee__wrapper {
        animation-name: marquee-motion-desktop;
      }
    }
  }
/* END_SECTION:marquee */

/* START_SECTION:media-with-content (INDEX:26) */
.section--page-width {
    &.media-with-content {
      grid-template-areas: 'margin-left media margin-right' 'margin-left content margin-right';

      @media screen and (min-width: 750px) {
        /* Wide proportion is media 3.5 parts, content 2.5 parts. Which equals 7|5. So divide the central column by 7+5 and multiply accordingly */
        --media-with-content-grid-columns: var(--full-page-grid-margin)
          calc((var(--full-page-grid-central-column-width) / 12) * 7)
          calc((var(--full-page-grid-central-column-width) / 12) * 5) var(--full-page-grid-margin);

        grid-template-areas: 'margin-left media content margin-right';
      }
    }

    &.media-with-content--media-right {
      @media screen and (min-width: 750px) {
        --media-with-content-grid-columns: var(--full-page-grid-margin)
          calc((var(--full-page-grid-central-column-width) / 12) * 5)
          calc((var(--full-page-grid-central-column-width) / 12) * 7) var(--full-page-grid-margin);

        grid-template-areas: 'margin-left content media margin-right';
      }
    }

    &.media-with-content--medium {
      @media screen and (min-width: 750px) {
        --media-with-content-grid-columns: var(--full-page-grid-margin)
          repeat(2, calc(var(--full-page-grid-central-column-width) / 2)) var(--full-page-grid-margin);
      }
    }

    &.media-with-content--narrow.media-with-content--media-right {
      @media screen and (min-width: 750px) {
        --media-with-content-grid-columns: var(--full-page-grid-margin)
          calc((var(--full-page-grid-central-column-width) / 3) * 2)
          calc(var(--full-page-grid-central-column-width) / 3) var(--full-page-grid-margin);
      }
    }

    &.media-with-content--narrow {
      @media screen and (min-width: 750px) {
        --media-with-content-grid-columns: var(--full-page-grid-margin)
          calc(var(--full-page-grid-central-column-width) / 3)
          calc((var(--full-page-grid-central-column-width) / 3) * 2) var(--full-page-grid-margin);
      }
    }
  }

  .section--full-width {
    &.media-with-content--media-right {
      @media screen and (min-width: 750px) {
        --media-with-content-grid-columns: 2.5fr 3.5fr;

        grid-template-areas: 'content media';
      }
    }

    &.media-with-content--medium {
      @media screen and (min-width: 750px) {
        --media-with-content-grid-columns: 1fr 1fr;
      }
    }

    &.media-with-content--narrow {
      @media screen and (min-width: 750px) {
        --media-with-content-grid-columns: 2fr 4fr;
      }
    }

    &.media-with-content--narrow.media-with-content--media-right {
      @media screen and (min-width: 750px) {
        --media-with-content-grid-columns: 4fr 2fr;
      }
    }
  }

  /* Keep the CSS specificity lower assuming that liquid won't assign this class with a full width section */
  .media-with-content.media-with-content--media-extend {
    grid-template-columns: var(--media-with-content-grid-columns);
    grid-template-areas: 'media media media' 'margin-left content margin-right';

    @media screen and (min-width: 750px) {
      grid-template-areas: 'media media content margin-right';
    }
  }

  .media-with-content--media-extend.media-with-content--media-right {
    @media screen and (min-width: 750px) {
      grid-template-areas: 'margin-left content media media';
    }
  }

  .media-with-content--media-right {
    @media screen and (min-width: 750px) {
      grid-template-areas: 'margin-left content media media';
    }
  }

  .media-with-content {
    --media-with-content-grid-columns: var(--full-page-grid-with-margins);

    grid-template-columns: var(--media-with-content-grid-columns);
    grid-template-areas: 'media media media' 'content content content';

    @media screen and (min-width: 750px) {
      --media-with-content-grid-columns: 3.5fr 2.5fr;

      /* Default desktop layout is wide media, on the left, in full page section */
      grid-template-areas: 'media content';
    }

    .media-block {
      grid-area: media;
    }

    .media-with-content__content {
      grid-area: content;
    }

    /* Inner blocks spacing */
    .media-with-content__content > .group-block-content {
      padding-inline: var(--page-margin);
      padding-block: calc(2 * var(--page-margin));

      @media screen and (min-width: 750px) {
        padding-block: var(--page-margin);
      }
    }

    &.section--page-width .media-with-content__content > .group-block-content {
      padding-inline: 0;

      @media screen and (min-width: 750px) {
        padding-inline-start: var(--page-margin);
      }
    }

    &.section--page-width.media-with-content--media-right .media-with-content__content > .group-block-content {
      padding-inline-end: var(--page-margin);
      padding-inline-start: 0;
    }
  }

  .media-with-content[data-shopify-visual-preview] {
    --hero-min-height: 500px;

    min-height: 500px;
  }
/* END_SECTION:media-with-content */

/* START_SECTION:password (INDEX:27) */
.section--password {
    --section-min-height: calc(100svh);
    min-height: 100svh;
    position: relative;
  }

  /* Remove viewport height constraints on mobile to prevent jitter */
  @media screen and (max-width: 749px) {
    .section--password {
      min-height: auto;
    }
  }

  .section--password .background-image-container img {
    object-position: top left;
    /* Prevent layout shift when image loads */
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* Prevent jitter when async content loads (like ElfSight Instagram feed) */
  @media screen and (max-width: 749px) {
    .section--password .section-content-wrapper {
      /* Prevent layout shifts during content load on mobile */
      min-height: 0;
      /* Use hardware acceleration to prevent jitter */
      transform: translateZ(0);
    }
  }

  .password-main-content {
    flex: 1;
    display: flex;
    flex-direction: column;
  }

  .password-enter {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--gap-sm);
    padding-block: var(--padding-xl);
  }

  .password-enter__powered-by {
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--padding-xs);
    height: 1em;

    a {
      display: flex;
    }

    svg {
      display: inline;
      height: 1.3em;
      color: var(--color-foreground);
    }
  }

  .password-enter__links {
    display: flex;
    align-items: center;
    gap: var(--gap-2xl);

    @media screen and (max-width: 749px) {
      flex-direction: column;
      gap: var(--gap-sm);
    }
  }

  .password-enter__admin-link {
    margin: 0;
  }

  .password-enter__button {
    height: var(--minimum-touch-target);
    background-color: transparent;
    color: var(--color-primary);
    cursor: pointer;
    text-decoration: underline;

    &:hover {
      color: var(--color-primary-hover);
      text-decoration: none;
    }
  }

  .password-dialog {
    max-width: 100vw;
    max-height: 100svh;
    width: 100vw;
    height: 100svh;
    border: none;
    transition: opacity var(--animation-values), display var(--animation-speed) allow-discrete,
      overlay var(--animation-speed) allow-discrete;

    &::backdrop {
      display: none;
    }
  }

  /* Remove viewport height constraints on mobile for dialog to prevent jitter */
  @media screen and (max-width: 749px) {
    .password-dialog {
      max-height: none;
      height: auto;
    }
  }

  .password-dialog[open] {
    opacity: 1;
    top: 0;
    left: 0;
  }

  @starting-style {
    .password-dialog[open] {
      opacity: 0;
    }
  }

  .password-dialog:not([open]) {
    opacity: 0;
  }

  @starting-style {
    .password-dialog:not([open]) {
      opacity: 1;
    }
  }

  .password-dialog__close-button {
    cursor: pointer;
  }

  .password-dialog__header {
    position: absolute;
    top: 0;
    right: 0;
    padding: var(--padding-lg);
    z-index: var(--layer-raised);
  }

  .password-dialog__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: var(--padding-lg);
    height: 100%;
    transition: transform var(--animation-values);
  }

  .password-dialog__content .email-signup__message {
    padding-block-start: var(--padding-xl);
  }

  .password-dialog[open] .password-dialog__content {
    transform: translateY(0);
  }

  @starting-style {
    .password-dialog[open] .password-dialog__content {
      transform: translateY(1em);
    }
  }

  .password-dialog:not([open]) .password-dialog__content {
    transform: translateY(1em);
  }

  @starting-style {
    .password-dialog:not([open]) .password-dialog__content {
      transform: translateY(0);
    }
  }

  .storefront-password-form {
    max-width: 400px;
    width: 100%;
  }

  .email-signup__input-group,
  .password-dialog__submit-button {
    width: 100%;

    @media screen and (min-width: 750px) {
      width: auto;
    }
  }
/* END_SECTION:password */

/* START_SECTION:predictive-search (INDEX:29) */
input[type='search']::-webkit-search-decoration {
    -webkit-appearance: none; /* stylelint-disable-line */
  }

  .predictive-search-dropdown {
    display: flex;
    flex-direction: column;
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--layer-base);
  }

  .search-action .predictive-search {
    z-index: calc(var(--layer-header-menu) + 2);
  }

  .search-action .search-modal .predictive-search {
    z-index: var(--layer-window-overlay);
  }

  .header__column--right .predictive-search-form__content-wrapper {
    right: 0;
    left: unset;
  }

  .search-modal .predictive-search-form__content-wrapper {
    width: 100%;

    @media screen and (min-width: 750px) {
      height: fit-content;
    }
  }

  .dialog-modal .predictive-search-form__header-inner {
    @media screen and (min-width: 750px) {
      border: 0;
    }
  }

  .header[transparent] :is(.predictive-search):not(:focus-within) {
    background-color: transparent;
  }

  .header[transparent] .predictive-search-form__header-inner {
    border-color: var(--color-foreground);
  }

  .search-modal__content .predictive-search-form__content {
    max-height: var(--modal-max-height);
  }

  .predictive-search:has(.predictive-search-dropdown) .search-input {
    outline-color: transparent;
  }

  .predictive-search:has(.predictive-search-dropdown) .predictive-search-form__header-inner:focus-within {
    border-top-color: transparent;
    border-right-color: transparent;
    border-left-color: transparent;

    @media screen and (max-width: 749px) {
      border-bottom-color: transparent;
    }
  }

  .predictive-search:has(.predictive-search-dropdown[aria-expanded='true'])
    .predictive-search-form__header-inner:focus-within {
    border-top-color: transparent;
    border-right-color: transparent;
    border-left-color: transparent;
    border-radius: var(--search-border-radius);

    @media screen and (max-width: 749px) {
      border-radius: var(--style-border-radius-inputs);
    }
  }

  .dialog-modal .predictive-search-form__header {
    border: 0;
    border-radius: 0;
    background-color: var(--color-background);
    border-bottom: var(--style-border-width) solid var(--color-border);

    @media screen and (min-width: 750px) {
      padding: var(--padding-2xs) var(--padding-2xs) 0;
      border-bottom: var(--search-border-width) solid var(--color-border);
    }

    @media screen and (max-width: 749px) {
      transition: box-shadow 0.2s ease;
      box-shadow: none;
    }
  }

  .search-action .predictive-search:has(.predictive-search-dropdown) .predictive-search-form__header:focus-within {
    border-radius: var(--search-border-radius) var(--search-border-radius) 0 0;
    transition: box-shadow var(--animation-speed) var(--animation-easing);
    background-color: var(--color-background);

    @media screen and (max-width: 749px) {
      border-radius: var(--style-border-radius-inputs) var(--style-border-radius-inputs) 0 0;
    }
  }

  @media screen and (max-width: 749px) {
    .dialog-modal .predictive-search__close-modal-button {
      padding-inline-start: var(--margin-xs);
      margin-inline-start: 0;
    }
  }

  .dialog-modal[open] {
    @media screen and (max-width: 749px) {
      border-radius: 0;
    }
  }

  .dialog-modal .predictive-search-form__header:has(.predictive-search-form__header-inner:focus-within) {
    @media screen and (min-width: 750px) {
      border-bottom-color: transparent;
    }
  }

  @media screen and (max-width: 749px) {
    .dialog-modal {
      .predictive-search__reset-button-icon {
        display: none;
      }

      .predictive-search__reset-button-text {
        display: block;
      }

      .predictive-search-form__content {
        /* The parent has overflow auto, we want to prevent a double scrollbar during animation */
        max-height: 100%;
      }

      .predictive-search-form__content-wrapper {
        box-shadow: none;
      }

      .predictive-search-form__header {
        box-shadow: none;
      }

      .predictive-search-form__footer {
        padding-block: var(--padding-2xl);
      }
    }
  }

  .predictive-search-results__pill {
    font-weight: 500;
    white-space: nowrap;
    color: var(--color-foreground);
    transition: background-color var(--animation-speed-medium) var(--animation-timing-hover),
      box-shadow var(--animation-speed-medium) var(--animation-timing-bounce),
      transform var(--animation-speed-medium) var(--animation-timing-bounce);
    margin: 2px;

    &:hover {
      transform: scale(1.03);
      box-shadow: 0 2px 5px rgb(0 0 0 / var(--opacity-8));
    }
  }

  .predictive-search-results__pill mark {
    background-color: transparent;
    font-weight: 200;
    color: rgb(var(--color-foreground-rgb) / var(--opacity-80));
  }

  .predictive-search-results__pill:focus,
  .predictive-search-results__pill:hover,
  .predictive-search-results__card--query:is([aria-selected='true'], :focus-within) .predictive-search-results__pill {
    --pill-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-8));

    background-color: var(--pill-background-color);
    outline: var(--border-width-sm) solid var(--color-border);
    border: var(--border-width-sm);
    text-decoration: none;
  }

  .predictive-search-results__title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: var(--font-size--body-md);
    font-weight: 500;
    margin-block: var(--margin-sm) var(--margin-xs);
    width: 100%;
    text-transform: var(--title-case);

    &:first-of-type {
      margin-block-start: 0;
    }

    @media screen and (max-width: 749px) {
      margin-block: var(--margin-lg) var(--margin-sm);
    }
  }

  .predictive-search-results__wrapper.predictive-search-results__wrapper-queries {
    margin-bottom: var(--margin-lg);
    padding-inline: var(--padding-xl);
    gap: var(--gap-2xs);
  }

  .predictive-search-results__card {
    flex: 0 0 auto;
    scroll-snap-align: start;
    scroll-margin-block: calc(var(--title-font-size) + var(--title-margin-block) + var(--padding-sm))
      calc(var(--padding-xl) + var(--button-padding-block) * 2);
    transition: transform var(--animation-speed-medium) var(--animation-timing-default),
      background-color var(--animation-speed-medium) var(--animation-timing-hover),
      border-color var(--animation-speed-medium) var(--animation-timing-hover);

    &:nth-last-child(3) {
      scroll-snap-align: end;
    }

    &:active {
      transform: scale(0.97);
      transition: transform 100ms var(--animation-timing-active);
    }
  }

  .recently-viewed-wrapper .predictive-search-results__card {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .recently-viewed-wrapper.removing .predictive-search-results__card {
    opacity: 0;
    transform: translateY(-10px);
    pointer-events: none;
  }

  .predictive-search-results__card--product,
  .recently-viewed-wrapper .predictive-search-results__card--product {
    &:active {
      transform: scale(0.97);
      transition: transform 100ms var(--animation-timing-active);
    }

    &:hover {
      background-color: var(--card-bg-hover);
      border-radius: var(--product-corner-radius);
      padding: calc(var(--padding-2xs) + 2px);
      margin: calc((var(--padding-2xs) + 2px) * -1);
    }

    &:is([aria-selected='true'].keyboard-focus, &:focus-visible, &:has(.resource-card:focus-visible)) {
      background-color: var(--card-bg-hover);
      padding: calc(var(--padding-2xs) + 1px);
      margin: calc((var(--padding-2xs) + 1px) * -1);
      outline: var(--border-width-sm) solid var(--color-border);
      border-radius: calc(var(--product-corner-radius) + 1px);
      border-color: var(--card-border-focus);
    }
  }

  .predictive-search-results__card:not(.predictive-search-results__card--product) {
    padding: var(--padding-sm);
    border: var(--border-width-sm) solid var(--color-border);
    border-radius: var(--card-corner-radius);
    width: 60cqi;
    content-visibility: visible;

    @media screen and (min-width: 750px) {
      width: 27.5cqi;
    }

    &:hover {
      border-color: var(--card-border-hover);
      background-color: var(--card-bg-hover);
    }

    &[aria-selected='true'].keyboard-focus {
      border-color: var(--card-border-hover);
      background-color: var(--card-bg-hover);
    }

    &:active {
      transform: scale(0.97);
      transition: transform var(--animation-speed-medium) var(--animation-timing-active);
    }
  }

  @keyframes search-element-scale-in {
    0% {
      transform: scale(0.95);
      opacity: 0;
    }

    40% {
      opacity: 1;
    }

    100% {
      transform: scale(1);
      opacity: 1;
    }
  }

  @keyframes search-element-scale-out {
    0% {
      transform: scale(1);
      opacity: 1;
    }

    100% {
      transform: scale(0.95);
      opacity: 0;
    }
  }

  @keyframes search-element-slide-in-top {
    from {
      margin-top: calc(var(--modal-top-margin) + var(--padding-sm));
      opacity: 0;
    }

    to {
      margin-top: var(--modal-top-margin);
      opacity: 1;
    }
  }

  @keyframes search-element-slide-out-top {
    from {
      margin-top: var(--modal-top-margin);
      opacity: 1;
    }

    to {
      margin-top: calc(var(--modal-top-margin) + var(--padding-sm));
      opacity: 0;
    }
  }

  @keyframes content-slide {
    from {
      transform: translateY(var(--slide-from, 0));
      opacity: var(--slide-opacity-from, 1);
    }

    to {
      transform: translateY(var(--slide-to, 0));
      opacity: var(--slide-opacity-to, 1);
    }
  }

  .predictive-search-results__list {
    --slide-width: 27.5%;
    --slideshow-gap: var(--gap-md);

    /* Make space for the outline to be visible */
    padding-block-start: var(--border-width-sm);
  }

  .predictive-search-results__list slideshow-arrows {
    @media screen and (max-width: 749px) {
      display: none;
    }
  }

  .predictive-search-results__no-results {
    animation-delay: 100ms;
    transition: opacity var(--animation-speed-medium) var(--animation-timing-fade-in);
  }

  .predictive-search-results__no-results,
  .predictive-search-results__wrapper,
  .predictive-search-results__wrapper-products .predictive-search-results__card {
    animation: search-element-slide-up var(--animation-speed-medium) var(--animation-timing-bounce) backwards;
  }

  .predictive-search-results__no-results:last-child {
    margin-block: var(--margin-lg);
    text-align: center;
  }

  slideshow-slide .resource-card {
    /* stylelint-disable-next-line declaration-no-important */
    animation-delay: 0ms !important;
  }

  .predictive-search-results__list,
  .predictive-search-results__wrapper {
    animation-duration: var(--animation-speed-medium);
  }

  .predictive-search-results__wrapper-queries {
    animation-delay: 50ms;
  }

  .predictive-search-results__list:nth-of-type(2) {
    animation-delay: 150ms;
  }

  .predictive-search-results__list:nth-of-type(3) {
    animation-delay: 200ms;
  }

  .predictive-search-results__list:nth-of-type(4) {
    animation-delay: 250ms;
  }

  .predictive-search-results__list:last-child {
    margin-block-end: 0;
  }

  [data-resource-type] {
    /* stylelint-disable-next-line declaration-no-important */
    animation-delay: 0ms !important;
  }

  .predictive-search-results__no-results.removing,
  .predictive-search-results__wrapper.removing {
    animation: search-element-slide-down var(--animation-speed-medium) var(--animation-timing-fade-out) forwards;
  }

  .predictive-search-results__card.removing {
    animation: fadeOut var(--animation-speed-medium) var(--animation-timing-fade-out) forwards;
  }

  .predictive-search-results__wrapper {
    transition: opacity var(--animation-speed-medium) var(--animation-timing-fade-in);
  }

  @keyframes search-element-slide-up {
    from {
      opacity: 0;
      transform: translateY(8px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes search-element-slide-down {
    from {
      opacity: 1;
      transform: translateY(0);
    }

    to {
      opacity: 0;
      transform: translateY(8px);
    }
  }

  .predictive-search-results__card--query {
    transition: transform var(--animation-speed-medium) var(--animation-timing-bounce);
    transform-origin: center;

    &:active {
      transform: scale(0.97);
    }
  }
/* END_SECTION:predictive-search */

/* START_SECTION:product-information (INDEX:30) */
.product-information {
    gap: var(--gap) 0;
  }

  /* Base grid layout */
  .product-information__grid {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    max-width: var(--page-content-width);
    margin: 0 auto;
  }

  /* Default column positions */
  .product-details {
    order: 1;
  }

  .product-information__media {
    order: 0;
    width: 0;
    min-width: 100%;
  }

  /* Mobile styles */
  @media screen and (max-width: 749px) {
    .product-information__grid {
      display: block;
      gap: var(--gap-mobile, var(--gap, 16px));
    }

    .product-information__media {
      order: 0;
    }

    .product-details {
      order: 1;
    }

    .product-information {
      padding-top: 0px;
    }

    h2 {
      /* mobile product title */
      font-size: 48px;
    }
  }

  /* Desktop styles */
  @media screen and (min-width: 750px) {
    .product-information__grid {
      max-width: var(--page-content-width);
      margin: 0 auto;
    }

    /* Position when there is no media */
    .product-information__grid.product-information--media-none,
    .product-information__grid:has(.product-information__media:empty) {
      .product-details {
        width: var(--narrow-content-width);
        margin: 0 auto;
      }
    }

    /* Position when there is media */
    .product-information__grid:not(:has(.product-information__media:empty)) {
      /* Media on the left side */
      &.product-information--media-left {
        grid-template-columns: 1fr min(50vw, var(--sidebar-width));
        gap: var(--gap, 16px);

        .product-information__media {
          order: 0;
        }

        .product-details {
          order: 1;
        }
      }

      /* Media on the right side */
      &.product-information--media-right {
        grid-template-columns: min(50vw, var(--sidebar-width)) 1fr;
        gap: var(--gap, 16px);

        .product-information__media {
          order: 1;
        }

        .product-details {
          order: 0;
        }
      }

      /* Equal width columns */
      &.product-information__grid--half {
        grid-template-columns: 3fr 2fr;
        gap: var(--gap, 16px);

        &.product-information--media-left {
          .product-information__media {
            order: 0;
          }

          .product-details {
            order: 1;
          }
        }

        &.product-information--media-right {
          .product-information__media {
            order: 1;
          }

          .product-details {
            order: 0;
          }
        }
      }
    }

    /* Handle full width section */
    .section--full-width {
      .product-information__grid {
        max-width: none;
        margin: 0;
        padding-inline: var(--page-margin);
      }
    }
  }

  /* Wider sidebar for large screens */
  @media screen and (min-width: 1200px) {
    .product-information__grid:not(
        .product-information__grid--half,
        :has(.product-information__media:empty)
      ).product-information--media-left {
      grid-template-columns: 2fr 1fr;
    }

    .product-information__grid:not(
        .product-information__grid--half,
        :has(.product-information__media:empty)
      ).product-information--media-right {
      grid-template-columns: 1fr 2fr;
    }
  }

  @media screen and (min-width: 750px) {
    .product-information__grid--limit-details .product-details > .group-block {
      max-width: var(--sidebar-width);
      padding-inline-end: var(--page-margin);
    }
  }

  /* If the header is sticky, make product details content stick underneath the header */
  body:has(#header-group #header-component[data-sticky-state='active']) .product-details.sticky-content--desktop {
    --sticky-header-offset: var(--header-height);
  }

  @media screen and (min-width: 750px) {
    .product-information__media[data-testid='product-information-media-mobile'] {
      display: none;
    }

    /* The shared thumbnail carousel adds a second grid row for external
       arrows. Product-gallery arrows live inside the media container, so use a
       single explicit row: thumbnails | active media. */
    .product-information--tropical-kit .product-information__media[data-testid='product-information-media']
      media-gallery.media-gallery--carousel
      slideshow-component:has(slideshow-controls[thumbnails]) {
      --desktop-thumbnail-rail-width: calc(var(--thumbnail-width) + 16px);

      display: grid;
      grid-template: 'controls container' auto / var(--desktop-thumbnail-rail-width) minmax(0, 1fr);
      align-items: stretch;
    }

    .product-information--tropical-kit .product-information__media[data-testid='product-information-media']
      media-gallery.media-gallery--carousel
      slideshow-container {
      grid-area: container;
      width: 100%;
      min-width: 0;
      height: auto;
    }

    .product-information--tropical-kit .product-information__media[data-testid='product-information-media']
      media-gallery.media-gallery--carousel
      slideshow-controls[thumbnails] {
      grid-area: controls;
      width: var(--desktop-thumbnail-rail-width);
      min-width: var(--desktop-thumbnail-rail-width);
      max-width: var(--desktop-thumbnail-rail-width);
      height: 100%;
      min-height: 0;
      overflow: hidden;
    }

    .product-information--tropical-kit .product-information__media[data-testid='product-information-media']
      media-gallery.media-gallery--carousel
      slideshow-controls[thumbnails]
      :is(.slideshow-controls__thumbnails-container, .slideshow-controls__thumbnails) {
      width: var(--desktop-thumbnail-rail-width);
      min-width: 0;
      max-width: var(--desktop-thumbnail-rail-width);
    }

    .product-information--tropical-kit .product-information__media[data-testid='product-information-media']
      media-gallery.media-gallery--carousel
      slideshow-controls[thumbnails]
      .slideshow-controls__thumbnail {
      width: var(--thumbnail-width);
      max-width: var(--thumbnail-width);
    }

    .product-information--tropical-kit .product-information__media[data-testid='product-information-media']
      media-gallery.media-gallery--carousel
      slideshow-slides {
      width: 100%;
      height: 100%;
      min-height: 0;
    }

    .product-information--tropical-kit .product-information__media[data-testid='product-information-media']
      media-gallery.media-gallery--carousel
      slideshow-slide {
      width: 100%;
      min-width: 100%;
      height: 100%;
      min-height: 0;
      flex: 0 0 100%;
    }

    .product-information--tropical-kit .product-information__media[data-testid='product-information-media']
      media-gallery.media-gallery--carousel
      :is(.product-media-constraint-wrapper, .product-media) {
      width: 100%;
      height: 100%;
    }

    .product-information--tropical-kit .product-information__media[data-testid='product-information-media']
      media-gallery.media-gallery--carousel
      .product-media__image {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    /* The video is a sibling below the gallery. Keeping the gallery out of the
       sticky layer prevents it from covering the video as the column scrolls. */
    .product-information--tropical-kit
      .product-information__gallery-boundary
      > media-gallery.media-gallery--carousel {
      position: relative;
      top: auto;
    }
  }

  .product-information__media[data-testid='product-information-media-mobile'] {
    margin-left: -16px;
    width: 100vw;
  }

  .product-information__gallery-video {
    overflow: hidden;
    width: 100%;
    margin-block-start: clamp(24px, 3vw, 40px);
    border-radius: var(--style-border-radius-lg, 32px);
    aspect-ratio: var(--gallery-video-aspect-ratio, 16 / 10);
    background: rgb(var(--color-foreground-rgb) / 0.06);
    margin-left: auto;
    max-width: calc(100% - 66px);
  }

  .product-information__gallery-video-media,
  .product-information__gallery-video-media :is(video, iframe, img, .deferred-media__poster-button) {
    display: block;
    width: 100%;
    height: 100%;
  }

  .product-information__gallery-video-media :is(video, iframe, img) {
    object-fit: cover;
  }

  .product-information__gallery-video--mobile {
    display: none;
  }

  @media screen and (max-width: 749px) {
    .product-information__gallery-video--desktop {
      display: none;
    }

    .product-information__gallery-video--mobile {
      display: block;
      max-width: none;
      margin: auto;
    }
  }
/* END_SECTION:product-information */

/* START_SECTION:product-list (INDEX:31) */
.section-resource-list .product-grid__card.product-grid__card {
    border-radius: 4px;
  }

  .section-resource-list .product-grid__card .card-gallery {
    border-radius: 4px;
  }

  /* Hide carousel arrows - navigation is via swipe/touch and clicking peeking slides */
  .section-resource-list slideshow-arrows {
    display: none;
  }

  /* Match product page carousel touch behavior */
  .section-resource-list slideshow-slides {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    touch-action: manipulation;
  }

  /* Override content-visibility: hidden on non-active slides.
     Safari miscalculates scrollable width when slides use content-visibility: hidden,
     making touch scroll impossible. Product cards are lightweight so visible is fine. */
  .section-resource-list slideshow-slide {
    content-visibility: visible;
  }
/* END_SECTION:product-list */

/* START_SECTION:product-recommendations (INDEX:32) */
.product-recommendations__skeleton-item {
    aspect-ratio: 3 / 4;
    background-color: var(--color-foreground);
    opacity: var(--skeleton-opacity);
    border-radius: 4px;
  }

  @media screen and (max-width: 749px) {
    .product-recommendations__skeleton-item:nth-child(2n + 1) {
      display: none;
    }
  }

  product-recommendations:has([data-has-recommendations='false']) {
    display: none;
  }
/* END_SECTION:product-recommendations */

/* START_SECTION:product-subscription-lockup (INDEX:33) */
.product-subscription-lockup {
    display: grid;
    grid-template-columns: 1fr;
    color: var(--lockup-text);
    background: var(--lockup-bg);
  }

  .product-subscription-lockup__media {
    position: relative;
    min-height: 520px;
    background: #291406;
  }

  .product-subscription-lockup__media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
  }

  .product-subscription-lockup__media::after {
    content: none;
  }

  .product-subscription-lockup__content {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
    max-width: 760px;
    min-height: 620px;
    padding: 60px 40px 65px;
    margin-inline: auto;
  }

  .product-subscription-lockup__copy {
    max-width: 519px;
    width: 100%;
  }

  .product-subscription-lockup__rating {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-block-end: 28px;
    font-family: var(--font-kennerley-bold-italic);
    font-style: italic;
    font-weight: 700;
    font-size: 16.5px;
    line-height: 1;
    letter-spacing: -0.33px;
  }

  .product-subscription-lockup__stars {
    display: block;
    flex: 0 0 auto;
    width: 100px;
    height: 20px;
  }

  .product-subscription-lockup h1 {
    margin: 0;
    font-family: var(--font-shango-gothic-medium);
    font-size: 56px;
    line-height: 0.8;
    text-transform: uppercase;
    color: currentColor;
    letter-spacing: -1.12px;
  }

  .product-subscription-lockup h1 em {
    display: inline-block;
    color: var(--lockup-text);
    font-family: var(--font-mrs-saint-delafield);
    font-style: normal;
    font-size: 96px;
    font-weight: 400;
    line-height: 0.46;
    letter-spacing: -1.316px;
    text-transform: none;
  }

  .product-subscription-lockup__text {
    max-width: 304px;
    margin-block-start: 30px;
    font-family: var(--font-kennerley);
    font-size: 20px;
    line-height: 1.3;
    letter-spacing: -0.4px;
  }

  .product-subscription-lockup__text p {
    margin: 0;
  }

  .product-subscription-lockup__widget {
    width: 100%;
    max-width: 522.608px;
    margin: 42px 0 0;
  }

  .product-subscription-lockup .stayai-widget {
    margin: 0;
    width: 100%;
  }

  .product-subscription-lockup .stayai-subscriptions ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .product-subscription-lockup .stayai-subscriptions-title {
    margin: 0 0 28px;
    text-align: left;
    color: var(--lockup-text);
    font-family: var(--font-kennerley-small-caps-bold);
    font-weight: 700;
    font-size: 36px !important;
    line-height: 1.3 !important;
    letter-spacing: -0.72px !important;
  }

  .product-subscription-lockup .stayai-subscription label {
    display: block;
    border: none;
    border-radius: 0;
    background: transparent;
    color: var(--lockup-text);
    margin: 0;
    position: relative;
    padding: 0 0 24px 38px;
    font-size: 17px;
    transition: all 0.2s ease-in-out;
  }

  .product-subscription-lockup .stayai-subscription label:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .product-subscription-lockup .stayai-subscription:first-child label {
    border-bottom: 2px solid currentColor;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }

  .product-subscription-lockup .stayai-subscription label::before {
    content: '';
    display: block;
    position: absolute;
    width: 17px;
    height: 17px;
    left: 0;
    top: 10px;
    border: 2px solid currentColor;
    opacity: 1;
    border-radius: 50%;
    transition: all 0.2s ease-in-out;
  }

  .product-subscription-lockup .stayai-subscription label.is-selected {
    background-color: transparent !important;
    color: var(--lockup-text);
  }

  .product-subscription-lockup .stayai-subscription label.is-selected::before {
    opacity: 1;
    background-color: currentColor;
  }

  .product-subscription-lockup .stayai-purchase-label input {
    display: none;
  }

  .product-subscription-lockup .stayai-purchase-label__inner__wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    text-align: left;
    gap: 14px;
    position: relative;
    z-index: 1;
    min-width: 0;
    padding: 0;
  }

  .product-subscription-lockup .stayai-subscription-tag {
    border-radius: 2rem !important;
    color: #67032e !important;
    background-color: var(--lockup-panel-bg) !important;
    padding: 1px 14px 1px !important;
    text-align: center;
    font-family: var(--font-shango-gothic-bold) !important;
    font-size: 14.478px;
    line-height: 1.3;
    text-transform: uppercase;
    position: absolute;
    left: 155px;
    top: 10px;
    margin: 0;
  }

  .product-subscription-lockup .stayai-plan-dropdown {
    --stayai-plan-dropdown-bg: var(--lockup-bg);
    --stayai-plan-dropdown-text: var(--lockup-text);
  }

  .product-subscription-lockup .stayai-subscription-header {
    width: calc(100% + 38px);
    margin: 0 0 12px -38px;
    background: var(--lockup-panel-bg);
    color: var(--lockup-button);
  }

  .product-subscription-lockup .stayai-purchase-label__subtext {
    color: #796c61;
    font-family: var(--font-kennerley);
    font-size: 14px;
  }

  .product-subscription-lockup .stayai-purchase-label__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    padding-left: 0;
  }

  .product-subscription-lockup .stayai-purchase-label--one-time .stayai-purchase-label__inner {
    align-items: center;
  }

  .product-subscription-lockup .stayai-purchase-label__title,
  .product-subscription-lockup .stayai-purchase-label__inner__wrapper > span:not(.stayai-subscription-tag) {
    font-family: var(--font-shango-gothic-bold);
    font-size: 20.269px;
    line-height: 1.3;
    text-transform: uppercase;
    text-align: left;
  }

  .product-subscription-lockup [data-stayai-onetime-price],
  .product-subscription-lockup [data-stayai-subscription-price] {
    min-width: 0;
    text-align: right;
    transform: none;
    position: static;
    display: inline-flex;
    justify-self: end;
    align-items: baseline;
    gap: 10px;
    color: var(--lockup-text);
    font-family: var(--font-kennerley-small-caps-bold) !important;
    font-weight: 500 !important;
    font-family: var(--font-shango-gothic-bold) !important;
    font-size: 20.269px !important;
    line-height: 1.3 !important;
  }

  .product-subscription-lockup [data-stayai-onetime-price] s,
  .product-subscription-lockup [data-stayai-subscription-price] s {
    color: #796c61;
    font-family: var(--font-shango-gothic-medium);
    font-weight: 500;
    opacity: 1;
  }

  .product-subscription-lockup [data-stayai-onetime-serving],
  .product-subscription-lockup [data-stayai-subscription-serving] {
    position: static;
    transform: none;
    display: block;
    text-align: right;
    justify-self: end;
    margin-top: 5px;
    line-height: 1 !important;
    font-family: var(--font-shango-gothic-medium) !important;
    font-weight: 500 !important;
    font-size: 14.478px !important;
    text-transform: uppercase;
    text-align: center;
  }

  .product-subscription-lockup .stayai-purchase-label__price {
    text-align: right;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 0;
    min-width: 180px;
  }

  .product-subscription-lockup .stayai-subscription-details-container {
    margin-top: 12px;
  }

  .product-subscription-lockup .stayai-subscription-details-container > ul {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    width: 100%;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .product-subscription-lockup .stayai-subscription-details-container > ul > li {
    display: flex;
    flex: 0 1 auto;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    font-family: var(--font-kennerley-italic) !important;
    font-style: italic;
    text-transform: none !important;
    position: relative;
    text-align: left;
    line-height: 1;
    font-size: 12px;
  }

  .product-subscription-lockup .stayai-subscription-details-container > ul > li::before {
    content: '';
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    margin-top: 0;
  }

  .product-subscription-lockup .stayai-subscription-details-container > ul > li:first-child::before {
    background: var(--subscription-icon-piggy) no-repeat center center !important;
    background-size: 16px 16px !important;
  }

  .product-subscription-lockup .stayai-subscription-details-container > ul > li:nth-child(2)::before {
    background: var(--subscription-icon-truck) no-repeat center center !important;
    background-size: 16px 16px !important;
  }

  .product-subscription-lockup .stayai-subscription-details-container > ul > li:nth-child(3)::before {
    background: var(--subscription-icon-calendar) no-repeat center center !important;
    background-size: 16px 16px !important;
  }

  .product-subscription-lockup .stayai-welcome-kit {
    border-top: 1px solid rgb(242 239 233 / 0.24);
  }

  .product-subscription-lockup .stayai-welcome-kit__heading,
  .product-subscription-lockup .stayai-welcome-kit__label,
  .product-subscription-lockup .stayai-welcome-kit__title,
  .product-subscription-lockup .stayai-welcome-kit__price {
    color: var(--lockup-text);
  }

  .product-subscription-lockup .subscription-widget__form-component {
    display: block;
    margin-top: 34px;
    width: 100%;
  }

  .product-subscription-lockup add-to-cart-component {
    width: 100% !important;
  }

  .product-subscription-lockup .subscription-widget__atc {
    --button-color: var(--lockup-button);
    --color-primary-button-text: var(--lockup-button);
    color: var(--lockup-button) !important;
    background: var(--lockup-panel-bg) !important;
    border-color: var(--lockup-panel-bg) !important;
    border-radius: 999px !important;
    min-height: 37.96px;
    padding-block: 14.125px !important;
    font-family: var(--font-shango-gothic-bold) !important;
    font-size: 14.125px !important;
    line-height: 1.3 !important;
    opacity: 1 !important;
  }

  .product-subscription-lockup .subscription-widget__atc .add-to-cart-text,
  .product-subscription-lockup .subscription-widget__atc .add-to-cart-text__content,
  .product-subscription-lockup .subscription-widget__atc .add-to-cart-text__content * {
    color: var(--lockup-button) !important;
    opacity: 1 !important;
  }

  .product-subscription-lockup .subscription-widget__atc .add-to-cart-text--added {
    color: var(--lockup-button) !important;
    opacity: 0 !important;
    pointer-events: none;
  }

  .product-subscription-lockup .subscription-widget__atc.atc-added .add-to-cart-text {
    opacity: 0 !important;
  }

  .product-subscription-lockup .subscription-widget__atc.atc-added .add-to-cart-text--added {
    opacity: 1 !important;
  }

  .product-subscription-lockup__footer-text {
    width: 100%;
    max-width: 522.608px;
    margin: 18px 0 0;
    font-family: var(--font-kennerley-bold-italic);
    font-size: 16.5px;
    font-style: italic;
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
  }

  .product-subscription-lockup__footer-text p {
    margin: 0;
  }

  .product-subscription-lockup__trust {
    display: flex;
    justify-content: space-between;
    gap: 25px;
    width: 100%;
    max-width: 522.608px;
    margin: 52px 0 0;
  }

  .product-subscription-lockup__trust-item {
    display: grid;
    grid-template-columns: 57px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    text-align: left;
    font-family: var(--font-kennerley-bold);
    font-size: 16px;
    line-height: 1;
    text-transform: none;
  }

  .product-subscription-lockup__trust-icon {
    display: block;
    width: 57px;
    height: 57px;
  }

  

  .product-subscription-lockup__trust-icon svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  @media screen and (min-width: 750px) {

    .product-subscription-lockup__trust-item span:not(.product-subscription-lockup__trust-icon) {
      min-width: 80px;
    }

    .product-subscription-lockup {
      grid-template-columns: minmax(0, 1fr) minmax(520px, 1fr);
      align-items: stretch;
    }

    .product-subscription-lockup__media {
      min-height: 0;
      overflow: hidden;
    }

    .product-subscription-lockup__media img {
      position: absolute;
      inset: 0;
      height: 100%;
      min-height: 0;
    }

    .product-subscription-lockup__content {
      min-height: 0;
    }
  }

  @media screen and (max-width: 749px) {

    .product-subscription-lockup h1 em {
      font-size:  65.793px;
      line-height: 46%;
      letter-spacing: -1.316px;
    }

    .product-subscription-lockup__media {
      min-height: 430px;
    }

    .product-subscription-lockup__media::after {
      content: '';
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      background: linear-gradient(180deg, rgba(55, 10, 22, 0) 78.24%, #370a16 99.61%);
    }

    .product-subscription-lockup__content {
      min-height: auto;
      padding: 8px 32px 25px;
      text-align: center;
    }

    .product-subscription-lockup__copy,
    .product-subscription-lockup__widget,
    .product-subscription-lockup__footer-text,
    .product-subscription-lockup__trust {
      margin-left: auto;
      margin-right: auto;
    }

    .product-subscription-lockup__rating {
      justify-content: center;
      gap: 16px;
      margin-block-end: 24px;
      font-size: 16px;
    }

    .product-subscription-lockup__rating span:first-child {
      font-size: 16px;
      letter-spacing: 1px;
    }

    .product-subscription-lockup h1 {
      font-size: 38px;
      line-height: 0.8;
    }

    .product-subscription-lockup__text {
      max-width: 250px;
      margin-inline: auto;
      margin-block-start: 20px;
      font-size: 14px;
      line-height: 1.3;
    }

    .product-subscription-lockup__widget {
      margin-block-start: 36px;
    }

    .product-subscription-lockup .stayai-subscriptions-title {
      margin-bottom: 24px;
      text-align: center;
      font-size: 23px !important;
      line-height: 1.3 !important;
    }

    .product-subscription-lockup .stayai-subscription label {
      padding: 0 0 0 22px;
    }

    .product-subscription-lockup .stayai-subscription label:last-child {
      margin-bottom: 0;
      padding-bottom: 0;
    }

    .product-subscription-lockup .stayai-subscription:first-child label {
      border-bottom-width: 1px;
      margin-bottom: 14px;
      padding-bottom: 17px;
    }

    .product-subscription-lockup .stayai-subscription label::before {
      width: 10px;
      height: 10px;
      border-width: 1px;
      top: 8px;
    }

    .product-subscription-lockup .stayai-purchase-label__title,
    .product-subscription-lockup .stayai-purchase-label__inner__wrapper > span:not(.stayai-subscription-tag) {
      font-size: 13px;
      line-height: 1.3;
    }

    .product-subscription-lockup .stayai-purchase-label__inner {
      gap: 10px;
    }

    .product-subscription-lockup .stayai-purchase-label__price {
      min-width: 78px;
    }

    .product-subscription-lockup [data-stayai-onetime-price],
    .product-subscription-lockup [data-stayai-subscription-price] {
      gap: 5px;
      font-family: var(--font-shango-gothic-bold) !important;
      font-size: 13px !important;
      line-height: 1.3 !important;
    }

    .product-subscription-lockup [data-stayai-onetime-serving],
    .product-subscription-lockup [data-stayai-subscription-serving] {
      margin-top: 1px;
      font-size: 9px !important;
      line-height: 1.3 !important;
    }

    .product-subscription-lockup .stayai-subscription-tag {
      left: 96px;
      top: 6px;
      padding: 3px 8px 0 !important;
      font-family: var(--font-shango-gothic-bold) !important;
      font-size: 9px;
      line-height: 1.3;
    }

    .product-subscription-lockup .subscription-widget__form-component {
      margin-top: 26px;
    }

    .product-subscription-lockup .subscription-widget__atc {
      min-height: 28px;
      font-size: 9px !important;
      line-height: 1.3 !important;
    }

    .product-subscription-lockup__footer-text {
      font-size: 10px;
      line-height: 1;
    }

    .product-subscription-lockup__trust {
      gap: 20px;
      margin-top: 42px;
    }

    .product-subscription-lockup__trust-item {
      grid-template-columns: 36px minmax(0, 1fr);
      gap: 8px;
      font-size: 11px;
      line-height: 1;
    }

    .product-subscription-lockup__trust-icon {
      width: 36px;
      height: 36px;
    }
  }
/* END_SECTION:product-subscription-lockup */

/* START_SECTION:reviews-slideshow (INDEX:34) */
.reviews-slideshow {
    border-radius: 4px;
  }

  .reviews-slideshow-container {
    width: 100%;
    max-width: min(var(--page-content-width), calc(100% - (var(--util-page-margin-offset) * 2)));
    margin-inline: auto;
    background-color: #ded7c8 !important;
    border-radius: 4px;
    background-image: var(--page-texture-image);
    background-repeat: repeat;
    background-size: var(--page-texture-size) var(--page-texture-size);
  }

  .reviews-slideshow__layout {
    display: grid;
    grid-template-columns: 1fr;
    border-radius: 4px;
  }

  .reviews-slideshow__media {
    padding: 20px;
    max-height: 475px;
  }
  @media (max-width: 999px) {
    .reviews-slideshow__media {
      max-height: 280px;
    }
  }

  .reviews-slideshow__media img {
    border-radius: 4px;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }

  .reviews-slideshow__quotes {
    position: relative;
  }

  .reviews-slideshow__quotes slideshow-container {
    display: flex;
    flex-direction: column;
  }

  .reviews-slideshow__quotes slideshow-slides {
    margin-block-end: 20px;
    order: 1;
  }

  .reviews-slideshow__quotes slideshow-slide {
    max-height: 475px;
  }

  .reviews-slideshow__quotes slideshow-arrows {
    position: initial;
    inset: auto;
    width: 100%;
    margin: 0;
    padding: 0;
    justify-content: center;
    align-items: center;
    gap: var(--padding-xs);
    mix-blend-mode: normal;
    order: 2;
  }

  .reviews-slideshow__quotes slideshow-arrows .slideshow-control {
    opacity: 1;
    color: transparent;
    width: auto;
    height: auto;
    min-width: 20px;
    min-height: 20px;
    transition: opacity var(--animation-speed) var(--animation-easing);
    animation: none !important;
    transform: none !important;
    padding-bottom: 20px;
  }

  .reviews-slideshow__quotes slideshow-arrows .slideshow-control {
    padding-inline: 0 !important;
  }

  @media (min-width: 1000px) {
    .reviews-slideshow__quotes slideshow-arrows .slideshow-control {
      padding-bottom: 0;
    }
  }

  .reviews-slideshow__quotes slideshow-arrows .slideshow-control:hover,
  .reviews-slideshow__quotes slideshow-arrows .slideshow-control:focus,
  .reviews-slideshow__quotes slideshow-arrows .slideshow-control:focus-visible {
    opacity: 0.8;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
  }

  .reviews-slideshow__quotes .image-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }

  .reviews-slideshow__quotes .image-wrapper img {
    max-width: 32px;
    max-height: 32px;
    width: auto;
    height: auto;
    object-fit: contain;
  }

  .reviews-slideshow__quotes slideshow-arrows .slideshow-control--previous {
    order: 1;
  }

  .reviews-slideshow__quotes slideshow-arrows .slideshow-control--next {
    order: 2;
  }

  .reviews-slideshow__quotes slideshow-component:hover slideshow-arrows .slideshow-control,
  .reviews-slideshow__quotes slideshow-component:focus-within slideshow-arrows .slideshow-control {
    opacity: 1;
    animation: none !important;
    transform: none !important;
  }

  .reviews-slideshow__quotes slideshow-arrows .slideshow-control:has(.image-wrapper) .svg-wrapper {
    display: none;
  }

  .reviews-slideshow__quotes slideshow-arrows .slideshow-control--previous .image-wrapper img {
    transform: scaleX(-1);
  }

  .reviews-slideshow__quotes slideshow-component[dragging] slideshow-arrows {
    display: flex !important;
  }

  @media (min-width: 1000px) {
    .reviews-slideshow__layout {
      grid-template-columns: 1fr 1fr;
      align-items: center;
      min-height: 475px;
    }

    .reviews-slideshow__media {
      height: 475px;
      max-height: 475px;
    }

    .reviews-slideshow__quotes {
      display: flex;
      align-items: center;
    }

    .reviews-slideshow__quotes slideshow-component {
      width: 100%;
    }

    .reviews-slideshow__quotes slideshow-slides {
      margin-block-end: 0;
    }

    .reviews-slideshow__quotes slideshow-arrows {
      justify-content: center;
      align-items: flex-end;
    }
  }
/* END_SECTION:reviews-slideshow */

/* START_SECTION:ritual-subscription (INDEX:35) */
.ritual-subscription {
    color: var(--ritual-text);
    background-color: var(--ritual-bg);
    background-image: var(--ritual-bg-image);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
  }

  .ritual-subscription__inner {
    width: min(100%, 1260px);
    margin-inline: auto;
    padding: 60px 63px 71px;
  }

  .ritual-subscription__heading {
    width: min(100%, 635px);
    margin: 0 auto 42px;
    color: currentColor;
    font-family: var(--font-shango-gothic-medium);
    font-size: 52px;
    font-weight: 500;
    line-height: 0.8;
    letter-spacing: -1.04px;
    text-align: center;
    text-transform: uppercase;
  }

  .ritual-subscription__heading em {
    display: inline-block;
    font-family: var(--font-mrs-saint-delafield);
    font-size: 104px;
    font-style: normal;
    font-weight: 400;
    line-height: 0.42;
    letter-spacing: -2.08px;
    text-transform: none;
  }

  .ritual-subscription__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 26px;
    align-items: center;
  }

  .ritual-subscription__media {
    order: 2;
    width: 100%;
    overflow: hidden;
    border-radius: 8px;
  }

  .ritual-subscription__media img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 0.93;
    object-fit: cover;
  }

  .ritual-subscription__purchase {
    order: 1;
    display: grid;
    justify-items: center;
    width: 100%;
  }

  .ritual-subscription__widget {
    width: 100%;
  }

  .ritual-subscription .stayai-widget {
    width: 100%;
  }

  .ritual-subscription .stayai-subscriptions {
    overflow: hidden;
    border-radius: 6px;
    background: var(--ritual-panel-bg);
    color: var(--ritual-panel-text);
  }

  .ritual-subscription .stayai-subscriptions-title {
    padding: 20px 22px 14px;
    border-bottom: 1px solid var(--ritual-panel-text);
    font-family: var(--font-kennerley);
    font-size: 46px !important;
    font-weight: 700;
    line-height: 1.3 !important;
    letter-spacing: -0.92px !important;
    text-align: center;
  }

  .ritual-subscription .stayai-subscriptions ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .ritual-subscription .stayai-subscription label {
    position: relative;
    display: block;
    padding: 28px 28px 30px 54px;
    cursor: pointer;
    color: var(--ritual-panel-text);
  }

  .ritual-subscription .stayai-subscription:first-child label {
    padding-bottom: 34px;
    border-bottom: 2px solid var(--ritual-panel-text);
  }

  .ritual-subscription .stayai-purchase-label input {
    display: none;
  }

  .ritual-subscription .stayai-subscription label::before {
    content: '';
    position: absolute;
    top: 34px;
    left: 22px;
    width: 14px;
    height: 14px;
    border: 1.5px solid var(--ritual-panel-text);
    border-radius: 50%;
  }

  .ritual-subscription .stayai-subscription label.is-selected::before {
    background: var(--ritual-panel-text);
  }

  .ritual-subscription .stayai-purchase-label__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: start;
  }

  .ritual-subscription .stayai-purchase-label__title,
  .ritual-subscription .stayai-purchase-label__inner__wrapper > span {
    font-family: var(--font-shango-gothic-bold);
    font-size: 23.082px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
  }

  .ritual-subscription .stayai-purchase-label__inner__wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
  }

  .ritual-subscription .stayai-subscription-tag {
    position: absolute;
    top: 28px;
    left: 210px;
    display: inline-block;
    border-radius: 999px;
    padding: 5px 14px 4px !important;
    background: var(--ritual-button) !important;
    color: var(--ritual-text) !important;
    font-family: var(--font-shango-gothic-bold);
    font-size: 14.125px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
  }

  .ritual-subscription .stayai-plan-dropdown {
    --stayai-plan-dropdown-bg: var(--ritual-panel-bg);
    --stayai-plan-dropdown-text: var(--ritual-panel-text);
  }

  .ritual-subscription .stayai-subscription-header {
    width: calc(100% + 82px);
    margin: 0 -28px 16px -54px;
    background: var(--ritual-button);
    color: var(--ritual-text);
  }

  .ritual-subscription .stayai-purchase-label--subscription:has(.stayai-subscription-header:not([hidden])) {
    overflow: hidden;
    padding-top: 0;
  }

  .ritual-subscription .stayai-purchase-label--subscription:has(.stayai-plan-dropdown.is-open) {
    overflow: visible;
  }

  .ritual-subscription .stayai-purchase-label__subtext {
    font-family: var(--font-kennerley);
    font-size: 14px;
    text-transform: none;
  }

  .ritual-subscription .stayai-purchase-label__price {
    display: grid;
    justify-items: end;
    gap: 4px;
    min-width: 136px;
    text-align: right;
  }

  .ritual-subscription [data-stayai-onetime-price],
  .ritual-subscription [data-stayai-subscription-price] {
    display: inline-flex;
    gap: 10px;
    align-items: baseline;
    font-family: var(--font-shango-gothic-bold);
    font-size: 23.082px;
    font-weight: 700;
    line-height: 1.3;
  }

  .ritual-subscription [data-stayai-onetime-price] s,
  .ritual-subscription [data-stayai-subscription-price] s {
    color: #330a15;
    font-family: var(--font-shango-gothic-medium);
    font-weight: 500;
    opacity: 0.78;
  }

  .ritual-subscription [data-stayai-onetime-serving],
  .ritual-subscription [data-stayai-subscription-serving] {
    font-family: var(--font-shango-gothic-medium);
    font-size: 16.487px;
    font-weight: 500;
    line-height: 1.3;
    text-transform: uppercase;
  }

  .ritual-subscription .stayai-subscription-details-container {
    margin-block-start: 12px;
  }

  .ritual-subscription .stayai-subscription-details-container > ul {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
  }

  .ritual-subscription .stayai-subscription-details-container > ul > li {
    flex: 1;
    font-family: var(--font-kennerley);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    text-transform: uppercase;
  }

  .ritual-subscription .stayai-subscription-details-container > ul > li::before {
    content: '-';
  }

  .ritual-subscription .stayai-welcome-kit {
    border-top-color: rgb(60 6 20 / 0.2);
  }

  .ritual-subscription__form-component {
    display: block;
    width: min(100%, 522.608px);
    margin-block-start: 28px;
  }

  .ritual-subscription add-to-cart-component {
    width: 100% !important;
  }

  .ritual-subscription__atc {
    min-height: 37.96px;
    padding-block: 14.125px !important;
    border-radius: 88.278px !important;
    color: var(--ritual-text) !important;
    background: #910048 !important;
    border-color: #910048 !important;
    font-family: var(--font-shango-gothic-bold) !important;
    font-size: 14.125px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
  }

  .ritual-subscription__atc .add-to-cart-text,
  .ritual-subscription__atc .add-to-cart-text__content,
  .ritual-subscription__atc .add-to-cart-text__content * {
    color: var(--ritual-text) !important;
    opacity: 1 !important;
  }

  .ritual-subscription__atc .add-to-cart-text--added {
    color: var(--ritual-text) !important;
    opacity: 0 !important;
    pointer-events: none;
  }

  .ritual-subscription__atc.atc-added .add-to-cart-text {
    opacity: 0 !important;
  }

  .ritual-subscription__atc.atc-added .add-to-cart-text--added {
    opacity: 1 !important;
  }

  .ritual-subscription__footer-text {
    margin-block-start: 12px;
    font-family: var(--font-kennerley-italic);
    font-size: 16.5px;
    font-style: italic;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.33px;
    text-align: center;
  }

  .ritual-subscription__footer-text p {
    margin: 0;
  }

  @media screen and (min-width: 900px) {
    .ritual-subscription__inner {
      padding: 58px 62px 64px;
    }

    .ritual-subscription__layout {
      grid-template-columns: minmax(300px, 360px) minmax(560px, 1fr);
      column-gap: 34px;
      row-gap: 28px;
      align-items: stretch;
      justify-content: center;
    }

    .ritual-subscription__media {
      order: 1;
      grid-column: 1;
      grid-row: 1;
      height: 100%;
    }

    .ritual-subscription__purchase {
      order: 2;
      display: contents;
    }

    .ritual-subscription__widget {
      order: 2;
      grid-column: 2;
      grid-row: 1;
    }

    .ritual-subscription__media img {
      height: 100%;
      aspect-ratio: auto;
      object-position: center;
    }

    .ritual-subscription__form-component {
      order: 3;
      grid-column: 1 / -1;
      justify-self: center;
      margin-block-start: 0;
    }

    .ritual-subscription__footer-text {
      order: 4;
      grid-column: 1 / -1;
      justify-self: center;
      margin-block-start: -16px;
    }
  }

  @media screen and (max-width: 749px) {

    .ritual-subscription__inner {
      padding: 46px 22px 58px;
    }

    .ritual-subscription__inner {
      padding-inline: 22px;
    }

    .ritual-subscription__layout {
      display: flex;
      flex-direction: column;
    }

    .ritual-subscription__purchase {
      display: contents;
    }

    .ritual-subscription__widget {
      order: 1;
    }

    .ritual-subscription__media {
      order: 2;
    }

    .ritual-subscription__form-component {
      order: 3;
    }

    .ritual-subscription__footer-text {
      order: 4;
    }

    .ritual-subscription__heading {
      margin-bottom: 30px;
      font-family: var(--font-shango-gothic-medium);
      font-size: 38.478px;
      font-weight: 500;
      line-height: 0.8;
      letter-spacing: 0.77px;
    }

    .ritual-subscription__heading em {
      font-family: var(--font-mrs-saint-delafield);
      font-size: 76.955px;
      font-weight: 400;
      line-height: 0.42;
      letter-spacing: -1.539px;
    }

    .ritual-subscription .stayai-subscriptions-title {
      padding: 17px 16px 12px;
      font-family: var(--font-kennerley);
      font-size: 33.428px !important;
      font-weight: 700;
      line-height: 1.3 !important;
      letter-spacing: -0.669px !important;
    }

    .ritual-subscription .stayai-subscription label {
      padding: 26px 20px 28px 44px;
    }

    .ritual-subscription .stayai-subscription label::before {
      left: 20px;
      top: 31px;
      width: 13px;
      height: 13px;
    }

    .ritual-subscription .stayai-subscription-tag {
      top: 27px;
      left: 158px;
      font-family: var(--font-shango-gothic-bold);
      font-size: 11.981px;
      font-weight: 700;
      line-height: 1.3;
      padding: 4.792px 9.585px !important;
      border-radius: 119.812px;
      background: #910048 !important;
    }

    .ritual-subscription .stayai-purchase-label__inner {
      grid-template-columns: 1fr;
      gap: 13px;
    }

    .ritual-subscription .stayai-purchase-label__price {
      justify-items: start;
      min-width: 0;
      text-align: left;
    }

    .ritual-subscription .stayai-purchase-label__title,
    .ritual-subscription .stayai-purchase-label__inner__wrapper > span {
      font-family: var(--font-shango-gothic-bold);
      font-size: 16.774px;
      font-weight: 700;
      line-height: 1.3;
    }

    .ritual-subscription [data-stayai-onetime-price],
    .ritual-subscription [data-stayai-subscription-price] {
      font-family: var(--font-shango-gothic-bold);
      font-size: 16.774px;
      font-weight: 700;
      line-height: 1.3;
    }

    .ritual-subscription [data-stayai-onetime-price] s,
    .ritual-subscription [data-stayai-subscription-price] s {
      font-family: var(--font-shango-gothic-medium);
      font-weight: 500;
      opacity: 0.8;
    }

    .ritual-subscription [data-stayai-onetime-serving],
    .ritual-subscription [data-stayai-subscription-serving] {
      font-family: var(--font-shango-gothic-medium);
      font-size: 11.981px;
      font-weight: 500;
      line-height: 1.3;
    }

    .ritual-subscription .stayai-subscription-details-container li {
      font-family: var(--font-kennerley);
      font-size: 11.627px;
      font-weight: 400;
      line-height: 1.5;
    }

    .ritual-subscription__form-component {
      width: min(100%, 164px);
    }

    .ritual-subscription__atc {
      font-family: var(--font-shango-gothic-bold) !important;
      font-size: 14.125px !important;
      font-weight: 700 !important;
      line-height: 1.3 !important;
    }

    .ritual-subscription__footer-text {
      font-family: var(--font-kennerley-italic);
      font-size: 13px;
      font-style: italic;
      font-weight: 700;
      line-height: 1;
      letter-spacing: -0.26px;
    }
  }
/* END_SECTION:ritual-subscription */

/* START_SECTION:scrolling-reviews (INDEX:36) */
.scrolling-reviews {
    color: var(--scrolling-reviews-text);
    background-color: var(--scrolling-reviews-bg);
    background-image: var(--page-texture-image);
    background-repeat: repeat;
    background-size: var(--page-texture-size) var(--page-texture-size);
    overflow: hidden;
    padding-block: 0;
  }

  .scrolling-reviews__marquee {
    display: block;
    width: 100%;
    overflow: hidden;
  }

  .scrolling-reviews__wrapper {
    display: flex;
    width: fit-content;
    white-space: nowrap;
  }

  .scrolling-reviews__content {
    min-width: max-content;
    display: flex;
    gap: var(--scrolling-reviews-gap);
  }

  .scrolling-reviews__items {
    min-width: max-content;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: var(--scrolling-reviews-gap);
  }

  .scrolling-reviews__content .scrolling-reviews__items * {
    max-width: none;
  }

  @media (prefers-reduced-motion: no-preference) {
    .scrolling-reviews marquee-component:not([data-disabled]) .scrolling-reviews__wrapper {
      animation: scrolling-reviews-motion var(--marquee-speed) linear infinite var(--marquee-direction);
    }
  }

  @keyframes scrolling-reviews-motion {
    to {
      transform: translate3d(calc(-50% - (var(--scrolling-reviews-gap) / 2)), 0, 0);
    }
  }

  @media screen and (min-width: 750px) {
    .scrolling-reviews {
      padding-block: 0;
    }

    .scrolling-reviews__content,
    .scrolling-reviews__items {
      gap: var(--scrolling-reviews-gap-desktop);
    }

    @keyframes scrolling-reviews-motion-desktop {
      to {
        transform: translate3d(calc(-50% - (var(--scrolling-reviews-gap-desktop) / 2)), 0, 0);
      }
    }

    @media (prefers-reduced-motion: no-preference) {
      .scrolling-reviews marquee-component:not([data-disabled]) .scrolling-reviews__wrapper {
        animation-name: scrolling-reviews-motion-desktop;
      }
    }
  }
/* END_SECTION:scrolling-reviews */

/* START_SECTION:tabbed-product-spotlight (INDEX:42) */
.tabbed-product-spotlight-wrapper {
    --tabbed-product-spotlight-image-max-width: 470px;

    position: relative;
    min-height: 400px; /* Fallback minimum height */
  }

  .tabbed-product-spotlight-wrapper .image-block__image {
    display: block;
    inline-size: min(100%, var(--tabbed-product-spotlight-image-max-width));
    margin-inline: auto;
    block-size: auto;
  }

  .product-spotlight-tab {
    position: absolute;
    display: flex;
    flex-direction: column;
    width: 100%;
    transition: transform 0.3s ease, z-index 0.3s ease, margin-bottom 0.3s ease, opacity 0.3s ease, top 0.3s ease,
      width 0.3s ease, left 0.3s ease;
    border-radius: 4px;
    top: 0;
    margin-top: 40px;
    opacity: 1;
  }

  /* Offset each tab by 45px for every preceding sibling */
  .tabbed-product-spotlight-wrapper > .product-spotlight-tab:nth-child(1) {
    top: 0;
  }
  .tabbed-product-spotlight-wrapper > .product-spotlight-tab:nth-child(2) {
    top: 45px;
  }
  .tabbed-product-spotlight-wrapper > .product-spotlight-tab:nth-child(3) {
    top: 90px;
  }
  .tabbed-product-spotlight-wrapper > .product-spotlight-tab:nth-child(4) {
    top: 135px;
  }
  .tabbed-product-spotlight-wrapper > .product-spotlight-tab:nth-child(5) {
    top: 180px;
  }
  .tabbed-product-spotlight-wrapper > .product-spotlight-tab:nth-child(6) {
    top: 225px;
  }

  /* Z-index: last child has highest, counting backwards */
  .tabbed-product-spotlight-wrapper > .product-spotlight-tab:nth-last-child(1) {
    z-index: 6;
  }
  .tabbed-product-spotlight-wrapper > .product-spotlight-tab:nth-last-child(2) {
    z-index: 5;
  }
  .tabbed-product-spotlight-wrapper > .product-spotlight-tab:nth-last-child(3) {
    z-index: 4;
  }
  .tabbed-product-spotlight-wrapper > .product-spotlight-tab:nth-last-child(4) {
    z-index: 3;
  }
  .tabbed-product-spotlight-wrapper > .product-spotlight-tab:nth-last-child(5) {
    z-index: 2;
  }
  .tabbed-product-spotlight-wrapper > .product-spotlight-tab:nth-last-child(6) {
    z-index: 1;
  }

  /* Width: decrease by 12px on each side from front to back */
  .tabbed-product-spotlight-wrapper > .product-spotlight-tab:nth-last-child(1) {
    width: 100%;
    left: 0;
  }
  .tabbed-product-spotlight-wrapper > .product-spotlight-tab:nth-last-child(2) {
    width: calc(100% - 24px);
    left: 12px;
  }
  .tabbed-product-spotlight-wrapper > .product-spotlight-tab:nth-last-child(3) {
    width: calc(100% - 48px);
    left: 24px;
  }
  .tabbed-product-spotlight-wrapper > .product-spotlight-tab:nth-last-child(4) {
    width: calc(100% - 72px);
    left: 36px;
  }
  .tabbed-product-spotlight-wrapper > .product-spotlight-tab:nth-last-child(5) {
    width: calc(100% - 96px);
    left: 48px;
  }
  .tabbed-product-spotlight-wrapper > .product-spotlight-tab:nth-last-child(6) {
    width: calc(100% - 120px);
    left: 60px;
  }

  .product-spotlight-tab[data-active='true'] {
    z-index: 100;
  }

  /* Hover effect for non-selected tabs */
  .product-spotlight-tab:not([data-active='true']):hover {
    transform: translateY(-10px);
    opacity: 1;
  }

  .product-spotlight-tab:not([data-active='true']):hover .product-spotlight-tab__header {
    opacity: 1;
  }

  .product-spotlight-tab__header {
    border: none;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    padding: 12px 24px;
    color: rgb(var(--color-foreground-rgb) / 1);
    text-align: center;
    font-family: var(--font-shango-gothic-medium);
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
    cursor: pointer;
    position: relative;
    z-index: 2;
    width: 100%;
    flex-shrink: 0;
    transition: opacity 0.3s ease;
  }

  .product-spotlight-tab__header[aria-selected='true'] {
    z-index: 3;
  }

  .product-spotlight-tab__header[aria-selected='false'] {
    opacity: 1;
  }

  .product-spotlight-tab__panel {
    padding: 40px;
    border-radius: 0 0 4px 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    position: relative;
    z-index: 1;
    width: 100%;
    flex: 1;
  }
/* END_SECTION:tabbed-product-spotlight */

/* START_SECTION:vh-lp-announcement-bar (INDEX:43) */
.vh-lp-announcement {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  min-height: 32px;
  /* Baseline at Figma y 20.42 of 32 (9.6px line box, baseline 7px into it). */
  padding: 13.4px 16px 9px;
  background: var(--vh-lp-ann-bg-mobile);
  color: var(--vh-lp-ann-fg);
}
.vh-lp-announcement__text {
  margin: 0;
  font-family: var(--font-kennerley-bold, 'LTC Kennerley Pro Bold'), Georgia, serif;
  font-weight: 700;
  font-style: normal;
  font-size: 12px;
  line-height: 0.8;
  letter-spacing: -0.02em;
  text-align: center;
  text-transform: none;
  color: inherit;
  text-decoration: none;
}
@media (min-width: 750px) {
  .vh-lp-announcement {
    min-height: 69px;
    /* Figma text node 319:82 sits at x 617 to 1250 of 1920 (centre 933.5, not 960): 26.5px left of centre,
       identical in all 6 templates. Baseline at Figma y 45 of 69 (24.8px line box, baseline 19px into it). */
    padding: 26px 2.76vw 18.2px 0;
    background: var(--vh-lp-ann-bg);
  }
  .vh-lp-announcement__text {
    font-size: 31px;
  }
}
/* END_SECTION:vh-lp-announcement-bar */

/* START_SECTION:vh-lp-brewing-fullbleed-image (INDEX:44) */
/* mobile first: u = 1px of the 402 frame. Layout is the Figma frame, positioned in u.
   Height runs to the bottom of the bottom tear's box (261 + 35.5): Figma 505:7371 paints the whole tear
   over cream (the quest's dark rect 505:7377 starts below it), so the section must not clip it. */
.vh-lp .vh-lp-section.vh-lp-brewing {
  --u: calc(100vw / 402);
  height: calc(var(--u) * 296.5);
  padding: 0;
  letter-spacing: -0.02em;
}
.vh-lp .vh-lp-section.vh-lp-brewing > * { position: absolute; margin: 0; }

/* photo 505:7670: x -2, y 49.25, 405.27 x 234.31. The asset is the node exported clipped to the frame (x 0 to frame width),
   so the image box is the frame-visible part: x 0, full width. */
.vh-lp .vh-lp-brewing__photo {
  left: 0;
  top: calc(var(--u) * 49.25);
  width: 100%;
  height: calc(var(--u) * 234.31);
  z-index: 1;
}
.vh-lp .vh-lp-brewing__photo img,
.vh-lp .vh-lp-brewing__photo video { display: block; width: 100%; height: 100%; object-fit: cover; }

/* top fade: two stacked layers, each #F2EFE9 at y 48 to transparent at y 114.06 (Figma paint0/paint1) */
.vh-lp .vh-lp-brewing__fade {
  left: 0;
  right: 0;
  top: calc(var(--u) * 48);
  height: calc(var(--u) * 66.06);
  --vh-lp-brewing-fade: linear-gradient(to bottom, var(--vh-lp-bg), transparent);
  background: var(--vh-lp-brewing-fade), var(--vh-lp-brewing-fade);
  z-index: 1;
  pointer-events: none;
}
/* bottom fade: transparent at y 208.94 to #F2EFE9 at y 284 (Figma paint2) */
.vh-lp .vh-lp-brewing__fade--bottom {
  top: calc(var(--u) * 208.94);
  height: calc(var(--u) * 75.06);
  background: linear-gradient(to top, var(--vh-lp-bg), transparent);
}

/* eyebrow: text box 151.5/8 99.8x16 */
.vh-lp .vh-lp-brewing .vh-lp-eyebrow {
  display: block;
  left: calc(var(--u) * 151.5);
  top: calc(var(--u) * 8);
  width: calc(var(--u) * 99.8);
  height: calc(var(--u) * 16);
  z-index: 2;
  font-size: calc(var(--u) * 12);
  line-height: calc(var(--u) * 16);
  text-align: center;
  white-space: nowrap;
}
/* rules 505:7420 / 505:7419 at x 137 / 241, y 16.17: Figma's tapered vector (23.067 x 1, thickest in the middle),
   used as a mask over the text colour */
.vh-lp .vh-lp-brewing .vh-lp-eyebrow::before,
.vh-lp .vh-lp-brewing .vh-lp-eyebrow::after {
  position: absolute;
  top: calc(var(--u) * 8.17);
  width: calc(var(--u) * 23.067);
  height: calc(var(--u) * 1);
  flex: none;
  --vh-lp-brewing-rule: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23.067 1' preserveAspectRatio='none'%3E%3Cpath d='M0 0.5C0.384 0.53 0.769 0.56 1.153 0.59C4.613 0.86 8.073 1 11.533 1C14.993 1 18.454 0.86 21.914 0.59C22.298 0.56 22.682 0.53 23.067 0.5C22.682 0.46 22.298 0.43 21.914 0.4C18.454 0.13 14.993 0 11.533 0C8.073 0 4.613 0.13 1.153 0.4C0.769 0.43 0.384 0.46 0 0.5Z'/%3E%3C/svg%3E");
  -webkit-mask: var(--vh-lp-brewing-rule) center / 100% 100% no-repeat;
  mask: var(--vh-lp-brewing-rule) center / 100% 100% no-repeat;
}
.vh-lp .vh-lp-brewing .vh-lp-eyebrow::before { display: block; left: calc(var(--u) * -14.5); }
.vh-lp .vh-lp-brewing .vh-lp-eyebrow::after { right: auto; left: calc(var(--u) * 89.5); }

/* heading: group 79/21.3 244.2x32; script initial 45px; text 24/25.44 starting at x 97.2 */
.vh-lp .vh-lp-brewing .vh-lp-heading {
  left: calc(var(--u) * 79);
  top: calc(var(--u) * 21.3);
  width: calc(var(--u) * 244.2);
  height: calc(var(--u) * 32);
  z-index: 2;
  box-sizing: border-box;
  padding-left: calc(var(--u) * 18.2);
  padding-top: calc(var(--u) * 11.56);
  font-size: calc(var(--u) * 24);
  line-height: calc(var(--u) * 25.44);
  text-align: center;
  white-space: nowrap;
}
.vh-lp .vh-lp-brewing .vh-lp-heading .vh-lp-script--initial {
  position: absolute;
  left: 0;
  top: calc(var(--u) * 10.5); /* ink lands at y 24-56, as in the crop and frame SVG */
  margin: 0;
  line-height: calc(var(--u) * 32);
}

/* torn edges, placed from the Figma frame export (vector 429 wide = 1934 scaled 0.2218; the snippet's viewBox shows
   the vector's x 0-1920, so the box is 425.9 wide). max-width: none undoes the theme's base.css `svg { max-width: 100% }`,
   which otherwise squeezes the wider-than-viewport edge.
   Top is the 180-degree instance 505:7387: vector x -12 to 417, its x 0 lands at 417, so the box runs -8.9 to 417;
   tear boundary at section y 4. Bottom is 505:7389: x -12, section y 261. */
.vh-lp .vh-lp-brewing .vh-lp-torn--top { top: calc(var(--u) * -31.5); bottom: auto; }
.vh-lp .vh-lp-brewing .vh-lp-torn--bottom { top: calc(var(--u) * 261); bottom: auto; }

@media (min-width: 750px) {
  /* Height = bottom of Figma's cream rect 505:6789 (frame y 5424, section y 1324). The bottom tear (box to 1336) is
     cut there, as in Figma, where the tear's deepest dip meets the frame's dark below the rect. */
  .vh-lp .vh-lp-section.vh-lp-brewing { --u: calc(100vw / 1920); height: calc(var(--u) * 1324); }

  /* photo 505:6774: x -12.89, y 167.72, 1945.67 x 1124.89; asset (3840 x 2250) is its frame-visible part, x 0-1920 */
  .vh-lp .vh-lp-brewing__photo {
    top: calc(var(--u) * 167.72);
    height: calc(var(--u) * 1124.89);
  }
  /* top fade: two stacked layers, #F2EFE9 at y 167.72 to transparent at y 482.38; bottom: transparent at 991.45 to #F2EFE9 at 1306.77 */
  .vh-lp .vh-lp-brewing__fade { top: calc(var(--u) * 167.72); height: calc(var(--u) * 314.66); }
  .vh-lp .vh-lp-brewing__fade--bottom { top: calc(var(--u) * 991.45); height: calc(var(--u) * 315.32); }

  /* eyebrow 505:6819: 765/72 390x56; rules 505:6823 / 505:6821: tapered vector 90.122 x 2 at x 720 / 1099, y 98 */
  .vh-lp .vh-lp-brewing .vh-lp-eyebrow {
    left: calc(var(--u) * 765);
    top: calc(var(--u) * 72);
    width: calc(var(--u) * 390);
    height: calc(var(--u) * 56);
    font-size: calc(var(--u) * 42.76);
    line-height: calc(var(--u) * 56);
  }
  .vh-lp .vh-lp-brewing .vh-lp-eyebrow::before,
  .vh-lp .vh-lp-brewing .vh-lp-eyebrow::after {
    top: calc(var(--u) * 26);
    width: calc(var(--u) * 90.122);
    height: calc(var(--u) * 2);
    --vh-lp-brewing-rule: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90.122 2' preserveAspectRatio='none'%3E%3Cpath d='M0 1C1.502 1.07 3.004 1.13 4.506 1.19C18.024 1.73 31.543 2 45.061 2C58.579 2 72.097 1.73 85.616 1.19C87.118 1.13 88.62 1.07 90.122 1C88.62 0.93 87.118 0.87 85.616 0.81C72.097 0.27 58.579 0 45.061 0C31.543 0 18.024 0.27 4.506 0.81C3.004 0.87 1.502 0.93 0 1Z'/%3E%3C/svg%3E");
  }
  .vh-lp .vh-lp-brewing .vh-lp-eyebrow::before { left: calc(var(--u) * -45); }
  .vh-lp .vh-lp-brewing .vh-lp-eyebrow::after { left: calc(var(--u) * 334); }

  /* heading group 505:7692: 536/128 849x112; text 85.36/89.93 at x 615 */
  .vh-lp .vh-lp-brewing .vh-lp-heading {
    left: calc(var(--u) * 536);
    top: calc(var(--u) * 128);
    width: calc(var(--u) * 849);
    height: calc(var(--u) * 112);
    padding-left: calc(var(--u) * 79);
    padding-top: calc(var(--u) * 41.07);
    font-size: calc(var(--u) * 85.36);
    line-height: calc(var(--u) * 89.93);
  }
  .vh-lp .vh-lp-brewing .vh-lp-heading .vh-lp-script--initial { top: calc(var(--u) * 32.5); line-height: calc(var(--u) * 112); }

  /* top: 180-degree instance 505:7691, vector x -8 to 1928 (1936 wide), so its x 0 lands at 1928 and the box
     (1920 x 1936/1934 = 1922 wide) runs 6 to 1928; tear boundary at section y 83.
     bottom: 505:7690, vector x 0 to 1927 (box 1913 wide), top at section y 1177. */
  .vh-lp .vh-lp-brewing .vh-lp-torn--top { top: calc(var(--u) * -77); }
  .vh-lp .vh-lp-brewing .vh-lp-torn--bottom { top: calc(var(--u) * 1177); }
}
/* END_SECTION:vh-lp-brewing-fullbleed-image */

/* START_SECTION:vh-lp-buybox-trilogy (INDEX:45) */
/* All sizes are Figma px from specs/buybox-trilogy.md (desktop frame 1920). --u scales them:
     desktop 1px = 1 design px; mobile (402 frame) is the same component drawn at 0.359 scale, so --u = 0.359px at 402. */
  .vh-lp vh-lp-buybox.vh-lp-section {
    --u: clamp(0.359px, calc(100vw / 1120), 0.72px);
    --bb-title: 66.85;
    --bb-title-h: 89.1;
    --bb-badge: 26.39;
    --bb-badge-h: 55.3;
    --bb-label: 26.39;
    --bb-sub: 26.39;
    --bb-price: 32.51;
    --bb-per: 21.9448;
    --bb-radio: 22.3;
    --bb-select-w: 360.4;
    --bb-select-h: 51.7;
    --bb-select-font: 26.39;
    --bb-perk: 20.63;
    --bb-perk-icon: 27.5;
    --bb-gifts-h: 26.39;
    --bb-gift-order: 21.44;
    --bb-gift-img: 120.5;
    --bb-gift-txt: 19.3;
    --bb-cta-h: 65.2;
    /* 402 frames: the CTA label (Hero Title 505:6377, cap 9.94 tall) is the 9.62px button style (26.8u), not 30u: at 10.77px
       its ink ran 89 wide against Figma's 81 (r6 sweep). Desktop sets 30 below. */
    --bb-cta-font: 26.8;
    --bb-guar: 26.76;
    --bb-arrow: 73.14;
    --bb-dot: 18.89;
    --bb-dot-gap: 7.21;
    --bb-radius: 27.86;
    --bb-gallery-border: 2.786;
    --bb-border: 1.78;
    --vh-lp-bb-sub-bg: #f0e6d1;
    --vh-lp-bb-once-bg: transparent;
    --vh-lp-bb-line: #d28132;
    --vh-lp-bb-muted: #ba9e72;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: 'title' 'gallery' 'panel';
    row-gap: calc(53 * var(--u));
    /* spacing to the neighbouring sections differs per template (Figma frame gaps), so it is a setting; mobile values are 402-frame px */
    padding-block: calc(var(--bb-pt-m) / 0.359 * var(--u)) calc(var(--bb-pb-m) / 0.359 * var(--u));
    padding-inline: calc(66.9 * var(--u));
    overflow: visible;
    background: var(--vh-lp-bb-mbg, var(--vh-lp-bg));
  }
  .vh-lp vh-lp-buybox.vh-lp-scheme--cream { --vh-lp-bb-once-bg: #f2efe9; }
  .vh-lp vh-lp-buybox.vh-lp-scheme--dark { --vh-lp-bb-sub-bg: #f2efe9; --vh-lp-bb-once-bg: transparent; }
  .vh-lp vh-lp-buybox .vh-lp-bb__title { grid-area: title; display: flex; justify-content: center; align-items: flex-end; height: calc(var(--bb-title-h) * var(--u)); text-align: center; }
  .vh-lp vh-lp-buybox .vh-lp-bb__title .vh-lp-heading { position: relative; top: calc(14 * var(--u)); font-size: calc(var(--bb-title) * var(--u)); line-height: 1.06; }
  .vh-lp vh-lp-buybox .vh-lp-bb__title .vh-lp-script--initial { position: relative; left: -0.107em; }

  /* Gallery */
  .vh-lp vh-lp-buybox .vh-lp-bb__gallery {
    grid-area: gallery;
    position: relative;
    aspect-ratio: 353 / 392.3;
    border-radius: calc(var(--bb-radius) * var(--u));
    border: calc(var(--bb-gallery-border) * var(--u)) solid var(--vh-lp-bb-line);
    overflow: hidden;
    background: var(--vh-lp-dark);
  }
  /* LP3 / LP3-V2 (dark): image 505:5914 / 494:4961 fills the 790 x 878 gallery box with no stroke, so no border box
     either (a transparent 2px border inset the picture 2px on every side; r6 sweep w -4, h -3). */
  .vh-lp vh-lp-buybox.vh-lp-scheme--dark .vh-lp-bb__gallery { border-width: 0; }
  /* Dashed arrow rings (dark arrow style): Figma fits 20 whole 4.46/4.46 periods to the r 27.66 ring with a dash centred at
     3 o'clock on both arrows (fitted on the LP3 export), hence pathLength 178.4 and dashoffset 2.23 on the desktop rings.
     The arrows and dots are placed from the border edge, so without the border they keep their place with its width added. */
  .vh-lp vh-lp-buybox.vh-lp-scheme--dark .vh-lp-bb__arrow--prev { left: calc((25 + var(--bb-gallery-border)) * var(--u)); }
  .vh-lp vh-lp-buybox.vh-lp-scheme--dark .vh-lp-bb__arrow--next { right: calc((25 + var(--bb-gallery-border)) * var(--u)); }
  .vh-lp vh-lp-buybox.vh-lp-scheme--dark .vh-lp-bb__dots { bottom: calc((46 + var(--bb-gallery-border)) * var(--u)); }
  .vh-lp vh-lp-buybox .vh-lp-bb__track {
    position: absolute;
    inset: 0;
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .vh-lp vh-lp-buybox .vh-lp-bb__track::-webkit-scrollbar { display: none; }
  .vh-lp vh-lp-buybox .vh-lp-bb__slide { flex: 0 0 100%; height: 100%; scroll-snap-align: start; }
  .vh-lp vh-lp-buybox .vh-lp-bb__img { display: block; width: 100%; height: 100%; object-fit: cover; }
  .vh-lp vh-lp-buybox .vh-lp-bb__arrow {
    position: absolute;
    top: 50%;
    translate: 0 calc(-50% + 11.09 * var(--u));
    display: grid;
    place-items: center;
    width: calc(var(--bb-arrow) * var(--u));
    height: calc(var(--bb-arrow) * var(--u));
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    z-index: 2;
  }
  .vh-lp vh-lp-buybox .vh-lp-bb__arrow-svg { display: block; width: 100%; height: 100%; overflow: visible; }
  .vh-lp vh-lp-buybox .vh-lp-bb__arrow-svg--d { display: none; }
  .vh-lp vh-lp-buybox .vh-lp-bb__arrow--prev { left: calc(25 * var(--u)); }
  .vh-lp vh-lp-buybox .vh-lp-bb__arrow--next { right: calc(25 * var(--u)); }
  .vh-lp vh-lp-buybox .vh-lp-bb__dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(46 * var(--u));
    display: flex;
    justify-content: center;
    gap: calc(var(--bb-dot-gap) * var(--u));
    z-index: 2;
  }
  .vh-lp vh-lp-buybox .vh-lp-bb__dot {
    width: calc(var(--bb-dot) * var(--u));
    height: calc(var(--bb-dot) * var(--u));
    padding: 0;
    border: 1px solid var(--vh-lp-orange);
    border-radius: 50%;
    background: #ede3d0;
    opacity: 0.3;
    cursor: pointer;
  }
  .vh-lp vh-lp-buybox .vh-lp-bb__dot.is-active { opacity: 1; }
  .vh-lp vh-lp-buybox.vh-lp-scheme--dark .vh-lp-bb__dot { border: 0; }

  /* Panel */
  .vh-lp vh-lp-buybox .vh-lp-bb__panel { grid-area: panel; min-width: 0; display: flex; flex-direction: column; margin-top: calc(-23.2 * var(--u)); letter-spacing: 0; }
  .vh-lp vh-lp-buybox .vh-lp-bb__once-card .vh-lp-bb__option-text { gap: 0; }
  .vh-lp vh-lp-buybox .vh-lp-bb__once-card .vh-lp-bb__label { position: relative; top: calc(2.5 * var(--u)); line-height: 1.0; }
  .vh-lp vh-lp-buybox .vh-lp-bb__sub-card,
  .vh-lp vh-lp-buybox .vh-lp-bb__once-card {
    border: calc(var(--bb-border) * var(--u)) solid var(--vh-lp-bb-line);
    border-radius: calc(var(--bb-radius) * var(--u));
    overflow: hidden;
    /* Chrome floors border widths to whole px (1.78 draws as 1); the shadow adds back the fraction so the stroke weighs 1.78.
       Figma strokes the card rects inside (149481252 is 983.14 wide outside its stroke), so the fraction goes inside too;
       outside it widened the card 1.6 (r6 sweep w +2.6). */
    box-shadow: inset 0 0 0 max(0px, calc(var(--bb-border) * var(--u) - 1px)) var(--vh-lp-bb-line);
  }
  .vh-lp vh-lp-buybox .vh-lp-bb__sub-card { background: var(--vh-lp-bb-sub-bg); color: #291406; }
  .vh-lp vh-lp-buybox .vh-lp-bb__once-card { margin-top: calc(22.7 * var(--u)); background: var(--vh-lp-bb-once-bg); color: var(--vh-lp-fg); }
  .vh-lp vh-lp-buybox.vh-lp-scheme--cream .vh-lp-bb__once-card { color: #291406; }
  .vh-lp vh-lp-buybox .vh-lp-bb__badge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.3em;
    /* Badge 149481253 is 55.31 tall but the card body rect 149481252 starts 52.64 below its top and covers the rest, so the
       orange band shows 52.64. The label (505:6313, cap top 15.17 below the badge top) measured 4.64 high when centred in
       the band (6.77 before the band change), so it gets 11.95 of top padding. */
    box-sizing: border-box;
    height: calc((var(--bb-badge-h) - 2.67) * var(--u));
    padding-top: calc(11.95 * var(--u));
    background: var(--vh-lp-orange);
    color: #f0e6d1;
    font-family: var(--vh-lp-text-bold);
    font-weight: 700;
    font-size: calc(var(--bb-badge) * var(--u));
    line-height: 1.3;
    letter-spacing: 0;
    text-transform: uppercase;
  }
  .vh-lp vh-lp-buybox .vh-lp-bb__sub-body { padding: calc(34.67 * var(--u)) calc(20 * var(--u)) calc(23.5 * var(--u)) calc(31.2 * var(--u)); }
  .vh-lp vh-lp-buybox .vh-lp-bb__once-card .vh-lp-bb__option { padding: calc(25.5 * var(--u)) calc(20 * var(--u)) calc(18.5 * var(--u)) calc(31.2 * var(--u)); }
  .vh-lp vh-lp-buybox .vh-lp-bb__option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    column-gap: calc(16.7 * var(--u));
    align-items: start;
    cursor: pointer;
  }
  .vh-lp vh-lp-buybox .vh-lp-bb__radio { position: absolute; opacity: 0; pointer-events: none; }
  .vh-lp vh-lp-buybox .vh-lp-bb__radio-dot {
    width: calc(var(--bb-radio) * var(--u));
    height: calc(var(--bb-radio) * var(--u));
    margin-top: calc(3.6 * var(--u));
    border: 0;
    box-shadow: 0 0 0 max(1px, calc(var(--bb-border) * var(--u))) var(--vh-lp-orange);
    border-radius: 50%;
    box-sizing: border-box;
    display: grid;
    place-items: center;
  }
  .vh-lp vh-lp-buybox .vh-lp-bb__radio:checked + .vh-lp-bb__radio-dot::after {
    content: '';
    width: 55%;
    height: 55%;
    border-radius: 50%;
    background: var(--vh-lp-orange);
  }
  .vh-lp vh-lp-buybox .vh-lp-bb__radio:focus-visible + .vh-lp-bb__radio-dot { outline: 2px solid var(--vh-lp-orange); outline-offset: 2px; }
  .vh-lp vh-lp-buybox .vh-lp-bb__option-text { display: flex; flex-direction: column; gap: calc(7 * var(--u)); min-width: 0; }
  .vh-lp vh-lp-buybox .vh-lp-bb__label {
    font-family: var(--vh-lp-text-bold);
    font-weight: 700;
    font-size: calc(var(--bb-label) * var(--u));
    line-height: 1.29;
    letter-spacing: 0;
    text-transform: uppercase;
  }
  .vh-lp vh-lp-buybox .vh-lp-bb__subtitle { font-size: calc(var(--bb-sub) * var(--u)); line-height: 1.3; letter-spacing: 0; }
  .vh-lp vh-lp-buybox .vh-lp-bb__price { display: flex; flex-direction: column; align-items: center; text-align: center; min-width: calc(228.4 * var(--u)); margin-top: calc(-2.7 * var(--u)); }
  .vh-lp vh-lp-buybox .vh-lp-bb__price-main { font-family: var(--vh-lp-text-bold); font-weight: 700; font-size: calc(var(--bb-price) * var(--u)); line-height: 1.3; white-space: nowrap; }
  .vh-lp vh-lp-buybox .vh-lp-bb__price-main s { text-decoration-thickness: max(1px, 0.06em); }
  .vh-lp vh-lp-buybox .vh-lp-bb__per {
    font-family: var(--vh-lp-text-bold);
    font-weight: 700;
    font-size: calc(var(--bb-per) * var(--u));
    margin-top: calc(-3 * var(--u));
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--vh-lp-bb-muted);
  }
  .vh-lp vh-lp-buybox .vh-lp-bb__select-wrap {
    position: relative;
    width: calc(var(--bb-select-w) * var(--u));
    max-width: 100%;
    margin: calc(10.4 * var(--u)) 0 0 calc(35.7 * var(--u));
  }
  .vh-lp vh-lp-buybox .vh-lp-bb__select {
    display: block;
    appearance: none;
    width: 100%;
    height: calc(var(--bb-select-h) * var(--u));
    padding: 0 calc(60 * var(--u)) 0 calc(23.2 * var(--u));
    border: calc(var(--bb-border) * var(--u)) solid var(--vh-lp-orange);
    border-radius: calc(4.46 * var(--u)) calc(4.46 * var(--u)) calc(var(--bb-radius) * var(--u)) calc(var(--bb-radius) * var(--u));
    /* inside, like the cards: Figma's 360.43 x 51.74 select (149481227) is its outer edge (r6 sweep w +2.6 with it outside) */
    box-shadow: inset 0 0 0 max(0px, calc(var(--bb-border) * var(--u) - 1px)) var(--vh-lp-orange);
    background: transparent;
    color: #291406;
    font-family: var(--vh-lp-text);
    font-size: calc(var(--bb-select-font) * var(--u));
    letter-spacing: 0;
    cursor: pointer;
  }
  .vh-lp vh-lp-buybox .vh-lp-bb__caret {
    position: absolute;
    left: calc(325.3 * var(--u));
    top: calc(23.72 * var(--u));
    width: calc(14 * var(--u));
    height: calc(8 * var(--u));
    pointer-events: none;
  }
  .vh-lp vh-lp-buybox .vh-lp-bb__perks {
    display: grid;
    grid-template-columns: minmax(calc(263.4 * var(--u)), max-content) minmax(calc(291.7 * var(--u)), max-content) max-content;
    gap: calc(8 * var(--u)) 0;
    margin: calc(18.7 * var(--u)) 0 0 calc(35.7 * var(--u));
    padding: 0;
    list-style: none;
    font-family: var(--font-kennerley-bold-italic, 'LTC Kennerley Pro Bold Italic'), Georgia, serif;
    font-weight: 700;
    font-size: calc(var(--bb-perk) * var(--u));
    line-height: 0.9;
    letter-spacing: -0.02em;
  }
  .vh-lp vh-lp-buybox .vh-lp-bb__perk { display: inline-flex; align-items: center; gap: calc(7.4 * var(--u)); }
  .vh-lp vh-lp-buybox .vh-lp-bb__perk-icon { width: calc(var(--bb-perk-icon) * var(--u)); height: calc(var(--bb-perk-icon) * var(--u)); flex: none; }
  .vh-lp vh-lp-buybox .vh-lp-bb__perk-icon--mask {
    background: currentColor;
    -webkit-mask: var(--vh-icon) center / contain no-repeat;
    mask: var(--vh-icon) center / contain no-repeat;
  }
  .vh-lp vh-lp-buybox .vh-lp-bb__gifts { margin: calc(35.9 * var(--u)) 0 0 calc(39.3 * var(--u)); }
  .vh-lp vh-lp-buybox .vh-lp-bb__gifts-heading {
    margin: 0 0 calc(15 * var(--u));
    font-family: var(--vh-lp-text-bold);
    font-weight: 700;
    font-size: calc(var(--bb-gifts-h) * var(--u));
    line-height: 1.29;
    letter-spacing: 0;
    text-transform: uppercase;
  }
  .vh-lp vh-lp-buybox .vh-lp-bb__gift-list { display: flex; gap: calc(23.1 * var(--u)); margin: 0; padding: 0; list-style: none; }
  .vh-lp vh-lp-buybox .vh-lp-bb__gift { display: flex; flex-direction: column; width: calc(var(--bb-gift-img) * var(--u)); font-size: calc(var(--bb-gift-txt) * var(--u)); line-height: 1.08; }
  .vh-lp vh-lp-buybox .vh-lp-bb__gift-order {
    margin-bottom: calc(5.6 * var(--u));
    font-family: var(--vh-lp-text-bold);
    font-weight: 700;
    font-size: calc(var(--bb-gift-order) * var(--u));
    line-height: 1.07;
    white-space: nowrap;
    font-variant-ligatures: common-ligatures discretionary-ligatures;
  }
  .vh-lp vh-lp-buybox .vh-lp-bb__gift-img {
    display: block;
    width: calc(var(--bb-gift-img) * var(--u));
    height: calc(var(--bb-gift-img) * var(--u));
    border-radius: calc(4.46 * var(--u)) calc(4.46 * var(--u)) calc(var(--bb-radius) * var(--u)) calc(var(--bb-radius) * var(--u));
    overflow: hidden;
    background: rgba(41, 20, 6, 0.08);
  }
  .vh-lp vh-lp-buybox .vh-lp-bb__gift-img img,
  .vh-lp vh-lp-buybox .vh-lp-bb__gift-img svg { display: block; width: 100%; height: 100%; object-fit: cover; }
  .vh-lp vh-lp-buybox .vh-lp-bb__gift-price { margin-top: calc(12.4 * var(--u)); }
  .vh-lp vh-lp-buybox .vh-lp-bb__gift-price,
  .vh-lp vh-lp-buybox .vh-lp-bb__gift-name { padding-left: calc(2.4 * var(--u)); }
  .vh-lp vh-lp-buybox .vh-lp-bb__gift-order { padding-left: calc(1.5 * var(--u)); }
  /* NIM-3043 r6 sweep (desktop 505:6284 group; the 402 frames are the same component at 0.359, so u-scaled values hold
     for both). Ellipse 13 sits 0.89 below the BUY ONCE text node top, but the text's line box puts the node top 2.68
     lower than the cap top the dot was aligned to, so the dot measured 2.68 low. */
  .vh-lp vh-lp-buybox .vh-lp-bb__once-card .vh-lp-bb__radio-dot { margin-top: calc(-1.78 * var(--u)); }
  /* Perk row 1410111762/63/64: Figma puts each label a different distance from its 27.51 icon (982.57 - 975.21 = 7.36,
     1247.91 - 1238.64 = 9.27, 1536.17 - 1530.29 = 5.88), and the labels' x-height centre 1.8 below the icon centre. */
  .vh-lp vh-lp-buybox .vh-lp-bb__perk:nth-child(1) { gap: calc(7.36 * var(--u)); }
  .vh-lp vh-lp-buybox .vh-lp-bb__perk:nth-child(2) { gap: calc(9.27 * var(--u)); }
  .vh-lp vh-lp-buybox .vh-lp-bb__perk:nth-child(3) { gap: calc(5.88 * var(--u)); }
  .vh-lp vh-lp-buybox .vh-lp-bb__perk > span:last-child { translate: 0 calc(1.8 * var(--u)); }
  /* Gift ladder: slowburn1 (505:6360) sits 2.68 below the other two images (558.57 vs 555.89); the order labels sit
     0.9 / 3.57 / 0 right of their images and the price/name blocks 3.57 / 0.89 / 2.67 (+0.4 for the web font's side
     bearing, measured). */
  .vh-lp vh-lp-buybox .vh-lp-bb__gift:nth-child(3) .vh-lp-bb__gift-img { translate: 0 calc(2.68 * var(--u)); }
  .vh-lp vh-lp-buybox .vh-lp-bb__gift:nth-child(2) .vh-lp-bb__gift-order { padding-left: calc(4.17 * var(--u)); }
  .vh-lp vh-lp-buybox .vh-lp-bb__gift:nth-child(3) .vh-lp-bb__gift-order { padding-left: calc(0.6 * var(--u)); }
  .vh-lp vh-lp-buybox .vh-lp-bb__gift:nth-child(1) :is(.vh-lp-bb__gift-price, .vh-lp-bb__gift-name) { padding-left: calc(3.97 * var(--u)); }
  .vh-lp vh-lp-buybox .vh-lp-bb__gift:nth-child(2) :is(.vh-lp-bb__gift-price, .vh-lp-bb__gift-name) { padding-left: calc(1.29 * var(--u)); }
  .vh-lp vh-lp-buybox .vh-lp-bb__gift:nth-child(3) :is(.vh-lp-bb__gift-price, .vh-lp-bb__gift-name) { padding-left: calc(3.07 * var(--u)); }
  .vh-lp vh-lp-buybox .vh-lp-bb__form { margin: calc(23 * var(--u)) 0 0; }
  .vh-lp vh-lp-buybox .vh-lp-bb__cta {
    display: flex;
    width: 100%;
    min-height: 0;
    height: calc(var(--bb-cta-h) * var(--u));
    padding: 0 16px;
    border-radius: calc(38.36 * var(--u));
    font-size: calc(var(--bb-cta-font) * var(--u));
    line-height: 1.2;
  }
  .vh-lp vh-lp-buybox .vh-lp-bb__cta[disabled] { opacity: 0.55; cursor: not-allowed; }
  .vh-lp vh-lp-buybox .vh-lp-bb__guarantee {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: calc(8.2 * var(--u));
    margin: calc(28.7 * var(--u)) 0 0;
    text-align: center;
    font-family: var(--font-kennerley-bold-italic, 'LTC Kennerley Pro Bold Italic'), Georgia, serif;
    font-weight: 700;
    font-size: calc(var(--bb-guar) * var(--u));
    line-height: 0.673;
    letter-spacing: -0.02em;
    color: var(--vh-lp-orange);
  }
  /* Group 4202: the gap before each bullet is 8.15-9.2 to the text node's edge, but the labels' runs end ~1.26 short of
     their nodes, so the bullets get 1.26 more before them and 0.35 more after; the bullet glyph sits 1.9 high. */
  .vh-lp vh-lp-buybox .vh-lp-bb__guarantee-dot { width: calc(11 * var(--u)); margin-left: calc(1.26 * var(--u)); margin-right: calc(1.35 * var(--u)); text-align: left; translate: 0 calc(-1.9 * var(--u)); }
  .vh-lp vh-lp-buybox .vh-lp-bb__once-card:not(.is-selected) .vh-lp-bb__radio-dot::after { content: none; }
  .vh-lp vh-lp-buybox [hidden] { display: none !important; }

  /* Mobile: borders of 1.78 design px draw at 0.64px and Chrome snaps them to 1px, adding about 0.4px per edge.
     These offsets take that back out so the cards land on the Figma 402 frame geometry (specs/buybox-trilogy.md, mobile). */
  @media (max-width: 989px) {
    .vh-lp vh-lp-buybox.vh-lp-section { padding-inline: calc(67.7 * var(--u)); }
    .vh-lp vh-lp-buybox .vh-lp-bb__panel { margin-top: calc(-25.5 * var(--u)); }
    .vh-lp vh-lp-buybox .vh-lp-bb__title .vh-lp-script--initial { top: calc(5.6 * var(--u)); }
    /* r6 sweep: the title (Group 1410111765, x 63 in every 402 frame) rendered 1.8-2.5 left on LP1, LP3 and LP3-V2. */
    .vh-lp vh-lp-buybox .vh-lp-bb__title .vh-lp-heading { left: calc(5.6 * var(--u)); }
    /* LP3 / LP3-V2 mobile (452:1458, 452:2523) draw the CTA 2px lower than LP1 (CTA y 744 vs 742) */
    .vh-lp vh-lp-buybox.vh-lp-scheme--dark .vh-lp-bb__form { margin-top: calc(28.6 * var(--u)); }
    /* Every 402 frame (LP1 505:6376 -> 505:6379 too, not only LP3 / LP3-V2): the guarantee line's cap top sits 33.66 below the CTA top (Rectangle 149481257 at 2344 / 3570,
       'Free shipping' at 2377.66 / 3603.66); the margin above puts it 31.0 below, so it moves 2.66px (7.41u) down,
       without changing the section height. */
    .vh-lp vh-lp-buybox .vh-lp-bb__guarantee { position: relative; top: calc(7.41 * var(--u)); }
    .vh-lp vh-lp-buybox .vh-lp-bb__sub-body { padding-bottom: calc(19.3 * var(--u)); }
    .vh-lp vh-lp-buybox .vh-lp-bb__once-card .vh-lp-bb__option { padding-bottom: calc(14.9 * var(--u)); }
    /* The label's cap sat 1.5-2.5 high in the pill on every 402 frame (cap top 7.45 below the pill top in Figma). On the
       cream pages (LP1, LP2 family) the r7 per-line sweep still read it 2.64 high against the svg-frames baseline (LP1
       442:190, 2449.39), so 14.7u more there; the LP3 family's label (its form sits 2px lower) was already on it. */
    .vh-lp vh-lp-buybox .vh-lp-bb__cta { padding-top: calc(11.1 * var(--u)); }
    .vh-lp vh-lp-buybox:not(.vh-lp-scheme--dark) .vh-lp-bb__cta { padding-top: calc(25.8 * var(--u)); }
  }

  @media (min-width: 990px) {
    .vh-lp vh-lp-buybox.vh-lp-section {
      --u: clamp(0.62px, calc(100vw / 1920), 1px);
      --bb-title: 50.31;
      --bb-title-h: 66;
      --bb-cta-h: 72.9;
      --bb-cta-font: 30;
      --bb-arrow: 64;
      --bb-radius: 20;
      --bb-gallery-border: 2;
      --bb-dot: 15.166;
      --bb-dot-gap: 5.8;
      grid-template-columns: minmax(0, 790fr) minmax(0, 983fr);
      grid-template-areas: '. title' 'gallery panel';
      grid-template-rows: auto 1fr;
      column-gap: calc(32 * var(--u));
      row-gap: calc(36 * var(--u));
      padding-block: calc(var(--bb-pt) * var(--u)) calc(var(--bb-pb) * var(--u));
      padding-inline: calc(57 * var(--u));
      background: var(--vh-lp-bg);
    }
    .vh-lp vh-lp-buybox .vh-lp-bb__gallery { aspect-ratio: auto; }
    .vh-lp vh-lp-buybox .vh-lp-bb__panel { margin-top: calc(2.4 * var(--u)); }
    .vh-lp vh-lp-buybox .vh-lp-bb__title .vh-lp-heading { line-height: 1.054; }
    .vh-lp vh-lp-buybox .vh-lp-bb__arrow { translate: 0 calc(-50% + 8 * var(--u)); }
    .vh-lp vh-lp-buybox .vh-lp-bb__arrow--prev { left: calc(20 * var(--u)); }
    .vh-lp vh-lp-buybox .vh-lp-bb__arrow--next { right: calc(14.4 * var(--u)); }
    .vh-lp vh-lp-buybox .vh-lp-bb__dots { bottom: calc(37.5 * var(--u)); }
    .vh-lp vh-lp-buybox.vh-lp-scheme--dark .vh-lp-bb__arrow--prev { left: calc((20 + var(--bb-gallery-border)) * var(--u)); }
    .vh-lp vh-lp-buybox.vh-lp-scheme--dark .vh-lp-bb__arrow--next { right: calc((14.4 + var(--bb-gallery-border)) * var(--u)); }
    .vh-lp vh-lp-buybox.vh-lp-scheme--dark .vh-lp-bb__dots { bottom: calc((37.5 + var(--bb-gallery-border)) * var(--u)); }
    .vh-lp vh-lp-buybox .vh-lp-bb__dot { border: 0; }
    .vh-lp vh-lp-buybox .vh-lp-bb__guarantee { margin-top: calc(26.1 * var(--u)); }
    /* r6 sweep: the subscribe card's bottom edge (149481252) sat 1.69 low with the BUY ONCE card below it in place, so the
       card loses 1.69 at the bottom and the gap to the BUY ONCE card gains it. */
    .vh-lp vh-lp-buybox .vh-lp-bb__sub-body { padding-bottom: calc(21.81 * var(--u)); }
    .vh-lp vh-lp-buybox .vh-lp-bb__once-card { margin-top: calc(24.39 * var(--u)); }
    .vh-lp vh-lp-buybox .vh-lp-bb__arrow-svg--m { display: none; }
    .vh-lp vh-lp-buybox .vh-lp-bb__arrow-svg--d { display: block; }
    /* 'Start The Ritual' (svg-frames 319:547: pen x 1241.38, baseline 10634) is not centred in its pill: the DOM pen x sat
       2.07 right of it and the baseline 1-2 high on every 1920 page (r7 per-line sweep). */
    .vh-lp vh-lp-buybox .vh-lp-bb__cta { padding: calc(3 * var(--u)) calc(16px + 4.14 * var(--u)) 0 16px; }
  }
/* END_SECTION:vh-lp-buybox-trilogy */

/* START_SECTION:vh-lp-elixir-carousel-arch-dark (INDEX:46) */
.vh-lp vh-lp-eca.vh-lp-eca {
  --vh-ca-u: calc(100vw / 402);
  --vh-ca-k: 0.32587;
  --vh-ca-ix: -111;
  --vh-ca-iy: 121;
  --vh-ca-bs: 16;
  --vh-ca-ox: 0px;
  --vh-ca-hy: 88.5;
  display: block;
  position: relative;
  height: calc(590 * var(--vh-ca-u));
  padding: 0;
  /* only x clips: the top tear's hump rises above the section top (Figma vector 319:12 at y -212) */
  overflow-x: clip;
  overflow-y: visible;
  /* the hump may rise only as far as the ::before strip (20 mobile, 120 desktop); the tear's neighbour-colour fill above
     that would otherwise paint over the story section's last line */
  clip-path: inset(calc(-20 * var(--vh-ca-u)) 0 calc(-100 * var(--vh-ca-u)) 0);
  font-size: calc(12.47 * var(--vh-ca-u));
}
/* Template layouts (mobile frames): LP2-V2 sits the content 3px higher, LP2-V3 10px higher and the band ends at 580,
   where the next section's own top edge tears in. Desktop is identical except that LP2-V3 ends at 1540. */
.vh-lp vh-lp-eca.vh-lp-eca--lp2-v2 { --vh-ca-iy: 118; --vh-ca-hy: 85.5; }
.vh-lp vh-lp-eca.vh-lp-eca--lp2-v3 { --vh-ca-iy: 111; --vh-ca-hy: 78.5; height: calc(580 * var(--vh-ca-u)); }
@media (min-width: 750px) {
  .vh-lp vh-lp-eca.vh-lp-eca {
    --vh-ca-u: calc(min(100vw, 1920px) / 1920);
    --vh-ca-k: 1;
    --vh-ca-ix: 7;
    --vh-ca-iy: 182;
    --vh-ca-bs: 10;
    /* Above 1920 the 1920 composition is centred. */
    --vh-ca-ox: calc((100% - min(100%, 1920px)) / 2);
    height: calc(1590 * var(--vh-ca-u));
    clip-path: inset(calc(-120 * var(--vh-ca-u)) 0 calc(-100 * var(--vh-ca-u)) 0);
    font-size: calc(38.26 * var(--vh-ca-u));
  }
  .vh-lp vh-lp-eca.vh-lp-eca--lp2-v3 { height: calc(1540 * var(--vh-ca-u)); }
}
.vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > * { position: absolute; }
/* The dark band's own paper rises above the section top where the tear dips (the hump at the left of Figma's LP2 tear):
   a strip of the band colour sits behind the neighbour-colour tear and shows only where the tear's edge is above y 0.
   Mobile's tear box starts 21 above the top, so the strip is 20 there. */
.vh-lp vh-lp-eca.vh-lp-eca--topedge::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: calc(-20 * var(--vh-ca-u));
  height: calc(20 * var(--vh-ca-u));
  background: var(--vh-lp-bg);
  z-index: 0;
  pointer-events: none;
}
@media (min-width: 750px) {
  .vh-lp vh-lp-eca.vh-lp-eca--topedge::before { top: calc(-120 * var(--vh-ca-u)); height: calc(120 * var(--vh-ca-u)); }
}
/* Top edge: Figma's vectors at their frame positions, painted in the neighbour colour (above 1920 the width stretches). */
.vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-eca__top,
.vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-eca__glow { max-width: none; }
.vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-eca__top {
  display: block;
  z-index: 1;
  pointer-events: none;
}
.vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-eca__top--desktop {
  display: none;
  left: 0;
  top: calc(-212 * var(--vh-ca-u));
  width: calc(100% * 1934 / 1920);
  height: calc(292 * var(--vh-ca-u));
}
.vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-eca__top--mobile {
  left: calc(-5 * var(--vh-ca-u));
  top: calc(-21 * var(--vh-ca-u));
  width: calc(412 * var(--vh-ca-u));
  height: calc(62 * var(--vh-ca-u));
}
@media (min-width: 750px) {
  .vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-eca__top--desktop { display: block; }
  .vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-eca__top--mobile { display: none; }
}
/* Bottom edge: Figma's tear starts --vh-ca-bs px above the eyeballed crop end; the strip below it is the neighbour colour. */
.vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-torn--bottom { bottom: calc(var(--vh-ca-bs) * var(--vh-ca-u)); }
.vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: calc(var(--vh-ca-bs) * var(--vh-ca-u) + 1px);
  background: var(--vh-ca-bottom, transparent);
  z-index: 2;
}
/* LP2-V3 seam: the band's own paper hangs over the next section; its tail below the band is drawn over that section. */
.vh-lp vh-lp-eca.vh-lp-eca--lp2-v3.vh-lp-section {
  z-index: 1;
  overflow-x: clip;
  overflow-y: visible;
}
.vh-lp vh-lp-eca.vh-lp-eca--lp2-v3.vh-lp-section::after { display: none; }
.vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-eca__seam { z-index: 2; max-width: none; pointer-events: none; }
.vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-eca__seam--desktop {
  display: none;
  left: calc(-100% * 8 / 1920);
  top: calc(1330 * var(--vh-ca-u));
  width: calc(100% * 1936 / 1920);
  height: calc(293 * var(--vh-ca-u));
}
.vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-eca__seam--mobile {
  left: calc(-12 * var(--vh-ca-u));
  top: calc(519 * var(--vh-ca-u));
  width: calc(429 * var(--vh-ca-u));
  height: calc(65 * var(--vh-ca-u));
}
@media (min-width: 750px) {
  .vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-eca__seam--desktop { display: block; }
  .vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-eca__seam--mobile { display: none; }
}

/* Warm and cool glows behind the arches (desktop only; the mobile frame has none). Each svg is Figma's 885x885 filter
   region: circle at 432,185 (warm) and 1569,500 (cool), so the svg sits 200px up and left of it. */
.vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-eca__glow {
  display: none;
  z-index: 0;
  width: calc(885 * var(--vh-ca-u));
  height: calc(885 * var(--vh-ca-u));
  overflow: visible;
  pointer-events: none;
}
@media (min-width: 750px) {
  .vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-eca__glow { display: block; }
  .vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-eca__glow--warm {
    left: calc(var(--vh-ca-ox) + 232 * var(--vh-ca-u));
    top: calc(-15 * var(--vh-ca-u));
  }
  .vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-eca__glow--cool {
    left: calc(var(--vh-ca-ox) + 1369 * var(--vh-ca-u));
    top: calc(300 * var(--vh-ca-u));
  }
}

/* Heading */
.vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-eca__head {
  z-index: 3;
  left: calc(35 * var(--vh-ca-u));
  top: calc(var(--vh-ca-hy) * var(--vh-ca-u));
  width: calc(160 * var(--vh-ca-u));
}
.vh-lp .vh-lp-eca .vh-lp-heading {
  color: #fff;
  font-size: calc(24 * var(--vh-ca-u));
  line-height: calc(25.44 * var(--vh-ca-u));
}
/* Initial size comes from vh-lp-base (1.875em / 1.857em); only its box is set here. */
.vh-lp .vh-lp-eca .vh-lp-script--initial { display: inline-block; width: 0.867em; line-height: 0; vertical-align: baseline; margin: 0; }
@media (min-width: 750px) {
  /* r6 sweep (LP2 / V2 / V3 at 1920): the 'DOES TODAY CALL FOR?' lines (319:715, y 2922.88) rendered 2.15 low while the
     first line (Group 1410111749 / 319:717) sat 0.65-0.9 high, so the block moves up 2.15 and the first line down 2.9. */
  .vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-eca__head {
    left: calc(var(--vh-ca-ox) + 120 * var(--vh-ca-u));
    top: calc(246.85 * var(--vh-ca-u));
    width: calc(598 * var(--vh-ca-u));
  }
  .vh-lp .vh-lp-eca .vh-lp-eca__l1 { position: relative; top: calc(2.9 * var(--vh-ca-u)); }
  .vh-lp .vh-lp-eca .vh-lp-heading {
    font-size: calc(99.31 * var(--vh-ca-u));
    line-height: calc(104.63 * var(--vh-ca-u));
  }
}

/* Arch track: the lit arch sits at Figma's first-arch position. Figma's three states (Products 3, 452:3517) keep
   arch 1 to arch 2 at 471 and every later pitch at 488, so the first gap is 17px tighter and the track shifts by
   -(488 * i - 12) once past the first arch (--vh-ca-j is 1 then, set by the script): Figma lights arch 2 and 3 at x 740, not 745. */
.vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-eca__track {
  z-index: 2;
  display: flex;
  gap: calc(57 * var(--vh-ca-k) * var(--vh-ca-u));
  margin: 0;
  padding: 0;
  list-style: none;
  left: calc(var(--vh-ca-ox) + (var(--vh-ca-ix) + 738 * var(--vh-ca-k)) * var(--vh-ca-u));
  top: calc((var(--vh-ca-iy) + 159.66 * var(--vh-ca-k)) * var(--vh-ca-u));
  transform: translateX(calc((var(--vh-ca-i, 0) * -488 + var(--vh-ca-j, 0) * 12) * var(--vh-ca-k) * var(--vh-ca-u)));
  transition: transform 0.5s cubic-bezier(0.22, 0.7, 0.2, 1);
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
}
.vh-lp-eca__item { flex: none; margin: 0; padding: 0; }
.vh-lp-eca__item:first-child { margin-right: calc(-17 * var(--vh-ca-k) * var(--vh-ca-u)); }
.vh-lp-eca__arch {
  display: block;
  position: relative;
  box-sizing: border-box;
  width: calc(431 * var(--vh-ca-k) * var(--vh-ca-u));
  height: calc(632 * var(--vh-ca-k) * var(--vh-ca-u));
  margin: 0;
  padding: 0;
  border: calc(2 * var(--vh-ca-k) * var(--vh-ca-u)) solid #fff;
  border-radius: 9999px;
  overflow: hidden;
  background: #000;
  opacity: 0.3;
  cursor: pointer;
  transition: opacity 0.5s;
}
.vh-lp-eca__arch[aria-current='true'] { opacity: 1; cursor: default; }
.vh-lp-eca__arch:focus-visible { outline: 2px solid var(--vh-lp-accent); outline-offset: 4px; }
.vh-lp-eca__img {
  display: block;
  /* Figma's 2px stroke is centred on each arch rect, so the image fill is the rect itself and runs under the inner half of
     the border: the image box sits 1 instance unit outside the padding box (svg-frames 319:547 arch rects). */
  position: absolute;
  max-width: none;
  left: calc(-1 * var(--vh-ca-k) * var(--vh-ca-u));
  top: calc(-1 * var(--vh-ca-k) * var(--vh-ca-u));
  width: calc(100% + 2 * var(--vh-ca-k) * var(--vh-ca-u));
  height: calc(100% + 2 * var(--vh-ca-k) * var(--vh-ca-u));
  object-fit: cover;
  /* Per-image fill crop (block settings), solved from each arch's pattern matrix in svg-frames 319:547: focus = the image
     offset over the overflow, zoom = Figma's image width over the cover width (arch 1 115.7%, arch 2 101%, arch 3 99.4%). */
  object-position: var(--eca-fx, 50%) var(--eca-fy, 50%);
  transform: scale(var(--eca-z, 1));
  transform-origin: var(--eca-fx, 50%) var(--eca-fy, 50%);
  -webkit-user-drag: none;
  pointer-events: none;
}
.vh-lp-eca__placeholder { background: #2a1d0c; fill: #4a3820; }

/* Details. Cap-height trimmed Figma boxes: tagline top 863, name top 930, flavour top 1016 (instance units). */
.vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-eca__details {
  z-index: 3;
  left: var(--vh-ca-ox);
  width: calc(100% - 2 * var(--vh-ca-ox));
  top: calc((var(--vh-ca-iy) + 863 * var(--vh-ca-k)) * var(--vh-ca-u));
  height: calc(200 * var(--vh-ca-u));
  text-align: center;
  color: #fff;
}
.vh-lp .vh-lp-eca__detail {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0s linear 0.3s;
}
.vh-lp .vh-lp-eca__detail.is-active {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s 0.1s, visibility 0s;
}
.vh-lp .vh-lp-eca__detail > p,
.vh-lp .vh-lp-eca__detail > h3 {
  position: absolute;
  left: 0;
  width: 100%;
  margin: 0;
  color: #fff;
  letter-spacing: -0.02em;
  white-space: nowrap;
}
.vh-lp .vh-lp-eca__detail > .vh-lp-eca__tagline {
  top: calc(-5 * var(--vh-ca-k) * var(--vh-ca-u));
  font-family: var(--font-kennerley-bold-italic, 'LTC Kennerley Pro Bold Italic'), Georgia, serif;
  font-style: italic;
  font-weight: 700;
  font-size: calc(38.26 * var(--vh-ca-k) * var(--vh-ca-u));
  line-height: 1;
}
.vh-lp .vh-lp-eca__detail > .vh-lp-eca__name {
  top: calc(60 * var(--vh-ca-k) * var(--vh-ca-u));
  font-family: var(--vh-lp-display);
  font-style: normal;
  font-weight: 500;
  font-size: calc(65.6 * var(--vh-ca-k) * var(--vh-ca-u));
  line-height: 1.05;
  letter-spacing: -0.04em;
  text-transform: none;
}
.vh-lp .vh-lp-eca__detail > .vh-lp-eca__flavour {
  top: calc(144 * var(--vh-ca-k) * var(--vh-ca-u));
  white-space: pre;
  font-family: var(--font-kennerley-italic, 'LTC Kennerley Pro Italic'), Georgia, serif;
  font-style: italic;
  font-weight: 400;
  font-size: calc(38.26 * var(--vh-ca-k) * var(--vh-ca-u));
  line-height: 1.3;
}
.vh-lp .vh-lp-eca__detail > .vh-lp-eca__btn {
  position: absolute;
  left: 50%;
  top: calc(82.8 * var(--vh-ca-u));
  transform: translateX(-50%);
  box-sizing: border-box;
  width: calc(115 * var(--vh-ca-u));
  height: calc(28 * var(--vh-ca-u));
  min-height: 0;
  padding: 0;
  font-size: calc(11.71 * var(--vh-ca-u));
  line-height: calc(14.07 * var(--vh-ca-u));
  text-transform: none;
  white-space: nowrap;
}
@media (min-width: 750px) {
  .vh-lp .vh-lp-eca__detail > .vh-lp-eca__btn {
    /* Group 1410111878 (494:4422) measured 2.0 low at 251 on all three LP2-family pages. */
    top: calc(249 * var(--vh-ca-u));
    width: calc(432 * var(--vh-ca-u));
    height: calc(72.89 * var(--vh-ca-u));
    font-size: calc(30 * var(--vh-ca-u));
    line-height: calc(36.06 * var(--vh-ca-u));
    /* r6 sweep: the 432 x 72.89 pill's label (Hero Title node, 17 below the pill top, 31 tall) rendered 3 high when
       flex-centred on Shango Gothic's line box, on every LP2-family page; 6 of top padding moves the centre 3 down. */
    padding-top: calc(6 * var(--vh-ca-u));
  }
}
@media (prefers-reduced-motion: reduce) {
  .vh-lp vh-lp-eca.vh-lp-eca.vh-lp-section > .vh-lp-eca__track,
  .vh-lp-eca__arch,
  .vh-lp .vh-lp-eca__detail { transition: none; }
}
/* END_SECTION:vh-lp-elixir-carousel-arch-dark */

/* START_SECTION:vh-lp-elixir-coverflow (INDEX:47) */
.vh-lp vh-lp-ec.vh-lp-ec {
  --vh-ec-s: calc(100vw / 402);
  display: block;
  position: relative;
  padding: 0 0 calc(22 * var(--vh-ec-s)) !important;
  overflow-x: clip;
  overflow-y: visible;
  text-align: center;
  font-size: calc(12 * var(--vh-ec-s));
  letter-spacing: -0.02em;
}
@media (min-width: 750px) {
  .vh-lp vh-lp-ec.vh-lp-ec {
    --vh-ec-s: calc(min(100vw, 1920px) / 1920);
    /* r6 sweep (LP3 / LP3-V2 at 1920): the band (Union 319:308, Footer Background 319:309) and heading (319:371) rendered
       1.9-2.0 low: the hero ends at frame y 1357 while this geometry counts from 1356, plus 1px of band offset. The
       content moves up 2 and the bottom space grows 2, so the next section does not move. */
    margin-top: calc(-2 * var(--vh-ec-s));
    padding: 0 0 calc(98 * var(--vh-ec-s)) !important;
    font-size: calc(47.99 * var(--vh-ec-s));
  }
}
.vh-lp-ec {
  --vh-ec-cream: #f2efe9;
}

/* Notch tab joining the hero: the Union's dome above the section top (section top = frame y 481.387 mobile, 1356 desktop). */
.vh-lp .vh-lp-ec.vh-lp-section > .vh-lp-ec__dome {
  display: block;
  position: absolute;
  z-index: 3;
  left: 50%;
  top: calc(-16.387 * var(--vh-ec-s));
  width: calc(57.224 * var(--vh-ec-s));
  height: calc(17 * var(--vh-ec-s));
  margin-left: calc(-29.612 * var(--vh-ec-s));
  max-width: none;
  overflow: hidden;
  fill: var(--vh-lp-bg);
  pointer-events: none;
}
.vh-lp .vh-lp-ec.vh-lp-section > .vh-lp-ec__dome--d { display: none; }
.vh-lp .vh-lp-ec.vh-lp-section > .vh-lp-ec__notch {
  display: block;
  position: absolute;
  z-index: 4;
  left: 50%;
  top: calc(-7 * var(--vh-ec-s));
  width: calc(21 * var(--vh-ec-s));
  height: calc(21 * var(--vh-ec-s));
  margin-left: calc(-10 * var(--vh-ec-s));
  color: var(--vh-lp-accent);
  pointer-events: none;
}
.vh-lp-ec__notch-icon {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media (min-width: 750px) {
  .vh-lp .vh-lp-ec.vh-lp-section > .vh-lp-ec__dome--m { display: none; }
  .vh-lp .vh-lp-ec.vh-lp-section > .vh-lp-ec__dome--d {
    display: block;
    top: calc(-74 * var(--vh-ec-s)); /* -76 before the 2px lift above, so the dome top stays at 1280 */
    width: calc(272.402 * var(--vh-ec-s));
    height: calc(79 * var(--vh-ec-s));
    margin-left: calc(-136.702 * var(--vh-ec-s));
  }
  .vh-lp .vh-lp-ec.vh-lp-section > .vh-lp-ec__notch {
    top: calc(-18 * var(--vh-ec-s));
    width: calc(82 * var(--vh-ec-s));
    height: calc(82 * var(--vh-ec-s));
    margin-left: calc(-41 * var(--vh-ec-s));
  }
}

/* Heading */
.vh-lp-ec__head {
  padding-top: calc(41 * var(--vh-ec-s));
}
.vh-lp .vh-lp-ec .vh-lp-heading {
  font-size: calc(24 * var(--vh-ec-s));
  line-height: calc(25.44 * var(--vh-ec-s));
  height: calc(25.44 * var(--vh-ec-s));
}
/* Script initial: Figma 45px on a 24px heading (mobile), 158.52px on 85.36px (desktop). */
/* Gap and lead-in so the initial and the caps sit at Figma's x (initial 65 / caps 105.6 mobile, 482 / 625 desktop). */
.vh-lp .vh-lp-ec .vh-lp-script--initial {
  margin: 0 calc(0.02em + 7.5 * var(--vh-ec-s)) 0 calc(-3.5 * var(--vh-ec-s));
}
@media (min-width: 750px) {
  .vh-lp .vh-lp-ec .vh-lp-script--initial {
    margin: 0 calc(0.02em + 20.25 * var(--vh-ec-s)) 0 calc(-6.75 * var(--vh-ec-s));
  }
  .vh-lp-ec__head { padding-top: calc(166 * var(--vh-ec-s)); }
  .vh-lp .vh-lp-ec .vh-lp-heading {
    font-size: calc(85.36 * var(--vh-ec-s));
    line-height: calc(89.93 * var(--vh-ec-s));
    height: calc(89.93 * var(--vh-ec-s));
  }
}

/* Coverflow stage. Card boxes are set by state: center, side (left/right), hidden. */
.vh-lp-ec__stage {
  position: relative;
  height: calc(282.8 * var(--vh-ec-s));
  margin-top: calc(18.5 * var(--vh-ec-s));
  --ec-cw: 235.5;
  --ec-ch: 282.8;
  --ec-sw: 178.2;
  --ec-sh: 214;
  --ec-st: 37.3;
  --ec-left: -152;
  --ec-right: 161;
}
@media (min-width: 750px) {
  .vh-lp-ec__stage {
    height: calc(850 * var(--vh-ec-s));
    margin-top: calc(97 * var(--vh-ec-s));
    --ec-cw: 708;
    --ec-ch: 850;
    --ec-sw: 536;
    --ec-sh: 643;
    --ec-st: 112;
    --ec-left: -457;
    --ec-right: 483;
  }
}
/* Mobile design centres the card at x 196 of 402 (spec), so shift the track so the card sits 5px left of centre. */
.vh-lp-ec__track {
  position: absolute;
  inset: 0 0 0 calc(-9.8 * var(--vh-ec-s));
  margin: 0;
  padding: 0;
  list-style: none;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
}
@media (min-width: 750px) {
  .vh-lp-ec__track { left: 0; }
}
.vh-lp-ec__card {
  position: absolute;
  left: 50%;
  top: 0;
  width: calc(var(--ec-cw) * var(--vh-ec-s));
  height: calc(var(--ec-ch) * var(--vh-ec-s));
  border-radius: calc(10 * var(--vh-ec-s));
  overflow: hidden;
  background: #000;
  z-index: 2;
  transform: translateX(-50%);
  transition: transform 0.45s cubic-bezier(0.22, 0.7, 0.2, 1), width 0.45s cubic-bezier(0.22, 0.7, 0.2, 1), height 0.45s cubic-bezier(0.22, 0.7, 0.2, 1), top 0.45s cubic-bezier(0.22, 0.7, 0.2, 1), opacity 0.45s;
}
@media (min-width: 750px) {
  .vh-lp-ec__card { border-radius: calc(20 * var(--vh-ec-s)); }
}
.vh-lp-ec__card[data-pos='-1'],
.vh-lp-ec__card[data-pos='1'] {
  z-index: 1;
  opacity: 0.3;
  top: calc(var(--ec-st) * var(--vh-ec-s));
  width: calc(var(--ec-sw) * var(--vh-ec-s));
  height: calc(var(--ec-sh) * var(--vh-ec-s));
}
.vh-lp-ec__card[data-pos='-1'] { transform: translateX(calc(-50% + var(--ec-left) * var(--vh-ec-s))); }
.vh-lp-ec__card[data-pos='1'] { transform: translateX(calc(-50% + var(--ec-right) * var(--vh-ec-s))); }
.vh-lp-ec__card[data-pos='hidden'] {
  z-index: 0;
  opacity: 0;
  top: calc(var(--ec-st) * var(--vh-ec-s));
  width: calc(var(--ec-sw) * var(--vh-ec-s));
  height: calc(var(--ec-sh) * var(--vh-ec-s));
  pointer-events: none;
}
.vh-lp-ec__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Per-image fill crop (block settings): Figma's centre card 452:2094 fills 1.0165x past cover, anchored right/bottom. */
  object-position: var(--ec-fx, 50%) var(--ec-fy, 50%);
  transform: scale(var(--ec-z, 1));
  transform-origin: var(--ec-fx, 50%) var(--ec-fy, 50%);
  -webkit-user-drag: none;
}
.vh-lp-ec__placeholder { background: #2a1d0c; fill: #4a3820; }

/* Arrows (Figma component "arrows click"): dashed ring, accent arrow; filled ring and white arrow on press. Desktop only. */
.vh-lp-ec__arrow {
  display: none;
  position: absolute;
  z-index: 4;
  top: calc(473 * var(--vh-ec-s));
  width: calc(64 * var(--vh-ec-s));
  height: calc(64 * var(--vh-ec-s));
  margin: calc(-32 * var(--vh-ec-s)) 0 0 calc(-32 * var(--vh-ec-s));
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
.vh-lp-ec__arrow svg { display: block; width: 100%; height: 100%; overflow: visible; }
.vh-lp-ec__ring { fill: none; stroke: #fff; transition: fill 0.15s, stroke 0.15s; }
.vh-lp-ec__glyph { fill: var(--vh-lp-accent); transition: fill 0.15s; }
/* Ring centres from metadata: instance x 1 + arrows x 98 / 1710 (the right one rotated 180, so its ring sits 2px higher). */
/* Placed from the centre (frame x 960) so the arrows stay beside the cards when the viewport is wider than 1920. */
.vh-lp-ec__arrow--prev { left: calc(50% - 804 * var(--vh-ec-s)); }
.vh-lp-ec__arrow--next { left: calc(50% + 815 * var(--vh-ec-s)); top: calc(471 * var(--vh-ec-s)); transform: rotate(180deg); }
.vh-lp-ec__arrow:active .vh-lp-ec__ring,
.vh-lp-ec__arrow.is-pressed .vh-lp-ec__ring {
  fill: var(--vh-lp-accent);
  stroke: var(--vh-lp-accent);
  stroke-dasharray: none;
}
.vh-lp-ec__arrow:active .vh-lp-ec__glyph,
.vh-lp-ec__arrow.is-pressed .vh-lp-ec__glyph { fill: #fff; }
.vh-lp-ec__arrow:focus-visible { outline: 2px solid var(--vh-lp-accent); outline-offset: 4px; border-radius: 50%; }
@media (min-width: 750px) {
  .vh-lp-ec__arrow { display: block; }
}
vh-lp-ec[data-count='0'] .vh-lp-ec__arrow,
vh-lp-ec[data-count='1'] .vh-lp-ec__arrow,
vh-lp-ec[data-count="2"] .vh-lp-ec__arrow { display: none !important; }

/* Details */
.vh-lp-ec__details {
  display: grid;
  justify-items: center;
}
.vh-lp-ec__detail {
  grid-area: 1 / 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0s linear 0.3s;
}
.vh-lp-ec__detail.is-active {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s 0.1s, visibility 0s;
}
/* Figma centres mood and name at x 198.7 of 402 (desc and button at 201), and all three texts at x 967.5 of 1920. */
.vh-lp .vh-lp-ec__mood,
.vh-lp .vh-lp-ec__name,
.vh-lp .vh-lp-ec__desc { position: relative; }
.vh-lp .vh-lp-ec__mood,
.vh-lp .vh-lp-ec__name { left: calc(-2.5 * var(--vh-ec-s)); }
@media (min-width: 750px) {
  .vh-lp .vh-lp-ec__mood,
  .vh-lp .vh-lp-ec__name,
  .vh-lp .vh-lp-ec__desc { left: calc(7.5 * var(--vh-ec-s)); }
}
.vh-lp .vh-lp-ec__detail > .vh-lp-ec__mood {
  margin: calc(23 * var(--vh-ec-s)) 0 0;
  font-family: var(--font-kennerley-bold-italic, 'LTC Kennerley Pro Bold Italic'), Georgia, serif;
  font-style: italic;
  font-weight: 700;
  font-size: calc(18 * var(--vh-ec-s));
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--vh-lp-accent);
}
.vh-lp .vh-lp-ec__detail > .vh-lp-ec__name {
  margin: calc(3 * var(--vh-ec-s)) 0 0;
  font-family: var(--font-kennerley-italic, 'LTC Kennerley Pro Italic'), Georgia, serif;
  font-style: italic;
  font-weight: 400;
  font-size: calc(25 * var(--vh-ec-s));
  line-height: 1;
  letter-spacing: -0.02em;
  text-transform: none;
  color: var(--vh-ec-cream);
}
.vh-lp .vh-lp-ec__detail > .vh-lp-ec__desc {
  margin: calc(7 * var(--vh-ec-s)) 0 0;
  font-family: var(--vh-lp-text);
  font-weight: 400;
  font-size: calc(12 * var(--vh-ec-s));
  line-height: 1.3;
  letter-spacing: -0.02em;
  text-transform: capitalize;
  white-space: pre-line;
  color: var(--vh-ec-cream);
}
/* Mobile pill 452:2110 (106 x 23, #D28132); label 452:2111 is Shango Gothic 500, 9.62px, line height 11.56px, ls -2%, #FFFFFF. */
.vh-lp .vh-lp-ec__btn {
  display: none;
  margin-top: calc(8.9 * var(--vh-ec-s));
  box-sizing: border-box;
  min-width: calc(106 * var(--vh-ec-s));
  min-height: calc(23 * var(--vh-ec-s));
  padding: calc(2 * var(--vh-ec-s)) calc(8 * var(--vh-ec-s)) 0;
  font-size: calc(9.62 * var(--vh-ec-s));
  line-height: calc(11.56 * var(--vh-ec-s));
}
.vh-lp vh-lp-ec[data-show-button-mobile='true'] .vh-lp-ec__btn { display: inline-flex; }
@media (min-width: 750px) {
  .vh-lp .vh-lp-ec__detail > .vh-lp-ec__mood { margin-top: calc(65 * var(--vh-ec-s)); font-size: calc(54.31 * var(--vh-ec-s)); }
  .vh-lp .vh-lp-ec__detail > .vh-lp-ec__name { margin-top: calc(12.5 * var(--vh-ec-s)); font-size: calc(84.24 * var(--vh-ec-s)); }
  .vh-lp .vh-lp-ec__detail > .vh-lp-ec__desc { margin-top: calc(34 * var(--vh-ec-s)); font-size: calc(47.99 * var(--vh-ec-s)); }
  .vh-lp .vh-lp-ec__btn {
    margin-top: calc(40 * var(--vh-ec-s));
    min-width: 0;
    min-height: calc(56 * var(--vh-ec-s));
    padding: 0 calc(66 * var(--vh-ec-s));
    font-size: calc(30 * var(--vh-ec-s));
    line-height: 1;
  }
  .vh-lp vh-lp-ec[data-show-button-mobile] .vh-lp-ec__btn { display: none; }
  .vh-lp vh-lp-ec[data-show-button-desktop='true'] .vh-lp-ec__btn { display: inline-flex; }
}
@media (prefers-reduced-motion: reduce) {
  .vh-lp-ec__card, .vh-lp-ec__detail { transition: none; }
}
/* END_SECTION:vh-lp-elixir-coverflow */

/* START_SECTION:vh-lp-elixir-picker-framed (INDEX:48) */
@property --pf-t {
  syntax: '<number>';
  inherits: true;
  initial-value: 0;
}

/* Units: --pf-u = 1 Figma px for text and spacing; --pf-cu = 1 Figma px for the cards (desktop numbers). */
.vh-lp vh-lp-pf.vh-pf {
  --pf-u: calc(100vw / 402);
  --pf-cu: calc(var(--pf-u) * 0.3231);
  display: block;
  padding: 22px 0 29px;
  padding: calc(22 * var(--pf-u)) 0 calc(28.4 * var(--pf-u));
  text-align: center;
  font-size: calc(12 * var(--pf-u));
  line-height: 1.3;
  overflow: clip;
}
.vh-lp vh-lp-pf.vh-pf.vh-lp-scheme--cream { --vh-lp-bg: #fffef9; }
@media (min-width: 750px) {
  .vh-lp vh-lp-pf.vh-pf {
    --pf-u: calc(min(100vw, 1920px) / 1920);
    --pf-cu: var(--pf-u);
    padding: calc(92 * var(--pf-u)) 0 calc(79 * var(--pf-u));
    font-size: calc(42.76 * var(--pf-u));
  }
  .vh-lp vh-lp-pf.vh-pf.vh-lp-scheme--cream { --vh-lp-bg: var(--vh-lp-cream); }
}

/* Head: eyebrow and heading */
.vh-pf__head {
  height: calc(108 * var(--pf-u));
}
.vh-lp .vh-pf .vh-lp-eyebrow {
  gap: calc(6 * var(--pf-u));
  margin: 0;
  position: relative;
  top: calc(1 * var(--pf-u));
  font-size: calc(12 * var(--pf-u));
  line-height: 1.3;
  letter-spacing: -0.02em;
}
.vh-lp .vh-pf .vh-lp-eyebrow::before,
.vh-lp .vh-pf .vh-lp-eyebrow::after {
  flex: 0 0 calc(25.5 * var(--pf-u));
  height: calc(1 * var(--pf-u));
  position: relative;
  top: calc(-2 * var(--pf-u));
  /* Tapered rule: Figma's exported Line 66 (494:4389) vector, used as a mask. Desktop Lines 50/51 are the same shape at 90.12 x 2. */
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25.491 1' preserveAspectRatio='none'%3E%3Cpath transform='translate(-248 -548.92)' d='M248 549.42C248.425 549.453 248.85 549.485 249.275 549.515C253.098 549.785 256.922 549.92 260.746 549.92C264.569 549.92 268.393 549.785 272.217 549.515C272.642 549.485 273.067 549.453 273.491 549.42C273.067 549.387 272.642 549.355 272.217 549.325C268.393 549.055 264.569 548.92 260.746 548.92C256.922 548.92 253.098 549.055 249.275 549.325C248.85 549.355 248.425 549.387 248 549.42Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25.491 1' preserveAspectRatio='none'%3E%3Cpath transform='translate(-248 -548.92)' d='M248 549.42C248.425 549.453 248.85 549.485 249.275 549.515C253.098 549.785 256.922 549.92 260.746 549.92C264.569 549.92 268.393 549.785 272.217 549.515C272.642 549.485 273.067 549.453 273.491 549.42C273.067 549.387 272.642 549.355 272.217 549.325C268.393 549.055 264.569 548.92 260.746 548.92C256.922 548.92 253.098 549.055 249.275 549.325C248.85 549.355 248.425 549.387 248 549.42Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.vh-lp .vh-pf .vh-lp-heading {
  margin: calc(18.2 * var(--pf-u)) auto 0;
  max-width: calc(270 * var(--pf-u));
  font-size: calc(24 * var(--pf-u));
  line-height: calc(28.8 * var(--pf-u));
  letter-spacing: -0.02em;
}
/* Initial size comes from vh-lp-base (1.875em mobile, 1.857em desktop = Figma 45/24 and 158.52/85.36). */
.vh-lp .vh-pf .vh-lp-script--initial {
  line-height: 0;
  margin-right: calc(3.5 * var(--pf-u));
}
@media (min-width: 750px) {
  .vh-pf__head { height: calc(335 * var(--pf-u)); }
  .vh-lp .vh-pf .vh-lp-eyebrow {
    gap: calc(28 * var(--pf-u));
    padding-left: calc(6 * var(--pf-u));
    font-size: calc(42.76 * var(--pf-u));
  }
  .vh-lp .vh-pf .vh-lp-eyebrow::after { margin-left: calc(6 * var(--pf-u)); }
  .vh-lp .vh-pf .vh-lp-eyebrow::before,
  .vh-lp .vh-pf .vh-lp-eyebrow::after {
    flex-basis: calc(90.1 * var(--pf-u));
    height: calc(2 * var(--pf-u));
  }
  .vh-lp .vh-pf .vh-lp-heading {
    margin-top: calc(34.1 * var(--pf-u));
    max-width: calc(900 * var(--pf-u));
    font-size: calc(85.36 * var(--pf-u));
    line-height: calc(86 * var(--pf-u));
  }
  /* Negative left margin moves the whole first line 4.5 Figma px left (the line sat right of Figma's 547-1376 group). */
  .vh-lp .vh-pf .vh-lp-script--initial { margin-left: calc(-9 * var(--pf-u)); margin-right: calc(19.5 * var(--pf-u)); }
}

/* Row of cards. Mobile: a track that slides so the active card is centred; desktop: a centred row. */
.vh-pf__track {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: calc(36.4 * var(--pf-cu));
  margin: 0;
  padding: 0;
  list-style: none;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
  transform: translateX(var(--pf-tx, 0px));
  transition: transform 0.4s cubic-bezier(0.22, 0.7, 0.2, 1);
}
@media (min-width: 750px) {
  /* svg-frames 319:7 image fills sit at x 190 / 716 / 1337, 42 and 52 inside their frames: frames at 148 / 664 / 1295,
     so the gaps are 37.7 and 38.3, not 36.4 (the right card's photo was 2.3 left, r7 per-image sweep). 38.02 centres all three within 0.7. */
  .vh-pf__track { justify-content: center; transform: none; gap: calc(38.02 * var(--pf-cu)); }
}
.vh-pf__item {
  --pf-t: 0;
  --pf-f: calc(43.45 + 9.05 * var(--pf-t));
  flex: none;
  width: calc((478.3 + 114.37 * var(--pf-t)) * var(--pf-cu));
  transition: --pf-t 0.4s cubic-bezier(0.22, 0.7, 0.2, 1);
}
.vh-pf__item.is-active { --pf-t: 1; }

/* Card frame */
.vh-pf__frame {
  position: relative;
  display: block;
  width: 100%;
  height: calc((552 + 132 * var(--pf-t)) * var(--pf-cu));
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: calc(20 * var(--pf-cu));
  background: var(--vh-lp-beige);
  color: var(--vh-lp-accent);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.vh-pf__frame:focus-visible { outline: 2px solid var(--vh-lp-accent); outline-offset: 3px; }
.vh-pf__frame::before {
  content: '';
  position: absolute;
  top: calc((17.75 + 4.25 * var(--pf-t)) * var(--pf-cu));
  left: calc((15 + 4 * var(--pf-t)) * var(--pf-cu));
  right: calc((16.2 + 3.47 * var(--pf-t)) * var(--pf-cu));
  bottom: calc((14.5 + 3.5 * var(--pf-t)) * var(--pf-cu));
  border: calc((1.61 + 0.39 * var(--pf-t)) * var(--pf-cu)) solid var(--vh-lp-accent);
  border-radius: calc(20 * var(--pf-cu));
  pointer-events: none;
}
.vh-pf__patch {
  position: absolute;
  left: 50%;
  width: calc((41.2 + 9.9 * var(--pf-t)) * var(--pf-cu));
  transform: translateX(-50%);
  background: var(--vh-lp-beige);
}
.vh-pf__patch--top { top: 0; height: calc((39.6 + 9.3 * var(--pf-t)) * var(--pf-cu)); }
.vh-pf__patch--bottom { bottom: 0; height: calc((35.9 + 10.2 * var(--pf-t)) * var(--pf-cu)); }
.vh-pf__img {
  position: absolute;
  top: calc((40 + 11 * var(--pf-t)) * var(--pf-cu));
  left: calc((42 + 10 * var(--pf-t)) * var(--pf-cu));
  width: calc((394 + 94 * var(--pf-t)) * var(--pf-cu));
  height: calc((474 + 112 * var(--pf-t)) * var(--pf-cu));
  border-radius: calc(20 * var(--pf-cu));
  object-fit: cover;
  -webkit-user-drag: none;
}
.vh-pf__placeholder { background: #2a1d0c; fill: #4a3820; }
.vh-pf__star {
  position: absolute;
  left: 50%;
  width: calc((24.21 + 5.8 * var(--pf-t)) * var(--pf-cu));
  height: calc((24.21 + 5.8 * var(--pf-t)) * var(--pf-cu));
  transform: translateX(-50%);
}
.vh-pf__star--top { top: calc((8.07 + 1.83 * var(--pf-t)) * var(--pf-cu)); }
.vh-pf__star--bottom { bottom: calc((7.4 + 1.6 * var(--pf-t)) * var(--pf-cu)); }

/* Caption: mood label, rule, and (active only) details. Text boxes are trimmed to cap height to match Figma. */
.vh-pf__cap { display: block; }
.vh-lp .vh-pf__mood {
  margin: calc((19 - 0.116 * 20) * var(--pf-u)) 0 0;
  position: relative;
  left: calc(-2.45 * var(--pf-u));
  font-family: var(--font-kennerley-bold-italic, 'LTC Kennerley Pro Bold Italic'), Georgia, serif;
  font-style: italic;
  font-weight: 700;
  font-size: calc(20 * var(--pf-u));
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--vh-lp-accent);
}
.vh-pf__rule {
  display: block;
  width: calc(158 * var(--pf-u));
  height: calc(1 * var(--pf-u));
  margin: calc(1.9 * var(--pf-u)) auto 0;
  color: var(--vh-lp-accent);
  overflow: visible;
}
.vh-pf__detail { display: none; }
.vh-pf__item.is-active .vh-pf__detail { display: block; }
.vh-lp .vh-pf__desc {
  width: calc(193 * var(--pf-u));
  min-height: calc(48 * var(--pf-u));
  margin: calc(13 * var(--pf-u)) auto 0;
  position: relative;
  left: calc(-2.45 * var(--pf-u));
  font-family: var(--vh-lp-text);
  font-weight: 400;
  font-size: calc(12 * var(--pf-u));
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: var(--vh-lp-body);
}
.vh-pf__name,
.vh-pf__text { display: block; }
.vh-pf__name {
  font-family: var(--vh-lp-text-bold);
  font-weight: 700;
}
.vh-lp .vh-pf__btn {
  width: calc(129 * var(--pf-u));
  min-height: 0;
  height: calc(28 * var(--pf-u));
  margin: calc(12 * var(--pf-u)) auto 0;
  position: relative;
  left: calc(-2.45 * var(--pf-u));
  padding: calc(4 * var(--pf-u)) 0 0;
  box-sizing: border-box;
  border-radius: 999px;
  font-size: calc(11.71 * var(--pf-u));
  line-height: 1;
  letter-spacing: -0.02em;
  text-transform: none;
}
/* Mobile: only the active card carries a caption. */
@media (max-width: 749px) {
  .vh-pf__item:not(.is-active) .vh-pf__cap { display: none; }
}
@media (min-width: 750px) {
  .vh-lp .vh-pf__mood {
    margin-top: calc((33 + 20 * var(--pf-t) - 0.116 * var(--pf-f)) * var(--pf-u));
    left: 0;
    font-size: calc(var(--pf-f) * var(--pf-u));
  }
  .vh-pf__rule {
    width: calc((475.03 + 98.97 * var(--pf-t)) * var(--pf-u));
    height: calc((1.66 + 0.34 * var(--pf-t)) * var(--pf-u));
    margin: calc((19.31 + 4.69 * var(--pf-t) - 0.205 * var(--pf-f)) * var(--pf-u)) 0 0 calc((1 + 8 * var(--pf-t)) * var(--pf-u));
  }
  .vh-lp .vh-pf__desc {
    width: calc(427.12 * var(--pf-u));
    min-height: 0;
    margin-top: calc((41 - 0.057 * 26.85) * var(--pf-u));
    left: 0;
    /* 12px floor keeps the description legible between 750 and 860px; 26.85px at 1920 is unchanged. */
    font-size: max(12px, calc(26.85 * var(--pf-u)));
    line-height: 1;
  }
  .vh-lp .vh-pf__btn {
    width: calc(431.98 * var(--pf-u));
    height: calc(72.89 * var(--pf-u));
    margin-top: calc((39.4 - 0.265 * 26.85) * var(--pf-u));
    padding-top: calc(6 * var(--pf-u));
    left: 0;
    font-size: calc(30 * var(--pf-u));
  }
}
@media (prefers-reduced-motion: reduce) {
  .vh-pf__track, .vh-pf__item { transition: none; }
}
/* END_SECTION:vh-lp-elixir-picker-framed */

/* START_SECTION:vh-lp-footer-newsletter-seal (INDEX:49) */
.vh-fns {
  /* 1px of the Figma frame. Mobile frame 402, desktop frame 1920. */
  /* Capped so the 402 frame never exceeds 502px wide between phone and desktop widths. */
  --vh-fns-u: min(calc(100vw / 402), 1.25px);
  --vh-fns-bg: #370a16;
  --vh-fns-fg: #ece2d8;
  --vh-fns-chip-bg: #f3f0f2;
  --vh-fns-chip-fg: #370a16;
  --vh-fns-rule: var(--vh-fns-fg);
  --vh-fns-d: calc(146.3 * var(--vh-fns-u));
  --vh-fns-hang: calc(73.6 * var(--vh-fns-u));
  position: relative;
  /* The theme's custom CSS (config/settings_data.json) adds 80px above any footer element, so the space above is set here (px of the Figma frame). */
  margin-top: calc(var(--vh-fns-gap-m, 0) * var(--vh-fns-u));
  /* the space above is painted in the paper colour of the section above (setting), as a shadow copy shifted up by the gap */
  box-shadow: 0 calc(var(--vh-fns-gap-m, 0) * var(--vh-fns-u) * -1) 0 0 var(--vh-fns-gap-cm, transparent);
  overflow-x: clip;
  background: var(--vh-fns-bg);
  color: var(--vh-fns-fg);
  font-family: var(--vh-lp-text);
  font-size: calc(16.37 * var(--vh-fns-u));
  line-height: 1.3;
  letter-spacing: 0;
  padding: calc(72.7 * var(--vh-fns-u)) 0 calc(32.7 * var(--vh-fns-u));
}
/* Chip fill and LP3 input rule #F3F0F2: LP3 panel (Email Signup Background 319:493 border), same in the LP1/LP3 crops. */
.vh-fns--maroon { --vh-fns-bg: #370a16; --vh-fns-fg: #ece2d8; --vh-fns-chip-bg: #f3f0f2; --vh-fns-chip-fg: #370a16; }
.vh-fns--cream  { --vh-fns-bg: #f2efe9; --vh-fns-fg: #1a1201; --vh-fns-chip-bg: #1a1201; --vh-fns-chip-fg: #f2efe9; }
.vh-fns--orange { --vh-fns-bg: #d28132; --vh-fns-fg: #ece2d8; --vh-fns-chip-bg: #f3f0f2; --vh-fns-chip-fg: #370a16; --vh-fns-rule: #f3f0f2; }
.vh-fns--dark   { --vh-fns-bg: #1a1201; --vh-fns-fg: #ece2d8; --vh-fns-chip-bg: #ece2d8; --vh-fns-chip-fg: #1a1201; }

/* Torn top (LP2 family): band in the colour of the section above, this section's paper tearing up into it. */
.vh-fns__tear { position: absolute; top: 0; left: 0; z-index: 0; width: 100%; aspect-ratio: 1920 / 160; }
.vh-fns__tear--dark   { background: #1a1201; }
.vh-fns__tear--maroon { background: #370a16; }
.vh-fns__tear--cream  { background: #f2efe9; }
.vh-fns__tear--orange { background: #d28132; }
.vh-fns__tear--beige  { background: #ede3d0; }
.vh-fns .vh-fns__tear .vh-lp-torn { z-index: 0; }
.vh-fns .vh-fns__tear .vh-lp-torn path { fill: var(--vh-fns-bg); }

/* Notch: Ellipse 2 (desktop 315, mobile 146.3). Raised tab hangs above the section edge. */
.vh-fns__notch {
  position: absolute;
  left: 50%;
  z-index: 0;
  width: var(--vh-fns-d);
  height: var(--vh-fns-d);
  border-radius: 50%;
  transform: translateX(-50%);
}
.vh-fns--notch-raised .vh-fns__notch { top: calc(var(--vh-fns-hang) * -1); background: var(--vh-fns-bg); }
.vh-fns--notch-inverted .vh-fns__notch { top: calc(var(--vh-fns-hang) - var(--vh-fns-d)); background: var(--vh-fns-notch); }

/* Emblem: Chalice Stamp, 228 on desktop, 105.9 on mobile, 43.5 / 20.5 below the notch top. */
.vh-fns__emblem {
  position: absolute;
  top: calc(-53.1 * var(--vh-fns-u));
  left: 50%;
  z-index: 2;
  width: calc(105.9 * var(--vh-fns-u));
  transform: translateX(-50%);
}
.vh-fns__emblem img,
.vh-fns__emblem svg { display: block; width: 100%; height: auto; }
.vh-fns__placeholder { width: 100%; height: auto; aspect-ratio: 1; background: rgba(128, 128, 128, 0.25); fill: currentColor; }
.vh-fns__wordmark .vh-fns__placeholder { aspect-ratio: 2.2138; }

.vh-fns__inner { position: relative; z-index: 1; display: flex; flex-direction: column; box-sizing: border-box; max-width: calc(402 * var(--vh-fns-u)); margin-inline: auto; }
.vh-fns__newsletter { margin-left: calc(20.5 * var(--vh-fns-u)); width: calc(361.1 * var(--vh-fns-u)); }

.vh-fns__heading {
  margin: 0 0 calc(4.1 * var(--vh-fns-u));
  position: relative;
  top: calc(-2 * var(--vh-fns-u)); /* glyph ink matched to the crops (theme CSS zeroes a heading margin-top) */
  max-width: calc(200 * var(--vh-fns-u));
  /* The panel row (452:1256) reads Shango Gothic 400, but the crops draw the Medium cut: against the exports, Regular has
     31% less ink and draws 'Yearning for' 2.64 narrow at 1920; Medium matches both (r7 font test, svg-frames 319:547). */
  font-family: var(--vh-lp-display);
  font-weight: 500;
  font-size: calc(32.73 * var(--vh-fns-u));
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--vh-fns-fg);
}
.vh-fns__text { margin: 0; max-width: calc(327.3 * var(--vh-fns-u)); }

/* Form: Group 117. Two 1.02px rules offset like Rectangle 40 and Rectangle 42. */
.vh-fns__form { margin: calc(11.2 * var(--vh-fns-u)) 0 0; }
.vh-fns__field {
  position: relative;
  display: flex;
  align-items: center;
  width: calc(361.1 * var(--vh-fns-u));
  height: calc(54.2 * var(--vh-fns-u));
  padding-inline: calc(20.4 * var(--vh-fns-u)) calc(52.2 * var(--vh-fns-u));
}
.vh-fns--input-double .vh-fns__field::before,
.vh-fns--input-double .vh-fns__field::after {
  content: '';
  position: absolute;
  box-sizing: border-box;
  border: calc(1.02 * var(--vh-fns-u)) solid var(--vh-fns-rule);
  pointer-events: none;
}
.vh-fns--input-double .vh-fns__field::before { left: calc(3 * var(--vh-fns-u)); top: 0; width: calc(354.9 * var(--vh-fns-u)); height: calc(54.2 * var(--vh-fns-u)); }
.vh-fns--input-double .vh-fns__field::after { left: 0; top: calc(4.1 * var(--vh-fns-u)); width: calc(361.1 * var(--vh-fns-u)); height: calc(46 * var(--vh-fns-u)); }
.vh-fns--input-rounded .vh-fns__field {
  box-sizing: border-box;
  border: calc(1.02 * var(--vh-fns-u)) solid var(--vh-fns-rule);
  border-radius: calc(14 * var(--vh-fns-u));
  width: calc(358.5 * var(--vh-fns-u)); /* LP2/LP3 mobile Rectangle 40, 358.5 x 54.2 */
}
.vh-fns__input {
  flex: 1;
  min-width: 0;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--vh-fns-fg);
  font: inherit;
  letter-spacing: inherit;
  box-shadow: none;
  outline-offset: calc(6 * var(--vh-fns-u));
}
.vh-fns__input::placeholder { color: var(--vh-fns-fg); opacity: 1; }
.vh-fns__submit {
  position: relative;
  z-index: 1;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--vh-fns-fg);
  font-family: var(--font-kennerley-bold-italic, 'LTC Kennerley Pro Bold Italic'), Georgia, serif;
  font-weight: 700;
  font-style: italic;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  cursor: pointer;
}
.vh-fns__msg { margin: 0 0 calc(8 * var(--vh-fns-u)); }
.vh-fns__msg--error { font-family: var(--vh-lp-text-bold); }
.vh-fns__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* Socials: Ellipse 3 to 6, 24.5 on mobile with 12.3 icons, 36 with 18 icons on desktop. */
.vh-fns__socials { display: flex; gap: calc(11.3 * var(--vh-fns-u)); margin: calc(24.6 * var(--vh-fns-u)) 0 0; padding: 0; list-style: none; }
.vh-fns__social {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(24.5 * var(--vh-fns-u));
  height: calc(24.5 * var(--vh-fns-u));
  border-radius: 50%;
  background: var(--vh-fns-chip-bg);
  color: var(--vh-fns-chip-fg);
  text-decoration: none;
}
.vh-fns__social svg { display: block; width: calc(12.27 * var(--vh-fns-u)); height: calc(12.27 * var(--vh-fns-u)); }

/* Link columns: Group 121 and 122 side by side, Group 123 below. */
.vh-fns__columns {
  display: grid;
  grid-template-columns: calc(173.9 * var(--vh-fns-u)) minmax(0, 1fr);
  gap: calc(40.9 * var(--vh-fns-u)) 0;
  margin: calc(47.1 * var(--vh-fns-u)) 0 0 calc(20.5 * var(--vh-fns-u));
}
.vh-fns__column:nth-child(3) { grid-column: 1; }
.vh-fns__col-heading {
  margin: 0 0 calc(8.4 * var(--vh-fns-u));
  font-family: var(--font-kennerley-bold, 'LTC Kennerley Pro Bold'), Georgia, serif;
  font-weight: 700;
  font-style: normal;
  font-size: inherit;
  line-height: 1.3;
  letter-spacing: 0;
  text-transform: none;
  color: var(--vh-fns-fg);
}
.vh-fns__links { display: grid; gap: calc(8.4 * var(--vh-fns-u)); margin: 0; padding: 0; list-style: none; }
.vh-fns__links a,
.vh-fns__legal a { color: inherit; text-decoration: none; }
.vh-fns__links a:hover,
.vh-fns__legal a:hover { text-decoration: underline; }

/* Wordmark: Metalic-Effect 3, 376.2 wide on mobile, 1040.1 on desktop. */
.vh-fns__wordmark { position: relative; z-index: 1; margin: calc(53.6 * var(--vh-fns-u)) auto 0; width: calc(376.2 * var(--vh-fns-u)); }
.vh-fns__wordmark img,
.vh-fns__wordmark svg { display: block; width: 100%; height: auto; }

/* Copyright and legal: Group 194, 12.27 on mobile, 18 on desktop. */
.vh-fns__bottom {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(8.1 * var(--vh-fns-u));
  box-sizing: border-box;
  max-width: calc(402 * var(--vh-fns-u));
  margin: calc(25 * var(--vh-fns-u)) auto 0;
  font-size: calc(12.27 * var(--vh-fns-u));
  text-align: center;
}
.vh-fns__copy { margin: 0; }
/* svg-frames: the legal row is one text run, 'Privacy Policy   Terms of Service   Credits', so the links sit three spaces
   apart (a 0.8em gap drew the row 2.6 wider at 1920 and its left end 2.4 left, r7 per-line sweep) */
.vh-fns__legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 0; margin: 0; padding: 0; list-style: none; }
.vh-fns__legal > li + li::before { content: '   '; white-space: pre; }

/* Per-template geometry (metadata.xml). Section top: LP1 = Rectangle 67; LP2 = torn vector top (463:4080);
   LP3 = bottom of the dark band above. LP2 mobile: title 105.6 below the top, seal at -4. LP3 mobile: title 27.3
   below the band, notch Ellipse 2 (452:2501) 66.3 wide hanging 15.5, no emblem in the frame. */
.vh-fns--notch-none { padding-top: calc(105.7 * var(--vh-fns-u)); }
.vh-fns--notch-none .vh-fns__emblem { top: calc(-4 * var(--vh-fns-u)); }
.vh-fns--notch-inverted {
  --vh-fns-d: calc(66.3 * var(--vh-fns-u));
  --vh-fns-hang: calc(15.5 * var(--vh-fns-u));
  padding-top: calc(27.4 * var(--vh-fns-u));
}
.vh-fns--notch-inverted .vh-fns__emblem { display: none; }
/* LP3 wordmark is the vector itself (452:2090 / 452:2571, 367 x 164 at x 18), not the 376.2 Metalic-Effect box. It starts
   56.75 below Group 123's bottom (4325.25 -> 4382; LP2's box starts 53.75 below), so 3.15 sits above the vector; the copyright then needs 3.15 less below it (4.1 -> 0.95). */
.vh-fns--notch-inverted .vh-fns__wordmark { box-sizing: border-box; padding: calc(3.15 * var(--vh-fns-u)) calc(4.1 * var(--vh-fns-u)) calc(0.95 * var(--vh-fns-u)) calc(5.1 * var(--vh-fns-u)); }
@media screen and (max-width: 1099px) {
  /* LP3 / LP3-V2 mobile Group 117 (452:1628, 452:2531): Rectangle 40 at x 20, 358.47 wide; 'Enter your email' at 37.56
     and 'Submit' node 305-357.69, so the left inset inside the 1.02 border is 16.54 (the double-rule LP1 field's
     20.4 / 52.2 put the placeholder 4 right and Submit 26 left). Figma draws 'Submit' 4.44 left of its node box (ink
     x 301-351 on both the LP3 and LP3-V2 exports, the node says 305), so the right inset is 19.76 + 4.44 = 24.2, with
     the 52.69 node box kept and the text set from its left, whatever the web font's run width. */
  /* The LP2-family mobile Group 117 (463:4123, 463:3852, 505:7493) has the same Rectangle 40 / placeholder / Submit
     geometry, so the rounded field uses these insets on every page. */
  .vh-fns--input-rounded .vh-fns__field { padding-inline: calc(16.54 * var(--vh-fns-u)) calc(24.2 * var(--vh-fns-u)); }
  .vh-fns--input-rounded .vh-fns__submit { flex: none; width: calc(52.69 * var(--vh-fns-u)); text-align: left; white-space: nowrap; }
  /* Copyright 452:1648 / 452:2550 (LP3), 452:1277 (LP1), 463:4142 (LP2) at x 117.63, 159.57 wide: centred at 197.42,
     3.58 left of the frame centre on every mobile frame. */
  .vh-fns__copy { translate: calc(-3.58 * var(--vh-fns-u)) 0; }
}

/* Desktop layout from 1100px: below that the 1920 frame scaled to the viewport puts copy under 11px. */
@media screen and (min-width: 1100px) {
  .vh-fns {
    --vh-fns-u: min(calc(100vw / 1920), 1px);
    --vh-fns-d: calc(315 * var(--vh-fns-u));
    --vh-fns-hang: calc(78 * var(--vh-fns-u));
    font-size: max(calc(24 * var(--vh-fns-u)), 14px);
    padding: calc(204.5 * var(--vh-fns-u)) 0 calc(73 * var(--vh-fns-u));
    margin-top: calc(var(--vh-fns-gap-d, 0) * var(--vh-fns-u));
    box-shadow: 0 calc(var(--vh-fns-gap-d, 0) * var(--vh-fns-u) * -1) 0 0 var(--vh-fns-gap-cd, transparent);
  }
  .vh-fns__emblem { top: calc(-34.5 * var(--vh-fns-u)); width: calc(228 * var(--vh-fns-u)); }
  /* per-template frame offset (Figma's LP2-V2 footer sits 7 right of LP2's, LP3's 5) */
  .vh-fns__inner, .vh-fns__emblem { translate: calc(var(--vh-fns-dx-d, 0) * var(--vh-fns-u)) 0; }
  .vh-fns__bottom { translate: calc(var(--vh-fns-dxb-d, 0) * var(--vh-fns-u)) 0; }
  /* the wordmark follows the legal row unless set apart (LP3's wordmark export already sits where the crop has it) */
  .vh-fns__wordmark { translate: calc(var(--vh-fns-dxw-d, var(--vh-fns-dxb-d, 0)) * var(--vh-fns-u)) 0; }
  .vh-fns__inner { flex-direction: row; justify-content: space-between; align-items: flex-start; max-width: calc(1920 * var(--vh-fns-u)); }
  .vh-fns__newsletter { margin-left: calc(60 * var(--vh-fns-u)); width: calc(576 * var(--vh-fns-u)); }
  .vh-fns__heading {
    margin: 0 0 calc(2 * var(--vh-fns-u));
    top: calc(-5.5 * var(--vh-fns-u));
    max-width: calc(430 * var(--vh-fns-u));
    font-family: var(--vh-lp-display);
    font-weight: 500;
    font-size: calc(54 * var(--vh-fns-u));
  }
  /* LP1 and the LP3 family draw the 1920 heading in the Regular cut (ink edges 379.8 wide on LP1, 2.9 narrower than
     Medium); the LP2 family and every 402 frame draw Medium (r7 ink-edge check against the crops). */
  .vh-fns--heading-regular-d .vh-fns__heading {
    font-family: var(--font-shango-gothic-regular, 'Shango Gothic Regular'), var(--vh-lp-display);
    font-weight: 400;
  }
  .vh-fns__text { max-width: calc(480 * var(--vh-fns-u)); }
  .vh-fns__form { margin-top: calc(15 * var(--vh-fns-u)); }
  .vh-fns__field {
    width: calc(576 * var(--vh-fns-u));
    height: calc(79.5 * var(--vh-fns-u));
    padding-inline: calc(30 * var(--vh-fns-u)) calc(21.5 * var(--vh-fns-u));
  }
  .vh-fns--input-double .vh-fns__field::before,
  .vh-fns--input-double .vh-fns__field::after { border-width: calc(1.5 * var(--vh-fns-u)); }
  .vh-fns--input-double .vh-fns__field::before { left: calc(4.5 * var(--vh-fns-u)); width: calc(567 * var(--vh-fns-u)); height: calc(79.5 * var(--vh-fns-u)); }
  .vh-fns--input-double .vh-fns__field::after { top: calc(6 * var(--vh-fns-u)); width: calc(576 * var(--vh-fns-u)); height: calc(67.5 * var(--vh-fns-u)); }
  /* LP2/LP3 Email Signup Background (319:673, 319:493): 576 x 67.5, r20, 1.5 border, 6 below the double-rule box top. */
  .vh-fns--input-rounded .vh-fns__form { padding-block: calc(6 * var(--vh-fns-u)); }
  .vh-fns--input-rounded .vh-fns__field {
    width: calc(576 * var(--vh-fns-u));
    height: calc(67.5 * var(--vh-fns-u));
    border-width: calc(1.5 * var(--vh-fns-u));
    border-radius: calc(20 * var(--vh-fns-u));
  }
  .vh-fns__socials { gap: calc(16.5 * var(--vh-fns-u)); margin-top: calc(36 * var(--vh-fns-u)); }
  .vh-fns__social { width: calc(36 * var(--vh-fns-u)); height: calc(36 * var(--vh-fns-u)); }
  .vh-fns__social svg { width: calc(18 * var(--vh-fns-u)); height: calc(18 * var(--vh-fns-u)); }
  .vh-fns__columns {
    display: flex;
    gap: calc(85.5 * var(--vh-fns-u));
    margin: calc(32.5 * var(--vh-fns-u)) calc(72 * var(--vh-fns-u)) 0 0;
  }
  .vh-fns__col-heading { margin-bottom: calc(12.3 * var(--vh-fns-u)); }
  .vh-fns__links { gap: calc(12.3 * var(--vh-fns-u)); }
  .vh-fns__wordmark { margin-top: calc(114 * var(--vh-fns-u)); width: calc(1040.1 * var(--vh-fns-u)); }
  .vh-fns__bottom {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    gap: 0;
    margin-top: calc(-22.7 * var(--vh-fns-u));
    max-width: calc(1920 * var(--vh-fns-u));
    padding-inline: calc(72 * var(--vh-fns-u));
    font-size: max(calc(18 * var(--vh-fns-u)), 12px);
    text-align: left;
  }
  /* LP2 (319:547): seal 32 below the torn vector 319:558, title 249, frame ends 1208 below it.
     LP3 (319:295): chalice group 319:494 (150.7 wide) 150 above the band, title 66.5, frame ends 1059 below it. */
  .vh-fns--notch-none { padding: calc(249 * var(--vh-fns-u)) 0 calc(36.5 * var(--vh-fns-u)); }
  .vh-fns--notch-none .vh-fns__emblem { top: calc(32 * var(--vh-fns-u)); }
  .vh-fns--notch-inverted {
    --vh-fns-d: calc(315 * var(--vh-fns-u));
    --vh-fns-hang: calc(78 * var(--vh-fns-u));
    padding: calc(66.5 * var(--vh-fns-u)) 0 calc(70 * var(--vh-fns-u));
  }
  /* LP3 chalice group 319:494 sits at x 889 (centre 964.35), 4.35 right of the frame centre. */
  /* That x is already the frame position (LP3-V2's 352:236 is also at 889), so the per-template shift does not move it. */
  .vh-fns--notch-inverted .vh-fns__emblem { display: block; top: calc(-150 * var(--vh-fns-u)); width: calc(150.7 * var(--vh-fns-u)); margin-left: calc(4.35 * var(--vh-fns-u)); translate: none; }
  /* LP3 wordmark vector 319:492: 1014 x 455 at (458, +8) inside the 1040.1 x 469.7 Metalic-Effect box at x 440. */
  .vh-fns--notch-inverted .vh-fns__wordmark { padding: calc(8 * var(--vh-fns-u)) calc(8.1 * var(--vh-fns-u)) calc(6.7 * var(--vh-fns-u)) calc(18 * var(--vh-fns-u)); }
  /* LP3 / LP3-V2 Email Signup Background (319:493 / 352:235) starts 20 above the placeholder (LP2's 319:673: 18), so the
     rounded box moves up 2 and its contents stay (r6 sweep: box +2.83, placeholder +1.04). */
  .vh-fns--notch-inverted.vh-fns--input-rounded .vh-fns__form { padding-block: calc(4 * var(--vh-fns-u)) calc(8 * var(--vh-fns-u)); }
  .vh-fns--notch-inverted.vh-fns--input-rounded .vh-fns__field > * { translate: 0 calc(2 * var(--vh-fns-u)); }
}

@media (prefers-reduced-motion: reduce) {
  .vh-fns * { transition: none; }
}
/* END_SECTION:vh-lp-footer-newsletter-seal */

/* START_SECTION:vh-lp-formula-columns-photo (INDEX:50) */
/* mobile first: u = 1px of the 402 frame */
.vh-lp .vh-lp-formula {
  --u: calc(100vw / 402);
  --fm-dash: var(--vh-lp-cream);
  --fm-bg: var(--vh-lp-bg);
  min-height: calc(var(--u) * var(--fm-hm, 600));
  padding: 0;
  font-size: calc(var(--u) * 12);
  line-height: 1.3;
  letter-spacing: 0;
  text-align: center;
  overflow: hidden;
}
.vh-lp .vh-lp-section.vh-lp-formula > .vh-lp-formula__media,
.vh-lp .vh-lp-section.vh-lp-formula > .vh-lp-formula__fade {
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
/* Figma 452:2119: rect at (-36.4, 4.55), 681 x 722.7, rotated 0.5234deg. Its image fill is the same source as the
   desktop 319:300 at 0.35034x of the desktop scale, so the desktop file lands at rect-local (0.15, 0), 672.65 wide. */
.vh-lp .vh-lp-formula__media {
  left: calc(var(--u) * -36.25);
  top: calc(var(--u) * 4.55);
  width: calc(var(--u) * 672.65);
  transform: rotate(0.5234deg);
  transform-origin: calc(var(--u) * -0.15) 0;
}
.vh-lp .vh-lp-formula__media--own-mobile { /* a mobile file is the rect's own crop */
  left: calc(var(--u) * -36.4);
  width: calc(var(--u) * 681);
  height: calc(var(--u) * 722.7);
  transform-origin: 0 0;
}
.vh-lp .vh-lp-formula__media picture,
.vh-lp .vh-lp-formula__media img { display: block; width: 100%; height: auto; }
.vh-lp .vh-lp-formula__media--own-mobile picture,
.vh-lp .vh-lp-formula__media--own-mobile img { height: 100%; object-fit: cover; }
/* Mobile file = the full 1701 x 2439 photo. Figma's image fill (frame SVG pattern2, matrix 0.000722037 1.42318e-05
   -1.51035e-05 0.000680634 -0.164908 -0.515613 on the 681 x 722.696 rect) lays it out at 836.41 x 1199.69, offset
   (-112.30, -372.63) in the rect, turned 1.198deg; the rect is clipped. */
@media (max-width: 749px) {
  /* Figma 452:2119 ends at y 1737, 141 below this section; its fade (452 paint5) completes at 634 of 587. The photo and fades
     run on over the next section's background, below that section's own content (later in the page, same z-index). */
  .vh-lp .vh-lp-section.vh-lp-formula { overflow-x: clip; overflow-y: visible; }
  .vh-lp .vh-lp-section.vh-lp-formula > .vh-lp-formula__media,
  .vh-lp .vh-lp-section.vh-lp-formula > .vh-lp-formula__fade { z-index: 1; }
  /* the fade stays opaque below its 634 end, so the photo's last 100 are covered as in Figma (dark under the next heading) */
  .vh-lp .vh-lp-section.vh-lp-formula > .vh-lp-formula__fade--bottom {
    height: calc(var(--u) * 300);
    background: linear-gradient(to bottom, transparent 0, var(--fm-bg) calc(var(--u) * 193.85), var(--fm-bg) 100%);
  }
  .vh-lp .vh-lp-formula__media--own-mobile { overflow: hidden; }
  .vh-lp .vh-lp-formula__media--own-mobile picture { position: absolute; inset: 0; }
  .vh-lp .vh-lp-formula__media--own-mobile img {
    position: absolute;
    left: calc(var(--u) * -112.3);
    top: calc(var(--u) * -372.63);
    width: calc(var(--u) * 836.41);
    height: calc(var(--u) * 1199.69);
    max-width: none;
    object-fit: fill;
    transform: rotate(1.198deg);
    transform-origin: 0 0;
  }
}

/* Fades are Figma's own gradients (frame SVG export): #1A1201 alpha 1 -> 0, linear */
.vh-lp .vh-lp-formula__fade--top { /* 452:2121: opaque at y 91.58, clear at 285.42 */
  left: 0; right: 0; top: 0;
  height: calc(var(--u) * 285.42);
  background: linear-gradient(to bottom, var(--fm-bg) 0, var(--fm-bg) calc(var(--u) * 91.58), transparent 100%);
}
.vh-lp .vh-lp-formula__fade--left { /* 452:2149: x -2..254, y 83..646, opacity 76%, opaque at x 84.88, clear at 254 */
  left: calc(var(--u) * -2); top: calc(var(--u) * 83);
  width: calc(var(--u) * 256); height: calc(var(--u) * 563);
  opacity: 0.76;
  background: linear-gradient(to right, var(--fm-bg) 0, var(--fm-bg) calc(var(--u) * 86.88), transparent 100%);
}
.vh-lp .vh-lp-formula__fade--bottom { /* 452 frame paint5: clear at y 440, opaque at 633.85 */
  left: 0; right: 0; top: calc(var(--u) * 440);
  height: calc(var(--u) * 193.85);
  background: linear-gradient(to bottom, transparent 0, var(--fm-bg) 100%);
}

.vh-lp .vh-lp-formula__inner {
  position: relative;
  z-index: 1;
  padding-top: calc(var(--u) * 25.75);
}
.vh-lp .vh-lp-formula__heading {
  font-size: calc(var(--u) * 24);
  line-height: calc(var(--u) * 28);
  text-align: center;
}
.vh-lp .vh-lp-formula__heading { letter-spacing: 0; }
.vh-lp .vh-lp-formula__heading .vh-lp-script--initial { font-size: 1.875em; line-height: 0; margin-right: 0.207em; position: relative; top: 0.127em; left: calc(var(--u) * -1.15); letter-spacing: 0; } /* 45 / 24. left: the T glyph outline in svg-frames 452:1458 starts at 123.16; the DOM origin minus the glyph's ink bearing put it at 124.31 (r7 initials check) */
.vh-lp .vh-lp-formula__line--1 { margin-right: calc(var(--u) * 5); } /* Figma group 452:2112 x 125-276.8: keeps line 1 ink on the crop */
.vh-lp .vh-lp-formula__intro {
  max-width: calc(var(--u) * 218);
  margin: calc(var(--u) * 10.5) auto 0;
  color: #fff;
  font-variant-ligatures: common-ligatures discretionary-ligatures; /* Figma shows the Kennerley swash ct forms */
  font-feature-settings: 'liga' 1, 'dlig' 1;
}

/* mobile timeline: columns stack, dashed rail at x = 40 */
.vh-lp .vh-lp-formula__cols {
  position: relative;
  width: calc(var(--u) * 111.1);
  margin: calc(var(--u) * 35.9) 0 0 calc(var(--u) * 40); /* rows start at Figma y 174.9 */
  text-align: center;
}
/* Dashed rules are Figma's own lines (frame SVG export): mobile #F2EFE9 1px, dash 1.82; desktop 2.21136px, dash 5.53.
   Figma draws a dashed stroke as a whole number of periods (round(length / (2 x dash))) with a dash centred on each
   end; the SVG export does not, so the arrays below are refitted per line length and offset by a quarter period.
   Verified against the crop on all four line types (period and phase within 0.1px). */
.vh-lp .vh-lp-formula__vrail,
.vh-lp .vh-lp-formula__hrail,
.vh-lp .vh-lp-formula__rail,
.vh-lp .vh-lp-formula__hline {
  position: absolute;
  display: block;
  max-width: none;
  overflow: visible;
  fill: none;
  stroke: var(--fm-dash);
  pointer-events: none;
}
.vh-lp .vh-lp-formula__vrail { /* 452:2125: x 40.5, y 175 down to 554 */
  left: 0; top: calc(var(--u) * 0.1);
  width: calc(var(--u) * 1); height: 100%;
  stroke-width: calc(var(--u) * 1);
  stroke-dasharray: calc(var(--u) * 1.8221) calc(var(--u) * 1.8221);
  stroke-dashoffset: calc(var(--u) * 0.9111);
}
.vh-lp .vh-lp-formula__hline { /* 452:2134 etc.: x 151.066 to 39.904, 0.5 below the row top */
  left: calc(var(--u) * -0.096); top: 0;
  width: calc(var(--u) * 111.162); height: calc(var(--u) * 1);
}
.vh-lp .vh-lp-formula__hrail,
.vh-lp .vh-lp-formula__rail { display: none; }
.vh-lp .vh-lp-formula__col {
  position: relative;
  /* Figma 452:2136-2139 sit 21.1 / 23.1 / 21.1 / 23.1 below their rules (452:2134, 2132, 2130, 2145); rows are 91 / 96 / 96 / 96 tall */
  padding: calc(var(--u) * var(--fm-pt, 23.1)) 0 calc(var(--u) * var(--fm-pb, 24.15)) calc(var(--u) * 3.8);
}
.vh-lp .vh-lp-formula__end { position: relative; height: 0; }
.vh-lp .vh-lp-formula__star {
  position: absolute;
  left: 0;
  top: 0;
  width: calc(var(--u) * 13.8);
  max-width: none; /* the theme's svg max-width: 100% collapsed the end star inside its 0-wide container */
  height: calc(var(--u) * 13.8);
  transform: translate(-50%, -50%);
  fill: var(--vh-lp-accent);
}
.vh-lp .vh-lp-formula__text {
  margin-inline: auto;
  max-width: calc(var(--u) * var(--fm-w, 80));
  color: var(--vh-lp-cream);
  font-size: calc(var(--u) * 12);
  line-height: calc(var(--u) * 16.25);
}
.vh-lp .vh-lp-formula__col:nth-of-type(1) { --fm-w: 72.5; --fm-pt: 21.1; --fm-pb: 21.15; }
.vh-lp .vh-lp-formula__col:nth-of-type(2) { --fm-w: 91.4; }
.vh-lp .vh-lp-formula__col:nth-of-type(3) { --fm-w: 81; --fm-pt: 21.1; --fm-pb: 26.15; }
.vh-lp .vh-lp-formula__col:nth-of-type(4) { --fm-w: 74.7; }
.vh-lp .vh-lp-formula__title,
.vh-lp .vh-lp-formula__benefit { display: block; font-variant-ligatures: common-ligatures discretionary-ligatures; font-feature-settings: 'liga' 1, 'dlig' 1; }
.vh-lp .vh-lp-formula__title {
  font-family: var(--vh-lp-text-bold);
  font-weight: 700;
}
.vh-lp .vh-lp-formula__title--italic { font-family: var(--font-kennerley-bold-italic, 'LTC Kennerley Pro Bold Italic'), Georgia, serif; }
.vh-lp .vh-lp-formula__benefit { font-family: var(--vh-lp-text); font-weight: 400; }

@media (min-width: 750px) {
  .vh-lp .vh-lp-formula {
    --u: calc(100vw / 1920);
    min-height: calc(var(--u) * var(--fm-hd, 2120));
    font-size: calc(var(--u) * 42.76);
  }
  /* 319:300 is 1945 wide at x -2; the file is its 1920 frame-clipped render, so it sits at x 0 */
  .vh-lp .vh-lp-formula__media { left: 0; top: calc(var(--u) * 495); width: calc(var(--u) * 1920); height: auto; transform: none; }
  .vh-lp .vh-lp-formula__media--own-mobile { height: auto; top: calc(var(--u) * 495); }
  .vh-lp .vh-lp-formula__media--own-mobile picture,
  .vh-lp .vh-lp-formula__media--own-mobile img { height: auto; }
  .vh-lp .vh-lp-formula__fade--left { display: none; }
  .vh-lp .vh-lp-formula__fade--top { /* 319:307: opaque down to y 710.16, clear at 1384 */
    height: calc(var(--u) * 1384);
    background: linear-gradient(to bottom, var(--fm-bg) 0, var(--fm-bg) calc(var(--u) * 710.16), transparent 100%);
  }
  .vh-lp .vh-lp-formula__fade--bottom { /* 319:302: clear at y 1473, opaque at 2146.84 */
    top: calc(var(--u) * 1473); height: calc(var(--u) * 673.84);
  }

  .vh-lp .vh-lp-formula__inner { padding-top: calc(var(--u) * 171); }
  .vh-lp .vh-lp-formula__heading { font-size: calc(var(--u) * 85.36); line-height: calc(var(--u) * 92); }
  .vh-lp .vh-lp-formula__heading { letter-spacing: -0.02em; }
  /* Figma group 319:363 spans x 707-1213 (506); the rendered run is narrower, so pad its trailing edge to keep the ink where Figma has it */
  .vh-lp .vh-lp-formula__line--1 { margin-right: calc(var(--u) * 8); }
  .vh-lp .vh-lp-formula__heading .vh-lp-script--initial { font-size: 1.857em; margin-right: 0.19em; top: 0.063em; left: calc(var(--u) * -1.97); letter-spacing: -0.02em; } /* 158.52 / 85.36; left: T outline at 700.50 in svg-frames 319:295, drawn at 702.47 */
  .vh-lp .vh-lp-formula__intro { max-width: calc(var(--u) * 919); margin-top: calc(var(--u) * 29); font-size: calc(var(--u) * 37.49); }

  .vh-lp .vh-lp-formula__cols {
    display: flex;
    width: calc(var(--u) * 1632);
    margin: calc(var(--u) * 109.6) 0 0 calc(var(--u) * 174); /* rails start at Figma y 591.01 */
  }
  .vh-lp .vh-lp-formula__vrail,
  .vh-lp .vh-lp-formula__hline { display: none; }
  .vh-lp .vh-lp-formula__hrail { /* 319:334: y 592.11, x 1805.99 to 182.854 */
    display: block;
    left: 0; top: 0;
    width: calc(var(--u) * 1632); height: calc(var(--u) * 2.21136);
    stroke-width: calc(var(--u) * 2.21136);
    stroke-dasharray: calc(var(--u) * 5.5209) calc(var(--u) * 5.5209);
    stroke-dashoffset: calc(var(--u) * 2.7604);
  }
  .vh-lp .vh-lp-formula__rail { /* 319:335 etc.: x 172.902 (+408 per column), y 929.35 up to 591.01 */
    display: block;
    left: calc(var(--u) * -2.2037); top: 0;
    width: calc(var(--u) * 2.21136); height: calc(var(--u) * 338.34);
  }
  .vh-lp .vh-lp-formula__col {
    flex: 1 1 0;
    min-width: 0;
    min-height: calc(var(--u) * 338.3); /* Figma Line 66-72 length */
    padding: calc(var(--u) * 81) 0 0;
  }
  .vh-lp .vh-lp-formula__col:first-child { padding-bottom: 0; }
  .vh-lp .vh-lp-formula__end { flex: 0 0 0; height: calc(var(--u) * 338.3); }
  .vh-lp .vh-lp-formula__star { width: calc(var(--u) * 42); height: calc(var(--u) * 42); }
  .vh-lp .vh-lp-formula__text { font-size: calc(var(--u) * 47.99); line-height: calc(var(--u) * 63); /* Figma boxes: 189 for 3 lines */ max-width: calc(var(--u) * var(--fm-w, 300)); position: relative; left: calc(var(--u) * var(--fm-dx, 0)); }
  /* Figma text boxes 319:346-349 are not centred on their columns: dx = box centre - column centre */
  .vh-lp .vh-lp-formula__col:nth-of-type(1) { --fm-w: 265; --fm-dx: -5.5; }
  .vh-lp .vh-lp-formula__col:nth-of-type(2) { --fm-w: 334; --fm-dx: 4; }
  .vh-lp .vh-lp-formula__col:nth-of-type(3) { --fm-w: 296; --fm-dx: -7; }
  .vh-lp .vh-lp-formula__col:nth-of-type(4) { --fm-w: 273; --fm-dx: -4.5; }
  /* r6 sweep (LP3 / LP3-V2 1920, text 319:346-349): the italic title lines rendered 2-3 low (roman titles 0) and the roman benefit line
     0 to -1, so the title moves up 2.5 without moving the benefit. */
  .vh-lp .vh-lp-formula__title--italic { position: relative; top: calc(var(--u) * -2.5); }
}
/* r6 sweep, 402 frames (452:1458 / 452:2523): with the section top where Figma has it, its photo (452:2119), heading
   (Group 1410111792) and column text sat 2.0 high and the rails and stars 1.0 high, so the content moves 1px down (a whole pixel: a 1.5 shift re-rasterized the 1.79-period dashed rails) inside
   the fixed-height section (the next section does not move). */
@media (max-width: 749px) {
  .vh-lp .vh-lp-formula > :is(.vh-lp-formula__media, .vh-lp-formula__fade, .vh-lp-formula__inner) { translate: 0 1px; }
}
/* END_SECTION:vh-lp-formula-columns-photo */

/* START_SECTION:vh-lp-formula-diagram-glass (INDEX:51) */
.vh-lp .vh-lp-section.vh-lp-fdg {
  container-type: inline-size;
  padding: 0;
}
/* Optional gap above the stage, painted in this section's paper (the band above ends before this section starts in Figma). */
/* the mobile tear hangs above the root (it overlaps the band above), so only x clips here */
.vh-lp .vh-lp-section.vh-lp-fdg { overflow-x: clip; overflow-y: visible; }
.vh-lp .vh-lp-section.vh-lp-fdg::before { content: ''; display: block; height: calc(var(--fdg-gm, 0) * 100cqw / 402); }
@media (min-width: 750px) {
  .vh-lp .vh-lp-section.vh-lp-fdg::before { height: calc(var(--fdg-gd, 0) * 100cqw / 1920); }
}
.vh-lp-fdg__stage {
  --u: calc(100cqw / 402);
  --fdg-bg: var(--vh-lp-bg);
  height: calc(var(--u) * 458);
  overflow: clip;
}
@media (max-width: 749px) {
  .vh-lp .vh-lp-section.vh-lp-fdg.vh-lp-scheme--cream { --vh-lp-bg: #fffef9; } /* Figma mobile frame fill */
}
@media (min-width: 750px) {
  .vh-lp-fdg__stage { --u: calc(100cqw / 1920); height: calc(var(--u) * 1190); }
}
.vh-lp-fdg__stage > *, .vh-lp-fdg__item > * { position: absolute; margin: 0; }
.vh-lp-fdg__item { display: contents; }

/* beige tear hanging from the band above (mobile frame only) */
/* The tear is a child of the root (the stage clips). It starts 43 above the stage top: with a space above of 43 it sits at the root top. */
.vh-lp-fdg__tear { position: absolute; z-index: 0; max-width: none; left: calc(100cqw * -12 / 402); top: calc((var(--fdg-gm, 0) - 43) * 100cqw / 402); width: calc(100cqw * 429 / 402); height: calc(100cqw * 65 / 402); fill: var(--vh-lp-beige); pointer-events: none; }
@media (min-width: 750px) { .vh-lp-fdg__tear { display: none; } }

/* eyebrow */
.vh-lp .vh-lp-fdg__eyebrow { left: calc(var(--u) * 130.1); top: calc(var(--u) * 40.7); width: calc(var(--u) * 138.6); height: calc(var(--u) * 16); }
.vh-lp .vh-lp-fdg__etext {
  position: absolute; left: calc(var(--u) * 30.8); width: calc(var(--u) * 79.5); top: 0;
  text-align: center; white-space: nowrap; overflow: visible;
  font-family: var(--vh-lp-text-bold); font-weight: 700; font-size: calc(var(--u) * 12); line-height: calc(var(--u) * 16);
  letter-spacing: -0.02em; color: var(--vh-lp-accent);
}
.vh-lp-fdg__erule { fill: var(--vh-lp-accent); display: block; }
.vh-lp-fdg__erule--l, .vh-lp-fdg__erule--r { display: none; }
.vh-lp-fdg__erule--lm { left: 0; top: calc(var(--u) * 7.35); width: calc(var(--u) * 26); height: calc(var(--u) * 1); }
.vh-lp-fdg__erule--rm { left: calc(var(--u) * 113.145); top: calc(var(--u) * 6.92); width: calc(var(--u) * 26); height: calc(var(--u) * 1); }
.vh-lp-fdg__erule { position: absolute; }
@media (min-width: 750px) {
  .vh-lp .vh-lp-fdg__eyebrow { left: calc(var(--u) * 756); top: calc(var(--u) * 17.62); width: calc(var(--u) * 444.1); height: calc(var(--u) * 56); }
  .vh-lp .vh-lp-fdg__etext { left: calc(var(--u) * 73); width: calc(var(--u) * 300); font-size: calc(var(--u) * 42.7597); line-height: calc(var(--u) * 56); }
  .vh-lp-fdg__erule--lm, .vh-lp-fdg__erule--rm { display: none; }
  .vh-lp-fdg__erule--l, .vh-lp-fdg__erule--r { display: block; top: calc(var(--u) * 26); width: calc(var(--u) * 90.1219); height: calc(var(--u) * 2); }
  .vh-lp-fdg__erule--l { left: 0; }
  .vh-lp-fdg__erule--r { left: calc(var(--u) * 354); }
}

/* heading */
.vh-lp .vh-lp-fdg__heading {
  left: calc(var(--u) * 61); top: calc(var(--u) * 74.8); width: calc(var(--u) * 280);
  font-size: calc(var(--u) * 24); line-height: calc(var(--u) * 27); text-align: center; letter-spacing: -0.02em;
}
.vh-lp-fdg__line { display: block; white-space: nowrap; height: calc(var(--u) * 27); }
.vh-lp .vh-lp-fdg__heading .vh-lp-script--initial { margin-right: calc(var(--u) * 3.2); }
.vh-lp-fdg__line:first-child { position: relative; left: calc(var(--u) * -0.6); }
@media (min-width: 750px) {
  .vh-lp .vh-lp-fdg__heading { left: calc(var(--u) * 458); top: calc(var(--u) * 147.75); width: calc(var(--u) * 991); font-size: calc(var(--u) * 85.3588); line-height: calc(var(--u) * 96); }
  .vh-lp-fdg__line { height: calc(var(--u) * 96); }
  .vh-lp .vh-lp-fdg__heading .vh-lp-script--initial { margin-right: calc(var(--u) * 8.87); }
  .vh-lp-fdg__line:first-child { left: calc(var(--u) * -4.5); }
}

/* disc, ring */
.vh-lp-fdg__disc { display: none; }
.vh-lp-fdg__ring { fill: var(--vh-lp-accent); pointer-events: none; }
.vh-lp-fdg__ring--d { display: none; }
.vh-lp-fdg__ring--m { left: 0; top: calc(var(--u) * 153); width: calc(var(--u) * 209); height: calc(var(--u) * 270); }
@media (min-width: 750px) {
  .vh-lp-fdg__disc { display: block; left: calc(var(--u) * 646); top: calc(var(--u) * 464); width: calc(var(--u) * 627); height: calc(var(--u) * 627); border-radius: 50%; background: var(--vh-lp-beige); }
  .vh-lp-fdg__ring--m { display: none; }
  .vh-lp-fdg__ring--d { display: block; left: calc(var(--u) * 621); top: calc(var(--u) * 439); width: calc(var(--u) * 678); height: calc(var(--u) * 678); }
}

/* ingredient callouts */
.vh-lp .vh-lp-fdg__text {
  width: calc(var(--u) * 145); text-align: right;
  font-family: var(--vh-lp-text); font-size: calc(var(--u) * 10); line-height: calc(var(--u) * 13); letter-spacing: 0; color: var(--vh-lp-fg);
}
.vh-lp-fdg__title { display: block; font-family: var(--font-kennerley-bold-italic, 'LTC Kennerley Pro Bold Italic'), Georgia, serif; font-style: italic; font-weight: 700; }
.vh-lp-fdg__detail { display: block; position: relative; top: 0.07em; } /* Regular and Bold Italic sit on different baselines in Chromium; Figma keeps one baseline pitch */
.vh-lp-fdg__rule { fill: var(--vh-lp-accent); width: calc(var(--u) * 162); height: calc(var(--u) * 1); pointer-events: none; }
.vh-lp-fdg__back { width: calc(var(--u) * 23); height: calc(var(--u) * 23); border-radius: 50%; background: var(--fdg-bg); }
.vh-lp-fdg__star { fill: var(--vh-lp-accent); width: calc(var(--u) * 16.4589); height: calc(var(--u) * 16.4589); pointer-events: none; }

.vh-lp-fdg__item--1 .vh-lp-fdg__text { right: calc(var(--u) * 58.4); top: calc(var(--u) * 155); width: calc(var(--u) * 114.6); }
.vh-lp-fdg__item--1 .vh-lp-fdg__rule { left: calc(var(--u) * 184); top: calc(var(--u) * 199); }
.vh-lp-fdg__item--1 .vh-lp-fdg__back { left: calc(var(--u) * 156); top: calc(var(--u) * 181); }
.vh-lp-fdg__item--1 .vh-lp-fdg__star { left: calc(var(--u) * 159); top: calc(var(--u) * 185); }
.vh-lp-fdg__item--2 .vh-lp-fdg__text { right: calc(var(--u) * 37.3); top: calc(var(--u) * 230); width: calc(var(--u) * 140.7); }
.vh-lp-fdg__item--2 .vh-lp-fdg__rule { left: calc(var(--u) * 211); top: calc(var(--u) * 261); }
.vh-lp-fdg__item--2 .vh-lp-fdg__back { left: calc(var(--u) * 192); top: calc(var(--u) * 240); }
.vh-lp-fdg__item--2 .vh-lp-fdg__star { left: calc(var(--u) * 195); top: calc(var(--u) * 244); }
.vh-lp-fdg__item--3 .vh-lp-fdg__text { right: calc(var(--u) * 30.2); top: calc(var(--u) * 302); width: calc(var(--u) * 125.8); }
.vh-lp-fdg__item--3 .vh-lp-fdg__rule { left: calc(var(--u) * 218); top: calc(var(--u) * 331); }
.vh-lp-fdg__item--3 .vh-lp-fdg__back { left: calc(var(--u) * 195); top: calc(var(--u) * 311); }
.vh-lp-fdg__item--3 .vh-lp-fdg__star { left: calc(var(--u) * 198); top: calc(var(--u) * 315); }
.vh-lp-fdg__item--4 .vh-lp-fdg__text { right: calc(var(--u) * 64.2); top: calc(var(--u) * 364); width: calc(var(--u) * 125.8); }
.vh-lp-fdg__item--4 .vh-lp-fdg__rule { left: calc(var(--u) * 184); top: calc(var(--u) * 394); }
.vh-lp-fdg__item--4 .vh-lp-fdg__back { left: calc(var(--u) * 154); top: calc(var(--u) * 377); }
.vh-lp-fdg__item--4 .vh-lp-fdg__star { left: calc(var(--u) * 157); top: calc(var(--u) * 381); }

@media (min-width: 750px) {
  .vh-lp .vh-lp-fdg__text { width: calc(var(--u) * 420); font-size: calc(var(--u) * 29.5812); line-height: calc(var(--u) * 38); }
  .vh-lp-fdg__rule { width: calc(var(--u) * 480); height: calc(var(--u) * 2); }
  .vh-lp-fdg__back { display: none; }
  .vh-lp-fdg__star { width: calc(var(--u) * 38); height: calc(var(--u) * 38); }
  .vh-lp-fdg__item--1 .vh-lp-fdg__text, .vh-lp-fdg__item--2 .vh-lp-fdg__text { right: auto; left: calc(var(--u) * 142); text-align: left; }
  .vh-lp-fdg__item--1 .vh-lp-fdg__text { width: calc(var(--u) * 338.6); }
  .vh-lp-fdg__item--2 .vh-lp-fdg__text { width: calc(var(--u) * 415.9); }
  .vh-lp-fdg__item--3 .vh-lp-fdg__text, .vh-lp-fdg__item--4 .vh-lp-fdg__text { right: calc(var(--u) * 173.2); width: calc(var(--u) * 371.8); }
  .vh-lp-fdg__item--1 .vh-lp-fdg__text { top: calc(var(--u) * 516); }
  .vh-lp-fdg__item--1 .vh-lp-fdg__rule { left: calc(var(--u) * 118); top: calc(var(--u) * 654); }
  .vh-lp-fdg__item--1 .vh-lp-fdg__star { left: calc(var(--u) * 621); top: calc(var(--u) * 630); }
  .vh-lp-fdg__item--2 .vh-lp-fdg__text { top: calc(var(--u) * 846); }
  .vh-lp-fdg__item--2 .vh-lp-fdg__rule { left: calc(var(--u) * 142); top: calc(var(--u) * 960); }
  .vh-lp-fdg__item--2 .vh-lp-fdg__star { left: calc(var(--u) * 644); top: calc(var(--u) * 932); }
  .vh-lp-fdg__item--3 .vh-lp-fdg__text { top: calc(var(--u) * 554); }
  .vh-lp-fdg__item--3 .vh-lp-fdg__rule { left: calc(var(--u) * 1322); top: calc(var(--u) * 666); }
  .vh-lp-fdg__item--3 .vh-lp-fdg__star { left: calc(var(--u) * 1261); top: calc(var(--u) * 630); }
  .vh-lp-fdg__item--4 .vh-lp-fdg__text { top: calc(var(--u) * 846); }
  .vh-lp-fdg__item--4 .vh-lp-fdg__rule { left: calc(var(--u) * 1322); top: calc(var(--u) * 949); }
  .vh-lp-fdg__item--4 .vh-lp-fdg__star { left: calc(var(--u) * 1235); top: calc(var(--u) * 932); }
}

/* the glass circle: tap to advance */
.vh-lp .vh-lp-fdg__circle {
  --gl: calc(var(--u) * 52.441); --gt: calc(var(--u) * 26.325); --gw: calc(var(--u) * 137.278); --gh: calc(var(--u) * 208.16);
  left: calc(var(--u) * -50.665); top: calc(var(--u) * 162.035); width: calc(var(--u) * 250.03); height: calc(var(--u) * 250.03);
  padding: 0; border: 0; border-radius: 50%; background: var(--vh-lp-beige); cursor: pointer; color: inherit; font: inherit;
  -webkit-tap-highlight-color: transparent;
}
.vh-lp-fdg__circle:focus-visible { outline: 2px solid var(--vh-lp-accent); outline-offset: 4px; }
@media (min-width: 750px) {
  .vh-lp .vh-lp-fdg__circle {
    --gl: calc(var(--u) * 131.5); --gt: calc(var(--u) * 66); --gw: calc(var(--u) * 344); --gh: calc(var(--u) * 522);
    left: calc(var(--u) * 648); top: calc(var(--u) * 474); width: calc(var(--u) * 627); height: calc(var(--u) * 627);
  }
}
.vh-lp-fdg__glass { position: absolute; left: var(--gl); top: var(--gt); width: var(--gw); height: var(--gh); display: block; }
.vh-lp-fdg__frame { position: absolute; display: block; opacity: 0; transition: opacity 0.35s ease; pointer-events: none; }
.vh-lp-fdg__frame.is-active { opacity: 1; }
.vh-lp-fdg__frame img { display: block; width: 100%; height: 100%; max-width: none; object-fit: fill; }
.vh-lp-fdg__frame--1 { left: 0; top: 0; width: 100%; height: 100%; }
/* frames 2-4: positions measured in the How to component states 319:876/879/882 (Web Components 2x export), relative to the frame-1 box */
.vh-lp-fdg__frame--2 { left: 3.0523%; top: -38.1226%; width: 116.6316%; height: 137.0319%; }
.vh-lp-fdg__frame--3 { left: 11.7733%; top: -39.7510%; width: 98.5263%; height: 138.5576%; }
.vh-lp-fdg__frame--4 { left: -0.7267%; top: -8.3333%; width: 103.5789%; height: 108.1831%; }
@media (prefers-reduced-motion: reduce) { .vh-lp-fdg__frame { transition: none; } }

/* optional dots (off by default; not in the design) */
.vh-lp-fdg__dots { left: 0; width: 100%; top: calc(var(--u) * 436); display: flex; justify-content: center; gap: calc(var(--u) * 8); }
.vh-lp .vh-lp-fdg__dot { position: static; width: 10px; height: 10px; padding: 0; border: 1px solid var(--vh-lp-accent); border-radius: 50%; background: transparent; cursor: pointer; }
.vh-lp .vh-lp-fdg__dot.is-active { background: var(--vh-lp-accent); }
@media (min-width: 750px) { .vh-lp-fdg__dots { top: calc(var(--u) * 1136); } }
/* END_SECTION:vh-lp-formula-diagram-glass */

/* START_SECTION:vh-lp-header-centered-logo (INDEX:52) */
.vh-lp-hdr {
    --vh-lp-hdr-link: var(--vh-lp-fg, #f2efe9);
    position: relative;
    z-index: 20;
    width: 100%;
    background: var(--vh-lp-bg);
    color: var(--vh-lp-hdr-link);
    font-family: var(--vh-lp-display, var(--font-shango-gothic-medium), sans-serif);
  }
  .vh-lp-hdr--overlay {
    position: absolute;
    left: 0;
    right: 0;
    background: transparent;
  }
  /* mobile first: hamburger 40x40 at 14px, logo 101x45, basket 31x33 at 17px from the right */
  .vh-lp-hdr__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: start;
    padding: 9px 0;
  }
  .vh-lp-hdr__side {
    display: flex;
    align-items: center;
    min-width: 0;
  }
  .vh-lp-hdr__side--left {
    margin-top: 5px;
    padding-left: 14px;
  }
  .vh-lp-hdr__side--right {
    justify-content: flex-end;
    margin-top: 9px;
    padding-right: 17px;
  }
  @media (max-width: 749px) {
    .vh-lp-hdr--no-icons-m .vh-lp-hdr__drawer,
    .vh-lp-hdr--no-icons-m .vh-lp-hdr__cart { display: none; }
  }
  .vh-lp-hdr__logo {
    display: block;
    width: 101px;
    color: inherit;
  }
  .vh-lp-hdr__logo-img {
    display: block;
    width: 101px;
    height: auto;
  }
  .vh-lp-hdr__nav {
    display: none;
  }
  .vh-lp-hdr__drawer .header-drawer {
    display: block;
  }
  .vh-lp-hdr .header__icon--menu .header-drawer-icon img {
    display: block;
    width: 40px;
    height: 40px;
  }
  .vh-lp-hdr .menu-drawer-container .header__icon--menu {
    display: block;
    width: 40px;
    height: 40px;
    padding: 0;
    cursor: pointer;
  }
  .vh-lp-hdr__cart header-actions {
    display: flex;
    align-items: center;
  }
  .vh-lp-hdr__cart .header-actions__action,
  .vh-lp-hdr__cart .header-actions__cart-icon {
    color: var(--vh-lp-hdr-link);
  }
  .vh-lp-hdr__cart .cart-icon-mobile img {
    display: block;
    width: 31px;
    height: 33px;
    object-fit: contain;
  }

  @media screen and (min-width: 750px) {
    .vh-lp-hdr__inner {
      padding: clamp(16px, 1.93vw, 37px) 0;
      align-items: center;
    }
    .vh-lp-hdr__side--left {
      padding-left: 6.56vw;
    }
    .vh-lp-hdr__side--right {
      padding-right: 4.75vw;
    }
    .vh-lp-hdr__side--left,
    .vh-lp-hdr__side--right {
      margin-top: 0;
      margin-bottom: 9.6px;
      gap: clamp(20px, 2.5vw, 48px);
    }
    .vh-lp-hdr__nav {
      display: flex;
      gap: clamp(20px, 2.5vw, 48px);
    }
    .vh-lp-hdr__link {
      color: var(--vh-lp-hdr-link);
      font-family: var(--vh-lp-display, var(--font-shango-gothic-medium), sans-serif);
      font-weight: 500;
      font-size: clamp(16px, 1.25vw, 24px);
      line-height: 1.3;
      letter-spacing: 0;
      text-transform: none; /* Shango draws lowercase as caps with the short Q; labels are typed lowercase in Figma */
      text-decoration: none;
    }
    .vh-lp-hdr__link:hover,
    .vh-lp-hdr__link:focus-visible {
      text-decoration: underline;
      text-underline-offset: 0.2em;
    }
    .vh-lp-hdr__logo,
    .vh-lp-hdr__logo-img {
      width: min(16.04vw, 308px); /* no 180px floor: the logo keeps the 1920 proportion (308/1920) down to 750px so it clears the hero rating row */
    }
    .vh-lp-hdr__drawer,
    .vh-lp-hdr__cart {
      display: none;
    }
  }
/* END_SECTION:vh-lp-header-centered-logo */

/* START_SECTION:vh-lp-hero-photo-centered (INDEX:53) */
/* mobile first: values from the 402 frame (452:1458), y relative to the hero top (frame y - 32) */
.vh-lp .vh-lp-section.vh-lp-hc {
  height: 111.443vw; /* 448: the photo (521 tall) runs on behind the coverflow notch, which starts 15px above this edge */
  padding: 0;
  background: var(--vh-lp-dark);
  color: var(--vh-lp-cream);
  isolation: isolate;
}
.vh-lp .vh-lp-section.vh-lp-hc > .vh-lp-hc__media { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.vh-lp .vh-lp-hc__media picture { display: block; }
.vh-lp .vh-lp-hc__img { position: absolute; left: 0; top: 0; display: block; width: 100%; height: auto; max-width: none; }
/* Top fade = Figma "Hero Background" 452:2800 (mobile, 402x250 at the hero top) and 319:301 (desktop, 1920x583):
   #1A1201 solid to 33.6%, then linear to transparent; stops measured from the Figma export (crop minus photo). */
.vh-lp .vh-lp-section.vh-lp-hc > .vh-lp-hc__fade {
  position: absolute; left: 0; right: 0; top: 0; z-index: 1;
  height: 62.189vw;
  background: linear-gradient(to bottom, #1a1201 33.6%, rgba(26, 18, 1, 0) 100%);
  pointer-events: none;
}
.vh-lp .vh-lp-section.vh-lp-hc > .vh-lp-hc__rating,
.vh-lp .vh-lp-section.vh-lp-hc > .vh-lp-hc__heading,
.vh-lp .vh-lp-section.vh-lp-hc > .vh-lp-hc__body,
.vh-lp .vh-lp-section.vh-lp-hc > .vh-lp-hc__btn { position: absolute; z-index: 3; margin: 0; }

.vh-lp .vh-lp-section.vh-lp-hc > .vh-lp-hc__rating {
  left: 23.632vw; top: 17.413vw; width: 50.975vw; height: 3.756vw;
  display: flex; align-items: center;
}
.vh-lp .vh-lp-hc__stars { display: inline-flex; gap: 0; color: var(--vh-lp-orange); }
/* Figma Star 1 exports at 12/15.1 of its 15.1 cell: svg 79.47% of the cell, centred in it */
.vh-lp .vh-lp-hc__stars svg { display: block; width: 2.985vw; height: 2.985vw; margin: 0.3855vw; }
.vh-lp .vh-lp-hc__rating-text {
  margin-left: 1.841vw;
  position: relative; top: 0.498vw; /* glyphs sit 2px lower than the CSS line box centre in the 402 crop */
  font-family: var(--font-kennerley-bold-italic, 'LTC Kennerley Pro Bold Italic'), Georgia, serif;
  font-weight: 700;
  font-size: 2.985vw;
  line-height: 1;
  letter-spacing: -0.02em;
  white-space: nowrap;
  color: #ece5d5;
}

.vh-lp .vh-lp-section.vh-lp-hc > .vh-lp-hc__heading {
  left: 11.194vw; top: 24.6vw; width: 77.861vw;
  font-family: var(--vh-lp-display);
  font-weight: 500;
  font-size: 5.97vw;
  line-height: 5.512vw;
  letter-spacing: -0.02em;
  text-align: center;
  color: var(--vh-lp-cream);
}
.vh-lp .vh-lp-hc__heading p { margin: 0; }
.vh-lp .vh-lp-hc__heading em {
  display: block;
  font-family: var(--vh-lp-script);
  font-style: normal;
  font-weight: 400;
  font-size: 1.875em;
  line-height: 0.4924em;
  letter-spacing: -0.02em;
}

.vh-lp .vh-lp-section.vh-lp-hc > .vh-lp-hc__body {
  left: 25.622vw; top: 40.05vw; width: 49vw;
  font-family: var(--vh-lp-text);
  font-weight: 400;
  font-size: 2.985vw;
  line-height: 1.3;
  letter-spacing: -0.02em;
  text-align: center;
  color: var(--vh-lp-cream);
}
.vh-lp .vh-lp-hc__body p { margin: 0; }
.vh-lp .vh-lp-hc__body--desktop { display: none; }

.vh-lp .vh-lp-section.vh-lp-hc > .vh-lp-hc__btn {
  left: 50.249vw; top: 51.493vw; width: auto; min-width: 26.368vw; height: 5.721vw;
  transform: translateX(-50%);
  min-height: 0; padding: 0 1em; box-sizing: border-box;
  border-radius: 999px;
  background: var(--vh-lp-orange);
  color: #fff;
  font-size: 2.393vw;
  line-height: 1.2;
  white-space: nowrap;
}

@media (min-width: 750px) {
  /* desktop: values from the 1920 frame (319:295), y relative to the hero top (frame y - 70) */
  .vh-lp .vh-lp-section.vh-lp-hc { height: 67.083vw; } /* 1288: Figma photo 319:297 ends at frame y 1357 (hero top 69) */
  .vh-lp .vh-lp-hc__img { top: -3.646vw; }
  .vh-lp .vh-lp-section.vh-lp-hc > .vh-lp-hc__fade { height: 30.365vw; }
  .vh-lp .vh-lp-section.vh-lp-hc > .vh-lp-hc__rating { left: 35.833vw; top: 13.177vw; width: 27.24vw; height: 1.963vw; }
  .vh-lp .vh-lp-hc__stars svg { width: 1.56vw; height: 1.56vw; margin: 0.2015vw; }
  /* Chrome draws 'Over 300+ 5-star reviews' 1.4px narrower than Figma's outline (canvas ink 312.47 vs 313.87 in svg-frames
     319:295, same font, size and -2% spacing), so the run is centred on Figma's ink: 0.83 right of the 18.39 gap. */
  .vh-lp .vh-lp-hc__rating-text { margin-left: 1.001vw; font-size: 1.621vw; top: 0.182vw; }
  .vh-lp .vh-lp-section.vh-lp-hc > .vh-lp-hc__heading {
    left: 20.938vw; top: 17.344vw; width: 58.115vw;
    font-size: 4.062vw; line-height: 4.115vw;
  }
  .vh-lp .vh-lp-hc__heading em { font-size: 2em; line-height: 0.5065em; }
  .vh-lp .vh-lp-hc__body--desktop { display: block; }
  .vh-lp .vh-lp-hc__body--mobile { display: none; }
  /* Hero Description 319:537: y 704, 96 tall = two 48px lines (Figma rounds 130% of 36.61 to 48). Both lines drew 2.0 above the
     crop on a 47.6 pitch from 704 (r7 per-line ink check); the 48 pitch and 1.8 more top put them on it. */
  .vh-lp .vh-lp-section.vh-lp-hc > .vh-lp-hc__body { left: 7.24vw; top: 33.115vw; width: 30.781vw; font-size: 1.907vw; line-height: 2.5vw; }
  .vh-lp .vh-lp-section.vh-lp-hc > .vh-lp-hc__btn {
    left: auto; right: 9.062vw; top: 34.219vw; width: auto; min-width: 17.969vw; height: 3.802vw;
    transform: none;
    font-size: 1.563vw;
    padding-top: 0.3125vw; /* label 3px lower in the 1920 crop than the flex centre */
  }
}
/* END_SECTION:vh-lp-hero-photo-centered */

/* START_SECTION:vh-lp-hero-photo-left (INDEX:54) */
/* Mobile (frame 402 wide), layout lp1. Numbers are design pixels. */
  .vh-lp .vh-lp-section.vh-lp-hero-left {
    --u: calc(100cqw / 402);
    container-type: inline-size;
    /* frame y 32 (under the 32px announcement bar) to 520 */
    --oy: 32;
    aspect-ratio: 402 / 488;
    padding: 0;
    background: var(--vh-lp-dark);
    isolation: isolate;
    /* photo box */
    --px: 0; --py: 32; --pw: 402; --ph: 521;
    /* rating row: stars origin, star cell, rating text offset from the stars origin */
    --rx: 95; --ry: 100; --cell: 15.0993;
    --rtx: 82.88; --rty: 1.443; --rts: 12; --rtp: 16;
    /* heading block A (first line) and B (rest): left shift, top, font size, line height, width */
    --ax: -1; --at: 133.84; --as: 24; --ap: 29.5; --aw: 402;
    --bx: 4.6; --bt: 162.85; --bs: 24; --bp: 29.5; --bw: 402;
    --ta: center;
    /* script initial and accent: size (em of the line), margin (em of the script), vertical shift (design px) */
    --im: 0.0822; --iy: -2.233; /* initial size: vh-lp-base 1.875em */
    --ar: 1.875; --am: -0.02; --ay: -1.8;
    /* description */
    --dx: 75.65; --dt: 185.31; --dw: 252; --ds: 12; --dp: 16;
    /* button */
    --cx: 136.7; --cy: 200; --cw: 129; --ch: 28; --cs: 11.7084; --cpt: 2.44; --cpl: 0; --cr: 14;
    /* torn edge: svg viewBox is 1920 x 160 path units; one path unit is 429 / 1934 design pixels here */
    --tx: -12; --ty: 488; --tw: 425.89; --th: 35.49;
  }
  .vh-lp .vh-lp-section.vh-lp-hero-left--lp2 {
    --ax: -1.6; --at: 123.7;
    --bx: 7.2; --bt: 151.8; --bp: 28; --ap: 28;
    --am: 0.0489; --ay: -2;
    --cx: 117; --cy: 228; --cw: 169; --cpt: 2.58;
  }

  .vh-lp .vh-lp-section.vh-lp-hero-left > .vh-lp-hero-left__media {
    position: absolute;
    left: calc(var(--u) * var(--px));
    top: calc(var(--u) * (var(--py) - var(--oy)));
    width: calc(var(--u) * var(--pw));
    height: calc(var(--u) * var(--ph));
    z-index: 0;
  }
  .vh-lp .vh-lp-hero-left__media picture { display: block; width: 100%; height: 100%; }
  .vh-lp .vh-lp-hero-left__img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: 50% 50%;
  }
  .vh-lp .vh-lp-section.vh-lp-hero-left > .vh-lp-hero-left__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: #000;
    opacity: var(--vh-lp-hero-overlay, 0);
    pointer-events: none;
  }

  /* Rating row */
  .vh-lp .vh-lp-section.vh-lp-hero-left > .vh-lp-hero-left__rating {
    position: absolute;
    z-index: 3;
    left: calc(var(--u) * var(--rx));
    top: calc(var(--u) * (var(--ry) - var(--oy)));
    height: calc(var(--u) * var(--cell));
    display: flex;
  }
  .vh-lp .vh-lp-hero-left__stars { display: inline-flex; }
  .vh-lp .vh-lp-hero-left__star {
    display: block;
    flex: none;
    width: calc(var(--u) * var(--cell));
    height: calc(var(--u) * var(--cell));
    max-width: none;
    fill: var(--vh-lp-orange);
  }
  .vh-lp .vh-lp-hero-left__star--off { opacity: 0.3; }
  .vh-lp .vh-lp-hero-left__rating-text {
    position: absolute;
    left: calc(var(--u) * var(--rtx));
    top: calc(var(--u) * var(--rty));
    white-space: nowrap;
    font-family: var(--font-kennerley-bold-italic, 'LTC Kennerley Pro Bold Italic'), Georgia, serif;
    font-size: calc(var(--u) * var(--rts));
    line-height: calc(var(--u) * var(--rtp));
    letter-spacing: -0.02em;
    /* Figma sets Kennerley with its discretionary ligatures (the st in "5-star"); Chrome drops them under tracking */
    font-variant-ligatures: common-ligatures discretionary-ligatures;
    font-feature-settings: 'liga' 1, 'dlig' 1;
    color: #ece5d5;
  }

  /* Heading */
  .vh-lp .vh-lp-section.vh-lp-hero-left > .vh-lp-hero-left__h1 {
    position: absolute;
    inset: 0;
    z-index: 3;
    margin: 0;
    font-size: inherit;
    line-height: inherit;
    pointer-events: none;
  }
  .vh-lp .vh-lp-hero-left__hl {
    position: absolute;
    display: block;
    text-align: var(--ta);
    color: var(--vh-lp-cream);
    pointer-events: auto;
  }
  .vh-lp .vh-lp-hero-left__hl--a {
    left: calc(var(--u) * var(--ax));
    top: calc(var(--u) * (var(--at) - var(--oy)));
    width: calc(var(--u) * var(--aw));
    font-size: calc(var(--u) * var(--as));
    line-height: calc(var(--u) * var(--ap));
    white-space: nowrap;
  }
  .vh-lp .vh-lp-hero-left__hl--b {
    left: calc(var(--u) * var(--bx));
    top: calc(var(--u) * (var(--bt) - var(--oy)));
    width: calc(var(--u) * var(--bw));
    font-size: calc(var(--u) * var(--bs));
    line-height: calc(var(--u) * var(--bp));
  }
  .vh-lp .vh-lp-hero-left .vh-lp-heading {
    display: inline;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
  }
  .vh-lp .vh-lp-section.vh-lp-hero-left .vh-lp-script {
    position: relative;
    font-size: calc(var(--ar) * 1em);
    line-height: 0;
    letter-spacing: -0.02em;
    margin: 0 0 0 calc(var(--am) * 1em);
    top: calc(var(--u) * var(--ay));
  }
  .vh-lp .vh-lp-section.vh-lp-hero-left .vh-lp-script--initial {
    margin: 0 calc(var(--im) * 1em) 0 0;
    top: calc(var(--u) * var(--iy));
  }

  /* Description */
  .vh-lp .vh-lp-section.vh-lp-hero-left > .vh-lp-hero-left__description {
    position: absolute;
    z-index: 3;
    left: calc(var(--u) * var(--dx));
    top: calc(var(--u) * (var(--dt) - var(--oy)));
    width: calc(var(--u) * var(--dw));
    text-align: var(--ta);
    font-family: var(--vh-lp-text);
    font-size: calc(var(--u) * var(--ds));
    line-height: calc(var(--u) * var(--dp));
    letter-spacing: -0.02em;
    /* Figma's ct ligature in "functional" */
    font-variant-ligatures: common-ligatures discretionary-ligatures;
    font-feature-settings: 'liga' 1, 'dlig' 1;
    color: var(--vh-lp-cream);
  }
  .vh-lp .vh-lp-hero-left__description p { margin: 0; }

  /* Button */
  .vh-lp .vh-lp-section.vh-lp-hero-left > .vh-lp-hero-left__btn {
    position: absolute;
    z-index: 3;
    left: calc(var(--u) * var(--cx));
    top: calc(var(--u) * (var(--cy) - var(--oy)));
    width: calc(var(--u) * var(--cw));
    height: calc(var(--u) * var(--ch));
    min-height: 0;
    box-sizing: border-box;
    padding: calc(var(--u) * var(--cpt)) 0 0 calc(var(--u) * var(--cpl));
    border-radius: calc(var(--u) * var(--cr));
    font-size: calc(var(--u) * var(--cs));
    line-height: 1;
    white-space: nowrap;
    background: var(--vh-lp-orange);
    color: #fff;
  }

  /* Torn edge: the foundation snippet, placed on the Figma vector's own coordinates */
  .vh-lp .vh-lp-section.vh-lp-hero-left > .vh-lp-torn--bottom {
    left: calc(var(--u) * var(--tx));
    top: calc(var(--u) * (var(--ty) - var(--oy)));
    bottom: auto;
    width: calc(var(--u) * var(--tw));
    height: calc(var(--u) * var(--th));
    max-width: none;
    aspect-ratio: auto;
  }
  .vh-lp .vh-lp-section.vh-lp-hero-left > .vh-lp-hero-left__tear-fill {
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    bottom: 0;
    /* from the end of the tear vector or the photo's flat bottom, whichever is higher (LP1 desktop photo ends at 1365) */
    top: calc(var(--u) * (min(var(--ty) + var(--th), var(--py) + var(--ph)) - var(--oy)) - 1px);
    background: var(--hl-edge);
  }
  /* LP2-V2 mobile (452:2803): smaller pill, 129x23 at 135,227, r 11.5, label 121.5x9.94 (LP2 label x 0.8214) */
  .vh-lp .vh-lp-section.vh-lp-hero-left--btn-compact {
    --cx: 135; --cy: 227; --cw: 129; --ch: 23; --cr: 11.5; --cs: 9.618; --cpt: 2.12;
  }
  /* LP1 mobile tears into #FFFEF9, desktop into #F2EFE9 */
  @media screen and (max-width: 749px) {
    .vh-lp .vh-lp-section.vh-lp-hero-left--edge-m > .vh-lp-torn--bottom path { fill: var(--hl-edge-m); }
    .vh-lp .vh-lp-section.vh-lp-hero-left--edge-m > .vh-lp-hero-left__tear-fill { background: var(--hl-edge-m); }
  }

  @media screen and (min-width: 750px) {
    .vh-lp .vh-lp-section.vh-lp-hero-left {
      --u: calc(100cqw / 1920);
      /* LP1: the next section starts at frame y 1400; the photo's flat bottom at 1365 sits inside the tear */
      /* frame y 69 (under the 69px announcement bar) to 1400 */
      --oy: 69;
      aspect-ratio: 1920 / 1331;
      --px: 0; --py: 0; --pw: 1920; --ph: 1365;
      --rx: 121; --ry: 418; --cell: 37.7202;
      --rtx: 207.046; --rty: 1.531; --rts: 31.1191; --rtp: 40;
      --ax: 112; --at: 510.776; --as: 74.424; --ap: 78.41; --aw: 1000;
      --bx: 112; --bt: 596.1; --bs: 74.424; --bp: 78.41; --bw: 560;
      --ta: left;
      --im: 0.1252; --iy: -5.76;
      --ar: 2.396; --am: 0.0386; --ay: -7.909;
      --dx: 135; --dt: 717.1; --dw: 508.5; --ds: 37.4; --dp: 49;
      --cx: 111; --cy: 818; --cw: 432; --ch: 72.89; --cs: 30; --cpt: 6.09; --cpl: 0; --cr: 38.36;
      --tx: 0; --ty: 1253; --tw: 1920; --th: 160;
    }
    /* desktop H1 is 74.42px, initial 129.58px: 1.741em, not the base 1.857em */
    .vh-lp .vh-lp-section.vh-lp-hero-left .vh-lp-script--initial { font-size: 1.741em; }
    .vh-lp .vh-lp-section.vh-lp-hero-left--lp2 {
      aspect-ratio: 1920 / 1381; /* frame y 69 to 1450 */
      --ph: 1419;
      --rx: 135; --ry: 382;
      --ax: 126; --at: 463.1; --as: 78; --ap: 70;
      --bx: 126; --bt: 533.1; --bs: 78; --bp: 70; --bw: 717;
      --ar: 2; --am: 0; --ay: 1;
      --cx: 135; --cy: 923; --cw: 431.98; --cpl: 7;
      --ty: 1281; --th: 129.32; /* the LP2 tear vector is 1934 x 236, squeezed vertically from the 292 original */
    }
    .vh-lp .vh-lp-hero-left__img { object-position: 50% 0; }
  }
/* END_SECTION:vh-lp-hero-photo-left */

/* START_SECTION:vh-lp-howto-steps-image (INDEX:55) */
/* mobile first: u = 1px of the 402 frame. Layout is the Figma frame, positioned in u. */
.vh-lp .vh-lp-section.vh-lp-howto {
  --u: calc(100vw / 402);
  --hw-ink: #400b0e; /* number and caption fill in the LP2 frame SVG export (319:547 / 463:3910) */
  height: calc(var(--u) * var(--hw-hm, 890));
  padding: 0;
  overflow: visible;
  letter-spacing: -0.02em;
}
.vh-lp .vh-lp-section.vh-lp-howto > * { position: absolute; margin: 0; }

/* eyebrow: text box 151.5/13.7 99.8x16, rules 23.1 wide at y 22.8 */
.vh-lp .vh-lp-howto .vh-lp-eyebrow {
  display: block;
  left: calc(var(--u) * 151.5);
  top: calc(var(--u) * 13.7);
  width: calc(var(--u) * 99.8);
  height: calc(var(--u) * 16);
  font-size: calc(var(--u) * 12);
  line-height: calc(var(--u) * 16);
  text-align: center;
  white-space: nowrap;
}
/* the rule is Figma's tapered line vector (Line 51 / Line 56, 90.12 x 2; mobile 23.07 x 1), used as a mask so it takes the text colour */
.vh-lp .vh-lp-howto .vh-lp-eyebrow::before,
.vh-lp .vh-lp-howto .vh-lp-eyebrow::after {
  position: absolute;
  top: calc(var(--u) * 8.14);
  width: calc(var(--u) * 23.07);
  height: calc(var(--u) * 1);
  flex: none;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='91' height='2' viewBox='0 0 91 2'%3E%3Cpath d='M0 1C1.50203 1.06667 3.00406 1.13 4.50609 1.19C18.0244 1.73 31.5427 2 45.0609 2C58.5792 2 72.0975 1.73 85.6158 1.19C87.1178 1.13 88.6198 1.06667 90.1219 1C88.6198 0.933333 87.1178 0.87 85.6158 0.81C72.0975 0.27 58.5792 0 45.0609 0C31.5427 0 18.0244 0.27 4.50609 0.81C3.00406 0.87 1.50203 0.933333 0 1Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='91' height='2' viewBox='0 0 91 2'%3E%3Cpath d='M0 1C1.50203 1.06667 3.00406 1.13 4.50609 1.19C18.0244 1.73 31.5427 2 45.0609 2C58.5792 2 72.0975 1.73 85.6158 1.19C87.1178 1.13 88.6198 1.06667 90.1219 1C88.6198 0.933333 87.1178 0.87 85.6158 0.81C72.0975 0.27 58.5792 0 45.0609 0C31.5427 0 18.0244 0.27 4.50609 0.81C3.00406 0.87 1.50203 0.933333 0 1Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.vh-lp .vh-lp-howto .vh-lp-eyebrow::before { display: block; left: calc(var(--u) * -14.5); }
.vh-lp .vh-lp-howto .vh-lp-eyebrow::after { right: auto; left: calc(var(--u) * 89.5); }

/* heading: group 79/27 244.2x32; script initial 45px; text 24/25.44 starting at x 97.2 */
.vh-lp .vh-lp-howto .vh-lp-heading {
  left: calc(var(--u) * 79);
  top: calc(var(--u) * 27);
  width: calc(var(--u) * 244.2);
  height: calc(var(--u) * 32);
  box-sizing: border-box;
  padding-left: calc(var(--u) * 18.2);
  padding-top: calc(var(--u) * 12.1);
  font-size: calc(var(--u) * 24);
  line-height: calc(var(--u) * 25.44);
  text-align: center;
  white-space: nowrap;
}
.vh-lp .vh-lp-howto .vh-lp-heading .vh-lp-script--initial {
  position: absolute;
  left: 0;
  top: calc(var(--u) * 8);
  margin: 0;
  line-height: calc(var(--u) * 32);
}

/* steps: each child is placed by variables (x y w h in u) */
.vh-lp .vh-lp-howto__step { position: absolute; inset: 0; pointer-events: none; --nw: 26.9; }
.vh-lp .vh-lp-howto__step > * { position: absolute; margin: 0; }
.vh-lp .vh-lp-howto__num {
  left: calc(var(--u) * var(--nx));
  top: calc(var(--u) * var(--ny));
  width: calc(var(--u) * var(--nw));
  text-align: center;
  /* Shango Gothic Medium: the exported "(1)".."(4)" outlines match its glyphs at 37.5px desktop / 12.67px mobile */
  font-family: var(--vh-lp-display);
  font-weight: 500;
  font-size: calc(var(--u) * 12.67);
  line-height: calc(var(--u) * 10.38);
  letter-spacing: -0.02em;
  color: var(--hw-ink);
  white-space: nowrap;
}
.vh-lp .vh-lp-howto__art {
  left: calc(var(--u) * var(--ix));
  top: calc(var(--u) * var(--iy));
  width: calc(var(--u) * var(--iw));
  height: calc(var(--u) * var(--ih));
}
.vh-lp .vh-lp-howto__art img { display: block; width: 100%; height: 100%; object-fit: fill; }
.vh-lp .vh-lp-howto__caption {
  left: calc(var(--u) * var(--cx));
  top: calc(var(--u) * (var(--cy) - var(--cdy, 0)));
  width: calc(var(--u) * var(--cw));
  font-family: var(--font-kennerley-italic, 'LTC Kennerley Pro Italic'), Georgia, serif;
  font-style: normal;
  /* LTC Kennerley Pro Italic, 31.33px desktop / 10.58px mobile, from the exported glyph outlines */
  font-size: calc(var(--u) * 10.58);
  line-height: calc(var(--u) * 11);
  /* Figma -0.02em of the caption's own size (svg-frames: 31.326 / -0.02em); the section's inherited -0.02em is a length
     computed on the section font size, which drew the captions 2.4% narrow (r6 review F3) */
  letter-spacing: -0.02em;
  text-align: center;
  white-space: nowrap;
  color: var(--hw-ink);
}
.vh-lp .vh-lp-howto__step { --cdy: 1.4; }
.vh-lp .vh-lp-howto__step:nth-of-type(1) { --nx: 85;    --ny: 122.6; --ix: 103.6; --iy: 122.5; --iw: 80.2; --ih: 121.7; --cx: 107.6; --cy: 248.9; --cw: 77.5; }
.vh-lp .vh-lp-howto__step:nth-of-type(2) { --nx: 210.4; --ny: 118.2; --ix: 222.9; --iy: 79;    --iw: 93.5; --ih: 166.9; --cx: 229.3; --cy: 248.9; --cw: 74.5; }
.vh-lp .vh-lp-howto__step:nth-of-type(3) { --nx: 85;    --ny: 325;   --ix: 113.4; --iy: 272.6; --iw: 79.1; --ih: 168.7; --cx: 99.5;  --cy: 446.6; --cw: 93.8; }
.vh-lp .vh-lp-howto__step:nth-of-type(4) { --nx: 210.4; --ny: 324.6; --ix: 223.9; --iy: 309.4; --iw: 83.1; --ih: 131.6; --cx: 225.6; --cy: 444.9; --cw: 82.1; }

.vh-lp .vh-lp-howto__photo {
  left: calc(var(--u) * 70);
  top: calc(var(--u) * 502);
  width: calc(var(--u) * 262.8);
  height: calc(var(--u) * 396.6);
  box-sizing: border-box;
  border: calc(var(--u) * 1) solid var(--vh-lp-orange);
  border-radius: calc(var(--u) * 10);
  overflow: hidden;
  /* mobile: the photo ends 8px past the 890 crop line (Figma 2298 vs next section at 2290); stay above the next section's torn edge (z 2) */
  z-index: 3;
}
/* Figma's stroke is centred on the photo rect (2px desktop, 1px mobile), so the fill runs under the inner half of the
   border: the image box is the rect, half a border outside the padding box (svg-frames 319:547 potion3 1: 998/4598 731 x 1104) */
.vh-lp .vh-lp-howto__photo img,
.vh-lp .vh-lp-howto__photo video {
  display: block;
  position: absolute;
  max-width: none;
  left: calc(var(--u) * -0.5);
  top: calc(var(--u) * -0.5);
  width: calc(100% + var(--u) * 1);
  height: calc(100% + var(--u) * 1);
  object-fit: cover;
}

@media (min-width: 750px) {
  .vh-lp .vh-lp-section.vh-lp-howto { --u: calc(100vw / 1920); height: calc(var(--u) * var(--hw-hd, 1650)); }

  .vh-lp .vh-lp-howto .vh-lp-eyebrow {
    left: calc(var(--u) * 765);
    top: calc(var(--u) * 122);
    width: calc(var(--u) * 390);
    height: calc(var(--u) * 56);
    font-size: calc(var(--u) * 42.76);
    line-height: calc(var(--u) * 56);
  }
  .vh-lp .vh-lp-howto .vh-lp-eyebrow::before,
  .vh-lp .vh-lp-howto .vh-lp-eyebrow::after { top: calc(var(--u) * 26); width: calc(var(--u) * 90.12); height: calc(var(--u) * 2); }
  .vh-lp .vh-lp-howto .vh-lp-eyebrow::before { left: calc(var(--u) * -45); }
  .vh-lp .vh-lp-howto .vh-lp-eyebrow::after { left: calc(var(--u) * 334); }

  .vh-lp .vh-lp-howto .vh-lp-heading {
    left: calc(var(--u) * 536);
    top: calc(var(--u) * 178);
    width: calc(var(--u) * 849);
    height: calc(var(--u) * 112);
    padding-left: calc(var(--u) * 79);
    padding-top: calc(var(--u) * 41);
    font-size: calc(var(--u) * 85.36);
    line-height: calc(var(--u) * 89.93);
  }
  .vh-lp .vh-lp-howto .vh-lp-heading .vh-lp-script--initial { line-height: calc(var(--u) * 112); top: calc(var(--u) * 32); }

  .vh-lp .vh-lp-howto__step { --nw: 79.5; --cdy: 2.24; }
  .vh-lp .vh-lp-howto__num { font-size: calc(var(--u) * 37.5); line-height: calc(var(--u) * 29.5); }
  .vh-lp .vh-lp-howto__caption { font-size: calc(var(--u) * 31.33); line-height: calc(var(--u) * 31); }
  .vh-lp .vh-lp-howto__step:nth-of-type(1) { --nx: 181; --ny: 541;  --ix: 237; --iy: 540.7; --iw: 237.5; --ih: 360.1; --cx: 248; --cy: 915;  --cw: 229.5; }
  .vh-lp .vh-lp-howto__step:nth-of-type(2) { --nx: 552; --ny: 528;  --ix: 589; --iy: 412;   --iw: 276.8; --ih: 493.9; --cx: 608; --cy: 915;  --cw: 220.5; }
  .vh-lp .vh-lp-howto__step:nth-of-type(3) { --nx: 181; --ny: 1140; --ix: 265; --iy: 985;   --iw: 234;   --ih: 499.4; --cx: 224; --cy: 1500; --cw: 277.5; }
  .vh-lp .vh-lp-howto__step:nth-of-type(4) { --nx: 552; --ny: 1139; --ix: 592; --iy: 1094;  --iw: 245.8; --ih: 389.6; --cx: 597; --cy: 1495; --cw: 243; }

  .vh-lp .vh-lp-howto__photo {
    left: calc(var(--u) * 997);
    top: calc(var(--u) * 447);
    width: calc(var(--u) * 733);
    height: calc(var(--u) * 1106);
    border-width: calc(var(--u) * 2);
    border-radius: calc(var(--u) * 20);
  }
  .vh-lp .vh-lp-howto__photo img,
  .vh-lp .vh-lp-howto__photo video {
    left: calc(var(--u) * -1);
    top: calc(var(--u) * -1);
    width: calc(100% + var(--u) * 2);
    height: calc(100% + var(--u) * 2);
  }
}
/* END_SECTION:vh-lp-howto-steps-image */

/* START_SECTION:vh-lp-icon-features-row (INDEX:56) */
.vh-lp .vh-lp-section.vh-lp-features {
  --u: min(calc(100vw / 402), 1.6px);
  --vh-lp-icon-k: 0.2323;
  padding-block: calc(var(--vh-lp-feat-pt-m, 2) * var(--u)) calc(var(--vh-lp-feat-pb-m, 16) * var(--u));
  padding-inline: 0;
  letter-spacing: -0.02em;
}
.vh-lp .vh-lp-features.vh-lp-scheme--cream,
.vh-lp .vh-lp-features.vh-lp-scheme--beige { --vh-lp-fg: var(--vh-lp-maroon); }
.vh-lp-features__grid {
  display: grid;
  grid-template-columns: calc(136 * var(--u)) calc(124 * var(--u));
  column-gap: calc(30 * var(--u));
  row-gap: calc(21.8 * var(--u));
  justify-content: center;
  align-items: start;
}
.vh-lp-features__item { display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 0; }
.vh-lp-features__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: calc(29.74 * var(--u));
}
.vh-lp-features__img {
  display: block;
  width: calc(var(--vh-lp-icon-w, 120) * var(--vh-lp-icon-k) * var(--u));
  height: auto;
}
.vh-lp-features__title, .vh-lp-features__text { margin: 0; }
.vh-lp-features__title {
  margin-top: calc(13 * var(--u));
  font-size: calc(9.3 * var(--u));
  line-height: calc(9.3 * var(--u));
  font-family: var(--vh-lp-text-bold);
  font-weight: 700;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  white-space: nowrap;
}
.vh-lp-features__text {
  margin-top: calc(8 * var(--u));
  font-size: calc(13.8 * var(--u));
  line-height: calc(14 * var(--u));
  letter-spacing: 0; /* Figma text tracking for these lines is 0 (measured), and the s_t ligature stays on */
}
.vh-lp-features__item:nth-child(1) .vh-lp-features__text { width: calc(135.7 * var(--u)); letter-spacing: -0.02em; font-feature-settings: 'liga' 1; /* Figma tracks only this description at -2%; Chrome drops ligatures with tracking, so force liga back on */ }
.vh-lp-features__item:nth-child(2) .vh-lp-features__text { width: calc(114.1 * var(--u)); }
.vh-lp-features__item:nth-child(3) .vh-lp-features__text { width: calc(125 * var(--u)); }
.vh-lp-features__item:nth-child(4) .vh-lp-features__text { width: calc(118.3 * var(--u)); }
@media (min-width: 990px) {
  .vh-lp .vh-lp-section.vh-lp-features {
    --u: clamp(0.6px, calc(100vw / 1920), 1px);
    --vh-lp-icon-k: 0.5;
    padding-block: calc(var(--vh-lp-feat-pt, 93) * var(--u)) calc(var(--vh-lp-feat-pb, 26) * var(--u));
  }
  .vh-lp-features__grid {
    display: flex;
    justify-content: center;
    column-gap: calc(115 * var(--u));
    row-gap: 0;
  }
  .vh-lp-features__item { flex: none; }
  .vh-lp-features__item:nth-child(1) { width: calc(292 * var(--u)); }
  .vh-lp-features__item:nth-child(2) { width: calc(380 * var(--u)); }
  .vh-lp-features__item:nth-child(3) { width: calc(277 * var(--u)); }
  .vh-lp-features__item:nth-child(4) { width: calc(315 * var(--u)); }
  .vh-lp-features__icon { height: calc(64 * var(--u)); }
  .vh-lp-features__title { margin-top: calc(26.5 * var(--u)); font-size: calc(20 * var(--u)); line-height: calc(20 * var(--u)); }
  .vh-lp-features__text { margin-top: calc(19.5 * var(--u)); font-size: calc(30 * var(--u)); line-height: calc(30 * var(--u)); }
  .vh-lp-features__item:nth-child(n) .vh-lp-features__text { width: 100%; }
  /* the Figma box is 380 wide but its text breaks after "favorite" (the next word would make a 374px line) */
  .vh-lp-features__item:nth-child(2) .vh-lp-features__text { width: calc(360 * var(--u)); }
}
/* END_SECTION:vh-lp-icon-features-row */

/* START_SECTION:vh-lp-make-it-yours-arch (INDEX:57) */
/*
  Lengths are Figma px times --u (1/402 of the viewport below 750px, 1/1920 from 750px up).
  Values come from Figma's SVG export of the LP2 frames (svg-frames/LP2-desktop-319-547.svg,
  LP2-mobile-463-3910.svg): outlined glyph boxes measured against the theme's own font files.
  Section top = top of the tear (desktop frame y 11078, mobile frame y 4499).
*/
.vh-lp .vh-lp-section.vh-miy {
  --u: calc(100vw / 402);
  --miy-dx: 0;
  --miy-dy: var(--miy-dym, 0);
  height: calc(var(--u) * var(--miy-hm, 561));
  padding: 0;
  overflow: clip;
  font-size: calc(var(--u) * 12);
}
.vh-lp .vh-lp-section.vh-miy > *:not(.vh-lp-torn) { position: absolute; }
.vh-lp .vh-lp-section.vh-miy > .vh-miy__glows { z-index: 0; }
/* per-template content offset (Figma's V2 frame sits its content 17 lower and 7 right of LP2's); the tears stay put */
.vh-lp .vh-lp-section.vh-miy > :is(.vh-miy__heading, .vh-miy__body, .vh-miy__btn, .vh-miy__arch, .vh-miy__glows) {
  translate: calc(var(--u) * var(--miy-dx)) calc(var(--u) * var(--miy-dy));
}
.vh-lp .vh-lp-section.vh-miy > .vh-miy__arch { z-index: 1; }

.vh-lp .vh-miy__glows { display: none; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; }

/* Heading: Shango 500, typed casing, no transform. Mobile 24/25.44, desktop 101.3/102 (glyph boxes). */
.vh-lp .vh-miy__heading {
  left: calc(var(--u) * 101);
  top: calc(var(--u) * 55.1);
  width: calc(var(--u) * 199.5);
  margin: 0;
  text-align: center;
  font-family: var(--vh-lp-display);
  font-weight: 500;
  font-size: calc(var(--u) * 24);
  line-height: calc(var(--u) * 25.44);
  letter-spacing: -0.02em;
  text-transform: none;
  color: var(--vh-lp-fg);
}
.vh-lp .vh-miy__line { display: block; white-space: nowrap; }
/* Script initial size comes from vh-lp-base (1.875em / 1.857em). Figma sets M flush against A and keeps
   it off the line box, so margin and line-height differ from the base. */
.vh-lp .vh-miy__initial { line-height: 0; margin-right: 0; }

.vh-lp .vh-miy__body {
  left: calc(var(--u) * 123);
  top: calc(var(--u) * 117.2);
  width: calc(var(--u) * 157);
  margin: 0;
  text-align: center;
  font-size: calc(var(--u) * 12);
  line-height: calc(var(--u) * 16);
  letter-spacing: -0.02em;
  /* Figma keeps Kennerley's s_t and fi ligatures (liga); Chrome drops them under letter-spacing unless forced. */
  font-feature-settings: "liga" 1;
  color: var(--vh-lp-fg);
}
/* Figma body fill on the dark band is #FFFFFF (319:712, 463:4085), not the cream heading colour. */
.vh-lp .vh-miy.vh-lp-scheme--dark .vh-miy__body { color: #fff; }

.vh-lp .vh-miy__btn {
  left: calc(var(--u) * 148);
  top: calc(var(--u) * 183);
  width: calc(var(--u) * 106);
  height: calc(var(--u) * 23);
  min-height: 0;
  padding: 0;
  font-size: calc(var(--u) * 9.62);
  line-height: 1;
  border-radius: calc(var(--u) * 11.5);
  box-shadow: none;
  /* r7 per-line sweep, 402: the label (Hero Title 463:4088 / 463:3798 / 505:7458) sat 2.55 high on LP2 and LP2-V2 and
     1.56 on LP2-V3 when flex-centred; 4 of top padding moves the centre 2 down (the desktop pill has the same 6/72.89). */
  padding-top: calc(var(--u) * 4);
}

/* Arch: Figma rect 704,147 522x890 rx 261 (desktop) and 108.92,221.09 187.59x319.84 (mobile),
   cream stroke centred on the edge (2px desktop, 0.72px mobile). */
.vh-lp .vh-miy__arch {
  left: calc(var(--u) * 108.92);
  top: calc(var(--u) * 221.09);
  width: calc(var(--u) * 187.59);
  height: calc(var(--u) * 319.84);
  border-radius: 9999px;
  --vh-miy-stroke: calc(var(--u) * 0.36);
}
.vh-lp .vh-miy__arch::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  box-shadow: 0 0 0 var(--vh-miy-stroke) var(--vh-lp-cream), inset 0 0 0 var(--vh-miy-stroke) var(--vh-lp-cream);
  pointer-events: none;
}
.vh-lp .vh-miy__slide {
  position: absolute;
  inset: 0;
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 9999px;
  overflow: hidden;
  background: transparent;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, visibility 0.35s;
  cursor: pointer;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.vh-lp .vh-miy__slide.is-active { opacity: 1; visibility: visible; }
.vh-lp .vh-miy__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vh-lp .vh-miy__slide:focus-visible { outline: 2px solid var(--vh-lp-accent); outline-offset: 4px; }

.vh-lp .vh-miy__dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(var(--u) * -18);
  display: flex;
  justify-content: center;
  gap: calc(var(--u) * 8);
}
.vh-lp .vh-miy__dot {
  width: calc(var(--u) * 7);
  height: calc(var(--u) * 7);
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--vh-lp-fg);
  opacity: 0.35;
  cursor: pointer;
}
.vh-lp .vh-miy__dot.is-active { opacity: 1; background: var(--vh-lp-orange); }

@media (min-width: 750px) {
  .vh-lp .vh-lp-section.vh-miy {
    --u: calc(100vw / 1920);
    height: calc(var(--u) * var(--miy-hd, 1102));
    --miy-dx: var(--miy-dxd, 0);
    --miy-dy: var(--miy-dyd, 0);
    font-size: calc(var(--u) * 42.76);
  }
  .vh-lp .vh-miy__glows { display: block; height: calc(var(--u) * 1220); }
  /* Let the lower glow paint past the section bottom and over the footer's dark tear; x stays clipped. The theme's
     styles.css gives every footer element z-index 3, so this section sits at 4. */
  .vh-lp .vh-lp-section.vh-miy { overflow-x: clip; overflow-y: visible; z-index: 4; }

  .vh-lp .vh-miy__heading {
    left: calc(var(--u) * 38);
    top: calc(var(--u) * 485.3);
    width: calc(var(--u) * 660);
    font-size: calc(var(--u) * 101.3);
    line-height: calc(var(--u) * 102);
  }
  /* Desktop Figma places line one (nodes 319:750 and 319:748) 6.9px left of the centred position. */
  .vh-lp .vh-miy__line:first-child { transform: translateX(calc(var(--u) * -6.9)); }

  .vh-lp .vh-miy__body {
    left: calc(var(--u) * 1325);
    top: calc(var(--u) * 415);
    width: calc(var(--u) * 425);
    font-size: calc(var(--u) * 42.76);
    line-height: calc(var(--u) * 56);
  }
  .vh-lp .vh-miy__btn {
    left: calc(var(--u) * 1322);
    top: calc(var(--u) * 669);
    width: calc(var(--u) * 432);
    height: calc(var(--u) * 72.89);
    font-size: calc(var(--u) * 30);
    border-radius: calc(var(--u) * 36.45);
    /* r6 sweep: the 432 x 72.89 pill's label (Hero Title node, 17 below the pill top, 31 tall) rendered 3 high when
       flex-centred on Shango Gothic's line box, on every LP2-family page; 6 of top padding moves the centre 3 down. */
    padding-top: calc(var(--u) * 6);
  }
  .vh-lp .vh-miy__arch {
    left: calc(var(--u) * 704);
    top: calc(var(--u) * 147);
    width: calc(var(--u) * 522);
    height: calc(var(--u) * 890);
    --vh-miy-stroke: calc(var(--u) * 1);
  }
  .vh-lp .vh-miy__dots { bottom: calc(var(--u) * -40); gap: calc(var(--u) * 16); }
  .vh-lp .vh-miy__dot { width: calc(var(--u) * 16); height: calc(var(--u) * 16); }
}

@media (prefers-reduced-motion: reduce) {
  .vh-lp .vh-miy__slide { transition: none; }
}
/* END_SECTION:vh-lp-make-it-yours-arch */

/* START_SECTION:vh-lp-oval-claims-dotted (INDEX:58) */
/* Sizes: Figma text-node heights are cap heights (leading trim), so size = height / cap-height ratio
   (Shango Gothic 0.700, Mrs Saint Delafield 0.708, Kennerley Pro 0.679; from the font files).
   Desktop 319:295: heading 70 -> 100px, initial 132 -> 186.4px, claims 41 -> 60px, footnote 42.76px (panel).
   Mobile 452:1458: heading 17 -> 24px, initial 32 -> 45px, claims 10 -> 14px, footnote 16 / 1.3 -> 12px.
   Units are cqw of the band, so everything tracks the band width exactly. */
.vh-lp .vh-lp-section.vh-lp-ovc {
  padding: 0;
  aspect-ratio: 402 / 228;
  background: var(--vh-lp-bg);
  container-type: inline-size;
  /* The dashed ellipse runs past the band bottom over the next section, as in Figma (319:546 ends at y 860 of 820). */
  overflow: visible;
  overflow-x: clip;
  z-index: 2;
  --ovc-fs: 3.483cqw; /* claims 14px at 402 */
  --ovc-note: 2.985cqw; /* footnote 12px at 402 (node 16 high at 130%) */
  --ovc-head: 5.97cqw; /* heading 24px at 402 */
}
.vh-lp .vh-lp-section.vh-lp-ovc > * { position: absolute; z-index: 1; }
/* Mobile frame 452:1458: the text group is centred at x=192.5 of 402, 8.5px left of the band centre. */
.vh-lp .vh-lp-section.vh-lp-ovc > .vh-lp-ovc__head,
.vh-lp .vh-lp-section.vh-lp-ovc > .vh-lp-ovc__claims,
.vh-lp .vh-lp-section.vh-lp-ovc > .vh-lp-ovc__note { translate: -2.114cqw 0; }
/* Mobile: the image keeps fading for 16px past the band bottom in Figma (over the next section's top), so the image box
   runs 20px (4.975cqw) below the band and its mask reaches 0 at 244 of 248. */
.vh-lp .vh-lp-section.vh-lp-ovc > .vh-lp-ovc__bg { inset: 0 0 -4.975cqw 0; z-index: 0; overflow: hidden; }
/* Image 452:2452 / 452:2576 ('Untitled design 2') is 554.74 x 412.94 at x -72.85, 67.89 above the band. The Shopify file
   (3840 x 2982) is the desktop node 319:296 clipped to the 1920 frame, i.e. node x 36-1956 of 2003, so on mobile it sits
   1:1 at x -72.85 + 554.74 * 36 / 2003 = -62.88, 554.74 * 1920 / 2003 = 531.75 wide, 412.94 tall (a cover fit to the
   node box scaled it 4.3%). Units are cqw of the 402 band. */
.vh-lp .vh-lp-ovc__img {
  position: absolute;
  left: -15.642cqw;
  top: -16.888cqw;
  width: 132.276cqw;
  height: 102.721cqw;
  max-width: none;
  object-fit: fill;
  opacity: 0.62;
}
/* Fade, mobile 452:1458: no top overlay layer in this frame; the image (62%) fades top and bottom and a little
   at the sides (Hero Background 452:2455 left, 452:2453 right). Profile measured from the mobile crop against the
   asset (alpha per row/column). */
.vh-lp .vh-lp-section.vh-lp-ovc > .vh-lp-ovc__bg {
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.16) 0.00%, rgba(0,0,0,0.35) 6.44%, rgba(0,0,0,0.55) 12.87%, rgba(0,0,0,0.73) 19.40%, rgba(0,0,0,0.87) 25.83%, rgba(0,0,0,0.94) 32.27%, rgba(0,0,0,0.98) 38.70%, #000 45.14%, rgba(0,0,0,0.90) 51.58%, rgba(0,0,0,0.79) 58.10%, rgba(0,0,0,0.65) 64.54%, rgba(0,0,0,0.52) 70.97%, rgba(0,0,0,0.39) 77.41%, rgba(0,0,0,0.26) 83.85%, rgba(0,0,0,0.13) 90.28%, rgba(0,0,0,0.13) 91.94%, rgba(0,0,0,0) 98.39%), linear-gradient(to right, rgba(0,0,0,.88) 0, rgba(0,0,0,.97) 5%, #000 10%, #000 88%, rgba(0,0,0,.85) 94.5%, rgba(0,0,0,.75) 100%);
  mask-image: linear-gradient(to bottom, rgba(0,0,0,0.16) 0.00%, rgba(0,0,0,0.35) 6.44%, rgba(0,0,0,0.55) 12.87%, rgba(0,0,0,0.73) 19.40%, rgba(0,0,0,0.87) 25.83%, rgba(0,0,0,0.94) 32.27%, rgba(0,0,0,0.98) 38.70%, #000 45.14%, rgba(0,0,0,0.90) 51.58%, rgba(0,0,0,0.79) 58.10%, rgba(0,0,0,0.65) 64.54%, rgba(0,0,0,0.52) 70.97%, rgba(0,0,0,0.39) 77.41%, rgba(0,0,0,0.26) 83.85%, rgba(0,0,0,0.13) 90.28%, rgba(0,0,0,0.13) 91.94%, rgba(0,0,0,0) 98.39%), linear-gradient(to right, rgba(0,0,0,.88) 0, rgba(0,0,0,.97) 5%, #000 10%, #000 88%, rgba(0,0,0,.85) 94.5%, rgba(0,0,0,.75) 100%);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}
/* Ellipse 452:2461: x -118, y -7.8, 620.4 x 218 of 402 x 228. */
.vh-lp .vh-lp-section.vh-lp-ovc > .vh-lp-ovc__oval {
  left: -29.353%;
  top: -3.421%;
  width: 154.33%;
  height: 95.61%;
  fill: none;
  overflow: visible;
  pointer-events: none;
  max-width: none;
}
.vh-lp .vh-lp-ovc__oval ellipse {
  fill: none;
  stroke: var(--vh-lp-cream);
  stroke-width: 1px;
  stroke-dasharray: 1.38 1.38;
  vector-effect: non-scaling-stroke;
}
.vh-lp .vh-lp-section.vh-lp-ovc > .vh-lp-ovc__head {
  left: 0;
  right: 0;
  top: 24.64%; /* 56.2px */
  display: flex;
  justify-content: center;
  text-align: center;
}
.vh-lp .vh-lp-ovc__head .vh-lp-heading {
  max-width: 57.5cqw;
  font-size: var(--ovc-head);
  line-height: 1.07; /* Figma line pitch 25.7 (58.7 -> 84.4) */
  color: var(--vh-lp-cream);
  text-wrap: balance;
}
/* Initial: 45px, ink placed per the crop (Figma places the initial and the line as separate nodes). */
.vh-lp .vh-lp-ovc__head .vh-lp-script--initial { font-size: 1.875em; line-height: 0.5; margin-left: -0.11em; margin-right: 0.09em; }
.vh-lp .vh-lp-section.vh-lp-ovc > .vh-lp-ovc__claims {
  left: 0;
  right: 0;
  top: 52.32%; /* 119.3px */
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  font-size: var(--ovc-fs);
  line-height: 1;
  white-space: nowrap;
  color: var(--vh-lp-cream);
  font-family: var(--vh-lp-text);
  letter-spacing: -0.03em; /* claims ls not read; -3% matches the crop word widths at both sizes, -2% runs 2-4% wide */
}
/* Each star sits in the space before its claim. Figma spaces the claims with runs of spaces (ink gaps of
   1.98, 1.78 and 1.55 em at both sizes; 1.95, 1.75 and 1.5 em between boxes), so the gap is a per-claim setting.
   The star is centred on the cap height: in a 1em Kennerley line the cap centre is 0.107em above the line centre.
   Figma placed the stars by hand, so each has a horizontal nudge setting. */
.vh-lp .vh-lp-ovc__star {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--ovc-gap, 1.8em);
  height: 1em;
  flex: none;
  translate: var(--ovc-star-x, 0) -0.107em;
}
.vh-lp .vh-lp-ovc__star svg { display: block; width: 3.035cqw; height: 3.035cqw; flex: none; } /* 12.2px at 402 */
.vh-lp .vh-lp-section.vh-lp-ovc > .vh-lp-ovc__note {
  left: 0;
  right: 0;
  top: 63.1%;
  margin: 0 auto;
  max-width: 60.5%;
  text-align: center;
  font-size: var(--ovc-note);
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: #fff;
  font-family: var(--vh-lp-text);
}

/* Desktop: geometry in px at 1920 (1cqw = 19.2px), from 319:295. Band height and the two vertical offsets
   are settings, so the LP3-V2 frame 352:37 (band 834, artwork +35, text +11) uses the same section. */
@media (min-width: 750px) {
  .vh-lp .vh-lp-section.vh-lp-ovc {
    aspect-ratio: 1920 / var(--ovc-h, 820);
    --u: calc(100cqw / 1920);
    --ovc-fs: 3.125cqw; /* claims 60px */
    --ovc-note: 2.227cqw; /* footnote 42.76px */
    --ovc-head: 5.2266cqw; /* heading 100.35px (70 / 0.7 = 100 +/- 0.7; width matches the crop) */
  }
  /* Image 319:296 is 2003 x 1491 at x -36, but its Shopify file (3840 x 2982) is the export clipped to the frame:
     frame x 0-1920 at 2x. It sits 1:1 at x 0, 1920 wide; a cover fit to the 2003 node box scaled it 4.3% and moved
     the texture up to 30px at the band edges. */
  .vh-lp .vh-lp-ovc__img {
    left: 0;
    top: calc(-144 * var(--u));
    width: calc(1920 * var(--u));
    height: calc(1491 * var(--u));
  }
  /* The image box starts at the artwork offset and is clipped at the band bottom (LP3-V2 shows a hard edge there). */
  .vh-lp .vh-lp-section.vh-lp-ovc > .vh-lp-ovc__bg { top: calc(var(--ovc-art, 0) * var(--u)); bottom: 0; }
  /* Ellipse 319:546: x -160, y 73, 2240 x 787. */
  .vh-lp .vh-lp-section.vh-lp-ovc > .vh-lp-ovc__oval {
    left: calc(-160 * var(--u));
    top: calc((73 + var(--ovc-art, 0)) * var(--u));
    width: calc(2240 * var(--u));
    height: calc(787 * var(--u));
  }
  /* Figma: 2px stroke, dash 5 / gap 5 (Max, 2026-10-06). One user unit is one Figma px at 1920, so the values are literal;
     the phase (offset 3) keeps the first dash where the exports show it. Mobile scales the same 5 / 5 by 620.4 / 2240. */
  .vh-lp .vh-lp-ovc__oval ellipse { stroke-width: 2px; stroke-dasharray: 5 5; stroke-dashoffset: 3; }
  /* Fade, desktop: the Figma image sits at ~62% over the dark page (no overlay layer covers the band centre in the
   319:295 stack, so the dimming is on the image layer) and the Hero Background gradient layers 319:302 (top),
   319:305 (left) and 319:303 (right) darken the edges. Profile measured from the design crop, as two masks. */
  .vh-lp .vh-lp-section.vh-lp-ovc > .vh-lp-ovc__bg {
    -webkit-mask-image:
      linear-gradient(to bottom, rgba(0,0,0,0) 3.6%, rgba(0,0,0,.13) 12.2%, rgba(0,0,0,.35) 20.7%, rgba(0,0,0,.6) 29.2%, rgba(0,0,0,.8) 37.8%, rgba(0,0,0,.9) 46.3%, rgba(0,0,0,.97) 54.8%, #000 63.3%, rgba(0,0,0,.87) 71.9%, rgba(0,0,0,.73) 80.4%, rgba(0,0,0,.55) 88.9%, rgba(0,0,0,.4) 97.4%),
      linear-gradient(to right, rgba(0,0,0,.45) 0, rgba(0,0,0,.52) 3.1%, rgba(0,0,0,.81) 11.5%, rgba(0,0,0,.97) 19.8%, #000 28%, #000 78%, rgba(0,0,0,.75) 86.5%, rgba(0,0,0,.48) 94.8%, rgba(0,0,0,.42) 100%);
    mask-image:
      linear-gradient(to bottom, rgba(0,0,0,0) 3.6%, rgba(0,0,0,.13) 12.2%, rgba(0,0,0,.35) 20.7%, rgba(0,0,0,.6) 29.2%, rgba(0,0,0,.8) 37.8%, rgba(0,0,0,.9) 46.3%, rgba(0,0,0,.97) 54.8%, #000 63.3%, rgba(0,0,0,.87) 71.9%, rgba(0,0,0,.73) 80.4%, rgba(0,0,0,.55) 88.9%, rgba(0,0,0,.4) 97.4%),
      linear-gradient(to right, rgba(0,0,0,.45) 0, rgba(0,0,0,.52) 3.1%, rgba(0,0,0,.81) 11.5%, rgba(0,0,0,.97) 19.8%, #000 28%, #000 78%, rgba(0,0,0,.75) 86.5%, rgba(0,0,0,.48) 94.8%, rgba(0,0,0,.42) 100%);
    -webkit-mask-composite: source-in;
    mask-composite: intersect;
  }
  /* Fade tail (LP3): Figma's image 319:296 (1491 tall) keeps going past the band over the next section and fades to the
     page colour about 140px below (measured on the export: deviation from #1A1201 43 at the band bottom, 0 at +140). The
     same image continues here: its top sits 144 above the band top, so the tail starts 964 down the image. */
  .vh-lp .vh-lp-section.vh-lp-ovc > .vh-lp-ovc__tail {
    left: 0; right: 0; top: 100%; z-index: 0; height: calc(140 * var(--u)); pointer-events: none;
    background-repeat: no-repeat;
    background-size: calc(1920 * var(--u)) calc(1491 * var(--u));
    background-position: 0 calc(-964 * var(--u));
    opacity: 0.62;
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.4), rgba(0,0,0,0)), linear-gradient(to right, rgba(0,0,0,.45) 0, rgba(0,0,0,.52) 3.1%, rgba(0,0,0,.81) 11.5%, rgba(0,0,0,.97) 19.8%, #000 28%, #000 78%, rgba(0,0,0,.75) 86.5%, rgba(0,0,0,.48) 94.8%, rgba(0,0,0,.42) 100%);
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.4), rgba(0,0,0,0)), linear-gradient(to right, rgba(0,0,0,.45) 0, rgba(0,0,0,.52) 3.1%, rgba(0,0,0,.81) 11.5%, rgba(0,0,0,.97) 19.8%, #000 28%, #000 78%, rgba(0,0,0,.75) 86.5%, rgba(0,0,0,.48) 94.8%, rgba(0,0,0,.42) 100%);
    -webkit-mask-composite: source-in;
    mask-composite: intersect;
  }
  .vh-lp .vh-lp-section.vh-lp-ovc > .vh-lp-ovc__head,
  .vh-lp .vh-lp-section.vh-lp-ovc > .vh-lp-ovc__claims,
  .vh-lp .vh-lp-section.vh-lp-ovc > .vh-lp-ovc__note { translate: none; }
  .vh-lp .vh-lp-section.vh-lp-ovc > .vh-lp-ovc__head { top: calc((280 + var(--ovc-txt, 0)) * var(--u)); }
  .vh-lp .vh-lp-ovc__head .vh-lp-heading { max-width: 48.67cqw; line-height: 1.04; }
  /* r6 sweep: Group 1410111797 (the script A, 319:369 / 406:635) measured 1.22 right and 3.93 low and 'CLEANER' (319:368)
     2.51 left on both LP3 and LP3-V2. The line is centred, so with a = 1.29px more before the initial and b = 3.73px
     more after it, the initial moves (a - b) / 2 = -1.22 and the text (a + b) / 2 = +2.51; the initial also moves up 3.93. */
  .vh-lp .vh-lp-ovc__head .vh-lp-script--initial { font-size: 1.864em; margin-left: -0.0591em; margin-right: 0.058em; position: relative; top: calc(-3.93 * var(--u)); }
  /* Claims: Figma text 319:542 is centred at x 957.5, 2.5px left of the band centre. */
  /* The claims row has its own offset (LP3-V2 Group 1410111805 is 9.27 below LP3's against the band; its heading 13). */
  .vh-lp .vh-lp-section.vh-lp-ovc > .vh-lp-ovc__claims { top: calc((537.7 + var(--ovc-clm, var(--ovc-txt, 0))) * var(--u)); translate: calc(-2.5 * var(--u)) 0; }
  .vh-lp .vh-lp-ovc__star svg { width: calc(49.27 * var(--u)); height: calc(49.27 * var(--u)); }
  .vh-lp .vh-lp-section.vh-lp-ovc > .vh-lp-ovc__note { top: calc((628 + var(--ovc-art, 0)) * var(--u)); max-width: 45cqw; }
}
/* END_SECTION:vh-lp-oval-claims-dotted */

/* START_SECTION:vh-lp-oval-image-banner (INDEX:59) */
/* --u is the width of one Figma px. Mobile first: 402px frame. */
.vh-lp .vh-lp-section.vh-lp-oval {
  --u: calc(100vw / 402);
  --ov-W: 496.6;
  --ov-H: 156.3;
  --ov-T0: 9; /* design ellipse top: content and sparkles follow the ellipse when the top space changes */
  --ov-T: var(--ov-T-m, 9);
  --ov-B: var(--ov-B-m, -15.3);
  --ov-fs: 9.905; /* heading is 2em = 19.81px */
  --ov-content-top: 58.2; /* line box top, Figma title top 61.7 */
  --ov-content-w: 268.9;
  --vh-lp-oval-text: #f2efe9;
  position: relative;
  padding: 0;
  height: calc((var(--ov-T) + var(--ov-H) + var(--ov-B)) * var(--u));
  background: var(--vh-lp-oval-mobile-bg, var(--vh-lp-bg));
  font-size: calc(var(--ov-fs) * var(--u));
  line-height: 1.3;
  color: var(--vh-lp-oval-text);
  overflow: hidden;
}
.vh-lp .vh-lp-section.vh-lp-oval > .vh-lp-oval__ellipse {
  position: absolute;
  top: calc(var(--ov-T) * var(--u));
  left: 50%;
  width: calc(var(--ov-W) * var(--u));
  height: calc(var(--ov-H) * var(--u));
  margin-left: calc(var(--ov-W) * var(--u) / -2);
  border-radius: 50%;
  overflow: hidden;
  z-index: 1;
  cursor: default;
}
.vh-lp .vh-lp-oval__ellipse[role='button'] { cursor: pointer; }
.vh-lp .vh-lp-oval__ellipse:focus-visible { outline: 2px solid var(--vh-lp-oval-text); outline-offset: -4px; }
.vh-lp .vh-lp-oval__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.6s ease;
}
.vh-lp .vh-lp-oval__slide.is-active { opacity: 1; }
.vh-lp .vh-lp-oval__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.vh-lp .vh-lp-oval__placeholder { background: rgba(255, 255, 255, 0.12); }
.vh-lp .vh-lp-oval__content {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: calc((var(--ov-content-top) - var(--ov-T0)) * var(--u));
  width: calc(var(--ov-content-w) * var(--u));
  transform: translateX(-50%);
  text-align: center;
  pointer-events: none;
}
.vh-lp .vh-lp-oval .vh-lp-heading {
  font-size: 2em;
  line-height: 1.0535; /* 20.87 / 19.81 */
  color: var(--vh-lp-oval-text);
}
.vh-lp .vh-lp-oval .vh-lp-script { font-size: var(--ov-script, 1.857em); line-height: 0.5; color: inherit; letter-spacing: -0.02em; } /* Figma: -2% of the script's own size; an inherited em value would be 2% of the heading size */
.vh-lp .vh-lp-oval .vh-lp-script:not(.vh-lp-script--initial) { margin-right: 0.1527em; } /* Figma 319:641: 'without' starts 725.38 after the script run (the space is set at the script size) */
.vh-lp .vh-lp-oval .vh-lp-script--initial { font-size: 1.857em; line-height: 0.6; margin-right: 0.3343em; position: relative; top: 0.15em; } /* Figma LP1: 'I' at 609, 'ntentionally' at 712.42 */
.vh-lp .vh-lp-oval .vh-lp-eyebrow {
  gap: 0.6em; /* Figma: rule end 839.12 to text 864.79 */
  margin: 0;
  line-height: 1.3;
  color: var(--vh-lp-oval-text);
}
.vh-lp .vh-lp-oval .vh-lp-eyebrow::before,
.vh-lp .vh-lp-oval .vh-lp-eyebrow::after {
  flex: 0 0 2.1076em; /* Figma Line 63/64: 90.12 at 42.76 */
  height: 0.0468em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='749 6319 90.122 2' preserveAspectRatio='none'%3E%3Cpath d='M749 6320C750.502 6320.07 752.004 6320.13 753.506 6320.19C767.024 6320.73 780.543 6321 794.061 6321C807.579 6321 821.097 6320.73 834.616 6320.19C836.118 6320.13 837.62 6320.07 839.122 6320C837.62 6319.93 836.118 6319.87 834.616 6319.81C821.097 6319.27 807.579 6319 794.061 6319C780.543 6319 767.024 6319.27 753.506 6319.81C752.004 6319.87 750.502 6319.93 749 6320Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='749 6319 90.122 2' preserveAspectRatio='none'%3E%3Cpath d='M749 6320C750.502 6320.07 752.004 6320.13 753.506 6320.19C767.024 6320.73 780.543 6321 794.061 6321C807.579 6321 821.097 6320.73 834.616 6320.19C836.118 6320.13 837.62 6320.07 839.122 6320C837.62 6319.93 836.118 6319.87 834.616 6319.81C821.097 6319.27 807.579 6319 794.061 6319C780.543 6319 767.024 6319.27 753.506 6319.81C752.004 6319.87 750.502 6319.93 749 6320Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.vh-lp .vh-lp-oval__body {
  margin: 0 auto;
  color: var(--vh-lp-oval-text);
}
.vh-lp .vh-lp-oval__body p { margin: 0; }
.vh-lp .vh-lp-oval__body strong,
.vh-lp .vh-lp-oval__body b { font-family: var(--font-kennerley-bold, 'LTC Kennerley Pro Bold'), Georgia, serif; font-weight: 700; }
.vh-lp .vh-lp-oval__body em,
.vh-lp .vh-lp-oval__body i { font-family: var(--font-kennerley-italic, 'LTC Kennerley Pro Italic'), Georgia, serif; font-style: normal; }

/* Sparkles: Figma vectors, positions relative to the section */
.vh-lp .vh-lp-section.vh-lp-oval > .vh-lp-oval__spark {
  position: absolute;
  z-index: 2;
  display: block;
  fill: var(--vh-lp-oval-text);
  pointer-events: none;
  transform: translateY(calc((var(--ov-T) - var(--ov-T0)) * var(--u)));
}
.vh-lp .vh-lp-section.vh-lp-oval > .vh-lp-oval__spark--1 { left: calc(50.1 * var(--u)); top: calc(58.7 * var(--u)); width: calc(9 * var(--u)); height: calc(9 * var(--u)); }
.vh-lp .vh-lp-section.vh-lp-oval > .vh-lp-oval__spark--2 { left: calc(340.5 * var(--u)); top: calc(113.2 * var(--u)); width: calc(4 * var(--u)); height: calc(4 * var(--u)); }
.vh-lp .vh-lp-section.vh-lp-oval > .vh-lp-oval__spark--3 { left: calc(331.5 * var(--u)); top: calc(118.9 * var(--u)); width: calc(9 * var(--u)); height: calc(9 * var(--u)); }

.vh-lp .vh-lp-section.vh-lp-oval > .vh-lp-oval__dots {
  position: absolute;
  z-index: 3;
  left: 0;
  right: 0;
  bottom: 1.2em;
  display: flex;
  justify-content: center;
  gap: 0.6em;
}
.vh-lp .vh-lp-oval__dot {
  width: 0.7em;
  height: 0.7em;
  padding: 0;
  border: 1px solid var(--vh-lp-oval-text);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.vh-lp .vh-lp-oval__dot.is-active { background: var(--vh-lp-oval-text); }

/* Tall layout (LP1 Flavors): the 1918 x 1004 desktop composition, scaled by 0.30777 on mobile (instance 590.3 x 309) */
.vh-lp .vh-lp-section.vh-lp-oval--tall {
  --u: calc(100vw / 402 * 0.30777);
  --ov-W: 2152;
  --ov-H: 997;
  --ov-T0: 7;
  --ov-T: var(--ov-T-m, 7);
  --ov-B: var(--ov-B-m, 0);
  --ov-fs: 42.76;
  --ov-content-top: 215; /* Figma text group top; checked against the LP1 crop aligned on the ellipse */
  --ov-content-w: 1000;
}
/* svg-frames 319:7: the eyebrow rules span 749-1193.12 (centre 971.06) and the heading lines start 1.0-1.75 right of where
   an 8px offset put them (r7 per-line sweep, DOM pen x against the tspan x); the eyebrow sits a further 1.3 right. */
.vh-lp .vh-lp-oval--tall .vh-lp-oval__content { margin-left: calc(9.3 * var(--u)); }
/* Figma rounds the eyebrow's 130% line height to 56; its baseline (6330.62) is 1.8 below where the line box puts it */
.vh-lp .vh-lp-oval.vh-lp-oval--tall .vh-lp-eyebrow { line-height: 1.3096; position: relative; left: calc(1.3 * var(--u)); top: calc(1.8 * var(--u)); }
.vh-lp .vh-lp-oval--tall .vh-lp-script:not(.vh-lp-script--initial) { margin-left: -0.037em; margin-right: 0.2177em; } /* Figma LP1: 'subtle,' at 560.45 and 'lightly sweet' at 859; the trailing margin centres line 2 where Figma places it */
.vh-lp .vh-lp-oval.vh-lp-oval--tall .vh-lp-heading {
  max-width: 10.5em;
  margin: 0.3176em auto 0; /* line 1 baseline at Figma 375.75 */
  line-height: 1.2301; /* Figma LP1 baselines 375.75 and 480.75: 105 apart */
}
/* Figma LP1: the script 'I' sits 33.48 below the line 1 baseline, 'lightly sweet' 3.52 above line 2's; neither sets the line height */
.vh-lp .vh-lp-oval--tall .vh-lp-script--initial { line-height: 0; top: 0.2112em; }
.vh-lp .vh-lp-oval--tall .vh-lp-script:not(.vh-lp-script--initial) { line-height: 0; position: relative; top: -0.0222em; }
.vh-lp .vh-lp-oval--tall .vh-lp-oval__body {
  position: relative;
  left: calc(1.7 * var(--u)); /* Figma LP1 body lines start at 624.0 / 668.75 / 641.68 / 776.56 (3 before the content block moved 1.3 right) */
  max-width: 16.35em; /* Figma box 694, +5px for web text metrics */
  margin-top: 1.375em; /* first body baseline at Figma 603.94 */
  line-height: 1.3096; /* Figma body line pitch 56 */
  /* Figma keeps the fl ligature in 'flavor' (lines 1 and 3 drew 5.6 wider without it); Chrome drops liga under letter-spacing */
  font-feature-settings: "liga" 1;
}
/* Figma strokes the LP1 eyebrow (1.069) and heading (0.762) in the text colour */
.vh-lp .vh-lp-oval--tall .vh-lp-eyebrow { -webkit-text-stroke: calc(1.069 * var(--u)) currentColor; }
.vh-lp .vh-lp-oval--tall .vh-lp-heading { -webkit-text-stroke: calc(0.762 * var(--u)) currentColor; }
.vh-lp .vh-lp-section.vh-lp-oval--tall > .vh-lp-oval__spark { display: none; }
/* Compact layout picture, mobile: Figma's 'Untitled design 1' (463:4075, 452:3759, 505:7445) is the desktop picture at
   0.2229 scale, 428 wide and centred in the 496.6 ellipse, so the 1920 x 701 export sits 428 x 156.3, not cover-scaled. */
.vh-lp .vh-lp-oval:not(.vh-lp-oval--tall) .vh-lp-oval__img {
  position: absolute;
  top: 0;
  left: calc((var(--ov-W) - 428) / 2 * var(--u));
  width: calc(428 * var(--u));
  max-width: none;
  height: 100%;
  object-fit: cover;
}
/* Tall layout picture: the slide export (node 400:82, 1918 x 997) is the ellipse fill clipped to the Flavors instance,
   so it sits 1:1 at frame x 1 (ellipse x 117), not cover-scaled to the 2152 ellipse (NCC 1.0 against the LP1 export). */
.vh-lp .vh-lp-oval--tall .vh-lp-oval__img {
  position: absolute;
  top: 0;
  left: calc(117 * var(--u));
  width: calc(1918 * var(--u));
  max-width: none;
  height: 100%;
  object-fit: cover;
}

/* Torn edges in the mobile-only variant */
.vh-lp .vh-lp-oval--top-mobile-only .vh-lp-torn--top { display: block; }
@media (max-width: 749px) {
  .vh-lp .vh-lp-oval--bottom-desktop-only .vh-lp-torn--bottom { display: none; } /* LP2-V2 mobile: the ellipse ends clean */
  /* LP2-V2 mobile tear 452:3709 (180 degrees, 429 wide): its bottom is at frame y 3911, 37 below the section top (3874), so
     the 35.49 tear box starts 1.51 down, not -1. The paper past the box top (the vector's solid part) stays painted up to
     the section top, so no cream line shows above the tear. */
  .vh-lp .vh-lp-oval--top-mobile-only .vh-lp-torn--top { --vh-lp-torn-top-y: calc(1.51 * var(--u)); clip-path: inset(0 -100vw calc(-3 * var(--u))); }
}

@media (min-width: 750px) {
  /* Bottom tear lift (setting bottom_y_desktop, Figma px): r6 sweep, LP2-V2's bottom tear 354:709 sat 2.24 below Figma
     relative to the band's content. */
  .vh-lp .vh-lp-oval .vh-lp-torn--bottom { --vh-lp-torn-bottom-y: calc(-1px + var(--ov-by, 0) * var(--u)); }
  .vh-lp .vh-lp-section.vh-lp-oval {
    --u: calc(100vw / 1920);
    --ov-W: 2228;
    --ov-H: 701;
    --ov-T0: 77;
    --ov-T: var(--ov-T-d, 77);
    --ov-B: var(--ov-B-d, -28);
    --ov-fs: 44.43685; /* svg-frames 319:547: heading 88.8737 = 2em, script 165.051 = 1.857em, baselines 93.63 apart */
    --ov-script: 1.857em;
    /* r7 per-line sweep: on 301 every heading line sat 1.1-2.0 above its svg-frames baseline (8125.41 / 8219.05 / 8312.68
       on LP2); 302.4 puts the block on them. What stays (about 0.5 per line, varying by line) is Chrome drawing each
       baseline on a whole pixel row. */
    --ov-content-top: 302.4;
    --ov-content-w: 1206.1;
    background: var(--vh-lp-bg);
  }
  .vh-lp .vh-lp-section.vh-lp-oval--tall {
    --u: calc(100vw / 1920);
    --ov-W: 2152;
    --ov-H: 997;
    --ov-T0: 7;
    --ov-T: var(--ov-T-d, 7);
    --ov-B: var(--ov-B-d, 0);
    --ov-fs: 42.76;
    --ov-content-top: 215; /* Figma text group top; checked against the LP1 crop aligned on the ellipse */
    --ov-content-w: 1000;
    /* LP1: the ellipse (frame y 6085-7082) runs 5 past the stats band's top (7077), over its paper; let it paint there */
    overflow-x: clip;
    overflow-y: visible;
    z-index: 3;
  }
  .vh-lp .vh-lp-oval .vh-lp-heading { line-height: 1.0535; }
  /* Compact layout: Figma's picture is a 1920 x 701 export laid 1:1 inside the 2228 ellipse (frame x 0, 154 in from its left),
     not cover-scaled to the ellipse width. */
  .vh-lp .vh-lp-oval:not(.vh-lp-oval--tall) .vh-lp-oval__img {
    position: absolute;
    top: 0;
    left: calc((var(--ov-W) - 1920) / 2 * var(--u));
    width: calc(1920 * var(--u));
    max-width: none;
    height: 100%;
    object-fit: cover;
  }
  .vh-lp .vh-lp-section.vh-lp-oval > .vh-lp-oval__ellipse { translate: calc(var(--ov-X-d, 0) * var(--u)) 0; }
  /* LP2-V2's sparkles (352:385-387) sit 27 lower against the ellipse than LP2's (319:642-644); the text does not move */
  .vh-lp .vh-lp-section.vh-lp-oval > .vh-lp-oval__spark { translate: calc(var(--ov-X-d, 0) * var(--u)) calc(var(--ov-SY-d, 0) * var(--u)); }
  .vh-lp .vh-lp-section.vh-lp-oval > .vh-lp-oval__spark--1 { left: calc(281.8 * var(--u)); top: calc(273 * var(--u)); width: calc(40.2 * var(--u)); height: calc(40.2 * var(--u)); }
  .vh-lp .vh-lp-section.vh-lp-oval > .vh-lp-oval__spark--2 { left: calc(1584.2 * var(--u)); top: calc(517.4 * var(--u)); width: calc(18 * var(--u)); height: calc(18 * var(--u)); }
  .vh-lp .vh-lp-section.vh-lp-oval > .vh-lp-oval__spark--3 { left: calc(1544 * var(--u)); top: calc(542.8 * var(--u)); width: calc(40.2 * var(--u)); height: calc(40.2 * var(--u)); }
  .vh-lp .vh-lp-oval--top-mobile-only .vh-lp-torn--top { display: none; }
}
/* END_SECTION:vh-lp-oval-image-banner */

/* START_SECTION:vh-lp-product-cards (INDEX:60) */
.vh-lp .vh-lp-section.vh-lp-pc {
    padding-block: var(--vh-lp-pc-pt, 56px) var(--vh-lp-pc-pb, 56px);
    padding-inline: 16px;
  }
  .vh-lp .vh-lp-pc__title { display: flex; justify-content: center; margin: 0 0 24px; text-align: center; }
  .vh-lp .vh-lp-pc__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 12px;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
  }
  .vh-lp .vh-lp-pc__item { display: flex; min-width: 0; }
  .vh-lp .vh-lp-pc__item > .vh-bc { width: 100%; }
  /* The card's own ink is dark brown for cream pages; on a dark band its text sits outside the cream frame. */
  .vh-lp .vh-lp-scheme--dark .vh-bc,
  .vh-lp .vh-lp-scheme--maroon .vh-bc {
    --vh-bc-ink: var(--vh-lp-cream);
    --vh-bc-muted: #d8cbb6;
    --vh-bc-faint: #ba9e72;
  }
  .vh-lp .vh-lp-scheme--dark .vh-lp-pc__grid .vh-bb,
  .vh-lp .vh-lp-scheme--maroon .vh-lp-pc__grid .vh-bb {
    --vh-bb-ink: var(--vh-lp-cream);
    --vh-bb-attr-ink: #d8cbb6;
    --vh-bb-attr-border: #6b5a44;
  }
  .vh-lp .vh-lp-pc__empty { margin: 0; font-size: 16px; }
  @media screen and (min-width: 750px) {
    .vh-lp .vh-lp-section.vh-lp-pc { padding-inline: 40px; }
    .vh-lp .vh-lp-pc__title { margin-bottom: 40px; }
    .vh-lp .vh-lp-pc__grid { grid-template-columns: repeat(min(var(--vh-lp-pc-cols, 2), 4), minmax(0, 1fr)); gap: 40px 28px; }
  }
/* END_SECTION:vh-lp-product-cards */

/* START_SECTION:vh-lp-quest-tabs-arch (INDEX:62) */
.vh-lp .vh-lp-qta.vh-lp-qta {
  --vh-qta-u: calc(100vw / 402);
  --vh-qta-k: 0.3446;
  --vh-qta-ix: -170.17;
  --vh-qta-iy: 80;
  --vh-qta-pt: var(--vh-qta-pt-m, 64);
  --vh-qta-pb: var(--vh-qta-pb-m, 6);
  --vh-qta-hh: 438;
  display: block;
  position: relative;
  padding: 0;
  overflow: clip;
  font-size: calc(12 * var(--vh-qta-u));
  height: calc((var(--vh-qta-pt) + var(--vh-qta-hh) + var(--vh-qta-pb)) * var(--vh-qta-u));
}
.vh-lp .vh-lp-qta.vh-lp-qta.vh-lp-qta--closing-mobile {
  --vh-qta-hh: calc(var(--vh-qta-iy) + (1240 + 72.89) * var(--vh-qta-k));
}
@media (min-width: 750px) {
  .vh-lp .vh-lp-qta.vh-lp-qta {
    --vh-qta-u: calc(min(100vw, 1920px) / 1920);
    --vh-qta-k: 1;
    --vh-qta-ix: -20;
    --vh-qta-iy: 335;
    --vh-qta-pt: var(--vh-qta-pt-d, 195);
    --vh-qta-pb: var(--vh-qta-pb-d, 38);
    --vh-qta-hh: 1647.89;
    font-size: calc(42.76 * var(--vh-qta-u));
  }
}

/* Stage: 402 / 1920 design units wide, centred; the arch bleeds past its left edge on mobile and is clipped by the section. */
.vh-lp .vh-lp-qta.vh-lp-qta.vh-lp-section > .vh-lp-qta__stage {
  position: absolute;
  z-index: 3;
  top: calc(var(--vh-qta-pt) * var(--vh-qta-u));
  left: 50%;
  width: calc(402 * var(--vh-qta-u));
  height: calc(var(--vh-qta-hh) * var(--vh-qta-u));
  margin-left: calc(-201 * var(--vh-qta-u));
}
@media (min-width: 750px) {
  .vh-lp .vh-lp-qta.vh-lp-qta.vh-lp-section > .vh-lp-qta__stage {
    width: calc(1920 * var(--vh-qta-u));
    margin-left: calc((-960 + var(--vh-qta-dx, 0)) * var(--vh-qta-u));
  }
}

/* Glows behind the arch (desktop only; the mobile frame has none). Figma ellipses 26 and 27 (LP2 frame SVG export):
   485px circle, top-to-bottom linear #384FE5 -> #66B0FF, layer opacity 0.35, Gaussian stdDeviation 100;
   365px circle, #FFDDAB -> #E78BB0, opacity 0.21, stdDeviation 75.26. (Figma's grain noise on the blur is not reproduced.) */
.vh-lp .vh-lp-qta.vh-lp-qta.vh-lp-section > .vh-lp-qta__glow {
  display: none;
  z-index: 2;
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
@media (min-width: 750px) {
  .vh-lp .vh-lp-qta.vh-lp-qta.vh-lp-section > .vh-lp-qta__glow { display: block; left: 50%; }
  .vh-lp .vh-lp-qta.vh-lp-qta.vh-lp-section > .vh-lp-qta__glow--cool {
    margin-left: calc((499 - 960 + var(--vh-qta-dx, 0)) * var(--vh-qta-u));
    top: calc((var(--vh-qta-pt) + 366) * var(--vh-qta-u));
    width: calc(485 * var(--vh-qta-u));
    height: calc(485 * var(--vh-qta-u));
    filter: blur(calc(100 * var(--vh-qta-u)));
    opacity: 0.35;
    background: linear-gradient(180deg, #384fe5 0%, #66b0ff 100%);
  }
  .vh-lp .vh-lp-qta.vh-lp-qta.vh-lp-section > .vh-lp-qta__glow--warm {
    margin-left: calc((358 - 960 + var(--vh-qta-dx, 0)) * var(--vh-qta-u));
    top: calc((var(--vh-qta-pt) + 931) * var(--vh-qta-u));
    width: calc(365 * var(--vh-qta-u));
    height: calc(365 * var(--vh-qta-u));
    filter: blur(calc(75.26 * var(--vh-qta-u)));
    opacity: 0.21;
    background: linear-gradient(180deg, #ffddab 0%, #e78bb0 100%);
  }
}

/* Eyebrow: text box x 765 w 390 (mobile x 149.9 w 102.4), white per the LP2 frame SVG export (not the base accent); rules on the snippet's ::before/::after, placed from Figma lines 59/60. */
.vh-lp .vh-lp-qta .vh-lp-eyebrow {
  position: absolute;
  display: block;
  left: calc((201 - 51.2) * var(--vh-qta-u));
  top: 0;
  width: calc(102.4 * var(--vh-qta-u));
  margin: 0;
  text-align: center;
  font-size: calc(12 * var(--vh-qta-u));
  line-height: 1.3;
  letter-spacing: -0.02em;
  /* Chrome drops the font's s_t ligature (liga) once letter-spacing is set; Figma keeps it ("Quest" in the crop). */
  font-feature-settings: "liga" 1;
  color: #fff;
  white-space: nowrap;
}
/* Rules: Figma's own export of Line 59/60 (tapered, white), mobile 463:4065 23.67x1 at eyebrow y +6.35, desktop 319:592 90.12x2 at +26. */
.vh-lp .vh-lp-qta .vh-lp-eyebrow::before,
.vh-lp .vh-lp-qta .vh-lp-eyebrow::after {
  position: absolute;
  top: calc(6.35 * var(--vh-qta-u));
  width: calc(23.67 * var(--vh-qta-u));
  height: calc(1 * var(--vh-qta-u));
  background: url("data:image/svg+xml,%3Csvg preserveAspectRatio=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22 width=%2223.668%22 height=%221%22 viewBox=%220 0 23.668 1%22 fill=%22none%22%3E%3Cg transform=%22translate(-232.861 -2402.35)%22%3E%3Cpath d=%22M232.861 2402.85C233.256 2402.89 233.65 2402.92 234.045 2402.95C237.595 2403.22 241.145 2403.35 244.695 2403.35C248.245 2403.35 251.795 2403.22 255.345 2402.95C255.74 2402.92 256.134 2402.89 256.529 2402.85C256.134 2402.82 255.74 2402.79 255.345 2402.76C251.795 2402.49 248.245 2402.35 244.695 2402.35C241.145 2402.35 237.595 2402.49 234.045 2402.76C233.65 2402.79 233.256 2402.82 232.861 2402.85Z%22 fill=%22white%22 /%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat;
  flex: none;
}
.vh-lp .vh-lp-qta .vh-lp-eyebrow::before { left: calc(-5.8 * var(--vh-qta-u)); }
.vh-lp .vh-lp-qta .vh-lp-eyebrow::after { left: calc(83 * var(--vh-qta-u)); }
@media (min-width: 750px) {
  .vh-lp .vh-lp-qta .vh-lp-eyebrow {
    left: calc(765 * var(--vh-qta-u));
    width: calc(390 * var(--vh-qta-u));
    font-size: calc(42.76 * var(--vh-qta-u));
  }
  .vh-lp .vh-lp-qta .vh-lp-eyebrow::before,
  .vh-lp .vh-lp-qta .vh-lp-eyebrow::after {
    top: calc(26 * var(--vh-qta-u));
    width: calc(90.12 * var(--vh-qta-u));
    height: calc(2 * var(--vh-qta-u));
    background-image: url("data:image/svg+xml,%3Csvg preserveAspectRatio=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22 width=%2290.12%22 height=%222%22 viewBox=%220 0 90.12 2%22 fill=%22none%22%3E%3Cg transform=%22translate(-1081 -6090)%22%3E%3Cpath d=%22M1081 6091C1082.5 6091.07 1084 6091.13 1085.51 6091.19C1099.02 6091.73 1112.54 6092 1126.06 6092C1139.58 6092 1153.1 6091.73 1166.62 6091.19C1168.12 6091.13 1169.62 6091.07 1171.12 6091C1169.62 6090.93 1168.12 6090.87 1166.62 6090.81C1153.1 6090.27 1139.58 6090 1126.06 6090C1112.54 6090 1099.02 6090.27 1085.51 6090.81C1084 6090.87 1082.5 6090.93 1081 6091Z%22 fill=%22white%22 /%3E%3C/g%3E%3C/svg%3E");
  }
  .vh-lp .vh-lp-qta .vh-lp-eyebrow::before { left: calc(-22 * var(--vh-qta-u)); }
  .vh-lp .vh-lp-qta .vh-lp-eyebrow::after { left: calc(316 * var(--vh-qta-u)); }
}

/* Heading: Shango, two forced lines, centred; the script initial comes from vh-lp-base. */
.vh-lp .vh-lp-qta .vh-lp-qta__heading {
  position: absolute;
  left: 0;
  width: 100%;
  top: calc(25.5 * var(--vh-qta-u));
  text-align: center;
  white-space: nowrap;
  color: var(--vh-lp-fg);
  font-size: calc(24 * var(--vh-qta-u));
  line-height: calc(24.6 * var(--vh-qta-u));
}
/* Figma sets the heading's first line with extra advance after the script initial (T flourish to H = 119px at 1920). */
.vh-lp .vh-lp-qta .vh-lp-script--initial { margin-right: 0.19em; }
.vh-lp .vh-lp-qta .vh-lp-qta__line1 { position: relative; left: calc(-3 * var(--vh-qta-u)); }
@media (min-width: 750px) {
  /* From the LP2 frame SVG export (text origins and baselines, frame px): T x 523 baseline 6266.23 (158.52px),
     "he perfect ritual" x 634.0 baseline 6231.75, "every turn of the page" baseline 6325.75 (pitch 94).
     So the T baseline sits 34.48px = 0.2175em below line 1's, the T-to-"he" advance is 111px, and line 1 starts 3.27px
     left of browser centring. line-height 0 keeps the initial from growing line 1's box. */
  .vh-lp .vh-lp-qta .vh-lp-script--initial { position: relative; top: 0.2175em; margin-right: 0.314em; line-height: 0; }
  .vh-lp .vh-lp-qta .vh-lp-qta__line1 { left: calc(-3.27 * var(--vh-qta-u)); }
  .vh-lp .vh-lp-qta .vh-lp-qta__heading {
    top: calc(95.75 * var(--vh-qta-u));
    font-size: calc(85.36 * var(--vh-qta-u));
    line-height: calc(94 * var(--vh-qta-u));
  }
}

/* Instance: origin at Figma's instance top-left; children use desktop units times --vh-qta-k. */
.vh-lp .vh-lp-qta .vh-lp-qta__inst {
  position: absolute;
  left: calc(var(--vh-qta-ix) * var(--vh-qta-u));
  top: calc(var(--vh-qta-iy) * var(--vh-qta-u));
  width: calc(1960 * var(--vh-qta-k) * var(--vh-qta-u));
  height: calc(1039 * var(--vh-qta-k) * var(--vh-qta-u));
}
.vh-lp .vh-lp-qta .vh-lp-qta__arch {
  position: absolute;
  box-sizing: border-box;
  left: calc(415.5 * var(--vh-qta-k) * var(--vh-qta-u));
  top: calc(80.5 * var(--vh-qta-k) * var(--vh-qta-u));
  width: calc(490 * var(--vh-qta-k) * var(--vh-qta-u));
  height: calc(871 * var(--vh-qta-k) * var(--vh-qta-u));
  border: calc(2 * var(--vh-qta-k) * var(--vh-qta-u)) solid #f2efe9;
  border-radius: 9999px;
  overflow: hidden;
  background: #000;
}
.vh-lp .vh-lp-qta .vh-lp-qta__pic {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.4s;
}
.vh-lp .vh-lp-qta .vh-lp-qta__pic.is-active { opacity: 1; }
/* Figma's 2px stroke is centred on the arch rect (svg-frames 319:547: 396/6480 488 x 869), so the photo fills the rect and
   runs under the inner half of the border: the image box sits 1 instance unit outside the padding box. */
.vh-lp .vh-lp-qta .vh-lp-qta__img {
  display: block;
  position: absolute;
  max-width: none;
  left: calc(-1 * var(--vh-qta-k) * var(--vh-qta-u));
  top: calc(-1 * var(--vh-qta-k) * var(--vh-qta-u));
  width: calc(100% + 2 * var(--vh-qta-k) * var(--vh-qta-u));
  height: calc(100% + 2 * var(--vh-qta-k) * var(--vh-qta-u));
  object-fit: cover;
}
.vh-lp .vh-lp-qta .vh-lp-qta__placeholder { background: #2a1d0c; fill: #4a3820; }

.vh-lp .vh-lp-qta .vh-lp-qta__tabs { margin: 0; padding: 0; list-style: none; }
.vh-lp .vh-lp-qta .vh-lp-qta__item {
  position: absolute;
  left: calc(1008 * var(--vh-qta-k) * var(--vh-qta-u));
  width: calc(557.5 * var(--vh-qta-k) * var(--vh-qta-u));
  height: calc(286.5 * var(--vh-qta-k) * var(--vh-qta-u));
  margin: 0;
  padding: 0;
}
.vh-lp .vh-lp-qta .vh-lp-qta__item:nth-child(1) { top: calc(69 * var(--vh-qta-k) * var(--vh-qta-u)); --vh-qta-ty: 74.5; --vh-qta-tx: 2.5; }
.vh-lp .vh-lp-qta .vh-lp-qta__item:nth-child(2) { top: calc(374 * var(--vh-qta-k) * var(--vh-qta-u)); --vh-qta-ty: 80.5; --vh-qta-tx: 8; }
.vh-lp .vh-lp-qta .vh-lp-qta__item:nth-child(3) { top: calc(684 * var(--vh-qta-k) * var(--vh-qta-u)); --vh-qta-ty: 82.5; --vh-qta-tx: 0; }
.vh-lp .vh-lp-qta .vh-lp-qta__tab {
  display: block;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: calc(3 * var(--vh-qta-k) * var(--vh-qta-u)) solid #f2efe9;
  border-radius: calc(20 * var(--vh-qta-k) * var(--vh-qta-u));
  background: transparent;
  color: #f2efe9;
  font: inherit;
  text-align: center;
  cursor: pointer;
  opacity: 0.3;
  transition: opacity 0.4s;
  -webkit-appearance: none;
  appearance: none;
}
.vh-lp .vh-lp-qta .vh-lp-qta__tab.is-active { opacity: 1; cursor: default; }
.vh-lp .vh-lp-qta .vh-lp-qta__tab:focus-visible { outline: 2px solid var(--vh-lp-accent); outline-offset: 4px; }
.vh-lp .vh-lp-qta .vh-lp-qta__copy {
  position: absolute;
  left: calc(var(--vh-qta-tx) * var(--vh-qta-k) * var(--vh-qta-u));
  right: calc(var(--vh-qta-tx) * -1 * var(--vh-qta-k) * var(--vh-qta-u));
  top: calc((var(--vh-qta-ty) - 3 - 8) * var(--vh-qta-k) * var(--vh-qta-u));
  display: block;
  font-size: calc(30.98 * var(--vh-qta-k) * var(--vh-qta-u));
  line-height: calc(40 * var(--vh-qta-k) * var(--vh-qta-u));
  letter-spacing: 0;
}
.vh-lp .vh-lp-qta .vh-lp-qta__title {
  display: block;
  max-width: calc(400 * var(--vh-qta-k) * var(--vh-qta-u));
  margin: 0 auto;
  font-family: var(--font-kennerley-bold-italic, 'LTC Kennerley Pro Bold Italic'), Georgia, serif;
  font-style: italic;
  font-weight: 700;
}
.vh-lp .vh-lp-qta .vh-lp-qta__desc {
  display: block;
  padding-top: calc(2 * var(--vh-qta-k) * var(--vh-qta-u));
  font-family: var(--vh-lp-text);
  white-space: nowrap;
}
.vh-lp .vh-lp-qta .vh-lp-qta__desc strong { font-family: var(--vh-lp-text-bold); font-weight: 700; }

/* Closing line and button (desktop; on mobile only when the checkbox is on). */
.vh-lp .vh-lp-qta .vh-lp-qta__closing,
.vh-lp .vh-lp-qta .vh-lp-qta__btn { display: none; }
.vh-lp .vh-lp-qta.vh-lp-qta--closing-mobile .vh-lp-qta__closing { display: block; }
.vh-lp .vh-lp-qta.vh-lp-qta--closing-mobile .vh-lp-qta__btn { display: flex; }
@media (min-width: 750px) {
  .vh-lp .vh-lp-qta .vh-lp-qta__closing { display: block; }
  .vh-lp .vh-lp-qta .vh-lp-qta__btn { display: flex; }
}
.vh-lp .vh-lp-qta .vh-lp-qta__closing {
  position: absolute;
  left: calc(579 * var(--vh-qta-k) * var(--vh-qta-u));
  top: calc(1080 * var(--vh-qta-k) * var(--vh-qta-u));
  width: calc(789 * var(--vh-qta-k) * var(--vh-qta-u));
  color: var(--vh-lp-fg);
  text-align: center;
  /* svg-frames 319:547: 42.9451 / 0em on a 56 pitch (Figma rounds the 130% line height to whole px) */
  font-size: calc(42.9451 * var(--vh-qta-k) * var(--vh-qta-u));
  line-height: calc(56 * var(--vh-qta-k) * var(--vh-qta-u));
  letter-spacing: 0;
}
.vh-lp .vh-lp-qta .vh-lp-qta__closing p { margin: 0; }
.vh-lp .vh-lp-qta .vh-lp-qta__closing em {
  font-family: var(--font-kennerley-bold-italic, 'LTC Kennerley Pro Bold Italic'), Georgia, serif;
  font-style: italic;
  font-weight: 700;
}
.vh-lp .vh-lp-qta .vh-lp-qta__btn {
  position: absolute;
  left: calc(764 * var(--vh-qta-k) * var(--vh-qta-u));
  top: calc(1240 * var(--vh-qta-k) * var(--vh-qta-u));
  box-sizing: border-box;
  width: calc(432 * var(--vh-qta-k) * var(--vh-qta-u));
  height: calc(72.89 * var(--vh-qta-k) * var(--vh-qta-u));
  min-height: 0;
  padding: 0;
  font-size: calc(30 * var(--vh-qta-k) * var(--vh-qta-u));
  line-height: calc(36.06 * var(--vh-qta-k) * var(--vh-qta-u));
  white-space: nowrap;
}
/* r6 sweep, 402 frames: the eyebrow rules (Line 60 463:4066 / 452:3743 / 505:7436, ink centre y 2402.86 on LP2) sat 1.64 low; a whole 2px keeps the 1px rule on one pixel row (a 1.64 shift halved its contrast). */
.vh-lp .vh-lp-qta .vh-lp-eyebrow::before,
.vh-lp .vh-lp-qta .vh-lp-eyebrow::after { translate: 0 -2px; }
@media (min-width: 750px) {
  /* r6 sweep: the 432 x 72.89 pill's label (Hero Title node, 17 below the pill top, 31 tall) rendered 3 high when
     flex-centred on Shango Gothic's line box, on every LP2-family page; 6 of top padding moves the centre 3 down. */
  .vh-lp .vh-lp-qta .vh-lp-qta__btn { padding-top: calc(6 * var(--vh-qta-k) * var(--vh-qta-u)); }
  /* Eyebrow rules Line 60 / 59 (319:594 / 319:592, path centre y 6091): centred on the 56-tall text box they sat 1.8 low,
     straddling pixel rows (so their tapered ends faded early), and the left one 2.2 left of x 743-833. */
  .vh-lp .vh-lp-qta .vh-lp-eyebrow::before { translate: calc(2.2 * var(--vh-qta-k) * var(--vh-qta-u)) calc(-1.8 * var(--vh-qta-k) * var(--vh-qta-u)); }
  .vh-lp .vh-lp-qta .vh-lp-eyebrow::after { translate: 0 calc(-1.8 * var(--vh-qta-k) * var(--vh-qta-u)); }
}
@media (prefers-reduced-motion: reduce) {
  .vh-lp .vh-lp-qta .vh-lp-qta__pic,
  .vh-lp .vh-lp-qta .vh-lp-qta__tab { transition: none; }
}
/* END_SECTION:vh-lp-quest-tabs-arch */

/* START_SECTION:vh-lp-recipes-framed-carousel (INDEX:63) */
/* Design lengths are "Nu": N Figma px at the 402 mobile frame (<750px) or the 1920 desktop frame (>=750px). */
.vh-lp .vh-lp-section.vh-lp-recipes {
  --u: calc(100vw / 402);
  padding: calc(var(--u) * 1) 0 calc(var(--u) * 28);
  font-size: calc(var(--u) * 12);
}
.vh-lp .vh-lp-scheme--cream.vh-lp-recipes { --vh-lp-bg: #fffef9; } /* mobile frame fill (styles.md L1) */

.vh-lp .vh-lp-recipes__inner { display: flex; flex-direction: column; align-items: stretch; }
.vh-lp .vh-lp-recipes__text { text-align: center; }

/* Eyebrow: lines 25.5 wide, text box 79.5 (452:1350, 452:1352, 452:1351) */
.vh-lp .vh-lp-recipes .vh-lp-eyebrow {
  width: calc(var(--u) * 138.6);
  height: calc(var(--u) * 16);
  margin: 0 auto;
  position: relative;
  left: calc(var(--u) * -1.6);
  gap: 0;
  justify-content: flex-start;
  font-size: calc(var(--u) * 12);
  line-height: calc(var(--u) * 16);
  letter-spacing: -0.02em;
}
.vh-lp .vh-lp-recipes .vh-lp-eyebrow::before,
.vh-lp .vh-lp-recipes .vh-lp-eyebrow::after { flex: 0 0 calc(var(--u) * 25.5); height: calc(var(--u) * 1); background: var(--vh-lp-orange); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
/* Rules are Figma's own SVG export of the tapered lines (452:1352 left 0.57, 452:1351 right 1.0; same geometry as the exported 452:1198 / 452:1197), used as masks so the scheme colour applies */
.vh-lp .vh-lp-recipes .vh-lp-eyebrow::before {
  margin-right: calc(var(--u) * 5.3);
  -webkit-mask-image: url('data:image/svg+xml,<svg width="26" height="1" viewBox="0 0 26 1" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 0.283551C0.424858 0.302408 0.849716 0.320322 1.27457 0.337293C5.0983 0.490035 8.92202 0.566406 12.7457 0.566406C16.5695 0.566406 20.3932 0.490035 24.2169 0.337293C24.6418 0.320322 25.0666 0.302408 25.4915 0.283551C25.0666 0.264694 24.6418 0.246779 24.2169 0.229808C20.3932 0.0770659 16.5695 0.000694931 12.7457 0.000694931C8.92202 0.000694931 5.0983 0.0770659 1.27457 0.229808C0.849716 0.246779 0.424858 0.264694 0 0.283551Z" fill="black"/></svg>');
  mask-image: url('data:image/svg+xml,<svg width="26" height="1" viewBox="0 0 26 1" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 0.283551C0.424858 0.302408 0.849716 0.320322 1.27457 0.337293C5.0983 0.490035 8.92202 0.566406 12.7457 0.566406C16.5695 0.566406 20.3932 0.490035 24.2169 0.337293C24.6418 0.320322 25.0666 0.302408 25.4915 0.283551C25.0666 0.264694 24.6418 0.246779 24.2169 0.229808C20.3932 0.0770659 16.5695 0.000694931 12.7457 0.000694931C8.92202 0.000694931 5.0983 0.0770659 1.27457 0.229808C0.849716 0.246779 0.424858 0.264694 0 0.283551Z" fill="black"/></svg>');
}
.vh-lp .vh-lp-recipes .vh-lp-eyebrow::after {
  margin-left: calc(var(--u) * 2.8);
  -webkit-mask-image: url('data:image/svg+xml,<svg width="26" height="1" viewBox="0 0 26 1" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 0.5C0.424858 0.533333 0.849716 0.565 1.27457 0.595C5.0983 0.865 8.92202 1 12.7457 1C16.5695 1 20.3932 0.865 24.2169 0.595C24.6418 0.565 25.0666 0.533333 25.4915 0.5C25.0666 0.466667 24.6418 0.435 24.2169 0.405C20.3932 0.135 16.5695 0 12.7457 0C8.92202 0 5.0983 0.135 1.27457 0.405C0.849716 0.435 0.424858 0.466667 0 0.5Z" fill="black"/></svg>');
  mask-image: url('data:image/svg+xml,<svg width="26" height="1" viewBox="0 0 26 1" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 0.5C0.424858 0.533333 0.849716 0.565 1.27457 0.595C5.0983 0.865 8.92202 1 12.7457 1C16.5695 1 20.3932 0.865 24.2169 0.595C24.6418 0.565 25.0666 0.533333 25.4915 0.5C25.0666 0.466667 24.6418 0.435 24.2169 0.405C20.3932 0.135 16.5695 0 12.7457 0C8.92202 0 5.0983 0.135 1.27457 0.405C0.849716 0.435 0.424858 0.466667 0 0.5Z" fill="black"/></svg>');
}
.vh-lp .vh-lp-recipes .vh-lp-eyebrow__text { flex: 1 1 auto; text-align: center; white-space: nowrap; }

/* Heading: SG 500 24 on mobile, 85.36 on desktop; script initial MSD */
.vh-lp .vh-lp-recipes .vh-lp-heading {
  width: calc(var(--u) * 280);
  margin: calc(var(--u) * 7.2) auto 0;
  padding-top: calc(var(--u) * 4.8);
  position: relative;
  top: calc(var(--u) * 6);
  font-size: calc(var(--u) * 24);
  line-height: calc(var(--u) * 27);
  text-wrap: balance;
  color: var(--vh-lp-orange);
}
/* Initial size comes from vh-lp-base (1.875em / 1.857em); only its placement is section-specific. */
.vh-lp .vh-lp-recipes .vh-lp-script--initial { line-height: 0; position: relative; top: calc(var(--u) * -0.5); margin-right: 0; }

.vh-lp .vh-lp-recipes__body {
  width: calc(var(--u) * 160);
  margin: calc(var(--u) * 15) auto 0;
  font-size: calc(var(--u) * 12);
  /* Figma rounds the 130% line height to whole px: svg-frames baselines 16 apart at 402 and 56 at 1920 */
  line-height: calc(var(--u) * 16);
  letter-spacing: -0.02em;
  color: var(--vh-lp-body);
  /* Figma sets "start" with the Kennerley s_t ligature (liga); Chrome drops liga under letter-spacing unless asked */
  font-variant-ligatures: common-ligatures;
  font-feature-settings: 'liga' 1;
}
.vh-lp .vh-lp-recipes__body p { margin: 0; }

/* Track: swipe, no arrows */
.vh-lp .vh-lp-recipes__track {
  display: flex;
  gap: calc(var(--u) * 12.6);
  margin-top: calc(var(--u) * 19.2);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.vh-lp .vh-lp-recipes__track::-webkit-scrollbar { display: none; }
.vh-lp .vh-lp-recipes__track:focus-visible { outline: 2px solid var(--vh-lp-accent); outline-offset: 4px; }

.vh-lp .vh-lp-recipes__card {
  position: relative;
  display: block;
  flex: 0 0 calc(var(--u) * 158.8);
  height: calc(var(--u) * 256);
  scroll-snap-align: center;
  border-radius: calc(var(--u) * 5.49);
  background: var(--vh-lp-beige);
  box-sizing: border-box;
  text-decoration: none;
}
.vh-lp .vh-lp-recipes__card::after {
  content: '';
  position: absolute;
  inset: calc(var(--u) * 6.8) calc(var(--u) * 5) calc(var(--u) * 6.1) calc(var(--u) * 5.8);
  border: calc(var(--u) * 0.55) solid var(--vh-lp-orange);
  border-radius: calc(var(--u) * 5.49);
  pointer-events: none;
}
.vh-lp .vh-lp-recipes__media {
  position: absolute;
  inset: calc(var(--u) * 11.3) calc(var(--u) * 10.8) calc(var(--u) * 10.3) calc(var(--u) * 10.8);
  border-radius: calc(var(--u) * 5.49);
  overflow: hidden;
}
.vh-lp .vh-lp-recipes__img { width: 100%; height: 100%; object-fit: cover; object-position: var(--rc-fx-m, 50%) 50%; display: block; }
.vh-lp .vh-lp-recipes__img--placeholder { background: #c9c3b6; }
/* Per-card horizontal focus: Figma fills card 2 off-centre (mobile 452:1310 at 77%; desktop 319:10 shows the photo's left edge). */
@media (min-width: 750px) {
  /* --rc-dx-d (block setting, Figma px): card 2's fill (319:10) starts at 1675, 40 into its frame, not 42 like card 1 */
  .vh-lp .vh-lp-recipes__img { object-position: calc(var(--rc-fx-d, 50%) + var(--rc-dx-d, 0) * var(--u)) 50%; }
}

/* Button: rect 129 x 28 on mobile; 432 x 72.9 on desktop. Shango casing as typed, no uppercase transform. */
.vh-lp .vh-lp-recipes__btn {
  box-sizing: border-box;
  width: calc(var(--u) * 129);
  min-height: 0;
  height: calc(var(--u) * 28);
  padding: 0;
  font-size: calc(var(--u) * 11.71);
  line-height: 1.2;
  white-space: nowrap;
  text-transform: none;
}
.vh-lp .vh-lp-recipes__btn--mobile { display: flex; margin: calc(var(--u) * 16) auto 0; }
.vh-lp .vh-lp-recipes__btn--desktop { display: none; }

@media (min-width: 750px) {
  .vh-lp .vh-lp-section.vh-lp-recipes {
    --u: calc(min(100vw, 1920px) / 1920);
    padding: calc(var(--u) * 55) 0 calc(var(--u) * 21);
    font-size: calc(var(--u) * 42.76);
  }
  .vh-lp .vh-lp-scheme--cream.vh-lp-recipes { --vh-lp-bg: var(--vh-lp-cream); }

  .vh-lp .vh-lp-recipes__inner { display: grid; grid-template-columns: calc(var(--u) * 978) minmax(0, 1fr); align-items: start; }
  .vh-lp .vh-lp-recipes__text { padding: calc(var(--u) * 159) calc(var(--u) * 51) 0 calc(var(--u) * 153); }

  .vh-lp .vh-lp-recipes .vh-lp-eyebrow {
    width: calc(var(--u) * 475.1);
    height: calc(var(--u) * 56);
    left: 0;
    font-size: calc(var(--u) * 42.76);
    line-height: calc(var(--u) * 56);
  }
  /* Desktop rules 319:219 / 319:220: Figma SVG export of the tapered line (same geometry as exported 319:74 / 319:70) */
  .vh-lp .vh-lp-recipes .vh-lp-eyebrow::before,
  .vh-lp .vh-lp-recipes .vh-lp-eyebrow::after {
    flex-basis: calc(var(--u) * 90.1);
    height: calc(var(--u) * 2);
    -webkit-mask-image: url('data:image/svg+xml,<svg width="91" height="2" viewBox="0 0 91 2" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 1C1.50203 1.06667 3.00406 1.13 4.50609 1.19C18.0244 1.73 31.5427 2 45.0609 2C58.5792 2 72.0975 1.73 85.6158 1.19C87.1178 1.13 88.6198 1.06667 90.1219 1C88.6198 0.933333 87.1178 0.87 85.6158 0.81C72.0975 0.27 58.5792 0 45.0609 0C31.5427 0 18.0244 0.27 4.50609 0.81C3.00406 0.87 1.50203 0.933333 0 1Z" fill="black"/></svg>');
    mask-image: url('data:image/svg+xml,<svg width="91" height="2" viewBox="0 0 91 2" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 1C1.50203 1.06667 3.00406 1.13 4.50609 1.19C18.0244 1.73 31.5427 2 45.0609 2C58.5792 2 72.0975 1.73 85.6158 1.19C87.1178 1.13 88.6198 1.06667 90.1219 1C88.6198 0.933333 87.1178 0.87 85.6158 0.81C72.0975 0.27 58.5792 0 45.0609 0C31.5427 0 18.0244 0.27 4.50609 0.81C3.00406 0.87 1.50203 0.933333 0 1Z" fill="black"/></svg>');
  }
  /* Text box 319:218 is x 387-687 and overlaps the left rule's end (392.1) */
  .vh-lp .vh-lp-recipes .vh-lp-eyebrow::before { margin-right: calc(var(--u) * -5.1); }
  .vh-lp .vh-lp-recipes .vh-lp-eyebrow::after { margin-left: 0; }

  .vh-lp .vh-lp-recipes .vh-lp-heading {
    width: calc(var(--u) * 774);
    margin-top: calc(var(--u) * 8);
    padding-top: calc(var(--u) * 26);
    top: calc(var(--u) * 12);
    font-size: calc(var(--u) * 85.36);
    line-height: calc(var(--u) * 79);
  }
  /* Initial ink starts at x 244 (319:228) */
  /* r6 sweep (LP1 1920): the initial (Group 1410111748, 319:227) measured 1.19 right and 3.88 low, and 'HOOSE YOUR'
     (319:226) 2.65 left. The line is centred, so 5.3 more space after the initial moves the text 2.65 right and the
     initial 2.65 left; its left offset then gives back 1.46, and it moves up 3.88. */
  .vh-lp .vh-lp-recipes .vh-lp-script--initial { top: calc(var(--u) * 8.12); left: calc(var(--u) * -4.54); margin-right: calc(var(--u) * 5.3); }

  /* margin 54: on the 56 pitch the three lines and the button sat 1.0 and 2.0 low with 55 (r7 per-line sweep, LP1 319:7) */
  .vh-lp .vh-lp-recipes__body { width: calc(var(--u) * 575); margin-top: calc(var(--u) * 54); font-size: calc(var(--u) * 42.76); line-height: calc(var(--u) * 56); }

  .vh-lp .vh-lp-recipes__track { margin-top: 0; gap: calc(var(--u) * 53); scroll-snap-type: x proximity; }
  .vh-lp .vh-lp-recipes__card { flex-basis: calc(var(--u) * 604); height: calc(var(--u) * 974); border-radius: calc(var(--u) * 20); scroll-snap-align: start; }
  .vh-lp .vh-lp-recipes__card::after {
    inset: calc(var(--u) * 26) calc(var(--u) * 19) calc(var(--u) * 23) calc(var(--u) * 22);
    border-width: calc(var(--u) * 2);
    border-radius: calc(var(--u) * 20);
  }
  .vh-lp .vh-lp-recipes__media {
    inset: calc(var(--u) * 41) calc(var(--u) * 40) calc(var(--u) * 41) calc(var(--u) * 42);
    border-radius: calc(var(--u) * 20);
  }

  /* Label 319:216 sits at y 740-771.5 in the 723-795.9 pill: 2px below optical centre */
  .vh-lp .vh-lp-recipes__btn { width: calc(var(--u) * 432); height: calc(var(--u) * 72.9); font-size: calc(var(--u) * 30); padding-top: calc(var(--u) * 4); }
  .vh-lp .vh-lp-recipes__btn--mobile { display: none; }
  .vh-lp .vh-lp-recipes__btn--desktop { display: flex; margin: calc(var(--u) * 39.2) auto 0; }
}
/* END_SECTION:vh-lp-recipes-framed-carousel */

/* START_SECTION:vh-lp-recipes-stack-carousel (INDEX:64) */
/* Mobile first: 402px frame, --u is one Figma px */
.vh-lp .vh-lp-section.vh-lp-rsc {
  --u: calc(100vw / 402);
  --rsc-body: var(--vh-lp-fg);
  position: relative;
  height: calc(var(--rsc-hm, 577) * var(--u));
  padding: 0;
  overflow: hidden;
  font-size: calc(12 * var(--u));
  line-height: 1.3;
}
.vh-lp .vh-lp-rsc__text { position: static; }
.vh-lp .vh-lp-rsc .vh-lp-heading {
  position: absolute;
  z-index: 3;
  left: calc(201 * var(--u));
  width: 9.07em;
  transform: translateX(-50%);
  top: calc(23 * var(--u));
  text-align: center;
  font-size: calc(24 * var(--u));
  line-height: calc(27 / 24);
}
.vh-lp .vh-lp-rsc .vh-lp-script--initial {
  display: inline-block;
  width: 0.5em; /* the script swash overlaps the first word; size comes from vh-lp-base */
  line-height: 0;
  margin: 0;
  position: relative;
  top: 0.03em;
  /* the C outline in svg-frames 452:1458 starts at 118.00; the DOM origin minus the glyph's ink bearing put it at 119.21 (r7 initials check) */
  left: calc(-1.21 * var(--u));
}
.vh-lp .vh-lp-rsc__body {
  position: absolute;
  z-index: 3;
  left: calc(121 * var(--u));
  width: calc(161 * var(--u));
  top: calc(85.8 * var(--u));
  margin: 0;
  text-align: center;
  color: var(--rsc-body);
  font-size: calc(12 * var(--u));
  line-height: 1.3;
  /* Chrome drops ligatures under letter-spacing; Figma keeps Kennerley's st ligature ("start") */
  font-feature-settings: 'liga' 1;
}
.vh-lp .vh-lp-rsc .vh-lp-rsc__btn {
  position: absolute;
  z-index: 3;
  left: calc(148 * var(--u));
  top: calc(522 * var(--u));
  width: calc(106 * var(--u));
  min-height: 0;
  height: calc(23 * var(--u));
  padding: calc(4 * var(--u)) 0 0;
  font-size: calc(9.6 * var(--u));
  line-height: 1;
}
.vh-lp .vh-lp-rsc__stack {
  position: absolute;
  inset: 0;
  z-index: 2;
  outline-offset: -4px;
  touch-action: pan-y;
}
.vh-lp .vh-lp-rsc__card {
  position: absolute;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transition: left 0.5s ease, top 0.5s ease, width 0.5s ease, height 0.5s ease, opacity 0.5s ease, border-radius 0.5s ease;
  /* default, hidden: parked behind the active card */
  left: calc(98 * var(--u));
  top: calc(158.8 * var(--u));
  width: calc(197.9 * var(--u));
  height: calc(338 * var(--u));
  border-radius: calc(10 * var(--u)); /* mobile: all three cards rx 10 (452:2250-452:2252) */
  z-index: 0;
}
.vh-lp .vh-lp-rsc__card[data-pos='0'] {
  left: calc(98 * var(--u)); top: calc(158.8 * var(--u)); width: calc(197.9 * var(--u)); height: calc(338 * var(--u));
  border-radius: calc(10 * var(--u)); opacity: 1; z-index: 3; pointer-events: auto;
}
.vh-lp .vh-lp-rsc__card[data-pos='1'] {
  left: calc(250.5 * var(--u)); top: calc(191.6 * var(--u)); width: calc(181.2 * var(--u)); height: calc(271.8 * var(--u));
  opacity: 0.5; z-index: 1; pointer-events: auto; cursor: pointer;
}
.vh-lp .vh-lp-rsc__card[data-prev='true']:not([data-pos='1']) {
  left: calc(-30 * var(--u)); top: calc(192.4 * var(--u)); width: calc(181.3 * var(--u)); height: calc(271.5 * var(--u));
  opacity: 0.3; z-index: 1; pointer-events: auto; cursor: pointer;
}
.vh-lp .vh-lp-rsc__img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* Mobile slot image fills, from the pattern matrices in svg-frames 452:1458 / 452:2523 (r6 review F4). The back card's
   fill is matrix(0.00036497 0 0 0.000243844 -0.0118798 0.000742017) on a 2731 x 4096 image: 180.691 x 271.184 at
   -2.154 / +0.201 in its 181.283 x 271.514 box, so it stops 2.75 short of the right edge. The middle card's fill is
   translate(0.00208147): +0.377 in its 181.247 box. */
@media (max-width: 749px) {
  .vh-lp .vh-lp-rsc__card[data-prev='true']:not([data-pos='1']) .vh-lp-rsc__img {
    position: absolute;
    max-width: none;
    left: calc(-2.154 * var(--u));
    top: calc(0.201 * var(--u));
    width: calc(180.691 * var(--u));
    height: calc(271.184 * var(--u));
  }
  .vh-lp .vh-lp-rsc__card[data-pos='1'] .vh-lp-rsc__img { translate: calc(0.377 * var(--u)) 0; }
}
.vh-lp .vh-lp-rsc__placeholder { background: rgba(255, 255, 255, 0.12); }
.vh-lp .vh-lp-rsc__link { position: absolute; inset: 0; z-index: 1; }

@media (min-width: 750px) {
  .vh-lp .vh-lp-section.vh-lp-rsc {
    --u: calc(100vw / 1920);
    --rsc-body: #fff;
    height: calc(var(--rsc-hd, 1000) * var(--u));
    font-size: calc(42.76 * var(--u));
  }
  .vh-lp .vh-lp-rsc .vh-lp-heading {
    left: calc(561 * var(--u));
    top: calc(284 * var(--u));
    font-size: calc(85.36 * var(--u));
    line-height: calc(79 / 85.36);
  }
  /* Figma 319:358 / 319:355: "hoose your" starts 72px after the initial's left edge */
  .vh-lp .vh-lp-rsc .vh-lp-script--initial { width: 0.502em; margin-left: -0.038em; left: calc(-2.46 * var(--u)); } /* C outline at 265.00 in svg-frames 319:295, drawn at 267.46 */
  .vh-lp .vh-lp-rsc__body {
    left: calc(274 * var(--u));
    width: calc(575 * var(--u));
    top: calc(483 * var(--u));
    font-size: calc(42.76 * var(--u));
  }
  .vh-lp .vh-lp-rsc .vh-lp-rsc__btn {
    left: calc(345 * var(--u));
    top: calc(var(--rsc-btn-top, 689) * var(--u));
    width: calc(432 * var(--u));
    height: calc(72.9 * var(--u));
    padding-top: calc(6 * var(--u));
    border-radius: calc(38.36 * var(--u));
    font-size: calc(30 * var(--u));
  }
  .vh-lp .vh-lp-rsc__card[data-pos='0'] {
    left: calc(1016 * var(--u)); top: calc(57 * var(--u)); width: calc(522 * var(--u)); height: calc(892 * var(--u));
    border-radius: calc(20 * var(--u));
  }
  .vh-lp .vh-lp-rsc__card[data-pos='1'] {
    left: calc(1299 * var(--u)); top: calc(144.4 * var(--u)); width: calc(478.3 * var(--u)); height: calc(717.4 * var(--u));
    border-radius: 0; opacity: 0.5;
  }
  /* a card that has already passed is parked in the third slot, hidden, unless it is the third slot */
  .vh-lp .vh-lp-rsc__card[data-prev='true']:not([data-pos='1']) {
    left: calc(1777.2 * var(--u)); top: calc(202.2 * var(--u)); width: calc(212.8 * var(--u)); height: calc(601.6 * var(--u));
    border-radius: 0; opacity: 0; z-index: 1; pointer-events: none; cursor: default;
  }
  .vh-lp .vh-lp-rsc__card[data-pos='2'][data-pos] {
    left: calc(1777.2 * var(--u)); top: calc(202.2 * var(--u)); width: calc(212.8 * var(--u)); height: calc(601.6 * var(--u));
    border-radius: 0; opacity: 0.3; z-index: 1; pointer-events: auto; cursor: pointer;
  }
  /* Figma 319:314: the narrow third slot shows the right-hand end of its photo (image fill offset to the right edge) */
  .vh-lp .vh-lp-rsc__card[data-pos='2'] .vh-lp-rsc__img { object-position: 100% 50%; }
  /* LP3-V2 (352:37): the first card has left the large slot; cards 2 and 3 are unchanged in their LP3 slots at 50% and 30%
     (352:57, 352:56). The first click, swipe or autoplay step brings card 2 forward and the stack runs as in LP3. */
  .vh-lp .vh-lp-rsc--advanced:not(.is-moved) .vh-lp-rsc__card[data-pos='0'] { opacity: 0; pointer-events: none; }
}
/* END_SECTION:vh-lp-recipes-stack-carousel */

/* START_SECTION:vh-lp-stats-torn-band (INDEX:65) */
.vh-lp .vh-lp-section.vh-lp-stats {
  --u: calc(100vw / 402);
  --vh-lp-stats-label: #726252;
  /* Measured from the torn edges, the section's visible top and bottom (the crop boundary was picked by eye):
     mobile tear 450:1151 top to star = 52, tear 450:1152 bottom 308 below the top tear; desktop 319:17 / 319:18 = 204 and 648. */
  padding-block: calc(53 * var(--u)) calc(46.3 * var(--u));
  padding-inline: 0;
  letter-spacing: 0;
}
/* Mobile paper: the neighbours' paper on the mobile frames is #FFFEF9, not the desktop cream the edge snippet paints. */
@media (max-width: 749px) {
  .vh-lp .vh-lp-stats--mpaper .vh-lp-torn path { fill: var(--vh-lp-stats-mpaper); }
  /* Open bottom: the next section draws the band's lower tear (Figma mobile: its tear hangs from y 3067 into the next
     section's top). The band is beige down to 243 (frame 3067 minus 2824) and paper below that; section ends at 286. */
  .vh-lp .vh-lp-section.vh-lp-stats.vh-lp-stats--mopen { padding-bottom: calc(25.3 * var(--u)); background: linear-gradient(to bottom, var(--vh-lp-bg) calc(243 * var(--u)), var(--vh-lp-stats-mpaper) calc(243 * var(--u))); }
  .vh-lp .vh-lp-stats--mopen .vh-lp-torn--bottom { display: none; }
}
.vh-lp-stats__grid {
  display: grid;
  grid-template-columns: calc(99.6 * var(--u)) calc(91.9 * var(--u));
  column-gap: calc(22.5 * var(--u));
  row-gap: calc(27.3 * var(--u));
  justify-content: center;
  margin-right: calc(6 * var(--u));
}
.vh-lp-stats__item { display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 0; }
.vh-lp-stats__item:nth-child(1) { order: 1; }
.vh-lp-stats__item:nth-child(3) { order: 2; }
.vh-lp-stats__item:nth-child(2) { order: 3; }
.vh-lp-stats__item:nth-child(4) { order: 4; }
/* Ornament: Figma export (star 319:138 / 450:1156, rules group 319:140 / 450:1158). Rules sit below the star's centre:
   desktop rule top 24px under the star top, gaps 16 / 15; mobile 8.6px, gaps 5.73 / 5.38. */
.vh-lp-stats__ornament { display: flex; align-items: flex-start; justify-content: center; color: var(--vh-lp-accent); }
.vh-lp-stats__rule { width: calc(18.994 * var(--u)); height: calc(1 * var(--u)); margin-top: calc(8.6 * var(--u)); display: block; flex: none; }
.vh-lp-stats__rule--l { margin-right: calc(5.734 * var(--u)); }
.vh-lp-stats__rule--r { margin-left: calc(5.375 * var(--u)); }
.vh-lp-stats__star { width: calc(13.618 * var(--u)); height: calc(13.618 * var(--u)); display: block; flex: none; }
.vh-lp-stats__value, .vh-lp-stats__label, .vh-lp-stats__note { margin: 0; }
.vh-lp-stats__item { --vh-lp-stats-vfs: calc(36.2 * var(--u)); padding-bottom: calc(var(--vh-lp-stats-gap, 0) * 0.01 * var(--vh-lp-stats-vfs)); }
/* Line boxes reproduce the Figma baselines (svg export): number 36.1958px, label 10.6011px on a 14px pitch,
   note 6.90759px on an 8px pitch. --vh-lp-stats-gap (block setting) is space at the bottom of the item, in % of the value
   size. r6 sweep: it used to sit between the value and its label, which put SUGAR and its note 7.07 below Figma's
   (411:353 / 415:362: Figma lets the 0g descender touch SUGAR); the item keeps the same height, so the band does not move. */
.vh-lp-stats__value {
  margin-top: calc(5.8 * var(--u));
  font-family: var(--vh-lp-text-bold);
  font-weight: 700;
  font-size: calc(36.2 * var(--u));
  line-height: calc(37.4 * var(--u));
  color: var(--vh-lp-accent);
  white-space: nowrap;
  position: relative;
  top: calc(5 * var(--u));
}
.vh-lp-stats__label {
  margin-top: calc(-1.5 * var(--u));
  font-family: var(--vh-lp-text);
  font-weight: 400;
  font-size: calc(10.6 * var(--u));
  line-height: calc(14 * var(--u));
  color: var(--vh-lp-stats-label);
}
.vh-lp-stats__note {
  max-width: calc(87.4 * var(--u));
  margin-top: calc(1.6 * var(--u));
  font-family: var(--vh-lp-text-bold);
  font-weight: 700;
  font-size: calc(6.9 * var(--u));
  line-height: calc(8 * var(--u));
  color: var(--vh-lp-accent);
}
@media (min-width: 750px) {
  .vh-lp .vh-lp-section.vh-lp-stats {
    --u: calc(min(100vw, 1920px) / 1920);
    padding-block: calc(203 * var(--u)) calc(177 * var(--u));
  }
  .vh-lp-stats__grid {
    grid-template-columns: calc(175 * var(--u)) calc(278 * var(--u)) calc(255 * var(--u)) calc(255 * var(--u));
    column-gap: calc(156 * var(--u));
    row-gap: 0;
    margin-right: 0;
    margin-left: calc(3 * var(--u));
  }
  .vh-lp-stats__item:nth-child(n) { order: 0; }
  .vh-lp-stats__item { --vh-lp-stats-vfs: calc(101 * var(--u)); }
  .vh-lp-stats__rule { width: calc(53 * var(--u)); height: calc(2 * var(--u)); margin-top: calc(24 * var(--u)); }
  .vh-lp-stats__rule--l { margin-right: calc(16 * var(--u)); }
  .vh-lp-stats__rule--r { margin-left: calc(15 * var(--u)); }
  .vh-lp-stats__star { width: calc(38 * var(--u)); height: calc(38 * var(--u)); }
  .vh-lp-stats__value { margin-top: calc(16 * var(--u)); font-size: calc(101 * var(--u)); line-height: calc(100 * var(--u)); top: calc(14 * var(--u)); }
  .vh-lp-stats__label { margin-top: calc(-1 * var(--u)); font-size: calc(29.58 * var(--u)); line-height: calc(38 * var(--u)); }
  .vh-lp-stats__note { max-width: calc(244 * var(--u)); margin-top: calc(1.7 * var(--u)); font-size: calc(19.27 * var(--u)); line-height: calc(22 * var(--u)); }
}
/* END_SECTION:vh-lp-stats-torn-band */

/* START_SECTION:vh-lp-story-centered-text (INDEX:66) */
.vh-lp .vh-lp-story {
  /* mobile first: one design px of the 402 frame, capped at 20/12 px */
  --vh-lp-story-u: min(calc(100vw / 402), calc(20px / 12));
  font-size: calc(var(--vh-lp-story-bs-m, 12) * var(--vh-lp-story-u));
  background: var(--vh-lp-story-mobile-bg, var(--vh-lp-bg));
  padding-block: calc(var(--vh-lp-story-pt-m, 3) * 100vw / 402) calc(var(--vh-lp-story-pb-m, 28.5) * 100vw / 402);
  padding-inline: 0;
  text-align: center;
}
.vh-lp .vh-lp-story__inner {
  margin-inline: auto;
  max-width: 100%;
}
/* Figma rules (319:71 / 319:67, 445:1027 / 445:1026): 90.122 x 2 at 1920, 25.492 x 1 at 402 */
.vh-lp .vh-lp-story .vh-lp-eyebrow {
  gap: 0;
  margin: 0 0 0.6em;
  line-height: 1.3;
}
.vh-lp .vh-lp-story .vh-lp-eyebrow::before,
.vh-lp .vh-lp-story .vh-lp-eyebrow::after {
  /* Figma's own SVG export of the tapered rule (Line 49 319:71 at 1920, 445:1027 at 402; Line 48 is the same lens), used as a mask so the scheme colour still applies */
  flex: 0 0 2.124em; /* 25.492 at 12px */
  height: calc(1.0 * var(--vh-lp-story-u));
  background: currentColor;
  -webkit-mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="25.492" height="1" viewBox="0 0 25.492 1" fill="none"><g transform="translate%28-130.103 -1049.92%29"><path id="Line 49" d="M130.103 1050.42C130.528 1050.45 130.953 1050.48 131.378 1050.51C135.202 1050.78 139.025 1050.92 142.849 1050.92C146.673 1050.92 150.496 1050.78 154.32 1050.51C154.745 1050.48 155.17 1050.45 155.595 1050.42C155.17 1050.39 154.745 1050.35 154.32 1050.32C150.496 1050.05 146.673 1049.92 142.849 1049.92C139.025 1049.92 135.202 1050.05 131.378 1050.32C130.953 1050.35 130.528 1050.39 130.103 1050.42Z" fill="black" /></g></svg>') center / 100% 100% no-repeat;
  mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="25.492" height="1" viewBox="0 0 25.492 1" fill="none"><g transform="translate%28-130.103 -1049.92%29"><path id="Line 49" d="M130.103 1050.42C130.528 1050.45 130.953 1050.48 131.378 1050.51C135.202 1050.78 139.025 1050.92 142.849 1050.92C146.673 1050.92 150.496 1050.78 154.32 1050.51C154.745 1050.48 155.17 1050.45 155.595 1050.42C155.17 1050.39 154.745 1050.35 154.32 1050.32C150.496 1050.05 146.673 1049.92 142.849 1049.92C139.025 1049.92 135.202 1050.05 131.378 1050.32C130.953 1050.35 130.528 1050.39 130.103 1050.42Z" fill="black" /></g></svg>') center / 100% 100% no-repeat;
}
/* the text stays centred; both rules sit 0.11em left of centre (Figma rules centre on x 956, the text on 960) */
.vh-lp .vh-lp-story .vh-lp-eyebrow::before { margin-right: 0.6em; position: relative; left: -0.11em; }
.vh-lp .vh-lp-story .vh-lp-eyebrow::after { margin-left: 0.6em; position: relative; left: -0.11em; }
.vh-lp .vh-lp-story .vh-lp-heading {
  font-size: calc(var(--vh-lp-story-hs-m, 24) * var(--vh-lp-story-u));
  line-height: 1.158;
  max-width: 12.4em;
  margin: 0.77em auto 0; /* collapses with the eyebrow margin; script initial top sits 26px (desktop) under the eyebrow */
  text-wrap: balance;
}
.vh-lp .vh-lp-story .vh-lp-script--initial { font-size: 1.875em; margin-left: -0.07em; margin-right: 0.16em; position: relative; left: calc(var(--vh-lp-story-ix-m, 0) * var(--vh-lp-story-u)); } /* 45 / 24; side bearings measured against the LP1 W at 1920 and 402. The setting moves only the initial (r6 sweep: the LP2-family T, 463:3921, sat 3.1 left at 402 while its line registered). */
.vh-lp .vh-lp-story__body {
  max-width: calc(var(--vh-lp-story-bw-m, 174) * var(--vh-lp-story-u));
  /* heading-to-body gap scales with the heading: 17.76 on a 24px heading (LP1 mobile) */
  margin: calc(0.74 * var(--vh-lp-story-hs-m, 24) * var(--vh-lp-story-u)) auto 0;
  color: var(--vh-lp-fg);
  font-variant-ligatures: common-ligatures discretionary-ligatures; /* Figma shows the Kennerley swash s / ct forms */
  font-feature-settings: 'liga' 1, 'dlig' 1;
  /* Figma rounds a 130% line height to whole px (svg-frames tspans: 12px body on a 16 pitch, 42.76 on 56, 55.15 on 72);
     the line-height settings carry that pitch, and a paragraph break is one empty line of it */
  line-height: var(--vh-lp-story-bl-m, 1.3);
}
.vh-lp .vh-lp-story__body p { margin: 0 0 var(--vh-lp-story-bl-m, 1.3em); }
.vh-lp .vh-lp-story__body p:last-child { margin-bottom: 0; }
.vh-lp .vh-lp-story__body strong,
.vh-lp .vh-lp-story__body b { font-family: var(--font-kennerley-bold, 'LTC Kennerley Pro Bold'), Georgia, serif; font-weight: 700; }
.vh-lp .vh-lp-story__body em,
.vh-lp .vh-lp-story__body i { font-family: var(--font-kennerley-italic, 'LTC Kennerley Pro Italic'), Georgia, serif; font-style: normal; }
.vh-lp .vh-lp-story__body strong em,
.vh-lp .vh-lp-story__body em strong { font-family: var(--font-kennerley-bold-italic, 'LTC Kennerley Pro Bold Italic'), Georgia, serif; font-weight: 700; }

@media (min-width: 750px) {
  .vh-lp .vh-lp-story {
    --vh-lp-story-u: min(calc(100vw / 1920), 1px);
    font-size: calc(var(--vh-lp-story-bs-d, 42.76) * var(--vh-lp-story-u));
    padding-block: calc(var(--vh-lp-story-pt-d, 22) * 100vw / 1920) calc(var(--vh-lp-story-pb-d, 85) * 100vw / 1920);
    background: var(--vh-lp-bg);
  }
  .vh-lp .vh-lp-story .vh-lp-eyebrow::before,
  .vh-lp .vh-lp-story .vh-lp-eyebrow::after {
    flex-basis: 2.108em; /* 90.122 at 42.76px */
    height: calc(2.0 * var(--vh-lp-story-u));
    -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="90.122" height="2" viewBox="0 0 90.122 2" fill="none"><g transform="translate%28-711 -2978%29"><path id="Line 49" d="M711 2979C712.502 2979.07 714.004 2979.13 715.506 2979.19C729.024 2979.73 742.543 2980 756.061 2980C769.579 2980 783.097 2979.73 796.616 2979.19C798.118 2979.13 799.62 2979.07 801.122 2979C799.62 2978.93 798.118 2978.87 796.616 2978.81C783.097 2978.27 769.579 2978 756.061 2978C742.543 2978 729.024 2978.27 715.506 2978.81C714.004 2978.87 712.502 2978.93 711 2979Z" fill="black" /></g></svg>');
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="90.122" height="2" viewBox="0 0 90.122 2" fill="none"><g transform="translate%28-711 -2978%29"><path id="Line 49" d="M711 2979C712.502 2979.07 714.004 2979.13 715.506 2979.19C729.024 2979.73 742.543 2980 756.061 2980C769.579 2980 783.097 2979.73 796.616 2979.19C798.118 2979.13 799.62 2979.07 801.122 2979C799.62 2978.93 798.118 2978.87 796.616 2978.81C783.097 2978.27 769.579 2978 756.061 2978C742.543 2978 729.024 2978.27 715.506 2978.81C714.004 2978.87 712.502 2978.93 711 2979Z" fill="black" /></g></svg>');
  }
  .vh-lp .vh-lp-story .vh-lp-heading { font-size: calc(var(--vh-lp-story-hs-d, 85.36) * var(--vh-lp-story-u)); line-height: calc(var(--vh-lp-story-hl-d, 115.3) / 100); text-indent: calc(2 * var(--vh-lp-story-l1-d, 0) * var(--vh-lp-story-u)); position: relative; top: calc(var(--vh-lp-story-hy-d, 0) * var(--vh-lp-story-u)); } /* text-indent moves only the first centred line, by half its value */
  .vh-lp .vh-lp-story .vh-lp-script--initial { font-size: 1.857em; line-height: 0.5; position: relative; left: calc(var(--vh-lp-story-ix-d, 0) * var(--vh-lp-story-u)); top: calc(var(--vh-lp-story-iy-d, 0) * var(--vh-lp-story-u)); } /* 158.52 / 85.36; the initial never sets the line box, so a tight heading line height holds */
  .vh-lp .vh-lp-story__body p:last-child { position: relative; top: calc(var(--vh-lp-story-ly-d, 0) * var(--vh-lp-story-u)); }
  .vh-lp .vh-lp-story__body p { margin-bottom: var(--vh-lp-story-bl-d, 1.3em); }
  .vh-lp .vh-lp-story__body p:last-child { margin-bottom: 0; }
  .vh-lp .vh-lp-story__body {
    line-height: var(--vh-lp-story-bl-d, 1.3);
    max-width: calc(var(--vh-lp-story-bw-d, 615.3) * var(--vh-lp-story-u));
    margin-top: calc((0.7213 + (1.153 - var(--vh-lp-story-hl-d, 115.3) / 100) / 2) * var(--vh-lp-story-hs-d, 85.36) * var(--vh-lp-story-u)); /* 61.57 on 85.36: body top at y 402 of 880; a tighter heading line height adds back its lost half-leading */
    color: var(--vh-lp-story-body-d, var(--vh-lp-fg));
  }
}
/* END_SECTION:vh-lp-story-centered-text */

/* START_SECTION:vh-lp-ugc-review-carousel (INDEX:67) */
/* All design lengths below are written "Nu": N Figma px at the 1920 desktop frame (>=750px) or the 402 mobile frame. */
.vh-lp .vh-lp-ugc {
  --u: calc(100vw / 402);
  --ugc-w: calc(var(--u) * 150.3);
  --ugc-h: calc(var(--u) * 214);
  --ugc-gap: calc(var(--u) * 12.7);
  --ugc-radius: calc(var(--u) * 5.49);
  --ugc-frame-w: calc(var(--u) * 0.548718);
  overflow-x: clip;
  /* The section box is the background node 445:1029 (frame y 1286 to 1684): content starts 25 below it, ends 36 above its bottom. */
  padding: calc(var(--u) * 25) 0 calc(var(--u) * 36);
}

.vh-lp .vh-lp-section.vh-lp-ugc > .vh-lp-ugc__bg { position: absolute; left: calc(var(--u) * -103); top: 0; width: calc(var(--u) * 692); height: calc(var(--u) * 398); z-index: 0; }
.vh-lp .vh-lp-ugc__bg { background: #695840; overflow: hidden; }
/* Mobile 445:1029 is its own export (692x398, 2x), filled edge to edge. Without it, the desktop image stands in, scaled to the 692 width and
   top aligned (same source crop as desktop); it ends 16.7 short of the box, where the fallback colour shows. */
.vh-lp .vh-lp-ugc__bg-img { position: absolute; left: 0; top: 0; width: 100%; height: auto; display: block; }
.vh-lp .vh-lp-ugc__bg-img--mobile { height: 100%; object-fit: cover; }
.vh-lp .vh-lp-ugc__bg--has-mobile .vh-lp-ugc__bg-img--desktop { display: none; }
.vh-lp .vh-lp-ugc__bg-shade { position: absolute; inset: 0; background: #301d09; }

.vh-lp .vh-lp-ugc__inner { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: calc(var(--u) * 14.4); }
.vh-lp .vh-lp-ugc__text { text-align: center; }

/* Eyebrow: Figma 452:1380 lines 25.5 x 1, text box 88 */
.vh-lp .vh-lp-ugc .vh-lp-eyebrow {
  width: calc(var(--u) * 145.5);
  margin: 0 auto calc(var(--u) * 12.4);
  gap: 0;
  justify-content: flex-start;
  font-size: calc(var(--u) * 12);
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: #fffef9;
}
.vh-lp .vh-lp-ugc .vh-lp-eyebrow::before,
.vh-lp .vh-lp-ugc .vh-lp-eyebrow::after {
  /* Rules are Figma's exported vectors 452:1378 / 452:1379 (vectors/ugc-review-carousel/line-65, line-66). */
  flex: 0 0 calc(var(--u) * 25.491);
  height: calc(var(--u) * 1);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25.491 1' preserveAspectRatio='none'%3E%3Cpath transform='translate(-248 -1317.92)' d='M248 1318.42C248.425 1318.45 248.85 1318.48 249.275 1318.51C253.098 1318.78 256.922 1318.92 260.746 1318.92C264.569 1318.92 268.393 1318.78 272.217 1318.51C272.642 1318.48 273.067 1318.45 273.491 1318.42C273.067 1318.39 272.642 1318.35 272.217 1318.32C268.393 1318.05 264.569 1317.92 260.746 1317.92C256.922 1317.92 253.098 1318.05 249.275 1318.32C248.85 1318.35 248.425 1318.39 248 1318.42Z' fill='%23FFFEF9'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.vh-lp .vh-lp-ugc .vh-lp-eyebrow::before { margin-right: calc(var(--u) * 4.5); }
.vh-lp .vh-lp-ugc .vh-lp-eyebrow::after { margin-left: calc(var(--u) * 2); }
.vh-lp .vh-lp-ugc .vh-lp-eyebrow__text { flex: 0 0 calc(var(--u) * 88); text-align: center; }

/* Heading: SG 24 / 27.8 pitch on mobile, 85.36 / 93 on desktop */
.vh-lp .vh-lp-ugc .vh-lp-heading {
  font-size: calc(var(--u) * 24);
  line-height: calc(var(--u) * 27.8);
  color: #fffef9;
  width: calc(var(--u) * 215);
  margin-inline: auto;
  position: relative;
  /* Offsets below land the rendered baselines on the Figma SVG-export baselines (LP1 mobile: J x 95 / 74.06, lines 73.8 and 101.62 from y 1292). */
  top: calc(var(--u) * 6.83);
}
.vh-lp .vh-lp-ugc .vh-lp-script:not(.vh-lp-script--initial) { display: block; }
.vh-lp .vh-lp-ugc .vh-lp-script--initial { line-height: 0; position: relative; left: calc(var(--u) * -3.75); top: calc(var(--u) * 0.25); }
.vh-lp .vh-lp-ugc:not(.vh-lp-ugc--heading-text) .vh-lp-heading { color: var(--vh-lp-accent); }
.vh-lp .vh-lp-ugc__sub {
  margin: calc(var(--u) * 9) auto 0;
  max-width: calc(var(--u) * 174);
  font-size: calc(var(--u) * 12);
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: #fffef9;
  white-space: pre-wrap;
}

.vh-lp .vh-lp-ugc__track {
  display: flex;
  gap: var(--ugc-gap);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.vh-lp .vh-lp-ugc__track::-webkit-scrollbar { display: none; }
@media (hover: hover) and (pointer: fine) {
  .vh-lp .vh-lp-ugc__track { cursor: grab; }
  .vh-lp .vh-lp-ugc__track.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
  .vh-lp .vh-lp-ugc__track.is-dragging * { pointer-events: none; }
}
.vh-lp .vh-lp-ugc__img { -webkit-user-drag: none; }
.vh-lp .vh-lp-ugc__track:focus-visible { outline: 2px solid var(--vh-lp-accent); outline-offset: 4px; }

.vh-lp .vh-lp-ugc__card {
  position: relative;
  flex: 0 0 var(--ugc-w);
  height: var(--ugc-h);
  scroll-snap-align: center;
  border-radius: var(--ugc-radius);
  overflow: hidden;
  box-sizing: border-box;
  background: var(--vh-lp-beige);
  color: var(--vh-lp-body);
}
.vh-lp .vh-lp-ugc__media { position: absolute; inset: calc(var(--u) * 9.6) calc(var(--u) * 9.3) calc(var(--u) * 10.4) calc(var(--u) * 10); border-radius: calc(var(--u) * 5.49); overflow: hidden; }
.vh-lp .vh-lp-ugc__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vh-lp .vh-lp-ugc__img--placeholder { background: #c9c3b6; }
.vh-lp .vh-lp-ugc__caption {
  position: absolute;
  inset: 9.5% 8% auto;
  margin: 0;
  text-align: center;
  color: #fff;
  font-family: 'Noto Serif', Georgia, serif;
  font-size: calc(var(--u) * 9);
  line-height: 1.25;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
}
.vh-lp .vh-lp-ugc__review { position: absolute; inset: 0; }
.vh-lp .vh-lp-ugc__stars { position: absolute; left: calc(var(--u) * 53.7); top: calc(var(--u) * 65.8); display: flex; }
.vh-lp .vh-lp-ugc__stars svg { width: calc(var(--u) * 8.8); height: calc(var(--u) * 8.8); fill: var(--vh-lp-orange); display: block; }
.vh-lp .vh-lp-ugc__quote {
  position: absolute;
  left: calc(var(--u) * 21.4);
  /* Box 81.8 below the card top in metadata; +2.4 lands the first baseline on the export's (231.88). Desktop: +5 on 298, baseline 471.61. */
  top: calc(var(--u) * 84.2);
  width: calc(var(--u) * 108.2);
  height: calc(var(--u) * 56);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: calc(var(--u) * 11.96);
  /* Figma rounds the 100% line height to whole px: svg-frames baselines 12 apart at 402, 44 apart at 1920 */
  line-height: calc(var(--u) * 12);
  letter-spacing: -0.04em;
  /* Figma sets 'affirming' with the ffi ligature; Chrome drops ligatures under letter-spacing unless asked */
  font-feature-settings: "liga" 1;
  color: var(--vh-lp-body);
}
.vh-lp .vh-lp-ugc__quote p { margin: 0; white-space: pre-wrap; } /* keeps the design's double space after "amazing." */
.vh-lp .vh-lp-ugc__author {
  position: absolute;
  left: calc(var(--u) * 36.2);
  top: calc(var(--u) * 152.5);
  width: calc(var(--u) * 78.8);
  height: calc(var(--u) * 7.1);
  margin: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  text-align: center;
  white-space: nowrap;
  font-family: var(--font-kennerley-bold-italic, 'LTC Kennerley Pro Bold Italic'), Georgia, serif;
  font-style: italic;
  font-weight: 700;
  font-size: calc(var(--u) * 7.77);
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: var(--vh-lp-body);
}

/* Frame: Figma strokes are centred on the path, so the outer edge is the inset minus half the stroke. Drawn as an inset box-shadow because a CSS border under 1px renders as 1px. */
.vh-lp .vh-lp-ugc__card::after {
  content: '';
  position: absolute;
  inset: calc(var(--u) * 5.766) calc(var(--u) * 4.665) calc(var(--u) * 5.209) calc(var(--u) * 5.213);
  border-radius: calc(var(--u) * 5.487);
  box-shadow: inset 0 0 0 var(--ugc-frame-w) var(--vh-lp-orange);
  pointer-events: none;
}
.vh-lp .vh-lp-ugc__card--review::after { inset: calc(var(--u) * 5.766) calc(var(--u) * 4.939) calc(var(--u) * 5.209) calc(var(--u) * 4.939); }

@media (max-width: 749px) {
  .vh-lp .vh-lp-ugc__track { padding-inline: 0; }
}

@media (min-width: 750px) {
  .vh-lp .vh-lp-ugc {
    --u: calc(min(100vw, 1920px) / 1920);
    --ugc-w: calc(var(--u) * 548);
    --ugc-h: calc(var(--u) * 780);
    --ugc-gap: calc(var(--u) * 46);
    --ugc-radius: calc(var(--u) * 20);
    padding: calc(var(--u) * 144) 0 calc(var(--u) * 134) calc(var(--u) * 105);
  }
  .vh-lp .vh-lp-section.vh-lp-ugc > .vh-lp-ugc__bg { inset: 0; left: 0; top: 0; width: auto; height: auto; }
  /* cover: exact at 1920 (the export is 1920x1058 at 2x); above 1920 it crops instead of stretching. */
  .vh-lp .vh-lp-ugc__bg-img { height: 100%; object-fit: cover; }
  .vh-lp .vh-lp-ugc__bg--has-mobile .vh-lp-ugc__bg-img--desktop { display: block; }
  .vh-lp .vh-lp-ugc__bg-img--mobile { display: none; }
  .vh-lp .vh-lp-ugc__inner { grid-template-columns: calc(var(--u) * 857) minmax(0, 1fr); column-gap: 0; row-gap: 0; align-items: start; }
  .vh-lp .vh-lp-ugc__text { width: calc(var(--u) * 800); margin-top: calc(var(--u) * 211); }
  .vh-lp .vh-lp-ugc .vh-lp-eyebrow {
    width: calc(var(--u) * 536);
    margin: 0 0 calc(var(--u) * 26) calc(var(--u) * 140);
    font-size: calc(var(--u) * 42.76);
    color: #f2efe9;
  }
  .vh-lp .vh-lp-ugc .vh-lp-eyebrow::before,
  .vh-lp .vh-lp-ugc .vh-lp-eyebrow::after {
    /* Exported vectors 319:73 / 319:69 (line-55, line-56). */
    flex-basis: calc(var(--u) * 90.122);
    height: calc(var(--u) * 2);
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90.122 2' preserveAspectRatio='none'%3E%3Cpath transform='translate(-691 -4257)' d='M691 4258C692.502 4258.07 694.004 4258.13 695.506 4258.19C709.024 4258.73 722.543 4259 736.061 4259C749.579 4259 763.097 4258.73 776.616 4258.19C778.118 4258.13 779.62 4258.07 781.122 4258C779.62 4257.93 778.118 4257.87 776.616 4257.81C763.097 4257.27 749.579 4257 736.061 4257C722.543 4257 709.024 4257.27 695.506 4257.81C694.004 4257.87 692.502 4257.93 691 4258Z' fill='%23F2EFE9'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  }
  .vh-lp .vh-lp-ugc .vh-lp-eyebrow::before { margin-right: calc(var(--u) * 26); }
  .vh-lp .vh-lp-ugc .vh-lp-eyebrow::after { margin-left: calc(var(--u) * 30); }
  .vh-lp .vh-lp-ugc .vh-lp-eyebrow__text { flex-basis: calc(var(--u) * 300); }
  /* r6 sweep: Figma's two heading lines are not on one centre axis (319:43 'JOIN THOUSENDS' centred at 549.5, 319:44 'OF
     STORIES' at 512.5); centred alike they rendered +1.7 and -7. A -17.4 first-line indent moves line 1 8.7 left
     relative to line 2 (half the indent, the line being centred) and the block moves 7 right. */
  .vh-lp .vh-lp-ugc .vh-lp-heading { font-size: calc(var(--u) * 85.36); line-height: calc(var(--u) * 93.5); height: calc(var(--u) * 186); position: relative; top: calc(var(--u) * 20.5); left: calc(var(--u) * 7); text-indent: calc(var(--u) * -17.4); width: auto; margin-inline: 0; color: #fff; }
  /* Heading and J offsets land the baselines on the SVG export's (J 105 / 549.23, lines 529.75 and 622.75 from the background top). */
  .vh-lp .vh-lp-ugc .vh-lp-script--initial { left: calc(var(--u) * -36); top: calc(var(--u) * 20); }
  .vh-lp .vh-lp-ugc__sub { margin: calc(var(--u) * 26) 0 0 calc(var(--u) * 103); max-width: none; width: calc(var(--u) * 583); text-align: left; font-size: calc(var(--u) * 42.76); color: #fff; }

  .vh-lp .vh-lp-ugc__card { scroll-snap-align: start; }
  .vh-lp .vh-lp-ugc__track { scroll-snap-type: x proximity; }
  .vh-lp .vh-lp-ugc__media { inset: calc(var(--u) * 35) calc(var(--u) * 34) calc(var(--u) * 38) calc(var(--u) * 36.6); border-radius: calc(var(--u) * 20); }
  .vh-lp .vh-lp-ugc { --ugc-frame-w: calc(var(--u) * 2); }
  .vh-lp .vh-lp-ugc__card::after { inset: calc(var(--u) * 21) calc(var(--u) * 17) calc(var(--u) * 19) calc(var(--u) * 19); border-radius: calc(var(--u) * 20); }
  .vh-lp .vh-lp-ugc__card--review::after { inset: calc(var(--u) * 21) calc(var(--u) * 18) calc(var(--u) * 19) calc(var(--u) * 18); }
  .vh-lp .vh-lp-ugc__stars { left: calc(var(--u) * 196); top: calc(var(--u) * 240); }
  .vh-lp .vh-lp-ugc__stars svg { width: calc(var(--u) * 32); height: calc(var(--u) * 32); }
  .vh-lp .vh-lp-ugc__quote { left: calc(var(--u) * 78); top: calc(var(--u) * 303); width: calc(var(--u) * 394.3); height: calc(var(--u) * 206); font-size: calc(var(--u) * 43.6028); line-height: calc(var(--u) * 44); }
  /* Author box 546 in metadata; +10 lands its baseline on the export's (716). */
  .vh-lp .vh-lp-ugc__author { left: calc(var(--u) * 132); top: calc(var(--u) * 556); width: calc(var(--u) * 287.4); height: calc(var(--u) * 26); font-size: calc(var(--u) * 28.33); }
  .vh-lp .vh-lp-ugc__caption { font-size: 31px; }
}
/* END_SECTION:vh-lp-ugc-review-carousel */

/* START_SECTION:vh-lp-ugc-review-dashed (INDEX:68) */
/* Lengths written "Nu" are N Figma px at the 1920 desktop frame (>=750px) or the 402 mobile frame. */
.vh-lp .vh-lp-ugcd {
  --u: calc(100vw / 402);
  --cw-ugc: calc(var(--u) * 193.1);
  --cw-rev: calc(var(--u) * 192.9);
  --ch: calc(var(--u) * 286);
  --gap: calc(var(--u) * 15.4);
  /* Card corners: SVG export rx 10 (LP3 452:2484) and 7.39 (LP3-V2 452:2751); the dashed stroke sits 0.5 inside at rx 9.5 / 6.89 */
  --radius: calc(var(--u) * 10);
  padding: calc(var(--u) * var(--pt-m)) 0 calc(var(--u) * var(--pb-m));
}
.vh-lp .vh-lp-ugcd--r7-9 { --radius: calc(var(--u) * 7.39018); }

.vh-lp .vh-lp-ugcd__inner { position: relative; }

/*
  Heading: two Figma layers on one centre axis. Line 1 is group 452:2475 ("W" 452:2478 at x 121, "ord has" 452:2476 at x 156.23);
  lines 2-3 are 452:2480, 225.4 wide at x 79. Figma breaks it before "the", but Chrome's kerned "spread across the" is 221.5 and fits
  in 225.4, so each Figma line is its own "|" part rather than a wrap.
  Vertical: each line box top = SVG baseline - (L/2 + 0.3em), Shango Gothic ascent 0.8 / descent 0.2.
  SVG baselines relative to the card top: -71.7, -45.4, -19.4, so L = 26 inside 452:2480 and 26.3 from line 1 to line 2.
*/
.vh-lp .vh-lp-ugcd__text {
  position: absolute;
  left: calc(var(--u) * 79);
  width: calc(var(--u) * 225.4);
  top: calc(var(--u) * -91.9);
  margin: 0;
  font: inherit;
  pointer-events: none;
}
.vh-lp .vh-lp-ugcd__line { display: block; }
/* Line 1 starts at the W layer's origin (452:2478 x 121 = 42 into the column), as drawn */
.vh-lp .vh-lp-ugcd__line--a { text-align: left; padding-left: calc(var(--u) * 42); }
.vh-lp .vh-lp-ugcd__line--b,
.vh-lp .vh-lp-ugcd__line--c { text-align: center; }
.vh-lp .vh-lp-ugcd__line--b { margin-top: calc(var(--u) * 0.3); }
.vh-lp .vh-lp-ugcd .vh-lp-heading {
  display: block;
  font-size: calc(var(--u) * 24);
  line-height: calc(var(--u) * 26);
  color: var(--vh-lp-accent);
}
.vh-lp .vh-lp-ugcd--heading-text .vh-lp-heading { color: var(--vh-lp-fg); }
/*
  Figma draws the script initial as its own layer, so it must not stretch line 1 (line-height 0).
  "ord has" starts 35.23 after the W's origin (452:2476 x 156.23 - 452:2478 x 121); the W advance with letter spacing is 30.48.
*/
.vh-lp .vh-lp-ugcd .vh-lp-script--initial { line-height: 0; margin-right: calc(var(--u) * 4.75); }

.vh-lp .vh-lp-ugcd__track {
  display: flex;
  gap: var(--gap);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.vh-lp .vh-lp-ugcd__track::-webkit-scrollbar { display: none; }
.vh-lp .vh-lp-ugcd__track:focus-visible { outline: 2px solid var(--vh-lp-accent); outline-offset: 4px; }

.vh-lp .vh-lp-ugcd__card {
  position: relative;
  height: var(--ch);
  scroll-snap-align: center;
  border-radius: var(--radius);
  overflow: hidden;
  box-sizing: border-box;
  color: var(--vh-lp-fg);
}
.vh-lp .vh-lp-ugcd__card--ugc { flex: 0 0 var(--cw-ugc); }
.vh-lp .vh-lp-ugcd__card--review { flex: 0 0 var(--cw-rev); }
.vh-lp .vh-lp-ugcd__img { width: 100%; height: 100%; object-fit: cover; display: block; -webkit-user-drag: none; user-select: none; }
.vh-lp .vh-lp-ugcd__img--placeholder { background: #c9c3b6; }
.vh-lp .vh-lp-ugcd__caption {
  position: absolute;
  inset: 9.5% 8% auto;
  margin: 0;
  text-align: center;
  color: #fff;
  font-family: 'Noto Serif', Georgia, serif;
  font-size: calc(var(--u) * 11);
  line-height: 1.25;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
}

/* Dashed border: Figma rect, stroke #F2EFE9, dash pattern scaled with the card. Desktop (319:517 / 352:259): Figma fits a
   whole number of 5/5 periods to the 2551.67 centreline (254, so the period is 10.046, not 10) with the first dash centred
   10.02 along from the top-left corner's end; fitted on the LP3 and LP3-V2 exports alike (residual under 0.3px on every
   visible run), hence pathLength 2540 and dashoffset 2.522. */
.vh-lp .vh-lp-ugcd__dash { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; color: var(--vh-lp-cream); pointer-events: none; }
.vh-lp .vh-lp-ugcd__dash--d { display: none; }

.vh-lp .vh-lp-ugcd__stars { position: absolute; left: calc(var(--u) * 64.3); top: calc(var(--u) * 82.9); display: flex; }
.vh-lp .vh-lp-ugcd__stars svg { width: calc(var(--u) * 12.94); height: calc(var(--u) * 12.94); fill: var(--vh-lp-orange); display: block; max-width: none; }
/*
  Quote 452:2493 and author 452:2494: x and width from metadata, top-aligned.
  Line box top = SVG baseline - (L/2 + (ascent - content/2) em), from the fonts' hhea metrics:
  Kennerley Regular 715 / -250 (L/2 + 0.2325em), Kennerley Bold Italic 868 / -280 (L/2 + 0.294em).
  SVG baselines relative to the card top: quote 118.5 then every 18.0 (so L = 18), author 217.7.
*/
.vh-lp .vh-lp-ugcd__quote {
  position: absolute;
  left: calc(var(--u) * 16.59);
  top: calc(var(--u) * 105.4);
  width: calc(var(--u) * 159.49);
  text-align: center;
  font-size: calc(var(--u) * 17.63);
  line-height: calc(var(--u) * 18);
  letter-spacing: -0.04em;
  /* Figma sets "affirming" with the ffi ligature; Chrome drops ligatures under letter-spacing unless asked */
  font-feature-settings: "liga" 1;
  color: var(--vh-lp-cream);
  white-space: pre-wrap;
}
.vh-lp .vh-lp-ugcd__quote p { margin: 0; }
.vh-lp .vh-lp-ugcd__author {
  position: absolute;
  left: calc(var(--u) * 38.43);
  top: calc(var(--u) * 208.61);
  width: calc(var(--u) * 116.24);
  margin: 0;
  text-align: center;
  white-space: nowrap;
  font-family: var(--font-kennerley-bold-italic, 'LTC Kennerley Pro Bold Italic'), Georgia, serif;
  font-style: italic;
  font-weight: 700;
  font-size: calc(var(--u) * 11.45);
  line-height: calc(var(--u) * 11.45);
  letter-spacing: -0.02em;
  font-feature-settings: "liga" 1;
  color: var(--vh-lp-cream);
}

/* Mouse drag-to-scroll (desktop pointer) */
.vh-lp .vh-lp-ugcd__track.is-grabbable { cursor: grab; }
.vh-lp .vh-lp-ugcd__track.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.vh-lp .vh-lp-ugcd__track.is-dragging * { pointer-events: none; }

@media (min-width: 750px) {
  .vh-lp .vh-lp-ugcd {
    --u: calc(min(100vw, 1920px) / 1920);
    --cw-ugc: calc(var(--u) * 522.57);
    --cw-rev: calc(var(--u) * 522.18);
    --ch: calc(var(--u) * 773.96);
    --gap: calc(var(--u) * 41.7);
    --radius: calc(var(--u) * 20);
    padding: calc(var(--u) * var(--pt-d)) 0 calc(var(--u) * var(--pb-d));
  }
  .vh-lp .vh-lp-ugcd__inner { display: grid; grid-template-columns: calc(var(--u) * 918) minmax(0, 1fr); align-items: start; }
  /*
    Heading: line 1 group 319:359 ("W" 319:362 at x 246, "ord has" 319:360 at x 367); lines 2-3 are 319:378, 774 wide at x 102.
    SG 85.36 / 89.93 (Figma style; the SVG pitch inside 319:378 is 90.0). SVG baselines relative to the card top: 352.0, 439.0, 529.0,
    so line 1 to line 2 is 87 (two layers): line-box top 352.0 - (89.93/2 + 0.3 x 85.36) = 281.43, and line 2 sits 87 - 89.93 higher than flow.
  */
  .vh-lp .vh-lp-ugcd__text { left: calc(var(--u) * 102); width: calc(var(--u) * 774); top: calc(var(--u) * 281.43); }
  .vh-lp .vh-lp-ugcd__line--a { padding-left: calc(var(--u) * 144); }
  .vh-lp .vh-lp-ugcd__line--b { margin-top: calc(var(--u) * -2.93); }
  .vh-lp .vh-lp-ugcd .vh-lp-heading { font-size: calc(var(--u) * 85.36); line-height: calc(var(--u) * 89.93); }
  /* "ord has" starts 121.0 after the W's origin (367 - 246); the W advance with letter spacing is 107.36 */
  .vh-lp .vh-lp-ugcd .vh-lp-script--initial { margin-right: calc(var(--u) * 13.64); }
  .vh-lp .vh-lp-ugcd__track { grid-column: 2; scroll-snap-type: x proximity; }
  .vh-lp .vh-lp-ugcd__card { scroll-snap-align: start; }
  .vh-lp .vh-lp-ugcd__dash--d { display: block; }
  .vh-lp .vh-lp-ugcd__dash--m { display: none; }
  .vh-lp .vh-lp-ugcd__caption { font-size: calc(var(--u) * 31); }
  .vh-lp .vh-lp-ugcd__stars { left: calc(var(--u) * 174); top: calc(var(--u) * 224.4); }
  .vh-lp .vh-lp-ugcd__stars svg { width: calc(var(--u) * 35.03); height: calc(var(--u) * 35.03); }
  /* Quote 319:525 and author 319:526. SVG baselines relative to the card top: quote 320.2 then every 48.0 (so L = 48), author 587.6. */
  .vh-lp .vh-lp-ugcd__quote { left: calc(var(--u) * 44.88); top: calc(var(--u) * 285.1); width: calc(var(--u) * 431.61); font-size: calc(var(--u) * 47.73); line-height: calc(var(--u) * 48); }
  .vh-lp .vh-lp-ugcd__author { left: calc(var(--u) * 104); top: calc(var(--u) * 562.99); width: calc(var(--u) * 314.59); font-size: calc(var(--u) * 31); line-height: calc(var(--u) * 31); }
}
/* END_SECTION:vh-lp-ugc-review-dashed */

/* START_SECTION:vh-lp-ugc-review-outline (INDEX:69) */
/* Design lengths are "Nu": N Figma px at the 402 mobile frame (<750px) or the 1920 desktop frame (>=750px). */
.vh-lp .vh-lp-ugcol {
  --u: calc(100vw / 402);
  --h: 409.6;
  --line: var(--vh-lp-fg);
  --quote: var(--vh-lp-fg);
  --star: var(--vh-lp-cream);
  --card-w: 140.5;
  --review-w: 140.5;
  --gap: 11.5;
  --card-h: 203;
  --r: 10;
  --bw: 1;
  --track-x: 0;
  --track-y: 139;
  --head-x: 104;
  --head-y: 33;
  --head-w: 195;
  --pad: 0;
  padding: 0;
  height: calc(var(--u) * var(--h));
}
/* Cream (LP2-V2) ends at the top of the next section's tear (402 frame y 4452), not at the cards (4421). */
.vh-lp .vh-lp-ugcol--cream {
  --h: 373;
  --line: var(--vh-lp-orange);
  --quote: var(--vh-lp-body);
  --star: var(--vh-lp-orange);
}
.vh-lp .vh-lp-ugcol__stage { position: relative; width: 100%; height: 100%; margin-inline: auto; }

/* Heading: three lines. Line 1 is a script initial in a fixed box plus the Shango rest, so the two lines centre as Figma's group does. */
.vh-lp .vh-lp-ugcol .vh-lp-heading {
  position: absolute;
  left: calc(var(--u) * (var(--head-x) - 4));
  top: calc(var(--u) * var(--head-y));
  width: calc(var(--u) * (var(--head-w) + 8));
  margin: 0;
  font-size: calc(var(--u) * 24);
  line-height: calc(var(--u) * 27.9);
  text-align: center;
  color: var(--vh-lp-accent);
  z-index: 1;
}
.vh-lp .vh-lp-ugcol--dark .vh-lp-heading { color: var(--vh-lp-fg); }
/* Figma's script text nodes carry -2% of their own size; the heading's -0.02em reaches them as px of the heading size. */
.vh-lp .vh-lp-ugcol .vh-lp-script { letter-spacing: -0.02em; }
.vh-lp .vh-lp-ugcol .vh-lp-script--initial {
  display: inline-block;
  width: calc(var(--u) * 22);
  margin-right: 0;
  text-align: left;
  line-height: 0;
  position: relative;
  top: calc(var(--u) * 3);
}
.vh-lp .vh-lp-ugcol .vh-lp-script:not(.vh-lp-script--initial) {
  display: block;
  font-size: 1.875em;
  line-height: calc(var(--u) * 27.9);
  position: relative;
  left: calc(var(--u) * -0.6);
  top: calc(var(--u) * -4);
}

.vh-lp .vh-lp-ugcol__track {
  position: absolute;
  top: calc(var(--u) * var(--track-y));
  left: 0;
  right: 0;
  display: flex;
  align-items: flex-start;
  gap: calc(var(--u) * var(--gap));
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
  z-index: 1;
}
.vh-lp .vh-lp-ugcol__track::-webkit-scrollbar { display: none; }
.vh-lp .vh-lp-ugcol__track:focus-visible { outline: 2px solid var(--vh-lp-accent); outline-offset: 4px; }
.vh-lp .vh-lp-ugcol__track.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.vh-lp .vh-lp-ugcol__track.is-dragging * { pointer-events: none; }

.vh-lp .vh-lp-ugcol__card {
  position: relative;
  flex: 0 0 calc(var(--u) * var(--card-w));
  height: calc(var(--u) * var(--card-h));
  scroll-snap-align: center;
  box-sizing: border-box;
  color: var(--quote);
}
.vh-lp .vh-lp-ugcol__card--review { flex-basis: calc(var(--u) * var(--review-w)); }
/* Mobile: Figma insets each photo inside its outline by a different amount (LP2 463:4108, 463:4114), so each UGC block carries its own inset. */
.vh-lp .vh-lp-ugcol__media {
  position: absolute;
  inset: calc(var(--u) * var(--mi-t, 0)) calc(var(--u) * var(--mi-r, 0)) calc(var(--u) * var(--mi-b, 0)) calc(var(--u) * var(--mi-l, 0));
  border-radius: calc(var(--u) * var(--r));
  overflow: hidden;
}
.vh-lp .vh-lp-ugcol__img { width: 100%; height: 100%; object-fit: cover; display: block; -webkit-user-drag: none; }
.vh-lp .vh-lp-ugcol__img--placeholder { background: #c9c3b6; }
.vh-lp .vh-lp-ugcol__caption {
  position: absolute;
  inset: 9.5% 8% auto;
  margin: 0;
  text-align: center;
  color: #fff;
  font-family: 'Noto Serif', Georgia, serif;
  font-size: calc(var(--u) * 9);
  line-height: 1.25;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
}
/* Outline: photo cards carry the Figma stroke over the image, review cards have the stroke only. */
.vh-lp .vh-lp-ugcol__card::after {
  content: '';
  position: absolute;
  inset: 0;
  border: calc(var(--u) * var(--bw)) solid var(--line);
  border-radius: calc(var(--u) * var(--r));
  pointer-events: none;
}

.vh-lp .vh-lp-ugcol__stars { position: absolute; left: calc(var(--u) * 48.8); top: calc(var(--u) * 59.1); width: calc(var(--u) * 43.9); height: calc(var(--u) * 8.8); display: flex; justify-content: center; }
.vh-lp .vh-lp-ugcol__stars svg { flex: 0 0 calc(var(--u) * 8.8); width: calc(var(--u) * 8.8); height: calc(var(--u) * 8.8); fill: var(--star); display: block; }
.vh-lp .vh-lp-ugcol__quote {
  position: absolute;
  left: calc(var(--u) * 16.5);
  top: calc(var(--u) * 77);
  width: calc(var(--u) * 108.2);
  height: calc(var(--u) * 56);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: calc(var(--u) * 11.96);
  /* Figma rounds the 100% line height to whole px: svg-frames baselines 12 apart at 402, 44 apart at 1920 */
  line-height: calc(var(--u) * 12);
  letter-spacing: -0.04em;
  /* Figma sets 'affirming' with the ffi ligature; Chrome drops ligatures under letter-spacing unless asked */
  font-feature-settings: "liga" 1;
  color: var(--quote);
}
.vh-lp .vh-lp-ugcol__quote p { margin: 0; white-space: pre-wrap; }
.vh-lp .vh-lp-ugcol__author {
  position: absolute;
  left: calc(var(--u) * 31.3);
  top: calc(var(--u) * 146);
  width: calc(var(--u) * 78.8);
  height: calc(var(--u) * 7.1);
  margin: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  text-align: center;
  white-space: nowrap;
  font-family: var(--font-kennerley-bold-italic, 'LTC Kennerley Pro Bold Italic'), Georgia, serif;
  font-style: italic;
  font-weight: 700;
  font-size: calc(var(--u) * 7.77);
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: var(--quote);
}
.vh-lp .vh-lp-ugcol__glow { display: none; }

@media (min-width: 750px) {
  .vh-lp .vh-lp-ugcol {
    --u: calc(min(100vw, 1920px) / 1920);
    --h: 1095;
    --star: var(--vh-lp-orange);
    --card-w: 477.36;
    --review-w: 512;
    --gap: 50;
    --card-h: 707;
    --r: 20;
    --bw: 2;
    --track-x: 983.55;
    --track-y: 121;
    --head-x: 106;
    --head-y: 392;
    --head-w: 802.9;
    --pad: 4;
  }
  /* LP2-V2: the cream runs to the top of the next tear, 354:711 jag top at frame y 10961 (section top 10036). */
  .vh-lp .vh-lp-ugcol--cream {
    --h: 925;
    --star: var(--vh-lp-orange);
    --quote: #370a16;
    --card-w: 497.8;
    --gap: 51.6;
    --track-x: 996.6;
    --head-x: 108;
    --head-y: 336;
  }
  .vh-lp .vh-lp-ugcol__stage { width: calc(var(--u) * 1920); }
  .vh-lp .vh-lp-ugcol .vh-lp-heading {
    left: calc(var(--u) * (var(--head-x) - 14));
    top: calc(var(--u) * var(--head-y));
    width: calc(var(--u) * (var(--head-w) + 28));
    font-size: calc(var(--u) * 98.6076);
    line-height: calc(var(--u) * 107.5);
  }
  .vh-lp .vh-lp-ugcol .vh-lp-script--initial { width: calc(var(--u) * 85.5); left: calc(var(--u) * -5); top: calc(var(--u) * 12); }
  .vh-lp .vh-lp-ugcol .vh-lp-script:not(.vh-lp-script--initial) {
    font-size: 1.857em;
    line-height: calc(var(--u) * 107.5);
    left: calc(var(--u) * -25.7);
    top: calc(var(--u) * -9.5);
  }
  .vh-lp .vh-lp-ugcol__track {
    left: calc(var(--u) * (var(--track-x) - var(--pad)));
    right: calc((100vw - min(100vw, 1920px)) / -2);
    top: calc(var(--u) * (var(--track-y) - var(--pad)));
    padding: calc(var(--u) * var(--pad));
    scroll-padding-left: calc(var(--u) * var(--pad));
    scroll-snap-type: x proximity;
  }
  .vh-lp .vh-lp-ugcol__card { scroll-snap-align: start; }
  .vh-lp .vh-lp-ugcol__media { inset: 0; }
  .vh-lp .vh-lp-ugcol__card--ugc::after { inset: calc(var(--u) * -2); border-radius: calc(var(--u) * 22); }
  .vh-lp .vh-lp-ugcol__caption { font-size: 31px; }
  .vh-lp .vh-lp-ugcol__stars { left: calc(var(--u) * 178); top: calc(var(--u) * 204); width: calc(var(--u) * 160); height: calc(var(--u) * 32); }
  .vh-lp .vh-lp-ugcol__stars svg { flex-basis: calc(var(--u) * 32); width: calc(var(--u) * 32); height: calc(var(--u) * 32); }
  .vh-lp .vh-lp-ugcol__quote { left: calc(var(--u) * 60); top: calc(var(--u) * 267); width: calc(var(--u) * 394.3); height: calc(var(--u) * 206); font-size: calc(var(--u) * 43.6028); line-height: calc(var(--u) * 44); }
  .vh-lp .vh-lp-ugcol__author { left: calc(var(--u) * 114); top: calc(var(--u) * 521); width: calc(var(--u) * 287.4); height: calc(var(--u) * 26); font-size: calc(var(--u) * 28.3344); }
  .vh-lp .vh-lp-ugcol__glow { display: block; position: absolute; width: calc(var(--u) * 885); height: calc(var(--u) * 885); pointer-events: none; z-index: 0; overflow: visible; }
  .vh-lp .vh-lp-ugcol__glow--a { left: calc(var(--u) * 690); top: calc(var(--u) * 258); }
  .vh-lp .vh-lp-ugcol__glow--b { left: calc(var(--u) * 1633); top: calc(var(--u) * -266); }
  /* Figma's warm glow (319:554) runs up behind the oval above: let it rise over the neighbour's paper, under the oval's
     picture (the stage is not a stacking context, so the glow's z-index 0 sits below the oval's z-index 1 ellipse). */
  .vh-lp .vh-lp-ugcol--dark.vh-lp-section {
    overflow-x: clip;
    overflow-y: visible;
    clip-path: inset(calc(-300 * var(--u)) 0 0 0);
  }
  .vh-lp .vh-lp-ugcol--dark .vh-lp-ugcol__stage { z-index: auto; }
}
/* Bottom tear lift on mobile (setting, 402-frame px): r6 sweep, LP2's tear 505:7704 sits 34 above the buy box top where
   LP2-V3's (505:7702) sits 35, so LP2's measured 2.25 low with the same section. */
@media (max-width: 749px) {
  .vh-lp .vh-lp-ugcol .vh-lp-torn--bottom { --vh-lp-torn-bottom-y: calc(-1px + var(--ugcol-blm, 0) * 100vw / 402); }
}
/* END_SECTION:vh-lp-ugc-review-outline */

/* START_SECTION:vh-pdp-faq (INDEX:70) */
.vh-pdp-lower.vh-pdp-faq {
    padding-top: 10px;
  }
  .vh-pdp-lower .vh-pdp-faq__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  .vh-pdp-lower .vh-pdp-faq__list {
    min-width: 0;
    max-width: 760px;
  }
  .vh-pdp-lower.vh-pdp-faq .vh-pdp-lower__acc summary {
    font-family: var(--vh-display);
    font-size: 1.12rem;
  }
  @media (min-width: 800px) {
    .vh-pdp-lower .vh-pdp-faq__grid {
      grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
      gap: 40px;
      align-items: start;
    }
  }
/* END_SECTION:vh-pdp-faq */

/* START_SECTION:vh-pdp-main (INDEX:71) */
/* Velvet Hammer PDP v2 - top of page. Brand type comes from the theme's own font variables
     (Shango Gothic Medium display, Kennerley body and italic). Colours are the mockup tokens, with
     the gold, dim and moss text tokens darkened to pass AA on cream (same values as the sections below). */
  .vh-pdp {
    --vh-ink: #1c1119;
    --vh-velvet: #fbf9f5;
    --vh-velvet-2: #e9e2d6;
    --vh-parchment: #221f19;
    --vh-dim: #5f574d;
    --vh-cream: #f2efe9;
    --vh-burg: #5c1f2e;
    --vh-burg-2: #7a2c3d;
    --vh-gold: #b08a3e;
    --vh-gold-text: #7a5c1f;
    --vh-gold-on-dark: #d4b36a;
    --vh-gold-wash: #f5ecd9;
    --vh-moss: #486645;
    --vh-light: #f6eee4;
    --vh-light-2: #f2e6d6;
    --vh-muted-dark: #cdb9a9;
    --vh-line: rgb(34 31 25 / 0.12);
    --vh-display: var(--font-shango-gothic-medium), 'Iowan Old Style', Georgia, serif;
    --vh-italic: var(--font-kennerley-italic), Georgia, serif;
    --vh-body: var(--font-kennerley), Georgia, serif;
    --vh-bold: var(--font-kennerley-bold), Georgia, serif;

    background: var(--vh-cream);
    color: var(--vh-parchment);
    font-family: var(--vh-body);
    font-size: 16px;
    line-height: 1.5;
    padding-block: var(--vh-pad-top, 10px) var(--vh-pad-bottom, 36px);
  }

  .vh-pdp *,
  .vh-pdp *::before,
  .vh-pdp *::after {
    box-sizing: border-box;
  }

  .vh-pdp__cq {
    container-type: inline-size;
    container-name: vhpdp;
  }

  .vh-pdp :where(h1, h2, h3, p, ul, ol, fieldset, legend) {
    margin: 0;
    padding: 0;
  }

  .vh-pdp :is(button, input, select) {
    font-family: inherit;
  }

  .vh-pdp :focus-visible {
    outline: 2px solid var(--vh-gold-text);
    outline-offset: 3px;
  }

  .vh-wrap {
    width: 100%;
    max-width: 1120px;
    margin-inline: auto;
    padding-inline: 20px;
  }

  .vh-pdp em {
    font-style: italic;
    color: var(--vh-burg);
  }

  .vh-pdp sup {
    font-size: 0.6em;
    line-height: 0;
    font-style: normal;
    color: var(--vh-dim);
  }

  .vh-eyebrow {
    display: block;
    font-family: var(--vh-bold);
    font-size: 0.72rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--vh-gold-on-dark);
  }

  .vh-eyebrow--gold {
    color: var(--vh-gold-text);
  }

  /* Breadcrumb */
  .vh-crumbs {
    padding-top: 14px;
    font-size: 0.8rem;
    color: var(--vh-dim);
    letter-spacing: 0.02em;
  }

  .vh-crumbs ol {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
  }

  .vh-crumbs li + li::before {
    content: '/';
    margin-inline: 0.4em;
  }

  .vh-crumbs a {
    color: inherit;
    text-decoration: none;
  }

  .vh-crumbs a:hover {
    text-decoration: underline;
  }

  /* Layout */
  .vh-top-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    align-items: start;
    margin-top: 12px;
  }

  @container vhpdp (min-width: 800px) {
    .vh-pdp .vh-top-grid {
      grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
      gap: 48px;
    }

    .vh-pdp .vh-gallery {
      position: sticky;
      top: calc(var(--header-height, 0px) + 16px);
    }

    .vh-pdp .vh-buy {
      gap: 18px;
    }

    .vh-pdp .vh-potion {
      padding: 22px;
    }
  }

  /* Gallery */
  .vh-gallery {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    min-width: 0;
  }

  .vh-g-wrap {
    position: relative;
    min-width: 0;
  }

  .vh-g-track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    border-radius: 18px;
    cursor: grab;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }

  .vh-g-track::-webkit-scrollbar {
    display: none;
  }

  .vh-g-track.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
  }

  .vh-slide {
    position: relative;
    flex: 0 0 100%;
    min-width: 0;
    aspect-ratio: 1 / 1;
    scroll-snap-align: start;
    overflow: hidden;
    background: var(--vh-velvet-2);
  }

  .vh-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    -webkit-user-drag: none;
    user-select: none;
  }

  .vh-g-count {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 4;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgb(28 17 25 / 0.78);
    color: var(--vh-light);
    font-family: var(--vh-bold);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    font-variant-numeric: tabular-nums;
  }

  .vh-video {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: var(--vh-velvet-2);
    cursor: pointer;
  }

  .vh-video__el {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
    background: #000;
  }

  .vh-play {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: grid;
    place-items: center;
    pointer-events: none;
  }

  .vh-play i {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: rgb(246 238 228 / 0.92);
  }

  .vh-play svg {
    width: 18px;
    height: 18px;
    margin-left: 3px;
    fill: var(--vh-ink);
  }

  .vh-play--sm i {
    width: 30px;
    height: 30px;
  }

  .vh-play--sm svg {
    width: 11px;
    height: 11px;
  }

  .vh-thumbs {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 36px) / 7);
    gap: 6px;
    overflow-x: auto;
    padding: 3px;
    margin: -3px;
    scrollbar-width: thin;
  }

  .vh-thumb {
    position: relative;
    aspect-ratio: 1 / 1;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 8px;
    background: var(--vh-velvet-2);
    cursor: pointer;
    overflow: hidden;
  }

  .vh-thumb[aria-current='true'] {
    border-color: var(--vh-gold-text);
  }

  .vh-thumb__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .vh-thumb--tile_helps {
    background: radial-gradient(120% 90% at 85% 10%, color-mix(in srgb, var(--vh-b) 70%, transparent), transparent 60%), var(--vh-ink);
  }

  .vh-thumb--tile_taste {
    background: linear-gradient(160deg, var(--vh-a), var(--vh-b));
  }

  .vh-thumb--tile_facts {
    background: #fffdfa;
    border-color: var(--vh-line);
  }

  .vh-thumb--tile_facts[aria-current='true'] {
    border-color: var(--vh-gold-text);
  }

  .vh-thumb__lbl {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 2px;
    color: var(--vh-light);
    font-family: var(--vh-bold);
    font-size: 0.55rem;
    letter-spacing: 0.06em;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
  }

  .vh-thumb--tile_facts .vh-thumb__lbl {
    color: var(--vh-parchment);
  }

  /* Text tiles */
  .vh-tile {
    display: grid;
    align-content: space-between;
    padding: 26px 24px;
    color: var(--vh-light-2);
    font-size: 1rem;
    text-align: left;
  }

  .vh-tile--tile_helps {
    background:
      radial-gradient(120% 90% at 85% 10%, color-mix(in srgb, var(--vh-b) 70%, transparent), transparent 60%),
      radial-gradient(90% 70% at 10% 100%, rgb(92 31 46 / 0.6), transparent 60%),
      var(--vh-ink);
  }

  .vh-tile__h {
    margin-top: 6px;
    font-family: var(--vh-italic);
    font-size: clamp(1.9rem, 9cqw, 2.6rem);
    font-style: italic;
    line-height: 1.05;
    color: var(--vh-light);
  }

  .vh-tile ul {
    display: grid;
    gap: 10px;
    list-style: none;
  }

  .vh-tile li {
    display: flex;
    gap: 10px;
    align-items: baseline;
    font-size: 0.98rem;
    color: var(--vh-light-2);
  }

  .vh-tile li::before {
    content: '';
    flex: 0 0 18px;
    height: 18px;
    border: 1px solid var(--vh-gold-on-dark);
    border-radius: 50%;
    background: radial-gradient(circle, var(--vh-gold-on-dark) 0 3px, transparent 4px);
    transform: translateY(3px);
  }

  .vh-tile sup {
    color: var(--vh-muted-dark);
  }

  .vh-t-foot {
    display: flex;
    justify-content: space-between;
    align-items: end;
    color: var(--vh-muted-dark);
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .vh-tile--tile_taste {
    background:
      radial-gradient(90% 80% at 20% 15%, rgb(255 255 255 / 0.16), transparent 60%),
      linear-gradient(160deg, var(--vh-a), var(--vh-b));
  }

  .vh-big {
    font-family: var(--vh-display);
    font-size: clamp(2.4rem, 12cqw, 3.4rem);
    line-height: 1;
    color: var(--vh-light);
  }

  .vh-big em {
    display: block;
    color: var(--vh-gold-on-dark);
  }

  .vh-taste__foot {
    display: grid;
    gap: 14px;
  }

  .vh-notes {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }

  .vh-notes span {
    padding: 5px 11px;
    border: 1px solid rgb(246 238 228 / 0.55);
    border-radius: 999px;
    font-size: 0.8rem;
    color: var(--vh-light);
  }

  .vh-mixline {
    padding-top: 12px;
    border-top: 1px solid rgb(246 238 228 / 0.25);
    font-size: 0.9rem;
    color: var(--vh-light-2);
  }

  .vh-mixline b {
    font-family: var(--vh-italic);
    font-style: italic;
    font-weight: 400;
    font-size: 1.08rem;
    color: var(--vh-gold-on-dark);
  }

  .vh-tile--tile_facts {
    align-content: start;
    padding: 20px;
    background: #fffdfa;
    color: var(--vh-parchment);
  }

  .vh-facts {
    display: grid;
    padding: 10px 12px;
    border: 2px solid var(--vh-parchment);
    font-size: 0.8rem;
    font-variant-numeric: tabular-nums;
  }

  .vh-facts__t {
    font-family: var(--vh-bold);
    font-size: 1.35rem;
    line-height: 1.1;
    letter-spacing: -0.01em;
  }

  .vh-facts__r {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding-block: 4px;
    border-bottom: 1px solid var(--vh-parchment);
  }

  .vh-facts__r--thick {
    border-bottom-width: 6px;
  }

  .vh-facts__r--med {
    border-bottom-width: 3px;
  }

  .vh-facts__r b {
    font-family: var(--vh-bold);
    font-weight: 400;
  }

  .vh-facts__other {
    padding-top: 6px;
    font-size: 0.7rem;
    line-height: 1.4;
  }

  /* Buy column */
  .vh-buy {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    min-width: 0;
  }

  .vh-rating {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    color: var(--vh-dim);
    font-size: 0.9rem;
    text-decoration: none;
  }

  .vh-rating b {
    font-family: var(--vh-bold);
    font-weight: 400;
    color: var(--vh-parchment);
  }

  .vh-stars {
    font-size: 1.2rem;
    letter-spacing: 0.08em;
    white-space: nowrap;
    background: linear-gradient(90deg, var(--vh-gold) var(--vh-pct, 100%), rgb(34 31 25 / 0.22) var(--vh-pct, 100%));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }

  .vh-title-block {
    display: grid;
    gap: 6px;
  }

  .vh-pdp h1 {
    font-family: var(--vh-display);
    font-size: clamp(2.1rem, 8.5cqw, 3.3rem);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: 0;
    text-transform: none;
    text-wrap: balance;
    color: var(--vh-parchment);
  }

  .vh-why {
    font-family: var(--vh-italic);
    font-style: italic;
    font-size: 1.3rem;
    color: var(--vh-burg);
  }

  .vh-checks {
    display: grid;
    gap: 7px;
    list-style: none;
  }

  .vh-checks li {
    display: flex;
    gap: 10px;
    align-items: baseline;
    font-size: 1rem;
  }

  .vh-checks li::before {
    content: '';
    flex: 0 0 16px;
    height: 9px;
    border-left: 2px solid var(--vh-moss);
    border-bottom: 2px solid var(--vh-moss);
    transform: rotate(-45deg) translateY(-3px);
  }

  .vh-flavor {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 10px 14px;
    border: 1px solid var(--vh-line);
    border-radius: 12px;
    background: var(--vh-velvet);
    font-size: 0.95rem;
  }

  .vh-flavor__dot {
    flex: 0 0 26px;
    height: 26px;
    border-radius: 50%;
    background:
      radial-gradient(circle at 35% 30%, rgb(255 255 255 / 0.4) 0 3px, transparent 4px),
      linear-gradient(135deg, var(--vh-a), var(--vh-b));
  }

  .vh-flavor b {
    font-family: var(--vh-italic);
    font-style: italic;
    font-weight: 400;
    font-size: 1.1rem;
    color: var(--vh-burg);
  }

  .vh-blurb {
    max-width: 52ch;
    font-size: 1rem;
    color: var(--vh-dim);
  }

  .vh-form-component {
    display: grid;
    gap: 16px;
    min-width: 0;
  }

  .vh-opt-h {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
    width: 100%;
    margin-bottom: 8px;
    font-family: var(--vh-bold);
    font-size: 0.75rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--vh-parchment);
  }

  .vh-opt-h__note {
    font-family: var(--vh-body);
    font-size: 0.85rem;
    letter-spacing: 0.02em;
    text-transform: none;
    color: var(--vh-dim);
  }

  .vh-packs-field {
    min-width: 0;
    border: 0;
  }

  .vh-packs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .vh-pack {
    position: relative;
    display: grid;
    gap: 2px;
    justify-items: center;
    padding: 14px 6px 12px;
    border: 1.5px solid var(--vh-line);
    border-radius: 14px;
    background: var(--vh-velvet);
    color: var(--vh-parchment);
    text-align: center;
    cursor: pointer;
  }

  .vh-pack:hover {
    border-color: rgb(92 31 46 / 0.45);
  }

  .vh-pack.is-checked,
  .vh-pack:has(input:checked) {
    border-color: var(--vh-burg);
    box-shadow: inset 0 0 0 1px var(--vh-burg);
  }

  .vh-pack:has(input:focus-visible) {
    outline: 2px solid var(--vh-gold-text);
    outline-offset: 3px;
  }

  .vh-pack.is-soldout {
    opacity: 0.55;
    cursor: not-allowed;
  }

  .vh-pack input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
  }

  .vh-pack__n {
    font-family: var(--vh-display);
    font-size: 1.6rem;
    line-height: 1;
  }

  .vh-pack__n--text {
    font-size: 1.1rem;
  }

  .vh-pack__u {
    font-size: 0.8rem;
    color: var(--vh-dim);
  }

  .vh-pack__s {
    min-height: 1.2em;
    margin-top: 4px;
    font-family: var(--vh-bold);
    font-size: 0.7rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--vh-moss);
  }

  .vh-pack__flag {
    position: absolute;
    top: -9px;
    left: 50%;
    transform: translateX(-50%);
    padding: 3px 7px;
    border-radius: 4px;
    background: var(--vh-burg);
    color: var(--vh-light);
    font-family: var(--vh-bold);
    font-size: 0.6rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    white-space: nowrap;
  }

  /* Purchase type and frequency: the Stay AI widget, restyled only */
  .vh-purchase .stayai-widget {
    margin: 0;
  }

  .vh-purchase .stayai-subscriptions-title {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .vh-purchase .stayai-subscriptions > ul {
    display: grid;
    gap: 10px;
    list-style: none;
  }

  .vh-purchase .stayai-purchase-label {
    position: relative;
    display: block;
    padding: 14px 16px;
    border: 1.5px solid var(--vh-line);
    border-radius: 16px;
    background: var(--vh-velvet);
    color: var(--vh-parchment);
    cursor: pointer;
  }

  .vh-purchase .stayai-purchase-label:has(.stayai-plan-dropdown.is-open) {
    z-index: 4;
  }

  .vh-purchase .stayai-purchase-label.is-selected {
    border-color: var(--vh-burg);
    box-shadow: inset 0 0 0 1px var(--vh-burg);
  }

  .vh-purchase .stayai-purchase-label--subscription.is-selected {
    border-color: var(--vh-gold-text);
    background: var(--vh-gold-wash);
    box-shadow: inset 0 0 0 1px var(--vh-gold-text);
  }

  .vh-purchase .stayai-purchase-label:has(input:focus-visible) {
    outline: 2px solid var(--vh-gold-text);
    outline-offset: 3px;
  }

  .vh-purchase .stayai-purchase-label input[type='radio'] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
  }

  /* The save chip sits on the card's top edge instead of a full-width bar. */
  .vh-purchase .stayai-subscription-header {
    position: absolute;
    top: -10px;
    left: 46px;
    width: auto;
    margin: 0;
    padding: 3px 8px;
    border-radius: 4px;
    background: var(--vh-gold-text);
    color: #fffdfa;
    font-family: var(--vh-bold);
    font-size: 0.65rem;
    letter-spacing: 0.1em;
  }

  .vh-purchase .stayai-purchase-label__wrapper {
    position: relative;
  }

  .vh-purchase .stayai-purchase-label__inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    padding-inline-start: 30px;
  }

  .vh-purchase .stayai-purchase-label--one-time .stayai-purchase-label__inner {
    align-items: center;
  }

  /* custom radio circle */
  .vh-purchase .stayai-purchase-label__inner::before {
    content: '';
    position: absolute;
    top: 2px;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1.5px solid rgb(34 31 25 / 0.55);
    border-radius: 50%;
    background: transparent;
  }

  .vh-purchase .stayai-purchase-label--one-time .stayai-purchase-label__inner::before {
    top: 50%;
    transform: translateY(-50%);
  }

  .vh-purchase .stayai-purchase-label.is-selected .stayai-purchase-label__inner::before {
    border-color: var(--vh-gold-text);
    background: radial-gradient(circle, var(--vh-gold-text) 0 5px, transparent 6px);
  }

  .vh-purchase .stayai-purchase-label__inner__wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 0;
  }

  .vh-purchase .stayai-purchase-label__title {
    font-family: var(--vh-bold);
    font-size: 1rem;
    line-height: 1.3;
  }

  .vh-purchase .stayai-purchase-label__subtext {
    display: block;
    min-height: 1.3em;
    font-family: var(--vh-body);
    font-size: 0.85rem;
    line-height: 1.3;
    color: var(--vh-dim);
  }

  .vh-purchase .stayai-purchase-label__price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex-shrink: 0;
    margin-inline-start: auto;
    text-align: end;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }

  /* NIM-3056: no strike-through list price on the subscribe row (founder edit). */
  .vh-purchase [data-stayai-subscription-price] s {
    display: none;
  }

  .vh-purchase [data-stayai-onetime-price],
  .vh-purchase [data-stayai-subscription-price] {
    display: inline-flex;
    flex-direction: row-reverse;
    align-items: baseline;
    justify-content: flex-end;
    gap: 6px;
    min-height: 1.4em;
    font-family: var(--vh-bold);
    font-size: 1.05rem;
  }

  .vh-purchase [data-stayai-onetime-price] s,
  .vh-purchase [data-stayai-subscription-price] s {
    font-family: var(--vh-body);
    font-size: 0.9rem;
    color: var(--vh-dim);
  }

  .vh-purchase [data-stayai-onetime-serving],
  .vh-purchase [data-stayai-subscription-serving] {
    display: block;
    min-height: 1em;
    margin-top: 2px;
    font-size: 0.78rem;
    line-height: 1;
    color: var(--vh-dim);
  }

  /* Perks and gift line show only on the chosen card. */
  .vh-purchase .stayai-purchase-label:not(.is-selected) .stayai-subscription-details-container,
  .vh-purchase .stayai-purchase-label:not(.is-selected) .stayai-plan-dropdown {
    display: none;
  }

  .vh-purchase .stayai-subscription-details-container {
    margin-top: 10px;
    padding: 0 0 0 30px;
  }

  .vh-purchase .stayai-subscription-details-container > ul {
    display: grid;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.9rem;
    color: var(--vh-parchment);
  }

  .vh-purchase .stayai-subscription-details-container > ul > li {
    position: relative;
  }

  .vh-purchase .stayai-subscription-details-container > ul > li::before {
    content: '';
    position: absolute;
    top: 0.55em;
    left: -16px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--vh-gold);
  }

  /* The fourth line is the gift line. */
  .vh-purchase .stayai-subscription-details-container > ul > li:nth-child(4) {
    margin: 4px 0 0 -30px;
    padding: 8px 10px 8px 42px;
    border: 1px dashed rgb(122 92 31 / 0.6);
    border-radius: 10px;
    background: #fffdfa;
    font-size: 0.85rem;
  }

  .vh-purchase .stayai-subscription-details-container > ul > li:nth-child(4)::before {
    top: 50%;
    left: 10px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d4b36a' stroke-width='1.6'%3E%3Cpath d='M4 11h16v9H4zM3 7h18v4H3zM12 7v13M12 7c-2-4-6-3-5 0M12 7c2-4 6-3 5 0'/%3E%3C/svg%3E") center / 13px no-repeat,
      var(--vh-burg);
    transform: translateY(-50%);
  }

  /* Frequency picker */
  .vh-purchase .stayai-plan-dropdown {
    align-self: stretch;
    width: 100%;
    max-width: 100%;
    margin-top: 6px;
  }

  .vh-purchase .stayai-plan-dropdown__button {
    min-width: 0;
    width: 100%;
    padding: 7px 10px;
    border: 1px solid var(--vh-line);
    border-radius: 8px;
    background: #fffdfa;
    color: var(--vh-parchment);
    font-family: var(--vh-body);
    font-size: 0.85rem;
  }

  .vh-purchase .stayai-plan-dropdown__list {
    border-color: var(--vh-line);
    border-radius: 8px;
    background: #fffdfa;
    color: var(--vh-parchment);
  }

  .vh-purchase .stayai-plan-dropdown__option {
    font-family: var(--vh-body);
    font-size: 0.85rem;
  }

  .vh-purchase .stayai-plan-dropdown__option:hover,
  .vh-purchase .stayai-plan-dropdown__option.is-selected {
    background: var(--vh-burg);
    color: var(--vh-light);
  }

  /* Add to cart */
  .vh-atc-wrap {
    display: block;
  }

  .vh-atc-component {
    display: block;
    width: 100%;
  }

  .vh-pdp-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 52px;
    padding: 16px 28px;
    border: 0;
    border-radius: 999px;
    background: var(--vh-burg);
    color: var(--vh-light);
    font-family: var(--vh-bold);
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 0.02em;
    text-decoration: none;
    text-transform: none;
    cursor: pointer;
  }

  .vh-pdp-btn:hover:not(:disabled) {
    background: var(--vh-burg-2);
  }

  .vh-pdp-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
  }

  .vh-atc {
    width: 100%;
    min-height: 58px;
    font-size: 1.05rem;
  }

  .vh-atc__content {
    display: inline-flex;
    align-items: baseline;
    gap: 0.6rem;
    transition: opacity 0.2s ease;
  }

  .vh-atc__content [hidden] {
    display: none;
  }

  .vh-atc__sep {
    opacity: 0.55;
  }

  .vh-atc__was {
    font-family: var(--vh-body);
    opacity: 0.75;
    text-decoration: line-through;
  }

  .vh-atc__added {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    opacity: 0;
    transition: opacity 0.2s ease;
  }

  .vh-atc.atc-added .vh-atc__content {
    opacity: 0;
  }

  .vh-atc.atc-added .vh-atc__added {
    opacity: 1;
  }

  .vh-rtb {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    text-align: center;
  }

  .vh-rtb div {
    display: grid;
    gap: 6px;
    justify-items: center;
    font-size: 0.78rem;
    line-height: 1.25;
    color: var(--vh-parchment);
  }

  .vh-rtb svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: var(--vh-burg);
    stroke-width: 1.3;
  }

  .vh-guarantee {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    padding-block: 10px;
    border-top: 1px solid var(--vh-line);
    border-bottom: 1px solid var(--vh-line);
    font-size: 0.9rem;
    color: var(--vh-dim);
    text-align: center;
  }

  .vh-guarantee b {
    font-family: var(--vh-bold);
    font-weight: 400;
    color: var(--vh-parchment);
  }

  .vh-acc {
    border-top: 1px solid var(--vh-line);
  }

  .vh-acc details {
    border-bottom: 1px solid var(--vh-line);
  }

  .vh-acc summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-block: 15px;
    font-family: var(--vh-bold);
    font-size: 1rem;
    list-style: none;
    cursor: pointer;
  }

  .vh-acc summary::-webkit-details-marker {
    display: none;
  }

  .vh-acc summary::after {
    content: '+';
    font-family: var(--vh-display);
    font-size: 1.4rem;
    line-height: 1;
    color: var(--vh-burg);
  }

  .vh-acc details[open] summary::after {
    content: '\2013';
  }

  .vh-acc__body {
    display: grid;
    gap: 8px;
    max-width: 60ch;
    padding-bottom: 16px;
    font-size: 0.95rem;
    color: var(--vh-dim);
  }

  .vh-acc__body b {
    font-family: var(--vh-bold);
    font-weight: 400;
    color: var(--vh-parchment);
  }

  .vh-acc__body a {
    color: var(--vh-burg);
  }

  /* Make it a potion */
  .vh-potion {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--vh-line);
    border-radius: 20px;
    background: var(--vh-velvet);
  }

  .vh-potion__head {
    display: grid;
    gap: 4px;
  }

  .vh-potion__head h2 {
    font-family: var(--vh-display);
    font-size: 1.55rem;
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: 0;
    text-transform: none;
    text-wrap: balance;
  }

  .vh-potion__head p {
    font-size: 0.95rem;
    color: var(--vh-dim);
  }

  .vh-duo {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 10px;
    border-radius: 14px;
    background: var(--vh-cream);
  }

  .vh-duo__img {
    display: block;
    width: 104px;
    height: 104px;
    border-radius: 10px;
    object-fit: cover;
    background: var(--vh-velvet-2);
  }

  .vh-duo__txt {
    display: grid;
    gap: 4px;
    min-width: 0;
  }

  .vh-duo__tag {
    font-family: var(--vh-bold);
    font-size: 0.65rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--vh-moss);
  }

  .vh-duo h3 {
    font-family: var(--vh-display);
    font-size: 1.15rem;
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: 0;
    text-transform: none;
  }

  .vh-duo p {
    font-size: 0.85rem;
    color: var(--vh-dim);
  }

  .vh-duo__row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
  }

  .vh-pr {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }

  .vh-pr__now {
    font-family: var(--vh-bold);
    font-size: 1rem;
  }

  .vh-pr__was {
    margin-left: 6px;
    font-size: 0.85rem;
    color: var(--vh-dim);
  }

  .vh-mini {
    padding: 8px 14px;
    border: 1px solid var(--vh-burg);
    border-radius: 999px;
    background: transparent;
    color: var(--vh-burg);
    font-family: var(--vh-bold);
    font-size: 0.8rem;
    letter-spacing: 0.04em;
    white-space: nowrap;
    cursor: pointer;
  }

  .vh-mini:hover:not(:disabled) {
    background: var(--vh-burg);
    color: var(--vh-light);
  }

  .vh-mini:disabled {
    opacity: 0.6;
    cursor: not-allowed;
  }

  .vh-mini[aria-pressed='true'] {
    border-color: var(--vh-moss);
    background: var(--vh-moss);
    color: #fff;
  }

  .vh-addons {
    display: grid;
    list-style: none;
    border-top: 1px solid var(--vh-line);
  }

  .vh-addon {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding-block: 10px;
    border-bottom: 1px solid var(--vh-line);
  }

  .vh-addon__img {
    display: block;
    width: 48px;
    height: 48px;
    border-radius: 8px;
    object-fit: cover;
    background: var(--vh-velvet-2);
  }

  .vh-addon__name {
    font-family: var(--vh-bold);
    font-size: 0.95rem;
    line-height: 1.25;
  }

  .vh-addon__name span {
    display: block;
    font-family: var(--vh-body);
    font-size: 0.82rem;
    color: var(--vh-dim);
  }

  .vh-potion__msg {
    min-height: 0;
    font-size: 0.85rem;
    color: var(--vh-burg);
  }

  .vh-pr__terms {
    display: block;
    font-size: 0.8rem;
    color: var(--vh-dim);
    white-space: normal;
  }

  .vh-duo[hidden] {
    display: none;
  }

  .vh-disclaimer {
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--vh-dim);
    max-width: 70ch;
  }

  @media (prefers-reduced-motion: reduce) {
    .vh-pdp *,
    .vh-pdp *::before,
    .vh-pdp *::after {
      transition: none !important;
      animation: none !important;
      scroll-behavior: auto !important;
    }
  }
/* END_SECTION:vh-pdp-main */

/* START_SECTION:vh-pdp-other-potions (INDEX:72) */
.vh-pdp-lower.vh-pdp-other {
    padding-top: 10px;
  }
  .vh-pdp-lower .vh-pdp-other__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .vh-pdp-lower .vh-pdp-other__card {
    display: grid;
    /* One shrinkable column: an implicit auto track grows to the button's min-content and overflows 390px. */
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
    align-content: start;
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--vh-line);
    border-radius: 16px;
    background: var(--vh-velvet);
  }
  .vh-pdp-lower .vh-pdp-other__media {
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 14px;
    background: linear-gradient(160deg, #e9e2d6, #dcd2c2 60%, #cdbfaa);
  }
  .vh-pdp-lower .vh-pdp-other__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .vh-pdp-lower .vh-pdp-other__card h3 {
    font-size: 1.1rem;
    line-height: 1.15;
  }
  .vh-pdp-lower .vh-pdp-other__card h3 a {
    color: inherit;
    text-decoration: none;
    /* The theme's link style is nowrap; a two-word title must wrap inside a 170px card. */
    white-space: normal;
  }
  .vh-pdp-lower .vh-pdp-other__dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 6px;
    border-radius: 50%;
  }
  .vh-pdp-lower .vh-pdp-other__why {
    font-family: var(--vh-italic);
    font-style: italic;
    font-size: 1.02rem;
    color: var(--vh-burg);
  }
  .vh-pdp-lower .vh-pdp-other__what {
    font-size: 0.85rem;
    color: var(--vh-parchment-dim);
  }
  .vh-pdp-lower .vh-pdp-other__form {
    display: contents;
  }
  .vh-pdp-lower .vh-pdp-other__card .vh-pdp-lower__btn {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 11px 10px;
    font-size: 0.9rem;
    text-align: center;
  }
  @media (min-width: 800px) {
    .vh-pdp-lower .vh-pdp-other__grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
    }
  }
/* END_SECTION:vh-pdp-other-potions */

/* START_SECTION:vh-pdp-reviews (INDEX:73) */
.vh-pdp-lower .vh-pdp-reviews__feed {
    min-width: 0;
  }
  .vh-pdp-lower .vh-pdp-reviews__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 14px;
  }
  .vh-pdp-lower .vh-pdp-reviews__chip {
    padding: 8px 14px;
    border: 1px solid var(--vh-line);
    border-radius: 999px;
    background: var(--vh-velvet);
    color: var(--vh-parchment);
    font-family: var(--vh-body);
    font-size: 0.9rem;
    cursor: pointer;
  }
  .vh-pdp-lower .vh-pdp-reviews__chip[aria-pressed='true'] {
    border-color: var(--vh-burg);
    background: var(--vh-burg);
    color: var(--vh-light);
  }
/* END_SECTION:vh-pdp-reviews */

/* START_SECTION:vh-pdp-science (INDEX:74) */
.vh-pdp-lower.vh-pdp-science {
    background: var(--vh-velvet-2);
  }
  .vh-pdp-lower .vh-pdp-science__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }
  .vh-pdp-lower .vh-pdp-science__head,
  .vh-pdp-lower .vh-pdp-science__body {
    min-width: 0;
  }
  .vh-pdp-lower .vh-pdp-science__sub {
    font-family: var(--vh-italic);
    font-style: italic;
    font-size: 1.2rem;
    color: var(--vh-burg) !important;
  }
  .vh-pdp-lower .vh-pdp-science__actives {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .vh-pdp-lower .vh-pdp-science__active {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--vh-line);
    border-radius: 16px;
    background: var(--vh-velvet);
  }
  .vh-pdp-lower .vh-pdp-science__dose ~ .vh-pdp-science__a-txt {
    min-width: 0;
  }
  .vh-pdp-lower .vh-pdp-science__active:has(.vh-pdp-science__dose) {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .vh-pdp-lower .vh-pdp-science__dose {
    display: grid;
    place-content: center;
    width: 74px;
    height: 74px;
    border: 1px solid var(--vh-gold);
    border-radius: 50%;
    text-align: center;
    font-variant-numeric: tabular-nums;
  }
  .vh-pdp-lower .vh-pdp-science__dose b {
    font-family: var(--vh-display);
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1;
    color: var(--vh-burg);
  }
  .vh-pdp-lower .vh-pdp-science__dose--word b {
    font-size: 1rem;
  }
  .vh-pdp-lower .vh-pdp-science__dose span {
    font-size: 0.68rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--vh-parchment-dim);
  }
  .vh-pdp-lower .vh-pdp-science__a-txt {
    display: grid;
    gap: 4px;
    min-width: 0;
  }
  .vh-pdp-lower .vh-pdp-science__role {
    font-family: var(--vh-display);
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--vh-moss);
  }
  .vh-pdp-lower .vh-pdp-science__a-txt p {
    font-size: 0.95rem;
    color: var(--vh-parchment-dim);
  }
  .vh-pdp-lower .vh-pdp-science__study {
    margin-top: 6px !important;
    padding-top: 8px;
    border-top: 1px dashed var(--vh-line);
    font-size: 0.8rem !important;
  }
  .vh-pdp-lower .vh-pdp-science__without {
    display: grid;
    gap: 12px;
    margin-top: 22px;
  }
  .vh-pdp-lower .vh-pdp-science__nots {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .vh-pdp-lower .vh-pdp-science__nots li {
    display: flex;
    gap: 8px;
    align-items: center;
    min-width: 0;
    padding: 8px 12px;
    border: 1px solid var(--vh-line);
    border-radius: 999px;
    background: var(--vh-velvet);
    font-size: 0.92rem;
  }
  .vh-pdp-lower .vh-pdp-science__nots li::before {
    content: '';
    flex: 0 0 14px;
    height: 14px;
    border: 1.5px solid var(--vh-moss);
    border-radius: 50%;
    background: linear-gradient(135deg, transparent 45%, var(--vh-moss) 45% 55%, transparent 55%);
  }
  .vh-pdp-lower .vh-pdp-science__nots li.is-yes::before {
    background: radial-gradient(circle, var(--vh-moss) 0 3px, transparent 4px);
  }
  .vh-pdp-lower .vh-pdp-science__acc {
    margin-top: 18px;
  }
  .vh-pdp-lower .vh-pdp-science__acc summary {
    font-weight: 700;
  }
  .vh-pdp-lower .vh-pdp-science__cta {
    display: none;
    margin-top: 22px;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
  }
  .vh-pdp-lower .vh-pdp-science__sep {
    opacity: 0.6;
  }
  .vh-pdp-lower .vh-pdp-science__was {
    opacity: 0.8;
    font-weight: 400;
  }
  .vh-pdp-lower .vh-pdp-science__note {
    font-size: 0.92rem;
    color: var(--vh-parchment-dim);
  }
  @media (min-width: 800px) {
    .vh-pdp-lower .vh-pdp-science__grid {
      grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
      gap: 48px;
      align-items: start;
    }
    .vh-pdp-lower .vh-pdp-science__head {
      position: sticky;
      top: 90px;
    }
    .vh-pdp-lower .vh-pdp-science__actives {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .vh-pdp-lower .vh-pdp-science__nots {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .vh-pdp-lower .vh-pdp-science__cta {
      display: flex;
    }
  }
/* END_SECTION:vh-pdp-science */

/* START_SECTION:vh-pdp-videos (INDEX:75) */
.vh-pdp-lower.vh-pdp-videos {
    background: var(--vh-ink);
    color: var(--vh-light-2);
  }
  .vh-pdp-lower.vh-pdp-videos em,
  .vh-pdp-lower.vh-pdp-videos .vh-pdp-lower__eyebrow {
    color: var(--vh-gold-on-dark);
  }
  .vh-pdp-lower.vh-pdp-videos .vh-pdp-lower__head p {
    color: var(--vh-muted-dark);
  }
  .vh-pdp-lower .vh-pdp-videos__rail {
    display: flex;
    gap: 10px;
    margin: 0 -20px;
    padding: 0 20px 4px;
    list-style: none;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .vh-pdp-lower .vh-pdp-videos__rail::-webkit-scrollbar {
    display: none;
  }
  .vh-pdp-lower .vh-pdp-videos__card {
    flex: 0 0 58%;
    min-width: 0;
    scroll-snap-align: start;
  }
  .vh-pdp-lower .vh-pdp-videos__media {
    position: relative;
    aspect-ratio: 9 / 16;
    overflow: hidden;
    border-radius: 14px;
    background: linear-gradient(160deg, #2a1c26, #1c1119);
  }
  .vh-pdp-lower .vh-pdp-videos__media img,
  .vh-pdp-lower .vh-pdp-videos__player {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
  }
  .vh-pdp-lower .vh-pdp-videos__media:not(.is-playing)::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, transparent 50%, rgba(28, 17, 25, 0.88));
    pointer-events: none;
  }
  .vh-pdp-lower .vh-pdp-videos__media.is-playing .vh-pdp-videos__cap {
    display: none;
  }
  .vh-pdp-lower .vh-pdp-videos__play {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
  }
  .vh-pdp-lower .vh-pdp-videos__play i {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(246, 238, 228, 0.92);
  }
  .vh-pdp-lower .vh-pdp-videos__play svg {
    width: 12px;
    height: 12px;
    margin-left: 2px;
    fill: var(--vh-ink);
  }
  .vh-pdp-lower .vh-pdp-videos__cap {
    position: absolute;
    inset: auto 0 0;
    z-index: 3;
    display: grid;
    gap: 4px;
    padding: 14px;
    pointer-events: none;
  }
  .vh-pdp-lower .vh-pdp-videos__stars {
    color: var(--vh-gold-on-dark);
    font-size: 0.85rem;
    letter-spacing: 0.08em;
    white-space: nowrap;
  }
  .vh-pdp-lower .vh-pdp-videos__quote {
    font-family: var(--vh-italic);
    font-style: italic;
    font-size: 1.02rem;
    line-height: 1.25;
    color: var(--vh-light);
    quotes: none;
  }
  .vh-pdp-lower .vh-pdp-videos__quote::before {
    content: '\201C';
  }
  .vh-pdp-lower .vh-pdp-videos__quote::after {
    content: '\201D';
  }
  .vh-pdp-lower .vh-pdp-videos__credit {
    font-size: 0.78rem;
    color: var(--vh-muted-dark);
  }
  .vh-pdp-lower .vh-pdp-videos__foot {
    margin-top: 14px;
    font-size: 0.9rem;
    color: var(--vh-muted-dark);
  }
  @media (min-width: 800px) {
    .vh-pdp-lower .vh-pdp-videos__rail {
      margin-inline: 0;
      padding-inline: 0;
      overflow-x: visible;
      flex-wrap: wrap;
    }
    .vh-pdp-lower .vh-pdp-videos__card {
      flex: 0 0 calc((100% - 50px) / 6);
    }
  }
/* END_SECTION:vh-pdp-videos */

/* START_SECTION:vh-pdp-why (INDEX:76) */
.vh-pdp-lower .vh-pdp-why__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }
  .vh-pdp-lower .vh-pdp-why__main {
    min-width: 0;
  }
  .vh-pdp-lower .vh-pdp-why__feels {
    display: grid;
    border-top: 1px solid var(--vh-line);
  }
  .vh-pdp-lower .vh-pdp-why__feel {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    padding-block: 16px;
    border-bottom: 1px solid var(--vh-line);
  }
  .vh-pdp-lower .vh-pdp-why__ico {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid var(--vh-burg);
    border-radius: 50%;
  }
  .vh-pdp-lower .vh-pdp-why__ico svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: var(--vh-burg);
    stroke-width: 1.5;
  }
  .vh-pdp-lower .vh-pdp-why__feel h3 {
    font-family: var(--vh-italic);
    font-style: italic;
    font-size: 1.25rem;
  }
  .vh-pdp-lower .vh-pdp-why__feel p {
    margin-top: 4px;
    max-width: 48ch;
    font-size: 0.98rem;
    color: var(--vh-parchment-dim);
  }
  .vh-pdp-lower .vh-pdp-why__ritual {
    display: grid;
    gap: 16px;
    min-width: 0;
    padding: 20px;
    border-radius: 20px;
    background: var(--vh-ink);
    color: var(--vh-light-2);
  }
  .vh-pdp-lower .vh-pdp-why__ritual .vh-pdp-lower__eyebrow {
    color: var(--vh-gold-on-dark);
  }
  .vh-pdp-lower .vh-pdp-why__ritual-media {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: 14px;
    background: #2a1c26;
  }
  .vh-pdp-lower .vh-pdp-why__ritual-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .vh-pdp-lower .vh-pdp-why__steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: vhstep;
  }
  .vh-pdp-lower .vh-pdp-why__steps li {
    display: block;
    min-width: 0;
    font-size: 0.9rem;
    color: var(--vh-muted-dark);
    counter-increment: vhstep;
  }
  .vh-pdp-lower .vh-pdp-why__steps li::before {
    content: counter(vhstep);
    display: block;
    font-family: var(--vh-italic);
    font-style: italic;
    font-size: 1.5rem;
    line-height: 1;
    color: var(--vh-gold-on-dark);
  }
  .vh-pdp-lower .vh-pdp-why__steps b {
    display: block;
    font-family: var(--vh-display);
    font-weight: 400;
    font-size: 1.1rem;
    color: var(--vh-light);
  }
  .vh-pdp-lower .vh-pdp-why__pours {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.9rem;
  }
  .vh-pdp-lower .vh-pdp-why__pours li {
    padding: 5px 11px;
    border: 1px solid rgba(246, 238, 228, 0.4);
    border-radius: 999px;
    color: var(--vh-light-2);
  }
  @media (min-width: 800px) {
    .vh-pdp-lower .vh-pdp-why__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 48px;
      align-items: start;
    }
  }
/* END_SECTION:vh-pdp-why */

/* START_SECTION:vh-wren-chat (INDEX:77) */
.vh-wren-chat .vh-wren-chat__intro { max-width: 40rem; margin: 0 auto; padding: 0 1rem; text-align: center; font-family: var(--wren-font-body); color: var(--wren-ink); background: transparent; }
/* END_SECTION:vh-wren-chat */

/* CSS from block stylesheet tags */
/* START_BLOCK:_accordion-row (INDEX:78) */
.details__icon {
    height: auto;
    margin-inline-end: var(--margin-xs);
  }

  .accordion-category-header {
    font-weight: 600;
    color: var(--color-foreground);
    padding-bottom: 8px;
    font-family: var(--font-kennerley-small-caps-bold);
  }
  .details__header--with-category-header {
    padding-top: 32px !important;
  }

  accordion-custom:not(:first-of-type) .accordion-category-header {
    margin-top: 48px;
  }
/* END_BLOCK:_accordion-row */

/* START_BLOCK:_announcement (INDEX:79) */
.text-block {
    width: var(--width);
    max-width: 100%;
  }

  .text-block > * {
    width: var(--width);
    max-width: var(--max-width, 100%);
    text-align: var(--text-align);
  }

  .text-block:not(.text-block--full-width).rte,
  .text-block:not(.text-block--full-width).paragraph {
    /* Safari doesn't support pretty, so fallback to balance */
    text-wrap: balance;
    text-wrap: pretty;
  }

  .text-block:not(.text-block--full-width).h1,
  .text-block:not(.text-block--full-width).h2,
  .text-block:not(.text-block--full-width).h3,
  .text-block:not(.text-block--full-width).h4,
  .text-block:not(.text-block--full-width).h5,
  .text-block:not(.text-block--full-width).h6 {
    text-wrap: balance;
  }

  /* Hide underline unless text is using paragraph styles. */
  .text-block:is(.h1, .h2, .h3, .h4, .h5, .h6) a {
    text-decoration-color: transparent;
  }

  .text-block h1,
  .text-block.h1 > * {
    margin-block: var(--font-h1--spacing);
  }

  .text-block h2,
  .text-block.h2 > * {
    margin-block: var(--font-h2--spacing);
  }

  .text-block h3,
  .text-block.h3 > * {
    margin-block: var(--font-h3--spacing);
  }

  .text-block h4,
  .text-block.h4 > * {
    margin-block: var(--font-h4--spacing);
  }

  .text-block h5,
  .text-block.h5 > * {
    margin-block: var(--font-h5--spacing);
  }

  .text-block h6,
  .text-block.h6 > * {
    margin-block: var(--font-h6--spacing);
  }

  .text-block > *:first-child {
    margin-block-start: 0;
  }

  .text-block > *:last-child {
    margin-block-end: 0;
  }

  .text-block--align-center,
  .text-block--align-center > * {
    margin-inline: auto;
  }

  .text-block--align-right,
  .text-block--align-right > * {
    margin-inline-start: auto;
  }
/* END_BLOCK:_announcement */

/* START_BLOCK:_blog-post-card (INDEX:80) */
.blog-post-card {
    display: flex;
    flex-direction: column;
    text-align: var(--text-align);
  }

  .blog-post-item .blog-post-card__image-container,
  .blog-post-item .blog-post-card__content {
    width: 100%;
  }

  .blog-post-item:first-child .blog-post-card {
    flex-direction: row;

    @media screen and (max-width: 749px) {
      flex-direction: column;
    }
  }

  .blog-post-item:first-child .blog-post-card__image-container {
    width: 70%;

    @media screen and (max-width: 749px) {
      width: 100%;
    }
  }

  .blog-post-item:first-child:has(.blog-post-card__image-container) .blog-post-card__content {
    padding-inline-start: var(--columns-gap);
    width: 30%;

    @media screen and (max-width: 749px) {
      padding-inline-start: 0;
      width: 100%;
    }
  }

  .blog-post-card__content {
    padding-block-start: 0.4rem;
    display: flex;
    flex-direction: column;
  }

  .blog-post-card__content a {
    display: block;
    text-wrap: pretty;
    text-decoration: none;
    padding-block-start: 0.75rem;
  }

  .blog-post-card__content a:hover,
  .blog-post-card__content a:hover [style*='--color: var(--color-primary)'] {
    color: var(--color-primary-hover);
  }

  .blog-post-card__content a:hover [style*='--color: var(--color-foreground-heading)'] {
    color: rgb(var(--color-foreground-heading-rgb) / var(--opacity-subdued-text));
  }

  .blog-post-card__content a:hover [style*='--color: var(--color-foreground)'] {
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
  }
/* END_BLOCK:_blog-post-card */

/* START_BLOCK:_blog-post-content (INDEX:81) */
.blog-post-content {
    max-width: var(--normal-content-width);
    margin: 0 auto;
  }
/* END_BLOCK:_blog-post-content */

/* START_BLOCK:_blog-post-description (INDEX:82) */
.blog-post-card__content-text a {
    color: var(--color-primary);
  }

  .custom-color,
  .custom-color > :is(h1, h2, h3, h4, h5, h6, p, *) {
    color: var(--color);
  }
/* END_BLOCK:_blog-post-description */

/* START_BLOCK:_blog-post-featured-image (INDEX:83) */
.blog-post-featured-image {
    --width: 100%;
    --custom-width: 100%;

    display: block;
    position: relative;
    width: var(--width);
  }

  .blog-post-featured-image.size-style {
    --width: var(--size-style-width, 100%);
  }

  .blog-post-featured-image--height-fit {
    height: fit-content;
  }

  .blog-post-featured-image--height-fill {
    height: 100%;
  }

  .blog-post-featured-image__image {
    aspect-ratio: var(--ratio);
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }

  @media screen and (max-width: 749px) {
    .blog-post-featured-image {
      --width: var(--width-mobile, var(--width));
      --custom-width: var(--custom-width-mobile, var(--custom-width));
    }

    .blog-post-featured-image.size-style {
      --width: var(--size-style-width-mobile, var(--size-style-width, 100%));
    }
  }
/* END_BLOCK:_blog-post-featured-image */

/* START_BLOCK:_blog-post-image (INDEX:84) */
.blog-post-card__image {
    width: 100%;
    object-fit: cover;
    object-position: center center;
    height: calc(var(--blog-post-card-img-height) * var(--blog-post-card-scale));
  }

  .blog-post-card__image--small {
    --blog-post-card-img-height: 280px;
  }

  .blog-post-card__image--medium {
    --blog-post-card-img-height: 340px;
  }

  .blog-post-card__image--large {
    --blog-post-card-img-height: 400px;
  }
/* END_BLOCK:_blog-post-image */

/* START_BLOCK:_blog-post-info-text (INDEX:85) */
.blog-post-details {
    display: flex;
    gap: var(--gap-sm);
    font-size: var(--font-size--paragraph);
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
    white-space: nowrap;
  }

  .blog-post-details > span {
    text-overflow: clip;
    overflow: hidden;
  }
/* END_BLOCK:_blog-post-info-text */

/* START_BLOCK:_cart-products (INDEX:86) */
.cart-page--empty .cart-items__wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-block-start: 0;
    text-align: center;
  }

  .cart-page__title + .cart-page__items {
    margin-block-start: var(--margin-lg);
  }
/* END_BLOCK:_cart-products */

/* START_BLOCK:_cart-summary (INDEX:87) */
.cart__summary-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .cart__summary-item.tax-note {
    font-size: var(--cart-font-size--sm);
  }

  .cart__discount-label {
    display: flex;
    align-items: center;
    gap: var(--gap-2xs);
  }

  .cart__total {
    align-items: baseline;
    font-family: var(--font-shango-gothic-medium);
    font-weight: 600;
  }

  .cart__tax-note {
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
  }

  .cart__discount-label svg {
    width: var(--icon-size-sm);
    height: var(--icon-size-sm);
    display: inline-block;
  }

  .cart__summary-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--gap-2xl);
    container-type: inline-size;
    padding: 0;
    position: sticky;
    top: 0;
    align-self: start;

    @media screen and (min-width: 750px) {
      padding: var(--padding-5xl);
      grid-row: 1 / -1;
    }
  }

  body:has(> #header-group .header[sticky]) .cart__summary-inner {
    top: var(--header-height, 0);
  }

  .cart__summary-container {
    @media screen and (max-width: 749px) {
      border: none;
    }

    @media screen and (min-width: 750px) {
      display: grid;
      grid-template-rows: subgrid;
      grid-row: 1 / -1;
    }
  }

  .cart__summary-container:not(.cart__container--extend),
  .cart__summary-container:not(.cart__container--extend) .cart__summary-inner {
    height: auto;
  }

  .cart__container--extend {
    height: 100%;

    @media screen and (min-width: 750px) {
      border-right: none;
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
    }
  }

  /* If extend is on, only include top and bottom borders when the border radius is 0. */
  .cart__container--extend:not(.has-border-radius) {
    @media screen and (min-width: 750px) {
      border-top: none;
      border-bottom: none;
    }
  }

  .cart__container--extend .cart__summary-inner {
    height: 100%;
    padding: var(--padding-md) 0 var(--padding-4xl);

    @media screen and (min-width: 750px) {
      grid-row: 2 / -1;
      padding-inline: var(--page-margin);
      width: var(--sidebar-width);
    }
  }

  /* If extend is off, apply the border radius to the inner summary container */
  .cart__summary-inner.has-border-radius {
    border-radius: var(--border-radius);
  }

  @media screen and (max-width: 749px) {
    .inherit-parent-scheme--mobile {
      --color-background: inherit;
      --color-background-rgb: inherit;
      --color-foreground: inherit;
      --color-foreground-rgb: inherit;
      --color-primary: inherit;
      --color-primary-rgb: inherit;
      --color-primary-hover: inherit;
      --color-primary-hover-rgb: inherit;
      --color-border: inherit;
      --color-border-rgb: inherit;
      --color-shadow: inherit;
      --color-shadow-rgb: inherit;
      --color-foreground-heading: inherit;
      --color-primary-button-text: inherit;
      --color-primary-button-background: inherit;
      --color-primary-button-border: inherit;
      --color-primary-button-hover-text: inherit;
      --color-primary-button-hover-background: inherit;
      --color-primary-button-hover-border: inherit;
      --color-secondary-button-text: inherit;
      --color-secondary-button-background: inherit;
      --color-secondary-button-border: inherit;
      --color-secondary-button-hover-text: inherit;
      --color-secondary-button-hover-background: inherit;
      --color-secondary-button-hover-border: inherit;
      --color-input-text: inherit;
      --color-input-text-rgb: inherit;
      --color-input-background: inherit;
    }
  }
/* END_BLOCK:_cart-summary */

/* START_BLOCK:_cart-title (INDEX:88) */
.cart-title h1 {
    margin-block-end: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--gap-sm);
  }

  .cart-title .cart-bubble {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--style-border-radius-buttons-primary);
    aspect-ratio: auto;
    padding: var(--cart-padding);
  }

  .cart-title .cart-bubble[data-maintain-ratio] {
    aspect-ratio: 1;
    min-width: 26px;
  }

  .cart-title .cart-bubble__background {
    background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10-25));
  }

  .cart-title .cart-bubble__text {
    color: var(--color-foreground);
    font-family: var(--font-paragraph--family);
    letter-spacing: var(--font-paragraph--letter-spacing);
    font-size: clamp(var(--cart-font-size--2xs), 0.7lh, var(--cart-font-size--xs));
  }
/* END_BLOCK:_cart-title */

/* START_BLOCK:_collection-card-image (INDEX:89) */
.collection-card__image {
    position: relative;
    display: flex;
    width: 100%;
    max-width: 100%;
    max-height: 100%;
    aspect-ratio: var(--ratio);
    z-index: var(--layer-base);
    overflow: hidden;
  }

  .collection-card__image--placeholder {
    width: 100%;
    height: 100%;
  }
/* END_BLOCK:_collection-card-image */

/* START_BLOCK:_collection-image (INDEX:91) */
.collection-image {
    width: var(--image-width);
  }

  .collection-image .collection-image__featured-image {
    aspect-ratio: var(--ratio);
    object-fit: cover;
  }
/* END_BLOCK:_collection-image */

/* START_BLOCK:_collection-link (INDEX:93) */
.collection-links__link {
    --min-font-size: var(--font-size--4xl);
    --max-font-size: var(--font-size--6xl);

    display: flex;
    color: inherit;
    text-decoration: none;
    text-wrap: pretty;
    font-size: clamp(var(--min-font-size), 4.5vw, var(--max-font-size));

    @media (hover: hover) {
      opacity: var(--disabled-opacity);
    }

    [layout='spotlight'] & {
      opacity: var(--disabled-opacity);
    }

    &[aria-current='true'] {
      opacity: 1;
    }

    .text-block {
      display: inline-block;
    }

    @media (max-width: 749px) {
      --min-font-size: var(--font-size--3xl);
      --max-font-size: var(--font-size--5xl);

      [layout='spotlight'] & {
        white-space: nowrap;
        scroll-snap-align: start;

        span {
          text-wrap: nowrap;
        }
      }
    }
  }

  .collection-links__count {
    font-size: 0.5em;
    opacity: var(--disabled-opacity);
    font-weight: var(--font-paragraph--weight);
  }

  .collection-links__image {
    align-items: center;
    justify-content: center;

    &:not([hidden]) {
      display: flex;
    }

    &[reveal] {
      --offset: 15px;

      position: fixed;
      top: 0;
      left: 0;
      z-index: var(--layer-temporary);
      display: block;
      translate: calc(var(--x) + var(--offset)) calc(var(--y) + var(--offset));
      pointer-events: none;
      width: auto;

      image-block {
        --image-height-basis: 5rem;

        height: var(--image-height);
      }
    }
  }
/* END_BLOCK:_collection-link */

/* START_BLOCK:_featured-product (INDEX:99) */
.featured-product-content-top {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--gap-sm);
  }

  .featured-product-content-bottom:not(:has(product-swatches)) {
    display: none;
  }
/* END_BLOCK:_featured-product */

/* START_BLOCK:_footer-policy-list (INDEX:101) */
.policy_list {
    display: flex;
    gap: var(--gap-2xs) var(--gap-sm);

    /* Depending on the content, some smaller desktop layouts will need to wrap the items to fit everything */
    flex-wrap: wrap;
    justify-content: center;

    @media screen and (min-width: 750px) {
      justify-content: flex-start;
    }
  }
/* END_BLOCK:_footer-policy-list */

/* START_BLOCK:_footer-social-icons (INDEX:102) */
.social-icons__wrapper {
    display: flex;
    gap: var(--gap-sm);
    flex-wrap: wrap;
    justify-content: center;

    @media screen and (min-width: 750px) {
      flex-wrap: nowrap;
      justify-content: flex-start;
    }
  }
/* END_BLOCK:_footer-social-icons */

/* START_BLOCK:_header-logo (INDEX:103) */
.header-logo__image.has-mobile {
    @media screen and (max-width: 749px) {
      display: none;
    }
  }

  .header-logo__image.is-mobile {
    display: none;
    @media screen and (max-width: 749px) {
      display: block;
      max-width: 229px;
      width: 100%;
    }
  }

  .header-logo {
    display: flex;
    height: 100%;
    font-size: var(--font-size--md);
    font-family: var(--font-family);
    font-weight: var(--font-weight);
    font-style: var(--font-style);
    color: var(--color-foreground);
    justify-content: center;
    align-items: center;
    text-decoration: none;

    /* Make sure the logo visually hugs the left edge of the column when it is the first item in the left column */
    margin-inline: calc(-1 * var(--padding-inline-start));

    &[data-hidden-on-home-page] {
      display: none;

      #header-component:is(
          [sticky='always']:not([data-scroll-direction='none']),
          [sticky='scroll-up'][data-scroll-direction='up']
        )
        & {
        display: flex;
      }
    }

    @media screen and (max-width: 749px) {
      padding: 0;
    }

    @media screen and (min-width: 750px) {
      flex-shrink: 0;
    }

    &:hover {
      text-decoration: none;
    }
  }

  .header-logo__image {
    object-fit: contain;
    height: var(--header-logo-image-height-mobile);
    width: var(--header-logo-image-width-mobile);

    @media screen and (min-width: 750px) {
      height: var(--header-logo-image-height);
      width: var(--header-logo-image-width);
    }
  }

  /* Inverse logo specific sizing - uses CSS custom properties from section settings */
  .header-logo__image--inverse {
    width: var(--inverse-logo-width, 230px);
    height: var(--inverse-logo-height, 102px);
    object-fit: contain;
    transition: filter 0.4s ease-in-out;

    /* Responsive scaling - maintain aspect ratio */
    @media screen and (max-width: 749px) {
      /* Scale down on mobile but maintain aspect ratio */
      /* width: min(var(--inverse-logo-width, 230px), 80vw); */
      width: 100%;
      height: auto;
      max-height: var(--inverse-logo-height, 102px);
    }

    /* Prevent squishing on very small screens */
    @media screen and (max-width: 320px) {
      width: min(calc(var(--inverse-logo-width, 230px) * 0.87), 90vw);
      height: auto;
      max-height: calc(var(--inverse-logo-height, 102px) * 0.87);
    }

    &:hover {
      -webkit-filter: drop-shadow(0px 0px 14px rgba(255, 255, 255, 0.55));
      filter: drop-shadow(0px 0px 14px rgba(255, 255, 255, 0.55));
    }
  }

  .header-logo__image-container {
    position: relative;
  }

  .header-logo__svg-container {
    /* height: var(--header-logo-image-height-mobile);
      width: var(--header-logo-image-width-mobile); */
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    max-width: 400px;

    @media screen and (min-width: 750px) {
      height: var(--header-logo-image-height);
      width: var(--header-logo-image-width);
    }

    svg {
      height: 100%;
      width: 100%;
      object-fit: contain;
    }
  }

  /* On transparent-header pages (e.g. home): show static, hide animatable (animation doesn't work correctly there) */
  #header-sticky-overlay .header-logo__svg-container--animatable {
    display: none;
  }

  /* On static-header pages: show animatable, hide static */
  #header-component .header-logo__svg-container--static {
    display: none;
  }

  .header-logo:has(.header-logo__image-container--inverse) .header-logo__image-container--original {
    display: var(--header-logo-display, block);
  }

  .header-logo__image-container--inverse {
    display: var(--header-logo-inverse-display, none);
  }

  /* Sparkle container to isolate from other header modifications */
  .header-logo__sparkle-container {
    position: relative;
    width: 100%;
    height: 100%;
  }

  /* Sparkle animation overlay - JavaScript canvas-based */
  .header-logo__sparkle-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 4;
    pointer-events: none;
    overflow: visible;
  }

  /* Sparkle canvas styling */
  .header-logo__sparkle-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 5;
  }
/* END_BLOCK:_header-logo */

/* START_BLOCK:_header-menu (INDEX:104) */
.menu-list--mobile {
    &.menu-list {
      display: grid;
    }

    & .menu-list__list {
      width: max-content;
      margin-inline: auto;
      gap: var(--menu-horizontal-gap);
    }

    & li {
      width: max-content;
      padding-block: var(--padding-sm);
    }

    & li:first-of-type {
      padding-inline-start: var(--menu-horizontal-gap);
    }

    & li:last-of-type {
      padding-inline-end: var(--menu-horizontal-gap);
    }

    & a {
      color: var(--color-foreground);
    }
  }

  .menu-list__scroll-container {
    position: relative;
    overflow-x: auto;
    mask-image: linear-gradient(to right, transparent, #000 20px, #000 calc(100% - 20px), transparent);
    padding-block: var(--padding-2xs);
  }

  header-menu {
    width: 100%;
  }

  /* Drawer menu featured content */
  .menu-drawer__featured-content {
    z-index: var(--layer-base);
    container-type: inline-size;
  }

  .menu-drawer__featured-content--childlist {
    z-index: var(--layer-flat);
  }

  .menu-drawer__featured-content-list {
    display: flex;
    gap: 1em;
  }

  /* Scoped to modifier variants so these don't affect mobile featured products */
  .menu-drawer__featured-content-list-item--product,
  .menu-drawer__featured-content-list-item--collection {
    flex: 0 0 auto;
  }

  .menu-drawer__featured-content-list-item--product {
    width: 35cqi;
  }

  .menu-drawer__featured-content-list-item--collection img.resource-card__image {
    width: 80cqi;
  }

  .menu-drawer__featured-content-list-item--product:last-child,
  .menu-drawer__featured-content-list-item--collection:last-child {
    margin-inline-end: var(--margin-xl);
  }

  /* Apply title case to drawer menu featured content */
  .menu-drawer__featured-content-list-item--product .resource-card__title,
  .menu-drawer__featured-content-list-item--collection .resource-card__title {
    text-transform: var(--title-case);
  }

  .menu-list {
    --menu-horizontal-gap: var(--gap-xl);
    --menu-vertical-gap: var(--gap-xl);

    display: flex;
  }

  .menu-list__list {
    display: flex;
    justify-content: var(--grid-area-alignment);
  }

  .menu-list__list-item {
    flex-shrink: 0;
    white-space: nowrap;
  }

  .menu-list__list-item[aria-hidden='true'] {
    visibility: hidden;
  }

  .menu-list__link {
    font-family: var(--menu-top-level-font-family);
    font-style: var(--menu-top-level-font-style);
    font-weight: var(--menu-top-level-font-weight);
    font-size: var(--menu-top-level-font-size);
    line-height: var(--menu-top-level-font-line-height);
    text-transform: var(--menu-top-level-font-case);
    color: var(--menu-top-level-font-color);
    transition: color var(--animation-speed) var(--animation-easing);
    text-decoration: none;
    display: flex;
    min-height: var(--minimum-touch-target);
    align-items: center;

    &:hover,
    &:focus {
      color: var(--menu-top-level-font-color);
    }

    @media screen and (min-width: 750px) {
      font-size: var(--menu-top-level-font-size-desktop);
    }
  }

  .menu-list .menu-list__link--active,
  .menu-list .menu-list__list-item:where(:hover, :focus-within) .menu-list__link,
  .menu-list .menu-list__list-item[slot='overflow'] .menu-list__link[aria-expanded='true'] {
    color: var(--menu-top-level-font-color);
  }

  .overflow-menu::part(list) {
    /* Make sure focus outline is not cut off by overflow hidden */
    --focus-outline-size: calc(var(--focus-outline-offset) + var(--focus-outline-width));

    gap: 0 var(--menu-horizontal-gap);
  }

  .overflow-menu {
    background-color: transparent;
    padding: var(--focus-outline-size);
    margin: calc(-1 * var(--focus-outline-size));
  }

  /* the submenu background element to animate */
  .overflow-menu::after {
    content: '';
    position: absolute;
    top: calc(100% - 1px + var(--border-bottom-width));
    left: 0;
    width: 100%;
    height: var(--submenu-height);
    background-color: var(--page-texture-color) !important;
    background-image: var(--page-texture-image) !important;
    background-position: var(--page-texture-position) !important;
    background-size: var(--page-texture-size) var(--page-texture-size) !important;
    background-repeat: var(--page-texture-repeat) !important;
    background-blend-mode: var(--page-texture-blend) !important;
    box-shadow: var(--shadow-popover);
    clip-path: inset(0.5px 0 -100px 0); /* stylelint-disable-line */
    opacity: var(--submenu-opacity, 1);
    transition: height var(--submenu-animation-speed) var(--ease-out-cubic),
      opacity var(--animation-speed-slow) var(--ease-out-cubic) var(--animation-speed-fast);
    z-index: calc(var(--layer-header-menu) - 1);
  }

  /** mega menu **/
  .menu-list__submenu,
  .overflow-menu::part(overflow) {
    --submenu-padding-block-start: var(--padding-3xl);
    --submenu-padding-block-end: var(--padding-3xl);

    background-color: transparent;
  }

  /* Prevent double padding from section--full-width-margin when mega menu is inside submenu */
  /* The base.css rule .section--full-width.section--full-width-margin > * adds padding,
     but the submenu already has padding, so we need to prevent the mega menu from getting extra padding */
  .menu-list__submenu .mega-menu.section--full-width.section--full-width-margin > *,
  .overflow-menu::part(overflow) .mega-menu.section--full-width.section--full-width-margin > * {
    @media screen and (min-width: 750px) {
      /* Remove the base.css padding since submenu already handles spacing */
      padding-left: 0;
      padding-right: 0;
    }
  }

  .header__row[style*='--border-bottom-width: 0px'] {
    .menu-list__submenu.color-scheme-matches-parent,
    .overflow-menu.color-scheme-matches-parent::part(overflow) {
      --submenu-padding-block-start: 0px;
    }
  }

  .menu-list__list-item:where(:not([slot='overflow'])) > .menu-list__submenu,
  .overflow-menu::part(overflow) {
    --submenu-content-opacity: 0;
    --submenu-content-animation: opacity calc(var(--submenu-animation-speed) * 0.75) var(--animation-easing);

    box-shadow: var(--shadow-drawer);
    visibility: hidden;
    background-color: var(--page-texture-color) !important;
    background-image: var(--page-texture-image) !important;
    background-position: var(--page-texture-position) !important;
    background-size: var(--page-texture-size) var(--page-texture-size) !important;
    background-repeat: var(--page-texture-repeat) !important;
    background-blend-mode: var(--page-texture-blend) !important;
    position: absolute;
    width: 100%;
    left: 0;
    top: calc(100% - 1px + var(--border-bottom-width));
    z-index: var(--layer-header-menu);
    padding-left: 40px;
    padding-right: 40px;
    box-sizing: border-box; /* Ensure padding is included in width calculation */
    max-width: 100vw; /* Prevent overflow beyond viewport */
    clip-path: rect(0 100% var(--submenu-height) 0); /* stylelint-disable-line */
    transition: clip-path var(--submenu-animation-speed) var(--ease-out-cubic);
  }

  /* Show the submenus on hover */
  .menu-list__list-item:has([aria-expanded='true']) > .menu-list__submenu,
  /* Show the overflow menu when a menu item is hovered */
  .overflow-menu:has([slot="overflow"] [aria-expanded='true'])::part(overflow),
  /* Keep the submenus open when they are hovered */
  .menu-list__submenu:is(:hover),
  .overflow-menu::part(overflow):hover {
    --submenu-content-opacity: 1;

    visibility: visible;
  }

  .menu-list__list-item:has([data-animating]) > .menu-list__submenu {
    --submenu-content-opacity: 0;

    visibility: visible;

    &::before {
      height: 0;
    }
  }

  .menu-list__submenu-inner,
  .overflow-menu::part(overflow-list) {
    grid-column: 2;
    padding-block-start: var(--submenu-padding-block-start);
    padding-block-end: var(--submenu-padding-block-end);
    padding-inline: var(--section-padding-inline);
  }

  .overflow-menu::part(overflow) {
    --menu-top-level-font-size: var(--font-size--xlarge);

    display: grid;
    grid-template-columns: var(--full-page-grid-with-margins);
  }

  .overflow-menu::part(overflow-list) {
    --submenu-content-opacity: 0;

    position: relative;
    display: grid;
    grid-template-columns: minmax(auto, 200px) 1fr;
    grid-template-areas: 'left right';
    grid-template-rows: max-content;
    grid-gap: 0;
  }

  .menu-list__list-item:is([slot='overflow']) {
    --menu-top-level-font-color: var(--color-foreground);
    --menu-top-level-font-color-rgb: var(--color-foreground-rgb);

    display: contents;
    white-space: normal;

    .menu-list__link {
      --submenu-content-opacity: 0;

      grid-area: left;
      grid-row: auto;
      height: min-content;
      font-size: var(--font-size--xl);
      opacity: var(--submenu-content-opacity);
      transition: var(--submenu-content-animation);
    }

    .menu-list__submenu {
      visibility: hidden;
      grid-row: 1;
      grid-area: right;
      grid-row-end: span calc(var(--overflow-count) + 1);
      padding-left: 40px;
      padding-right: 40px;

      .menu-list__submenu-inner {
        grid-column: unset;
      }
    }

    .menu-list__link[aria-expanded='true'] + .menu-list__submenu {
      visibility: visible;
    }
  }

  .header-menu[data-overflow-expanded='true'] .menu-list__list-item:where([slot='overflow']) .menu-list__link {
    --submenu-content-opacity: 1;
  }

  .menu-list__list-item:where([slot='overflow']):has([data-animating]) > .menu-list__link {
    --submenu-content-opacity: 0;
  }

  .menu-list__submenu-inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    opacity: var(--submenu-content-opacity);
    transition: var(--submenu-content-animation);
  }

  .mega-menu__link {
    font-family: var(--menu-child-font-family);
    font-style: var(--menu-child-font-style);
    font-weight: var(--menu-child-font-weight);
    font-size: var(--menu-child-font-size);
    line-height: var(--menu-child-font-line-height);
    text-transform: var(--menu-child-font-case);
    color: var(--menu-child-font-color);
    white-space: normal;
    text-decoration: none;
    display: inline-flex;
    padding: var(--padding-2xs) 0;
    transition: color var(--animation-speed) var(--animation-easing);

    &:hover {
      color: var(--menu-child-active-font-color);
    }
  }

  .mega-menu__link--parent {
    font-family: var(--menu-parent-font-family);
    font-style: var(--menu-parent-font-style);
    font-weight: var(--menu-parent-font-weight);
    font-size: var(--menu-parent-font-size);
    line-height: var(--menu-parent-font-line-height);
    text-transform: var(--menu-parent-font-case);
    color: var(--menu-parent-font-color);

    &:hover {
      color: var(--menu-parent-active-font-color);
    }
  }

  @media screen and (max-width: 989px) {
    .mega-menu__content-list-item--hidden-tablet {
      display: none;
    }
  }

  .mega-menu__link:has(.mega-menu__link-image) {
    display: flex;
    flex-direction: column;
    padding-inline: 0;
    padding-block: var(--padding-sm) 0;
  }

  .mega-menu__link-image {
    width: 100%;
    position: relative;
    aspect-ratio: 1 / 1;
    margin-bottom: var(--padding-sm);
    object-fit: cover;
    border-radius: var(--menu-image-border-radius);
  }

  /* Fix alignment for collection image mode links without images */

  /* Target only top-level links (direct children of column > div) in collection image mode */
  .mega-menu__grid:has(.mega-menu__link-image)
    .mega-menu__column
    > div
    > .mega-menu__link:not(:has(.mega-menu__link-image)) {
    display: flex;
    flex-direction: column;
    padding-inline: 0;
    padding-block: var(--padding-sm) 0;
  }

  .mega-menu__grid:has(.mega-menu__link-image)
    .mega-menu__column
    > div
    > .mega-menu__link:not(:has(.mega-menu__link-image))::before {
    content: '';
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    margin-bottom: var(--padding-sm);
    background-color: var(--color-foreground-muted);
    opacity: 0.1;
    border-radius: var(--menu-image-border-radius);
  }

  .mega-menu__grid {
    display: grid;
    grid-template-columns: repeat(var(--menu-columns-tablet), minmax(0, 1fr));
    gap: var(--menu-vertical-gap) var(--menu-horizontal-gap);
    width: 100%;

    @media screen and (min-width: 990px) {
      grid-template-columns: repeat(var(--menu-columns-desktop), minmax(0, 1fr));
    }
  }

  .mega-menu__column {
    grid-column: span 1;
  }

  .mega-menu__column--span-2 {
    grid-column: span 2;
  }

  .mega-menu__column--span-3 {
    grid-column: span 3;
  }

  .mega-menu__column--span-4 {
    grid-column: span 4;
  }

  .mega-menu__column--collection-image {
    grid-column: span 1;

    @media screen and (min-width: 990px) {
      grid-column: span 2;
    }
  }

  .mega-menu__column--collection-image .mega-menu__link {
    text-transform: var(--title-case);
  }

  .mega-menu__submenu .mega-menu__column--collection-image {
    grid-column: span 1;
  }

  /* Apply title case to featured products and collections */
  .mega-menu__content-list--products .resource-card__title,
  .mega-menu__content-list--collections .resource-card__title {
    text-transform: var(--title-case);
  }

  .mega-menu__content-list {
    display: grid;
    justify-content: end;
    gap: var(--menu-vertical-gap) var(--menu-horizontal-gap);
  }

  .mega-menu__content-list--products {
    grid-template-columns: repeat(var(--menu-content-columns-tablet), minmax(0, 1fr));

    @media screen and (min-width: 990px) {
      grid-template-columns: repeat(var(--menu-content-columns-desktop), minmax(0, 1fr));
    }
  }

  .mega-menu__content-list--collections {
    grid-template-columns: repeat(var(--menu-content-columns-tablet), minmax(0, 300px));

    @media screen and (min-width: 990px) {
      grid-template-columns: repeat(var(--menu-content-columns-desktop), minmax(0, 300px));
    }
  }

  .mega-menu__list {
    display: flex;
    max-width: 100%;
    gap: var(--menu-vertical-gap) var(--menu-horizontal-gap);

    @media screen and (min-width: 990px) {
    }
  }

  .mega-menu__list:has(.mega-menu__product-card) {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    --mega-menu-product-card-padding: clamp(8px, 0.7vw, 12px);
    --mega-menu-product-card-content-padding: clamp(12px, 1vw, 20px);
    --mega-menu-product-card-content-padding-bottom: clamp(8px, 0.8vw, 12px);
    --mega-menu-product-card-description-width: clamp(120px, 12vw, 200px);
  }

  .mega-menu__content {
    grid-column: span var(--menu-content-columns-tablet) / -1;

    @media screen and (min-width: 990px) {
      grid-column: span var(--menu-content-columns-desktop) / -1;
    }
  }

  .menu-list__list-item[slot='overflow'] .section {
    grid-template-columns: 1fr;
  }

  .menu-list__list-item[slot='overflow'] .section .mega-menu__grid {
    grid-column: 1;
  }

  .mega-menu__content-list li {
    white-space: normal;
  }

  /* mega more menu */
  .mega-menu__more-list {
    --menu-child-font-size: var(--font-size--xl);

    width: 200px;
  }

  .mega-menu__more-list-item .mega-menu__link {
    color: rgb(var(--menu-top-level-font-color-rgb) / var(--opacity-subdued-text));
  }

  .mega-menu__more-list-item:where(:hover, .active) .mega-menu__link {
    color: var(--menu-top-level-font-color);
  }

  .mega-menu__more-list-item[aria-hidden='true'] {
    display: none;
  }

  .mega-menu__submenu {
    /* preserves the inherited grid layout when this submenu wrapper is used */
    display: contents;
  }

  /* Mega menu product cards */
  .mega-menu__list-item {
    flex: 1;
  }

  .mega-menu__product-card-wrapper {
    height: 100%;
  }
  .mega-menu__product-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background-color: #e9e4da;
    border-radius: 4px;
    overflow: hidden;
    text-align: center;
    padding: var(--mega-menu-product-card-padding, 12px);
    height: 100%;
  }

  .mega-menu__product-card-link {
    display: flex;
    text-decoration: none;
    color: inherit;
    flex-direction: column;
    height: 100%;
    flex-grow: 1;
  }

  .mega-menu__product-card-media {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    flex-shrink: 0;
  }

  .mega-menu__product-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 4px;
  }

  .mega-menu__product-card-image-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
    color: var(--color-foreground);
    padding: var(--padding-sm);
    font-size: var(--font-size--lg);
    border-radius: 4px;
  }

  .mega-menu__product-card-content {
    display: flex;
    height: 100%;
    flex-direction: column;
    align-items: center;
    gap: var(--padding-sm);
    padding-left: var(--mega-menu-product-card-content-padding, 20px);
    padding-right: var(--mega-menu-product-card-content-padding, 20px);
    padding-top: var(--mega-menu-product-card-content-padding, 20px);
    padding-bottom: var(--mega-menu-product-card-content-padding-bottom, 8px);
    color: var(--color-foreground);
    flex-grow: 1;
  }

  .mega-menu__product-card-heading {
    color: #291406;
    text-align: center;
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-shango-gothic-medium);
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 80%;
    letter-spacing: -0.8px;
    margin: 0;
  }

  .mega-menu__product-card-description {
    flex-grow: 1;
    font-family: var(--font-body-family);
    font-style: italic;
    font-size: var(--font-size--body);
    line-height: var(--line-height--body);
    color: var(--color-foreground);
    margin: 0;
    max-width: var(--mega-menu-product-card-description-width, 200px);
    text-wrap: auto;
    color: #291406;
    text-align: center;
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-kennerley-italic);
    font-style: italic;
    font-size: 14px;
    font-weight: 400;
    line-height: 100%; /* 12px */
    letter-spacing: -0.24px;
  }

  .mega-menu__product-card--child {
    margin-bottom: var(--padding-sm);
  }

  .mega-menu__product-card--child:last-child {
    margin-bottom: 0;
  }

  /* Mobile menu drawer styling - centered vertical stack with serif font */
  .header__drawer--mobile .menu-drawer__navigation {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }

  .header__drawer--mobile .menu-drawer__menu {
    --header-menu-mobile-item-gap: 20px;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--header-menu-mobile-item-gap);
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
  }

  /* Override animation to ensure all items are visible */
  .header__drawer--mobile .menu-drawer__animated-element {
    animation: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .header__drawer--mobile .menu-drawer__list-item {
    width: 100%;
    min-height: 0;
    text-align: center;
    list-style: none;
    margin: 0;
    padding: 0;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .header__drawer--mobile .menu-drawer__menu-item {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0;
    text-align: center;
    text-decoration: none;
    color: var(--color-foreground);
    font-family: var(--font-shango-gothic-medium);
    font-size: 28px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.02em;
    transition: color var(--animation-speed) var(--animation-easing);
    border: none;
    background: transparent;
    cursor: pointer;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .header__drawer--mobile .menu-drawer__menu-item:hover,
  .header__drawer--mobile .menu-drawer__menu-item:focus {
    color: var(--color-foreground);
    opacity: 0.8;
    background: transparent;
  }

  .header__drawer--mobile .menu-drawer__menu-item-text {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: -0.02em;
    margin: 0;
    text-transform: uppercase;
  }

  /* Hide accordion icons and details for simple mobile menu */
  .header__drawer--mobile .menu-drawer__menu-item summary .svg-wrapper,
  .header__drawer--mobile .menu-drawer__menu-item .svg-wrapper,
  .header__drawer--mobile .menu-drawer__menu-item summary::after {
    display: none !important;
  }

  /* Ensure simple links don't show accordion behavior */
  .header__drawer--mobile .menu-drawer__list-item--flat .menu-drawer__menu-item,
  .header__drawer--mobile .menu-drawer__list-item--deep .menu-drawer__menu-item {
    display: flex;
  }

  /* Hide child menus in mobile drawer for simple menu */
  .header__drawer--mobile .menu-drawer__menu--childlist {
    display: none !important;
  }

  /* Remove details/summary styling for accordion items */
  .header__drawer--mobile .menu-drawer__menu-item summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .header__drawer--mobile .menu-drawer__menu-item summary::-webkit-details-marker {
    display: none;
  }
/* END_BLOCK:_header-menu */

/* START_BLOCK:_image (INDEX:106) */
image-block {
    --image-height-basis: 10rem;
    --image-height-small: calc(var(--image-height-basis) * 2);
    --image-height-medium: calc(var(--image-height-basis) * 3);
    --image-height-large: calc(var(--image-height-basis) * 4);

    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: var(--ratio);
    width: 100%;
    max-width: calc(var(--image-height) * var(--ratio));
    height: var(--image-height);
    overflow: hidden;

    @media screen and (min-width: 750px) {
      --image-height-small: calc(var(--image-height-basis) * 2.5);
      --image-height-medium: calc(var(--image-height-basis) * 3.5);
      --image-height-large: calc(var(--image-height-basis) * 4.5);
    }

    @media screen and (max-width: 749px) {
      height: auto;
    }

    &[height='small'] {
      --image-height: var(--image-height-small);
    }

    &[height='medium'] {
      --image-height: var(--image-height-medium);
    }

    &[height='large'] {
      --image-height: var(--image-height-large);
    }

    &[ratio='portrait'] {
      --ratio: 4 / 5;
    }

    &[ratio='square'] {
      --ratio: 1 / 1;

      @media screen and (min-width: 750px) {
        max-width: var(--image-height);
      }
    }

    &[ratio='landscape'] {
      --ratio: 16 / 9;
    }

    img {
      object-fit: cover;
      width: 100%;
      height: auto;
      aspect-ratio: var(--ratio);
      border-radius: var(--border-radius);
    }
  }
/* END_BLOCK:_image */

/* START_BLOCK:_marquee (INDEX:109) */
marquee-component {
    display: block;
    width: 100%;
    overflow: hidden;
    background-color: var(--color-background);
  }

  .marquee__wrapper {
    display: flex;
    gap: var(--marquee-gap);
    width: fit-content;
    white-space: nowrap;
  }

  .marquee__content {
    min-width: max-content;
    display: flex;
    gap: var(--marquee-gap);
    @media screen and (min-width: 750px) {
      gap: var(--marquee-gap-desktop);
    }
  }

  .marquee__content :is(p, h1, h2, h3, h4, h5, h6) {
    white-space: nowrap;
  }

  .marquee__content .marquee__repeated-items * {
    max-width: none;
  }

  .marquee__repeated-items {
    min-width: max-content;
    display: flex;
    gap: var(--marquee-gap);
    align-items: center;
    justify-content: center;
  }

  @media screen and (min-width: 750px) {
    .marquee__repeated-items {
      gap: var(--marquee-gap-desktop);
    }
  }

  .marquee__repeated-items > * {
    align-content: center;
  }

  .hero__content-wrapper.layout-panel-flex--column marquee-component {
    --margin-inline: var(--full-page-margin-inline-offset);

    width: -webkit-fill-available;
    min-height: max-content;
  }

  @media (prefers-reduced-motion: no-preference) {
    marquee-component:not([data-disabled]) .marquee__wrapper {
      animation: marquee-motion var(--marquee-speed) linear infinite var(--marquee-direction);
    }
  }

  @keyframes marquee-motion {
    to {
      transform: translate3d(calc(-50% - (var(--marquee-gap) / 2)), 0, 0);
    }
  }
/* END_BLOCK:_marquee */

/* START_BLOCK:_product-details (INDEX:115) */
/* Clear padding on mobile, if not full-width */
  @media screen and (max-width: 749px) {
    .product-information.section--page-width .product-details > .group-block {
      padding-inline: 0;
    }
  }

  .view-product-title {
    display: none;
  }

  /* Container styles */
  .product-details {
    display: flex;
    align-self: start;
  }

  @media screen and (min-width: 750px) {
    .product-details > .group-block {
      height: min-content;
    }

    .full-height--desktop {
      height: 100%;
      max-height: calc(100vh - var(--header-group-height, 0));
      min-height: fit-content;
    }

    .full-height--desktop .group-block {
      align-self: var(--details-position, 'flex-start');
    }
  }
/* END_BLOCK:_product-details */

/* START_BLOCK:_product-media-gallery (INDEX:119) */
/* Responsive visibility classes */
  .hide-desktop {
    display: none !important;
  }

  .hide-mobile {
    display: block !important;
  }

  @media (max-width: 749px) {
    .hide-mobile {
      display: none !important;
    }
    
    .hide-desktop {
      display: block !important;
    }
  }

  .dialog-zoomed-gallery {
    --dialog-image-max-width: 50vw;

    cursor: zoom-out;
  }

  .dialog--preloading {
    opacity: 0;
  }

  .product-media__drag-zoom-wrapper {
    aspect-ratio: inherit;
    min-height: inherit;
    min-width: inherit;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: inherit;
  }

  @media screen and (min-width: 750px) {
    zoom-dialog dialog {
      scroll-snap-type: y mandatory;
    }

    .dialog-zoomed-gallery {
      margin: 0;
      padding: 0;
    }

    .dialog-zoomed-gallery .product-media-container {
      min-height: 100dvh;
      display: flex;
      align-items: center;
      justify-content: center;
      scroll-snap-align: center;
      scroll-snap-stop: always;
    }

    .dialog-zoomed-gallery .product-media-container--image .product-media {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .dialog-zoomed-gallery .product-media__drag-zoom-wrapper .product-media__image {
      width: min(100%, var(--dialog-image-max-width));
      max-width: var(--dialog-image-max-width);
      height: auto;
      object-fit: contain;
    }

    .dialog-zoomed-gallery
      :is(.product-media-container--video, .product-media-container--external_video)
      .product-media {
      --gallery-aspect-ratio: auto;

      width: min(100%, var(--dialog-image-max-width));
      max-width: var(--dialog-image-max-width);
      display: grid;
      position: relative;
      margin-inline: auto;
      aspect-ratio: var(--ratio);
      align-items: center;
      justify-content: center;
      overflow: hidden;
    }

    .dialog-zoomed-gallery
      :is(.product-media-container--video, .product-media-container--external_video)
      .product-media__image {
      grid-area: 1 / 1;
      width: 100%;
      height: 100%;
      object-fit: contain;
      z-index: 0;
      pointer-events: none;
    }

    .dialog-zoomed-gallery
      :is(.product-media-container--video, .product-media-container--external_video)
      deferred-media {
      grid-area: 1 / 1;
      display: block;
      position: relative;
      z-index: 1;
      width: 100%;
      max-width: 100%;
      height: 100%;
      aspect-ratio: auto;
    }

    .dialog-zoomed-gallery
      :is(.product-media-container--video, .product-media-container--external_video)
      .product-media:has(deferred-media[data-media-loaded], deferred-media > :is(video, iframe))
      .product-media__image {
      opacity: 0;
    }

    .dialog-zoomed-gallery
      :is(.product-media-container--video, .product-media-container--external_video)
      :is(video, iframe, .video-background, .video-background *) {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
  }

  @media screen and (max-width: 749px) {
    .dialog-zoomed-gallery {
      /* Prevent scroll wheel or swipe scrolling */
      overscroll-behavior: none;
      scrollbar-width: none;
      display: flex;
      scroll-snap-type: x mandatory;
      overflow-x: hidden;
      scroll-behavior: smooth;
      height: 100%;

      &::-webkit-scrollbar {
        display: none;
      }
    }

    .dialog-zoomed-gallery .product-media-container {
      flex: 0 0 100%;
      scroll-snap-align: start;
      position: relative;
    }

    .dialog-zoomed-gallery .product-media-container--image .product-media {
      aspect-ratio: auto;
      height: 100%;
      width: 100%;
      overflow: hidden;
    }

    .dialog-zoomed-gallery .product-media-container--video,
    .dialog-zoomed-gallery .product-media-container--external_video {
      align-content: center;
    }

    .dialog-zoomed-gallery
      :is(.product-media-container--video, .product-media-container--external_video, .product-media-container--model)
      .product-media {
      aspect-ratio: auto;
      align-items: center;
      height: 100%;

      .product-media__image {
        height: 100%;
      }
    }

    .product-media__drag-zoom-wrapper {
      display: flex;
      aspect-ratio: auto;
      height: 100%;
      width: 100%;
      overflow: scroll;
      scrollbar-width: none;
      justify-content: center;

      &::-webkit-scrollbar {
        display: none;
      }
    }

    .product-media__drag-zoom-wrapper .product-media__image {
      --product-media-fit: contain;

      object-fit: var(--product-media-fit);
      overflow: hidden;
      transform: scale(var(--drag-zoom-scale))
        translate(var(--drag-zoom-translate-x, 0), var(--drag-zoom-translate-y, 0));
    }

    .media-gallery--hint {
      --slideshow-gap: var(--gap-2xs);
      --media-gallery-peek-width: clamp(72px, 22vw, 104px);
      overflow-x: hidden;

      slideshow-container {
        overflow-x: hidden;
      }

      slideshow-slides {
        overflow-x: auto;
        overscroll-behavior-x: contain;
      }

      slideshow-slide {
        width: calc(100% - var(--media-gallery-peek-width));
        flex: 0 0 calc(100% - var(--media-gallery-peek-width));
      }

      slideshow-slide:only-child {
        width: 100%;
        flex-basis: 100%;
      }

      .product-media img {
        object-fit: cover;
      }
    }

    .slideshow-controls__thumbnails-container {
      -webkit-overflow-scrolling: touch;
      overscroll-behavior-x: contain;
      touch-action: pan-x;
    }

    .slideshow-controls__thumbnails {
      width: max-content;
      margin-inline: 0;
      touch-action: pan-x;
    }

    .slideshow-controls__thumbnail {
      flex: 0 0 auto;
      touch-action: pan-x;
    }
  }

  .dialog-zoomed-gallery__close-button {
    color: #fff;
    mix-blend-mode: difference;
    z-index: var(--layer-raised);
  }

  .media-gallery__mobile-controls {
    grid-area: auto;
  }


  /* Thumbnails container styling when used in product media gallery */
  media-gallery .slideshow-controls__thumbnails-container[pagination-position="left"] {
    padding-top: 20px;
    padding-bottom: 20px;
    overflow: visible;
  }

  media-gallery slideshow-controls[pagination-position="center"] .slideshow-controls__thumbnails {
    padding-bottom: 0px;
  }

  /* Selected thumbnail styling */
  media-gallery slideshow-controls[pagination-position="left"] .slideshow-controls__thumbnail[aria-selected="true"] {
    border: 1px solid #F2EFE9 !important;
    border-radius: 2px !important;
  }

  .dialog-zoomed-gallery .product-media-container--zoomable.product-media-container--image {
    cursor: zoom-out;
  }

  .product-media-container--zoomable.product-media-container--image {
    cursor: zoom-in;
  }

  .dialog-zoomed-gallery .product-media-container--video deferred-media,
  .dialog-zoomed-gallery .product-media-container--external_video deferred-media {
    height: auto;
    aspect-ratio: var(--ratio);
  }

  .dialog-zoomed-gallery .product-media-container--model .product-media__image {
    /* Make the height match the height of the model-viewer */
    height: 100vh;
  }
  .product-media-gallery__slideshow-controls {
    display: none;
  }
/* END_BLOCK:_product-media-gallery */

/* START_BLOCK:_search-input (INDEX:121) */
.search-page-input {
    width: 100%;
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    padding-block: var(--padding-lg);
    padding-inline: calc(var(--icon-size-lg) + var(--margin-xl) * 1.5);
    text-overflow: ellipsis;
    overflow: hidden;
    border-radius: var(--style-border-radius-inputs);
    border: var(--style-border-width-inputs) solid var(--color-input-border);

    @media screen and (max-width: 749px) {
      padding-inline: calc(var(--margin-xs) + var(--icon-size-lg) + var(--padding-md));
    }
  }

  .search-page-input::placeholder {
    color: rgb(var(--color-input-text-rgb) / var(--opacity-subdued-text));
  }

  .search-page-input__parent {
    display: flex;
    flex-direction: column;
    align-items: var(--horizontal-alignment);
  }

  .search-results__no-results {
    opacity: var(--opacity-subdued-text);
  }

  search-page-input-component {
    position: relative;
    width: 100%;
    display: flex;
    top: 0;
    max-width: var(--size-style-width);
    align-items: center;
    background-color: var(--color-background);
    margin: var(--margin-2xl) 0 var(--margin-md);

    @media screen and (max-width: 749px) {
      max-width: 100%;
    }
  }

  search-page-input-component .search__icon,
  search-page-input-component .search__icon:hover,
  search-page-input-component .search__reset-button,
  search-page-input-component .search__reset-button:hover {
    background: transparent;
    position: absolute;
    top: auto;
    width: var(--icon-size-lg);
    height: var(--icon-size-lg);
  }

  search-page-input-component .search__icon svg,
  search-page-input-component .search__reset-button svg {
    width: var(--icon-size-md);
    height: var(--icon-size-md);
  }

  search-page-input-component .search__icon svg {
    color: var(--color-input-text);
  }

  search-page-input-component .search__icon {
    left: var(--margin-lg);

    @media screen and (max-width: 749px) {
      left: var(--margin-md);
    }
  }

  search-page-input-component .search__reset-button {
    border-radius: 100%;
    color: var(--color-input-text);
    right: var(--margin-lg);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--animation-speed) var(--animation-easing),
      visibility var(--animation-speed) var(--animation-easing);

    @media screen and (max-width: 749px) {
      right: var(--margin-md);
    }
  }

  search-page-input-component:has(.search-page-input:not(:placeholder-shown)) .search__reset-button {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  search-page-input-component .search__reset-button-icon {
    vertical-align: middle;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--icon-size-lg);
    height: var(--icon-size-lg);
    transition: transform var(--animation-speed) var(--animation-easing);
  }

  search-page-input-component .search__reset-button:active .search__reset-button-icon {
    transform: scale(0.9);
  }

  search-page-input-component .search__reset-button-icon svg {
    width: var(--icon-size-md);
    height: var(--icon-size-md);
  }

  search-page-input-component .search__reset-button--hidden {
    cursor: default;
    opacity: 0;
    transition: opacity var(--animation-speed) var(--animation-easing);
    pointer-events: none;
    visibility: hidden;
  }

  search-page-input-component .search__reset-button-text {
    display: none;
  }
/* END_BLOCK:_search-input */

/* START_BLOCK:_slide (INDEX:122) */
.slide__content {
    height: 100%;
    position: relative;
    z-index: var(--layer-flat);
  }

  .slide__content > * {
    margin: auto;
  }

  .slide__content.background-transparent {
    background-color: transparent;
  }

  slideshow-slide > .slide__image-container {
    display: flex;
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: absolute;
  }

  .slide__image-container > placeholder-image,
  .slide__image-container > placeholder-image > img {
    width: 100%;
  }

  .slide__image-container > .slide__image,
  .slide__image-container > .slide__video,
  .slide__image-container > .slide__video-poster {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }

  .slide__image-container > .slide__video-poster {
    position: absolute;
  }
/* END_BLOCK:_slide */

/* START_BLOCK:_social-link (INDEX:123) */
.social-icons__icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .social-icons__icon-wrapper a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    background-color: #F3F0F2;
    border-radius: 100%;
    min-height: var(--minimum-touch-target);
    transition: opacity 0.6s ease-in-out;
  }

  .social-icons__icon-wrapper a:hover {
    opacity: 0.7;
  }

  .social-icons__icon {
    display: flex;
    fill: currentColor;
    flex-shrink: 0;
    width: var(--icon-size-md);
    height: var(--icon-size-md);
    margin-right: var(--margin-xs);
  }

  .social-icons__icon-label {
    display: block;
    font-size: var(--font-size-sm);
  }

  /* Disabled state for editor */
  .shopify-design-mode .social-icons__icon-wrapper--disabled {
    opacity: var(--disabled-opacity, 0.5);
    cursor: not-allowed;
  }

  .shopify-design-mode .social-icons__icon-wrapper--disabled a {
    pointer-events: none;
  }
/* END_BLOCK:_social-link */

/* START_BLOCK:accelerated-checkout (INDEX:124) */
.accelerated-checkout-block[data-shopify-visual-preview] {
    width: 300px;
  }

  more-payment-options-link {
    font-size: smaller;
  }

  more-payment-options-link a {
    --button-color: var(--color-primary);
  }

  more-payment-options-link a:hover {
    --button-color: var(--color-primary-hover);
  }

  .shopify-payment-button__more-options[aria-hidden='true'] {
    display: none;
  }
/* END_BLOCK:accelerated-checkout */

/* START_BLOCK:accordion (INDEX:125) */
.accordion {
    flex: 1;
    width: 100%;
    max-width: 763px;
  }

  .accordion--dividers accordion-custom:not(:first-child) .details {
    border-block-start: var(--style-border-width) solid var(--color-border);
  }

  /* When accordion borders are not set, show fallback borders */
  .accordion--dividers {
    /* stylelint-disable-next-line declaration-property-value-disallowed-list */
    --show-fallback-borders: 0;
  }

  .accordion--dividers:not([class*='color-'])[style*='--border-width: 0'],
  .accordion--dividers:not([class*='color-'])[style*='--border-style: none'] {
    --show-fallback-borders: 1;
  }

  /* Only show borders between rows, not above first or below last */
  .accordion--dividers accordion-custom:first-child .details {
    border-block-start: none;
  }

  /* Show border above first row if it has a category header */
  .accordion--dividers accordion-custom:first-child .details__header--with-category-header {
    border-block-start: var(--style-border-width) solid var(--color-border);
  }

  .accordion--dividers accordion-custom:last-child .details {
    border-block-end: none;
  }

  .accordion--dividers .details-content {
    padding-block-end: 24px;
  }

  /* Add extra padding when category header is present */
  .accordion--dividers accordion-custom:not(:first-child) .details--with-category-header {
    padding-top: 32px;
  }

  .accordion--caret .icon-plus,
  .accordion--plus .icon-caret {
    display: none;
  }

  /* because we can't pass apply a specific class on a block based on its parent block setting */
  .accordion .details__header {
    font-family: var(--summary-font-family);
    font-style: var(--summary-font-style);
    font-weight: var(--summary-font-weight);
    font-size: var(--summary-font-size);
    line-height: var(--summary-font-line-height, 1);
    text-transform: var(--summary-font-case);
    min-height: var(--minimum-touch-target);
    padding-top: 24px;
    padding-bottom: 24px;
  }

  @media screen and (max-width: 750px) {
    .accordion .details__header {
      font-size: 18px;
      padding-top: 16px;
      padding-bottom: 16px;
    }

    .details__header--with-category-header {
      padding-top: 24px !important;
    }
  }

  .accordion p {
    max-width: 100% !important;
  }
/* END_BLOCK:accordion */

/* START_BLOCK:add-to-cart (INDEX:126) */
.add-to-cart-with-plan {
    width: 100%;
  }

  .add-to-cart-with-plan--enabled {
    display: grid;
    gap: 10px;
  }

  .add-to-cart-with-plan__panel {
    border: 1px solid rgba(var(--color-foreground), 0.22);
    background: rgb(var(--color-background));
    border-radius: 4px;
    padding: 12px;
    display: grid;
    gap: 10px;
  }

  .add-to-cart-with-plan__row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    margin: 0;
    color: rgb(var(--color-foreground));
  }

  .add-to-cart-with-plan__price {
    white-space: nowrap;
    text-align: right;
    margin-left: auto;
  }

  .add-to-cart-with-plan__price s {
    opacity: 0.7;
    margin-right: 0.35em;
  }

  .add-to-cart-with-plan__row select {
    grid-column: 1 / 2;
    width: 100%;
    min-height: 36px;
    margin-top: -2px !important;
  }

  .add-to-cart-with-plan__row input[type='radio'] {
    margin: 0;
  }

  .add-to-cart-with-plan__row--variant span {
    text-transform: uppercase;
    letter-spacing: 0.02em;
  }

  .add-to-cart-with-plan__divider {
    width: 100%;
    height: 1px;
    background: #D6CFC5;
    display: block;
    margin: 5px 0;
  }

  .add-to-cart-with-plan--overlay {
    position: relative;
  }

  .add-to-cart-with-plan__panel {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 56px;
    background: #F2EFE9;
    z-index: 12;
    opacity: 0;
    max-height: 0;
    transition: opacity 0.2s ease, max-height 0.5s ease;
    overflow: hidden;
    border-radius: 4px 4px 0 0;
  }

  .add-to-cart-with-plan__panel * {
    font-family: var(--font-shango-gothic-medium);
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
  }


  .add-to-cart-with-plan--is-expanded .add-to-cart-with-plan__panel {
    opacity: 1;
    max-height: 500px;
  }


  .add-to-cart-with-plan--is-expanded .add-to-cart-button {
    border-radius: 0 0 18px 18px;
  }  

  .add-to-cart-with-plan__row input {
    display: none;
  }

  .add-to-cart-with-plan__row input + span {
    display: inline-flex;
    flex-wrap: nowrap;
    gap: 6px;

    color: var(--Ink, #291406);
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-shango-gothic-medium);
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
  }

  @media (max-width: 1200px) {

    .add-to-cart-with-plan__row input + span {
      flex-wrap: wrap;
    }

    .add-to-cart-with-plan__row input + span:last-child {
      flex: 0 0 100%;
    }

    .add-to-cart-with-plan__price {
      max-width: 40px;
      white-space: pre-wrap;
    }

    .add-to-cart-with-plan__price s {
      margin-right: 0;
      display: inline-block;
      padding-bottom: 4px;
    }
  }

  .add-to-cart-with-plan__row input + span::before {
    content: "";
    width: 10px;
    height: 10px;
    display: inline-block;
    border: 1px solid #000;
    opacity: 0.7;
    border-radius: 50%;
    flex-shrink: 0;
  }

  .add-to-cart-with-plan__row input:checked + span::before {
    opacity: 1;
    background-color: #000;
  }

  .add-to-cart-with-plan__variants {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .add-to-cart-with-plan__choice {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 24px;
  }

  .add-to-cart-with-plan__row--subscription {
    display: flex;
    gap: 10px;
  }

  .add-to-cart-with-plan__row--subscription span {
    position: relative;
  }

  .add-to-cart-with-plan__row--subscription span:last-child::before {
    position: absolute;
    bottom: -3px;
    left: 0;
    right: 24px;
    content: "";
    height: 1px;
    background: #D6CFC5;
    display: block;
  }

  .add-to-cart-with-plan__row--subscription select {
    border: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background: transparent var(--icon-caret-down) no-repeat right 8px center !important;
    padding: 0 24px 0 0 !important;
    outline: none !important;
    min-height: 0;
    margin: 0;
    line-height: normal;
    width: 100%;
    touch-action: manipulation;
  }
/* END_BLOCK:add-to-cart */

/* START_BLOCK:buy-buttons (INDEX:129) */
.buy-buttons-block {
    width: 100%;
  }

  .product-form-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--gap-sm) / 2);

    @media screen and (min-width: 750px) {
      gap: var(--gap-sm);
    }
  }

  .product-form-buttons > *:not(.quantity-selector) {
    flex: 1 1 185px;
    min-width: fit-content;
  }

  .product-form-buttons--stacked > *:not(.quantity-selector) {
    flex-basis: 51%; /* Force the buttons to be on separate rows */
  }

  .quantity-selector {
    flex-grow: 0;
  }

  .product-form-buttons button {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .add-to-cart-button {
    text-transform: var(--button-text-case-primary);
  }

  .add-to-cart-button.button-secondary {
    text-transform: var(--button-text-case-secondary);
  }

  .product-form-buttons .shopify-payment-button__button {
    width: 100%;
    min-height: var(--minimum-touch-target);
  }

  .product__pickup-availabilities {
    width: 100%;
  }

  .pickup-availability__column {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }

  .pickup-availability__row {
    display: flex;
    gap: var(--padding-xs);
  }

  .pickup-availability__dialog-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }

  .pickup-availability__header-container {
    padding-block-end: var(--padding-2xl);
  }

  .pickup-location__wrapper {
    display: flex;
    flex-direction: column;
    padding-block: var(--padding-2xl);
    border-top: 1px solid var(--color-border);
    gap: var(--padding-xs);
  }

  .pickup-location__address-wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--padding-md);
  }

  .pickup-location__dialog {
    padding: var(--padding-2xl);
    position: fixed;
    border-radius: 0;
    width: var(--sidebar-width);
    max-width: 95vw;
    height: 100%;
    margin: 0 0 0 auto;
    border: var(--style-border-drawer);
    box-shadow: var(--shadow-drawer);
    background-color: var(--color-background);
  }

  .pickup-location__dialog:modal {
    max-height: 100dvh;
  }

  .pickup-location__text-sm {
    font-size: var(--font-size--sm);
    margin: 0;
  }

  .pickup-location__text-xs {
    font-size: var(--font-size--xs);
    margin: 0;
  }

  .product-form-text__error {
    display: flex;
    align-items: flex-start;
    gap: var(--gap-xs);
  }

  .pickup-location__button {
    width: fit-content;
    color: var(--color-primary);
    font-size: var(--font-size--xs);
    font-family: var(--font-kennerley);
    letter-spacing: -0.02em;
    padding: 0;
    cursor: pointer;
    margin-block: var(--margin-xs);
  }

  .pickup-location__button:hover {
    color: var(--color-primary-hover);
  }

  .pickup-location__h4 {
    margin: 0;
  }

  .pickup-location__text-bold {
    font-size: var(--font-size--md);
    font-weight: 600;
    margin: 0;
  }

  .pickup-location__availability-wrapper {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
    font-family: var(--font-paragraph--family);
    letter-spacing: var(--font-paragraph--letter-spacing);
  }

  .pickup-location__address {
    font-style: normal;
  }

  .pickup-location__close-button {
    top: calc(var(--padding-2xl) - (var(--icon-size-xs) / 2));
    right: calc(var(--padding-2xl) - var(--icon-size-xs));
  }

  .add-to-cart-text__content .is-desktop-only {
    display: none;
  }

  .buy-buttons-block--overlay .add-to-cart-text .add-to-cart-text__content {
    display: flex;
    justify-content: center !important;
    width: 100%;
  }

  @media screen and (min-width: 750px) {

    .buy-buttons-block--overlay .add-to-cart-text .add-to-cart-text__content {
      justify-content: space-between !important;
    }
    
    .buy-buttons-block--overlay {
      position: absolute;
      top: 32px;
      left: 32px;
      right: 32px;
      width: auto;
      z-index: 10;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      aspect-ratio: 0.95;
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .add-to-cart-text__content .is-desktop-only {
      display: inline;
    }

    .product-card:hover .buy-buttons-block--overlay {
      opacity: 1 !important;
    }

    .buy-buttons-block--overlay .add-to-cart-with-plan__panel {
      left: 0;
      right: 0;
      bottom: 36px;
    }
  }
/* END_BLOCK:buy-buttons */

/* START_BLOCK:carousel-image (INDEX:131) */
.placeholder-image {
    position: relative;
    aspect-ratio: var(--ratio);
    overflow: hidden;
  }

  placeholder-image img {
    width: 100%;
    height: 100%;
    aspect-ratio: var(--ratio);
  }

  .image-block {
    display: flex;

    /* When the image is nested in a group, section, etc, respect the parent's horizontal alignment */
    justify-content: var(--horizontal-alignment, 'inline-start');
  }

  .image-block--height-fill .image-block__image {
    height: 100%;
  }

  .image-block__image {
    object-fit: cover;
    aspect-ratio: var(--ratio);
  }

  .carousel-image-img {
    object-fit: cover;
  }

  .carousel_image_container {
    width: 100%;
    height: 100%;
  }
/* END_BLOCK:carousel-image */

/* START_BLOCK:carousel-item (INDEX:132) */
.carousel-item-with-product {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 264px;

    /* border gets cut off on mobile, this accounts for that */
    padding-bottom: 2px;
  }

  .carousel-item-with-product__media {
    width: 264px;
    flex-shrink: 0;
  }

  .carousel-item-with-product__media a {
    display: block;
  }

  .carousel-item-product-card {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    padding: 8px;
    background-color: #F2EFE9;
    border: 1px solid rgba(34, 31, 25, 0.50);
    border-radius: 8px;
    width: 264px;
    flex-shrink: 0;
    box-sizing: border-box;
  }

  .carousel-item-product-card__link {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
    text-decoration: none;
    color: inherit;
  }

  .carousel-item-product-card__link:hover {
    text-decoration: none;
  }

  .carousel-item-product-card__image {
    flex-shrink: 0;
    width: 40px;
    height: 56px;
    border-radius: 4px;
    overflow: hidden;
  }

  .carousel-item-product-card__image-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .carousel-item-product-card__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f0f0f0;
  }

  .carousel-item-product-card__placeholder svg {
    width: 100%;
    height: 100%;
  }

  .carousel-item-product-card__info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 0;
  }

  .carousel-item-product-card__title {
    color: #291406;
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-shango-gothic-medium);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  .carousel-item-product-card__price {
    color: #291406;
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-shango-gothic-medium);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
  }

  .carousel-item-product-card__button {
    flex-shrink: 0;
    width: 39px;
  }

  .carousel-item-product-card__button .quick-add {
    position: static;
    display: flex;
    inset: unset;
    width: auto;
    height: auto;
    pointer-events: all;
    cursor: default;
  }

  /* Carousel media wrapper - enforces fixed 264px width and 264/391 aspect ratio */
  .carousel-media-wrapper {
    position: relative;
    width: 264px;
    height: 391px;
    overflow: hidden;
    border-radius: 2px;
    flex-shrink: 0;
  }

  /* Carousel media (image or video) - fills the wrapper */
  .carousel-media {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .placeholder-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f0f0f0;
  }

  .placeholder-image svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .media-block {
    display: flex;
    justify-content: var(--horizontal-alignment, 'inline-start');
  }

  .carousel_media_container {
    width: 264px;
  }
/* END_BLOCK:carousel-item */

/* START_BLOCK:carousel (INDEX:133) */
.carousel-block {
  width: 100%;
}


.carousel-block__slideshow {
  position: relative;
}

.carousel-block__slideshow slideshow-slides {
  /*
   * In full-width sections, align the first/last slide with the page content
   * by using the dynamic page offset (matches narrow/normal page widths).
   *
   * In page-width sections, keep gutters at 0 to avoid double-padding.
   */
  --gutter-slide-width: 0px;
  gap: var(--gap-md);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  touch-action: manipulation;
}

.section--full-width .carousel-block__slideshow slideshow-slides {
  --gutter-slide-width: var(--util-page-margin-offset);
}

/* Safari can miscalculate scrollable width when non-active slides are hidden via content-visibility. */
.carousel-block__slideshow slideshow-slide {
  content-visibility: visible;
}

.carousel-block__slide {
  width: var(--slide-width-max);
  height: auto;
  min-height: var(--slide-height);
  overflow: visible;
  border-radius: var(--border-radius-md);
}

.carousel-block__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--animation-speed) var(--animation-easing);
}


/* Mobile responsiveness */
@media (max-width: 749px) {
  .carousel-block__slideshow slideshow-controls {
    display: none;
  }
}
/* END_BLOCK:carousel */

/* START_BLOCK:contact-form-submit-button (INDEX:136) */
.submit-button {
    min-width: max-content;
  }
/* END_BLOCK:contact-form-submit-button */

/* START_BLOCK:email-signup (INDEX:139) */
.email-signup-block {
    @media screen and (max-width: 749px) {
      width: 100%;
    }
  }

  .email-signup__heading {
    padding-block: var(--padding-sm);
  }

  .email-signup__form {
    display: flex;
    flex-direction: column;
  }

  .email-signup__input-group {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    background-color: transparent;
    border-width: var(--border-width);
    border-radius: var(--border-radius);
    border-style: solid;
    border-color: var(--color-input-border);
    padding-top: 4px;
    padding-bottom: 4px;
  }

  .email-signup__input-group:not(:has(.email-signup__button--integrated)) {
    gap: var(--gap-xs);
  }

  .email-signup__input-group:not(:has(.email-signup__button--arrow)) {
    @media screen and (max-width: 749px) {
      grid-template-columns: 1fr;
    }
  }

  .email-signup__input {
    width: 100%;
    border-width: var(--border-width);
    border-radius: var(--border-radius);
    border-style: solid;
    border-color: var(--color-input-border);
    min-width: calc(100% + 12px);
    margin-left: -6px;
  }

  .email-signup__input.paragraph {
    color: var(--color-input-text);
    outline-color: var(--color-input-background);
  }

  .email-signup__button {
    white-space: nowrap;
    padding: 0;

    @media screen and (max-width: 749px) {
      width: 100%;
    }
  }

  .email-signup__input,
  .email-signup__button--text {
    padding: 12px 14px 12px 20px;
  }

  .email-signup__input-group .email-signup__input--underline {
    --box-shadow-color: var(--color-input-border);
    --box-shadow-multiplier: 1;

    color: var(--color-input-text);
    background-color: transparent;
    padding: 12px 0;
    border: none;
    border-radius: 0;
    box-shadow: 0 calc(var(--border-width) * var(--box-shadow-multiplier)) 0 var(--box-shadow-color);
    transition: box-shadow var(--animation-values);

    &:focus-visible {
      --box-shadow-multiplier: 1.75;
      --box-shadow-color: var(--color-input-text);

      outline: none;
    }
  }

  .email-signup__input::placeholder {
    /* color: rgb(var(--color-input-text-rgb) / var(--opacity-70)); */
  }

  .email-signup__input-group .email-signup__input--none {
    color: var(--color-input-text);
    background-color: transparent;
  }

  .email-signup__input:has(+ .email-signup__button--arrow),
  .email-signup__input:has(+ .email-signup__button--integrated) {
    @media screen and (max-width: 749px) {
      text-align: left;
    }
  }

  .email-signup__button-icon {
    fill: currentcolor;
    padding: 5px;

    @media screen and (max-width: 749px) {
      padding: 0;
      align-self: center;
      justify-self: center;
      width: var(--icon-size-lg);
      height: var(--icon-size-lg);
    }
  }

  .email-signup__button--arrow {
    aspect-ratio: 1;
    padding-inline: var(--padding-xs);

    &:not(.email-signup__button--integrated) {
      width: auto;
    }
  }

  .email-signup__button--integrated {
    --button-offset: var(--margin-xs);

    position: absolute;
    height: calc(100% - (var(--button-offset) * 2) - (var(--border-width) * 2));
    right: calc(var(--button-offset) + var(--border-width));
    top: calc(var(--button-offset) + var(--border-width));

    @media screen and (max-width: 749px) {
      width: fit-content;
    }

    &.email-signup__button--text {
      font-family: var(--font-kennerley-italic);
      font-style: italic;
      font-weight: 400;
    }

    &.email-signup__button--text.button-unstyled {
      padding: 0;
    }

    &.button-unstyled {
      border-radius: var(--border-radius);
    }

    > .email-signup__button-icon {
      padding: 0;
    }
  }

  .email-signup__input--underline + .email-signup__button--integrated {
    --button-offset: calc(10% - var(--border-width));

    right: 0;

    &.email-signup__button--text.button-unstyled {
      padding: 0;
    }

    &.button-unstyled {
      border-radius: 0;
    }
  }

  .email-signup__button:not(.button-unstyled) {
    background-color: var(--button-background-color);
    color: var(--button-color);
    font-weight: var(--button-font-weight-primary);
    text-transform: var(--button-text-case-primary);
  }

  .email-signup__button.button-secondary {
    font-weight: var(--button-font-weight-secondary);
    text-transform: var(--button-text-case-secondary);
  }

  .email-signup__button.button-unstyled {
    background-color: transparent;
    color: var(--color-input-text);
  }

  .email-signup__button.button-unstyled:hover {
    color: rgb(var(--color-input-text-rgb) / var(--opacity-70));
    cursor: pointer;
  }

  .email-signup__message {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
  }

  .email-signup__message-text {
    margin: 0;
  }
/* END_BLOCK:email-signup */

/* START_BLOCK:fading-line-left (INDEX:140) */
.fading-line-left-block {
    display: block;
    flex-shrink: 0;
  }

  .fading-line-left-block svg {
    display: block;
  }
/* END_BLOCK:fading-line-left */

/* START_BLOCK:fading-line-right (INDEX:141) */
.fading-line-right-block {
    display: block;
    flex-shrink: 0;
  }

  .fading-line-right-block svg {
    display: block;
  }
/* END_BLOCK:fading-line-right */

/* START_BLOCK:fading-line-text (INDEX:142) */
.fading-line-text-block {
    display: flex;
    align-items: center;
    gap: var(--gap);
    width: 100%;
    flex-wrap: nowrap;
  }

  .fading-line-text-block__line {
    flex: 1 1 0;
    min-width: 0;
    height: var(--line-height);
    flex-shrink: 1;
  }

  .fading-line-text-block__line[style*="--line-width"] {
    flex: 0 0 var(--line-width);
    flex-shrink: 0;
  }

  .fading-line-text-block__line svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  .fading-line-text-block__text {
    flex-shrink: 0;
    white-space: nowrap;
  }

  .fading-line-text-block__text-content {
    margin: 0;
  }

  @media screen and (max-width: 749px) {
    .fading-line-text-block {
      gap: calc(var(--gap) * 0.75);
    }

    .fading-line-text-block__line {
      flex-shrink: 1;
      min-width: 0;
    }

    .fading-line-text-block__text {
      flex-shrink: 0;
      white-space: nowrap;
    }
  }
/* END_BLOCK:fading-line-text */

/* START_BLOCK:featured-author-group (INDEX:143) */
.featured-authors__group-heading {
    display: flex;
    margin-block-end: clamp(1.75rem, 3vw, 2.75rem);
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .featured-authors__group-heading h3 {
    max-width: 9ch;
    margin: 0;
    color: var(--color-foreground-heading);
    font-family: var(--font-kennerley-swash);
    font-size: clamp(2.6rem, 4.5vw, 4.5rem);
    font-weight: 400;
    letter-spacing: -0.06em;
    line-height: 0.82;
  }

  .featured-authors__group-artwork {
    display: block;
    width: auto;
    max-width: 100%;
    height: 100%;
    object-fit: contain;
    height: 160px;
  }

  .featured-authors__author-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: clamp(0.5rem, 1.4vw, 1rem);
  }

  @media screen and (max-width: 989px) {
    .featured-authors__group-heading {
      min-height: 0;
    }

    .featured-authors__group-artwork {
      max-height: 12rem;
    }
  }
/* END_BLOCK:featured-author-group */

/* START_BLOCK:featured-author (INDEX:144) */
.featured-authors__author {
    min-width: 0;
    text-align: center;
  }

  .featured-authors__author-link {
    display: block;
    color: inherit;
    text-decoration: none;
  }

  .featured-authors__portrait-frame {
    overflow: hidden;
    width: 100%;
    aspect-ratio: 1;
    border-radius: var(--style-border-radius-lg, 12px);
    background: rgb(var(--color-foreground-rgb, 0 0 0) / 0.06);
  }

  .featured-authors__portrait,
  .featured-authors__book {
    display: block;
    width: 100%;
    height: 100%;
  }

  .featured-authors__portrait {
    object-fit: cover;
  }

  .featured-authors__author-name {
    display: flex;
    min-height: 3.35em;
    margin: 0.75rem 0 0.9rem;
    align-items: flex-start;
    justify-content: center;
    color: var(--color-foreground);
    font-family: var(--font-kennerley-small-caps-bold);
    font-size: clamp(0.72rem, 1.15vw, 0.95rem);
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.1;
    overflow-wrap: anywhere;
  }

  .featured-authors__book-frame {
    width: 100%;
    aspect-ratio: 2 / 3;
  }

  .featured-authors__book {
    object-fit: contain;
    object-position: top center;
  }

  .featured-authors__book-title {
    margin: 0.6rem 0 0;
    font-family: var(--font-kennerley);
    font-size: clamp(0.7rem, 1vw, 0.9rem);
    line-height: 1.15;
  }

  .featured-authors__placeholder {
    color: rgb(var(--color-foreground-rgb, 0 0 0) / 0.28);
    background: rgb(var(--color-foreground-rgb, 0 0 0) / 0.06);
  }

  .featured-authors__author-link:hover .featured-authors__book,
  .featured-authors__author-link:focus-visible .featured-authors__book {
    transform: translateY(-3px);
  }

  .featured-authors__book {
    transition: transform 180ms ease;
  }

  @media (prefers-reduced-motion: reduce) {
    .featured-authors__book {
      transition: none;
    }
  }
/* END_BLOCK:featured-author */

/* START_BLOCK:filters (INDEX:146) */
.collection-wrapper {
    @media screen and (min-width: 750px) {
      --facets-vertical-col-width: 6;
    }

    @media screen and (min-width: 990px) {
      --facets-vertical-col-width: 5;
    }
  }

  .facets-block-wrapper {
    @media screen and (min-width: 750px) {
      margin: var(--facets-margin);
      grid-column: var(--grid-column--desktop);
    }
  }

  .facets-block-wrapper--vertical {
    @media screen and (min-width: 750px) {
      grid-column: var(--grid-column--desktop);
    }
  }

  .facets-block-wrapper--vertical + .facets-toggle {
    @media screen and (max-width: 749px) {
      margin: 0;
    }
  }

  .facets-mobile-wrapper {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
    justify-content: flex-end;
  }

  .facets-mobile-wrapper:has(> :nth-child(2)) {
    justify-content: space-between;
  }

  dialog-component.facets-block-wrapper:not(:has(.facets--drawer[open])) {
    @media screen and (min-width: 750px) {
      display: none;
    }
  }

  .variant-option__swatch-wrapper {
    position: relative;
    overflow: visible;
    border-radius: var(--options-border-radius);
  }

  .variant-option--swatches-disabled .variant-option__swatch-wrapper {
    overflow: hidden;
  }

  .facets {
    --facets-form-horizontal-gap: 20px;
    --facets-horizontal-max-input-wrapper-height: 230px;
    --facets-upper-z-index: var(--layer-raised);
    --facets-open-z-index: var(--layer-heightened);
    --facets-sticky-z-index: var(--layer-sticky);
    --facets-panel-min-width: 120px;
    --facets-panel-height: 300px;
    --facets-grid-panel-width: 300px;
    --facets-clear-padding: var(--padding-md);
    --facets-clear-shadow: 0 -4px 14px 0 rgb(var(--color-foreground-rgb) / var(--facets-low-opacity));
    --facets-input-label-color: rgb(var(--color-input-text-rgb) / var(--opacity-60));
    --facets-clear-all-min-width: 120px;
    --facets-see-results-min-width: 55%;
    --facets-mobile-gap: 22px;
    --facets-low-opacity: 10%;
    --facets-hover-opacity: 75%;

    top: auto;
    bottom: 0;
    height: var(--drawer-height);
    max-height: var(--drawer-height);
    width: var(--drawer-width);
    max-width: var(--drawer-max-width);
    box-shadow: none;
    padding-block: 0;

    &:not(.facets--drawer) {
      @media screen and (min-width: 750px) {
        padding-inline: var(--padding-inline-start) var(--padding-inline-end);
        width: 100%;
        max-width: 100%;
      }
    }
  }

  .facets--horizontal {
    display: none;

    @media screen and (min-width: 750px) {
      padding-block: var(--padding-block-start) var(--padding-block-end);
      display: flex;
      align-items: center;
      position: relative;
      z-index: var(--facets-upper-z-index);
      border: none;
      height: auto;
      top: initial;
      bottom: initial;
      max-height: none;
      width: auto;
      overflow: visible;
    }
  }

  .facets--vertical {
    display: none;

    @media screen and (min-width: 750px) {
      padding-block: 0 var(--padding-block-end);
      display: block;
      position: static;
      top: auto;
      bottom: auto;
      height: auto;
      max-height: none;
      width: auto;
      overflow: visible;
    }
  }

  .collection-wrapper:has(.collection-wrapper--full-width) .facets--vertical:not(.facets--drawer) {
    @media screen and (min-width: 750px) {
      padding-inline-start: max(var(--padding-sm), var(--padding-inline-start));
    }
  }

  .facets--drawer {
    border-radius: 0;
    border-right: var(--style-border-drawer);
    box-shadow: var(--shadow-drawer);
    padding-inline: 0;
  }

  .facets--drawer[open] {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .facets.facets-controls-wrapper {
    @media screen and (min-width: 750px) {
      grid-column: column-1 / column-12;
      color: rgb(var(--color-foreground-rgb) / var(--opacity-70));
      gap: 0 var(--facets-form-horizontal-gap);
      padding-bottom: var(--padding-xs);
    }
  }

  .collection-wrapper:has(.product-grid-mobile--large) .facets-mobile-wrapper.facets-controls-wrapper {
    @media screen and (max-width: 749px) {
      display: none;
    }
  }

  .facets__inputs {
    display: flex;
    flex-direction: column;
    gap: var(--padding-lg);
    width: 100%;
  }

  :is(.facets--drawer, .facets--vertical) .facets__inputs:not(:has(.show-more)) {
    padding-block-end: var(--padding-sm);
  }

  /* Facets - Form */
  .facets__form-wrapper {
    display: flex;
    flex-direction: column;
    color: var(--color-foreground-muted);
    width: 100%;
  }

  .facets--horizontal .facets__form-wrapper {
    @media screen and (min-width: 750px) {
      flex-direction: row;
      height: auto;
    }
  }

  .facets__form {
    display: flex;
    flex-flow: column;
    width: 100%;
    height: 100%;
  }

  .facets--horizontal .facets__form {
    @media screen and (min-width: 750px) {
      flex-flow: row nowrap;
      height: auto;
    }
  }

  .facets:not(.facets--drawer) .facets__filters-wrapper {
    @media screen and (min-width: 750px) {
      margin-inline-end: var(--margin-md);
    }
  }

  .facets--horizontal .facets__filters-wrapper {
    @media screen and (min-width: 750px) {
      max-width: 60%;
      display: flex;
      flex-wrap: wrap;
      column-gap: var(--gap-xl);
      margin-inline-end: 0;
    }
  }

  /* Facets - Summary */
  .facets__summary {
    --variant-picker-swatch-width: 32px;
    --variant-picker-swatch-height: 32px;
    --icon-opacity: 0.5;

    @media screen and (min-width: 750px) {
      --variant-picker-swatch-width: 26px;
      --variant-picker-swatch-height: 26px;
    }

    font-size: var(--font-h4--size);
    display: flex;
    justify-content: space-between;

    &:hover {
      --icon-opacity: 1;
    }
  }

  .facets__filters-wrapper:hover .facets__summary,
  .facets__filters-wrapper:has(.facets__panel[open]) .facets__summary {
    opacity: var(--facets-hover-opacity);
  }

  .facets__filters-wrapper .facets__summary:hover,
  .facets__filters-wrapper .facets__panel[open] .facets__summary {
    opacity: 1;
  }

  .facets--horizontal .facets__summary {
    @media screen and (min-width: 750px) {
      font-size: var(--font-paragraph--size);
      justify-content: flex-start;
      height: var(--minimum-touch-target);
    }
  }

  .facets__summary .icon-caret {
    height: var(--icon-size-xs);
    width: var(--icon-size-xs);
    color: rgb(var(--color-foreground-rgb) / var(--icon-opacity));
    margin-block: var(--margin-2xs);
    transition: color var(--animation-speed) var(--animation-easing);
  }

  .facets--drawer .facets__summary .icon-caret {
    margin-inline-start: var(--margin-2xs);
  }

  /* Facets - Bubble */
  .facets__bubble {
    display: inline-flex;
    font-family: var(--font-paragraph--family);
    font-weight: var(--font-paragraph--weight);
    letter-spacing: var(--font-paragraph--letter-spacing);
    aspect-ratio: 1 / 1;
  }

  /* Facets - Inputs */
  .facets__inputs-wrapper {
    margin-block: var(--padding-xs) var(--padding-xs);
  }

  .facets__inputs .show-more {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xl);
    margin-block-end: var(--padding-xl);
  }

  .facets:not(.facets--drawer) .facets__inputs-wrapper {
    @media screen and (min-width: 750px) {
      gap: var(--gap-sm);
    }
  }

  .facets--horizontal .facets__inputs .show-more {
    @media screen and (min-width: 750px) {
      display: contents;
    }
  }

  .facets--horizontal .facets__inputs-wrapper {
    @media screen and (min-width: 750px) {
      max-height: var(--facets-horizontal-max-input-wrapper-height);
      scrollbar-width: none;
      -ms-overflow-style: none;
      overflow-x: auto;
      padding: var(--padding-md);
      margin-block: 0;
    }
  }

  .facets--vertical .facets__inputs:has(.show-more) .facets__inputs-wrapper {
    padding-block: var(--padding-sm);
    padding-inline: var(--padding-sm);
    margin-block: calc(var(--padding-sm) * -1);
    margin-inline: calc(var(--padding-sm) * -1);
  }

  @media screen and (max-width: 749px) {
    .facets__inputs:has(.show-more) .facets__inputs-wrapper {
      padding-block: var(--padding-sm);
      padding-inline: var(--padding-sm);
      margin-block: calc(var(--padding-sm) * -1);
      margin-inline: calc(var(--padding-sm) * -1);
    }
  }

  .facets__inputs-wrapper:not(:has(.facets__inputs-list)),
  .facets__inputs-wrapper .facets__inputs-list {
    display: flex;
    gap: var(--facets-mobile-gap);
    flex-direction: column;

    @media screen and (min-width: 750px) {
      gap: var(--gap-sm);
    }
  }

  @media screen and (min-width: 750px) {
    .facets--vertical .facets__inputs-wrapper .facets__inputs-list--swatches {
      gap: var(--gap-sm);
    }

    .facets--horizontal
      .facets__inputs-wrapper
      .facets__inputs-list--swatches:not(.facets__inputs-list--swatches-grid) {
      display: grid;
      grid-template-columns: repeat(var(--swatch-columns, 4), 1fr);
    }
  }

  .facets__inputs-wrapper .facets__inputs-list--swatches {
    --facets-mobile-gap: var(--gap-sm);
  }

  .facets__inputs-wrapper .facets__inputs-list--grid {
    --min-column-width: 20%;

    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(var(--min-column-width), 1fr));
    gap: var(--gap-sm);

    @media screen and (min-width: 750px) {
      --min-column-width: 50px;
    }
  }

  .facets-block-wrapper:not(.facets-block-wrapper--vertical) .facets__inputs-list--grid {
    @media screen and (min-width: 750px) {
      width: var(--facets-grid-panel-width);
    }
  }

  .facets__inputs-wrapper--row:not(:has(.facets__inputs-list)),
  .facets__inputs-wrapper--row .facets__inputs-list {
    flex-wrap: wrap;
    flex-direction: row;
  }

  .facets__inputs .show-more__button {
    --show-more-icon-size: 22px;
    --show-more-gap: 8px;

    gap: var(--show-more-gap);

    @media screen and (min-width: 750px) {
      --show-more-icon-size: 16px;
      --show-more-gap: 6px;
    }
  }

  .facets__inputs .show-more__button .icon-plus {
    width: var(--show-more-icon-size);
    height: var(--show-more-icon-size);

    svg {
      width: var(--icon-size-xs);
      height: var(--icon-size-xs);
    }
  }

  /* Facets - Panel */
  .facets__panel {
    padding: 0 var(--drawer-padding);
  }

  .facets:not(.facets--drawer) .facets__panel,
  .facets-controls-wrapper .facets__panel {
    @media screen and (min-width: 750px) {
      padding: 0;
    }
  }

  .facets--horizontal .facets__panel {
    @media screen and (min-width: 750px) {
      position: relative;
    }
  }

  .facets-mobile-wrapper .facets__panel-content {
    border-radius: var(--style-border-radius-popover);
  }

  .facets-mobile-wrapper {
    --facets-upper-z-index: var(--layer-raised);
    --facets-panel-min-width: 120px;
    --facets-panel-height: 300px;
  }

  .facets--horizontal .facets__panel-content,
  .sorting-filter__options {
    @media screen and (min-width: 750px) {
      border-radius: var(--style-border-radius-popover);
      position: absolute;
      top: 100%;
      width: max-content;
      min-width: var(--facets-panel-min-width);
      max-width: var(--facets-panel-width);
      max-height: var(--facets-panel-height);
      z-index: var(--facets-upper-z-index);
      box-shadow: var(--shadow-popover);
      border: var(--style-border-popover);
      background-color: var(--color-background);
      overflow-y: hidden;
      gap: 0;
    }
  }

  :is(.facets--drawer, .facets--vertical) :is(.facets__item, .sorting-filter)::before {
    content: '';
    display: block;
    height: 0;
    width: calc(100% - var(--drawer-padding) * 2);
    border-top: var(--style-border-width) solid var(--color-border);
    margin: 0 auto;
  }

  @media screen and (min-width: 750px) {
    .facets:not(.facets--drawer) :is(.facets__item, .sorting-filter)::before {
      width: 100%;
    }

    .facets--horizontal .facets__item:not(:first-of-type)::before,
    .facets--horizontal .sorting-filter::before {
      content: none;
    }
  }

  @media screen and (min-width: 750px) {
    .facets--vertical .facets__item:not(:first-of-type)::before,
    .facets--vertical .sorting-filter::before {
      content: '';
    }
  }

  /* Facets - Text */
  .facets__label,
  .facets__clear-all,
  .clear-filter {
    text-decoration-color: transparent;
    text-decoration-thickness: 0.075em;
    text-underline-offset: 0.125em;
    transition: text-decoration-color var(--animation-speed) var(--animation-easing);
  }

  .facets__label,
  .products-count-wrapper {
    text-transform: var(--facet-label-transform);
  }

  .clear-filter {
    background-color: transparent;
    box-shadow: none;
    padding: 0;
  }

  /* Facets - Label */
  .facets__label {
    color: var(--color-foreground);
    cursor: pointer;

    @media screen and (min-width: 750px) {
      margin-inline-end: var(--margin-2xs);
    }
  }

  /* Products count */
  .products-count-wrapper {
    display: none;
  }

  .facets--horizontal .products-count-wrapper {
    @media screen and (min-width: 750px) {
      display: flex;
      margin-left: auto;
      flex-shrink: 0;
      align-items: center;
      height: var(--minimum-touch-target);
    }
  }

  /* Mobile specific components */
  .facets__title-wrapper {
    background-color: var(--color-background);
    color: var(--color-foreground);
    position: sticky;
    top: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-block: var(--padding-xs);
    padding-inline-start: var(--drawer-padding);
    padding-inline-end: var(--padding-2xs);
    z-index: var(--facets-sticky-z-index);
  }

  :is(.facets--horizontal, .facets--vertical) .facets__title-wrapper {
    @media screen and (min-width: 750px) {
      display: none;
    }
  }

  .facets-drawer__title {
    --variant-picker-swatch-width: 32px;
    --variant-picker-swatch-height: 32px;

    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--gap-xs);

    @media screen and (min-width: 750px) {
      --variant-picker-swatch-width: 26px;
      --variant-picker-swatch-height: 26px;
    }
  }

  .facets-drawer__close {
    position: relative;
    top: 0;
    right: 0;
    padding: 0;
    cursor: pointer;
  }

  /* Status */
  .facets__status:not(:empty) {
    width: max-content;
    display: flex;
    margin-inline-start: auto;
    font-weight: 500;
    color: var(--color-foreground);
  }

  .facets__panel[open] .facets__status {
    display: none;
  }

  .facets--filters-title {
    margin-block-end: 0;
    color: var(--color-foreground);
    height: fit-content;

    @media screen and (max-width: 749px) {
      display: none;
    }
  }

  .facets--horizontal .facets__panel .facets__status:has(:not(:empty)) {
    @media screen and (min-width: 750px) {
      display: flex;
      margin-inline-start: var(--margin-xs);
      margin-inline-end: var(--margin-xs);
    }
  }

  /* Horizontal filter style */
  .facets--horizontal .facets__form {
    @media screen and (min-width: 750px) {
      gap: 0 var(--facets-form-horizontal-gap);
    }
  }

  .collection-wrapper:has(> .facets--horizontal) .facets__panel[open] {
    @media screen and (min-width: 750px) {
      z-index: var(--facets-open-z-index);
    }
  }
/* END_BLOCK:filters */

/* START_BLOCK:footer-utilities (INDEX:148) */
.footer-utilities {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--gap-lg);
    text-wrap: nowrap;
    border-top: var(--border-width) solid var(--color-border);
    color: var(--color-foreground-muted);

    @media screen and (min-width: 750px) {
      flex-direction: row;
      justify-content: space-between;
      gap: var(--gap-md);
      align-items: center;
      text-align: left;
    }
  }

  .footer-utilities a {
    color: var(--color-foreground-muted);
  }

  .footer-utilities__group {
    width: 100%;
    display: flex;
    flex: 1 1 max-content;
    text-align: center;
    flex-direction: column;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--gap-md);

    @media screen and (min-width: 750px) {
      flex-direction: row;
      align-items: baseline;
      gap: var(--gap-2xs) var(--gap-xl);
      text-align: left;
    }
  }

  .footer-utilities__group--right {
    @media screen and (min-width: 750px) {
      justify-content: flex-end;
    }
  }

  .footer-utilities__group:empty {
    @media screen and (max-width: 749px) {
      display: none;
    }
  }
/* END_BLOCK:footer-utilities */

/* START_BLOCK:icon (INDEX:150) */
.icon-block {
    display: flex;
    fill: currentcolor;
    flex-shrink: 0;
  }

  .icon-block__media {
    height: auto;
  }

  @media screen and (max-width: 749px) {
    .icon-block__media {
      width: var(--icon-width-mobile, var(--icon-width, auto)) !important;
      height: auto !important;
    }
  }
/* END_BLOCK:icon */

/* START_BLOCK:image (INDEX:151) */
.placeholder-image {
    position: relative;
    aspect-ratio: var(--ratio);
    overflow: hidden;
  }

  placeholder-image img {
    width: 100%;
    height: 100%;
    aspect-ratio: var(--ratio);
  }

  .image-block {
    display: flex;

    /* When the image is nested in a group, section, etc, respect the parent's horizontal alignment */
    justify-content: var(--horizontal-alignment, 'inline-start');
  }

  .image-block--height-fill .image-block__image {
    height: 100%;
  }

  .image-block__image {
    object-fit: cover;
    aspect-ratio: var(--ratio);
  }

  /* Sparkle container for image blocks */
  .image-block__sparkle-container {
    position: relative;
    width: 100%;
    height: 100%;
  }

  .image-block__image-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
  }

  .image-block__sparkle-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 4;
    pointer-events: none;
    overflow: visible;
  }

  .image-block__sparkle-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 5;
  }
/* END_BLOCK:image */

/* START_BLOCK:logo (INDEX:153) */
.logo-block {
    width: calc(var(--logo-width) + var(--padding-inline-start) + var(--padding-inline-end));
    max-width: 100%;
    max-height: calc(var(--logo-height, 100%) + var(--padding-block-start) + var(--padding-block-end));
    font-size: var(--logo-height);
    display: flex;

    @media screen and (max-width: 750px) {
      max-height: calc(
        var(--logo-height-mobile, var(--logo-height, 100%)) + var(--padding-block-start) + var(--padding-block-end)
      );
      font-size: var(--logo-height-mobile, var(--logo-height));
      width: calc(
        var(--logo-width-mobile, var(--logo-width)) + var(--padding-inline-start) + var(--padding-inline-end)
      );
    }
  }

  .logo-block__image-wrapper {
    display: flex;
    width: 100%;
    max-width: 100%;
    max-height: 100%;
  }

  .logo-block__image {
    object-fit: contain;
    width: 100%;
  }
/* END_BLOCK:logo */

/* START_BLOCK:menu (INDEX:154) */
.menu {
    width: 100%;
  }

  .menu:not(:has(.menu__heading--empty)) .details-content {
    margin-block-start: var(--spacing--size);
  }

  .menu__item + .menu__item {
    margin-block-start: var(--spacing--size);
  }

  .menu__link--first {
    font-weight: bold;
  }

  .menu .menu__heading--empty {
    display: none;
  }

  .menu__heading__default {
    display: contents;
  }

  .menu__heading__accordion {
    display: none;
  }

  @media screen and (max-width: 749px) {
    /* Always show the fallback heading on mobile when accordion is enabled */
    .menu--accordion .menu__heading--empty {
      display: flex;
    }

    .menu--accordion .menu__heading__accordion {
      display: contents;
    }

    .menu--accordion .menu__heading__default {
      display: none;
    }

    .menu--accordion .details-content {
      margin-block-start: var(--spacing--size);
    }

    .menu--accordion .menu__details {
      padding-inline: 0;
    }

    .menu--dividers .menu__details {
      border-block-end: var(--style-border-width) solid var(--color-border);
    }

    .menu--dividers .details-content {
      padding-block-end: var(--padding-sm);
    }
  }

  .menu--caret .icon-plus,
  .menu--plus .icon-caret {
    display: none;
  }
/* END_BLOCK:menu */

/* START_BLOCK:names-list (INDEX:155) */
.names-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--names-list-gap);
    align-items: baseline;
    justify-content: center;
  }

  @media screen and (max-width: 749px) {
    .names-list {
      gap: var(--names-list-gap-mobile);
    }
  }

  .names-list > * {
    flex-shrink: 0;
    /* Reset padding CSS variables to prevent inheritance from parent group */
    --padding-block-start: 0px;
    --padding-block-end: 0px;
    --padding-inline-start: 0px;
    --padding-inline-end: 0px;
    --padding-block-start-mobile: 0px;
    --padding-block-end-mobile: 0px;
    --padding-inline-start-mobile: 0px;
    --padding-inline-end-mobile: 0px;
  }
/* END_BLOCK:names-list */

/* START_BLOCK:overlaid-element (INDEX:156) */
.overlaid-element {
    position: absolute;
    top: var(--overlay-top, auto); 
    right: var(--overlay-right, auto);
    bottom: var(--overlay-bottom, auto); 
    left: var(--overlay-left, auto); 
    z-index: var(--overlay-z-index, var(--layer-raised));
  }

  /* Responsive visibility classes */
  .hide-desktop {
    display: none !important;
  }

  .hide-mobile {
    display: block !important;
  }

  @media (max-width: 750px) {
    .hide-mobile {
      display: none !important;
    }
    
    .hide-desktop {
      display: block !important;
    }
  }
/* END_BLOCK:overlaid-element */

/* START_BLOCK:page-content (INDEX:157) */
.page-content-formatter p {
    font-size: var(--body-text-size, 24px);
    line-height: 1.2;
    letter-spacing: -1px;
    @media screen and (max-width: 749px) {
      font-size: 20px;
    }
  }
  .page-content-formatter h3 {
    margin-bottom: 48px;
    @media screen and (max-width: 749px) {
      margin-bottom: 26px;
    }
  }
/* END_BLOCK:page-content */

/* START_BLOCK:page (INDEX:158) */
.page-block {
    display: flex;
    flex-direction: column;
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: auto;
    align-items: flex-start;
  }

  .page-title {
    margin-bottom: var(--margin-xl);
  }

  .placeholder-image {
    position: relative;
    aspect-ratio: var(--ratio);
    overflow: hidden;
  }

  .page-placeholder {
    width: 100%;
    height: 100%;
  }
/* END_BLOCK:page */

/* START_BLOCK:payment-icons (INDEX:159) */
.payment-icons {
    width: 100%;
  }

  .payment-icons__list {
    display: flex;
    align-items: center;
    justify-content: var(--alignment);
    flex-wrap: wrap;
    gap: var(--icon-gap);
    margin: 0;
    padding: 0;
  }

  .payment-icons__item {
    display: flex;
    align-items: center;
  }
/* END_BLOCK:payment-icons */

/* START_BLOCK:popup-link (INDEX:160) */
.popup-link__button svg {
    display: inline-block;
    position: relative;
    top: var(--margin-2xs);
  }

  .popup-link__content {
    box-shadow: var(--shadow-popover);
    border: var(--style-border-popover);
    border-radius: var(--style-border-radius-popover);
    background-color: var(--color-background);
    padding: var(--padding-4xl) var(--padding-xl) var(--padding-xl);
    max-width: var(--normal-content-width);
    max-height: var(--modal-max-height);

    @media screen and (min-width: 750px) {
      padding: var(--padding-5xl);
    }
  }

  .popup-link__content[open] {
    animation: modalSlideInTop var(--animation-speed) var(--animation-easing) forwards;
  }

  .popup-link__content.dialog-closing {
    animation: modalSlideOutTop var(--animation-speed) var(--animation-easing) forwards;
  }

  .popup-link__content--drawer {
    position: fixed;
    border-radius: 0;
    width: var(--sidebar-width);
    max-width: 95vw;
    height: 100%;
    margin: 0 0 0 auto;
  }

  /* Needed to ensure the drawer is full height */
  .popup-link__content--drawer:modal {
    max-height: 100dvh;
  }

  .popup-link__close {
    top: var(--margin-2xs);
    right: var(--margin-2xs);
    opacity: 0.8;
    animation: none;
  }
/* END_BLOCK:popup-link */

/* START_BLOCK:price (INDEX:161) */
.tax-note:empty {
    display: none;
  }

  form.payment-terms {
    padding-top: 0.5em;
  }

  .installments:not(:has(shopify-payment-terms)) {
    display: none;
  }
/* END_BLOCK:price */

/* START_BLOCK:product-custom-property (INDEX:163) */
product-custom-property-component {
    display: block;
    width: 100%;
  }

  product-custom-property-component .__heading {
    margin-inline: 0;
    margin-block: 0 var(--padding-sm);
  }

  product-custom-property-component .__heading:has(+ .__description) {
    margin-block-end: var(--padding-2xs);
  }

  product-custom-property-component .__description {
    font-size: min(0.85em, var(--font-paragraph--size));
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
    margin-inline: 0;
    margin-block: 0 var(--padding-md);
  }

  product-custom-property-component .__field {
    position: relative;
  }

  product-custom-property-component .__input-wrapper {
    position: relative;
  }

  product-custom-property-component input,
  product-custom-property-component textarea {
    width: 100%;
    /* stylelint-disable-next-line declaration-no-important */
    color: var(--color-input-text) !important;
  }

  /* Add padding for inputs with counter inside */
  product-custom-property-component .__input-wrapper input {
    padding-bottom: calc(var(--padding-sm) * 3);
  }

  product-custom-property-component .__input-wrapper textarea {
    padding-bottom: calc(var(--padding-sm) * 3);
    scroll-padding-bottom: calc(var(--padding-sm) * 3);
  }

  product-custom-property-component textarea {
    min-height: 80px;
  }

  @supports (resize: vertical) {
    @media (hover: hover) and (pointer: fine) {
      product-custom-property-component textarea {
        resize: vertical; /* stylelint-disable-line */
      }
    }
  }

  product-custom-property-component .__character-label {
    position: absolute;
    left: var(--input-padding-x);
    bottom: var(--padding-sm);
    pointer-events: none;
  }

  product-custom-property-component .__character-count {
    font-style: italic;
    /* stylelint-disable-next-line declaration-no-important */
    color: var(--color-input-text) !important;
  }

  /* We should consolidate input styles that share the same behavior */
  .custom-property__input {
    border: var(--style-border-width-inputs) solid var(--color-input-border);
    border-radius: var(--style-border-radius-inputs);

    /* this is needed to override the styles from field__input */
    box-shadow: none;

    &:is(:hover, :focus) {
      /* this is needed to override the styles from field__input */
      box-shadow: none;
    }

    &:focus {
      /* this is needed to override the styles from field__input */
      outline: var(--focus-outline-width) solid var(--color-input-background);
    }
  }
/* END_BLOCK:product-custom-property */

/* START_BLOCK:product-drawer (INDEX:165) */
.product-drawer {
    flex: 1;
    width: 100%;
  }

  .product-drawer__content {
    font-family: var(--font-kennerley);
    font-style: var(--font-body--style);
    font-weight: var(--font-body--weight);
    font-size: 16px;
    line-height: var(--font-body--line-height);
    letter-spacing: -0.02em;
    color: var(--color-foreground);
  }

  .product-drawer__content p {
    margin: 0 0 1em 0;
  }

  .product-drawer__content p:last-child {
    margin-bottom: 0;
  }

  .product-drawer--dividers accordion-custom:not(:first-child) .details {
    border-block-start: var(--style-border-width) solid var(--color-border);
  }

  /* When accordion borders are not set, show fallback borders */
  .product-drawer--dividers {
    /* stylelint-disable-next-line declaration-property-value-disallowed-list */
    --show-fallback-borders: 0;
  }

  .product-drawer--dividers:not([class*='color-'])[style*='--border-width: 0'],
  .product-drawer--dividers:not([class*='color-'])[style*='--border-style: none'] {
    --show-fallback-borders: 1;
  }

  .product-drawer--dividers accordion-custom:first-child .details {
    border-block-start: calc(var(--style-border-width) * var(--show-fallback-borders)) solid var(--color-border);
  }

  .product-drawer--dividers accordion-custom:last-child .details {
    border-block-end: calc(var(--style-border-width) * var(--show-fallback-borders)) solid var(--color-border);
  }

  .product-drawer--dividers .details-content {
    padding-block-end: var(--padding-sm);
  }

  .product-drawer--caret .icon-plus,
  .product-drawer--plus .icon-caret {
    display: none;
  }

  /* Apply typography styles to drawer headers */
  .product-drawer .details__header {
    font-family: var(--font-kennerley-small-caps-bold);
    font-style: var(--summary-font-style);
    font-weight: var(--summary-font-weight);
    font-size: 14px;
    line-height: var(--summary-font-line-height);
    text-transform: var(--summary-font-case);
    min-height: var(--minimum-touch-target);
  }

  .product-drawer .details__icon {
    height: auto;
    margin-inline-end: var(--margin-xs);
  }
/* END_BLOCK:product-drawer */

/* START_BLOCK:product-inventory (INDEX:166) */
.product-inventory__status {
    display: flex;
    align-items: center;
    font-size: var(--font-paragraph--size);
    line-height: var(--font-paragraph--line-height);
    gap: var(--padding-xs);
  }

  .product-inventory__icon,
  .product-inventory__icon svg {
    width: var(--icon-size-sm);
    height: var(--icon-size-sm);
  }

  .product-inventory__icon-low {
    color: var(--color-lowstock);
  }

  .product-inventory__icon-in_stock {
    color: var(--color-instock);
  }

  .product-inventory__icon-out_of_stock {
    color: var(--color-outofstock);
  }

  .product-inventory__icon circle:first-of-type {
    opacity: 0.3;
  }
/* END_BLOCK:product-inventory */

/* START_BLOCK:product-recommendations (INDEX:167) */
.product-recommendations-wrapper {
    width: 100%;
  }

  .product-recommendations-wrapper:has(product-recommendations[data-shopify-editor-preview]) {
    width: 100vw;
  }

  .product-recommendations {
    display: block;
  }

  .product-recommendations__skeleton-item {
    aspect-ratio: 3 / 4;
    background-color: var(--color-foreground);
    opacity: var(--skeleton-opacity);
    border-radius: 4px;
  }
/* END_BLOCK:product-recommendations */

/* START_BLOCK:recommended-product (INDEX:170) */
.recommended-product__wrapper {
    width: 100%;
  }

  .recommended-product__content {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .recommended-product__header {
    font-family: var(--font-kennerley-small-caps-bold);
    font-size: 14px;
    line-height: 1.3;
    letter-spacing: -0.28px;
    color: var(--color-foreground);
    margin: 0;
    text-transform: none;
  }

  .recommended-product__card {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: flex-start;
    width: 100%;
  }

  .recommended-product__image-link {
    text-decoration: none;
    color: inherit;
    display: block;
  }

  .recommended-product__title-link {
    text-decoration: none;
    color: inherit;
  }

  .recommended-product__title-link:hover {
    text-decoration: none;
  }

  .recommended-product__image-wrapper {
    position: relative;
    width: 137px;
    height: 157px;
    flex-shrink: 0;
    max-width: 137px;
  }

  .recommended-product__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid var(--color-foreground);
  }

  .recommended-product__image-placeholder {
    width: 100%;
    height: 100%;
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-background);
    border-radius: 4px;
    border: 1px solid var(--color-foreground);
  }

  @media screen and (min-width: 750px) {
    .recommended-product__image-placeholder {
      min-height: 157px;
    }
  }

  .recommended-product__info {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
  }

  .recommended-product__title {
    font-family: var(--font-kennerley-bold-italic);
    font-style: italic;
    font-weight: 700;
    font-synthesis: none;
    font-size: 20px;
    line-height: 1.3;
    letter-spacing: -0.4px;
    color: var(--color-foreground);
    margin: 0;
  }

  .recommended-product__description {
    font-family: var(--font-kennerley);
    font-size: 14px;
    line-height: 1.3;
    letter-spacing: -0.02em;
    color: var(--color-foreground);
    margin: 0;
    max-width: 300px;
    white-space: normal;
  }

  .recommended-product__price {
    font-family: var(--font-kennerley);
    font-size: 14px;
    line-height: 0.8;
    letter-spacing: -0.02em;
    color: var(--color-foreground);
  }

  .recommended-product__button-wrapper {
    width: fit-content;
  }

  .recommended-product__quick-add {
    position: static;
    display: block;
    width: fit-content;
    pointer-events: all;
  }

  .recommended-product__button {
    padding: 6px 8px !important;
    border: 1px solid #291406 !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    text-align: center !important;
    white-space: nowrap !important;
    color: #291406 !important;
    background-color: transparent !important;
  }

  .recommended-product__button:hover {
    background-color: transparent !important;
    border-color: #291406 !important;
  }

  .recommended-product__button-wrapper[data-product-color]:hover .recommended-product__button {
    background-color: var(--product-hover-color) !important;
    border-color: var(--product-hover-color) !important;
  }

  .recommended-product__button .add-to-cart-text {
    gap: 0;
  }

  .recommended-product__button .add-to-cart-text__content {
    width: auto;
    opacity: 1;
    color: #291406 !important;
  }

  .recommended-product__button .add-to-cart-icon {
    display: none !important;
  }

  .recommended-product__button .add-to-cart-icon svg {
    display: none !important;
  }
/* END_BLOCK:recommended-product */

/* START_BLOCK:review-slideshow-slide (INDEX:171) */
.reviews-slideshow .review-slideshow-content {
    width: 100%;
    height: 100%;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .reviews-slideshow .review-slideshow-content__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    text-align: center;
    width: 100%;
    max-width: 24rem;
    opacity: 1;
    transform: translateX(0);
  }

  .reviews-slideshow .reviews-slideshow__quotes slideshow-slide[aria-hidden='true'] .review-slideshow-content__inner {
    opacity: 1;
    transform: translateX(0);
  }

  .reviews-slideshow .reviews-slideshow__quotes slideshow-slide[aria-hidden='false'] .review-slideshow-content__inner {
    opacity: 1;
    transform: translateX(0);
    animation: review-slideshow-content-in 0.45s ease both;
  }

  @keyframes review-slideshow-content-in {
    from {
      opacity: 0.65;
      transform: translateX(8px);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .reviews-slideshow .review-slideshow-content__inner {
      transform: none;
      animation: none;
    }
  }

  .reviews-slideshow .review-slideshow-content__stars img {
    width: auto;
    height: auto;
    max-width: 90px;
    @media (max-width: 999px) {
      max-width: 60px;
    }
  }

  .reviews-slideshow .review-slideshow-content__quote {
    font-family: var(--font-kennerley-swash);
    font-style: normal;
    font-weight: 400;
    font-synthesis: none;
    font-size: 32px;
    line-height: 1.1;
    letter-spacing: -0.05em;
  }

  .reviews-slideshow .review-slideshow-content__quote p {
    margin: 0;
  }

  .reviews-slideshow .review-slideshow-content__attribution {
    display: flex;
    flex-direction: column;
    gap: 2px;
    align-items: center;
  }

  .reviews-slideshow .review-slideshow-content__name,
  .reviews-slideshow .review-slideshow-content__meta {
    margin: 0;
    font-family: var(--font-kennerley-bold-italic);
    font-style: italic;
    font-size: 16px;
    font-weight: 700;
    font-synthesis: none;
    line-height: 1.3;
  }

  @media (max-width: 999px) {
    .reviews-slideshow .review-slideshow-content {
      padding: 0 20px;
    }
  }

  @media (max-width: 749px) {
    .reviews-slideshow .review-slideshow-content__quote {
      font-size: 24px;
    }

    .reviews-slideshow .review-slideshow-content__name,
    .reviews-slideshow .review-slideshow-content__meta {
      font-size: 14px;
    }
  }
/* END_BLOCK:review-slideshow-slide */

/* START_BLOCK:review (INDEX:172) */
.rating-wrapper {
    width: 100%;
    gap: var(--gap-xs);
    flex-wrap: wrap;
    align-items: center;
    display: flex;
  }

  .rating-color--primary {
    --star-fill-color: var(--color-primary);
    --star-fill-color-rgb: var(--color-primary-rgb);
  }

  .rating-color--foreground {
    --star-fill-color: var(--color-foreground);
    --star-fill-color-rgb: var(--color-foreground-rgb);
  }

  .rating-wrapper.justify-right {
    flex-direction: row-reverse;
  }

  .rating {
    height: fit-content;
    gap: var(--gap-3xs);
    margin-top: auto;
    margin-bottom: auto;
    display: flex;
    align-items: center;
  }

  .rating-wrapper .rating-text,
  .rating-wrapper .rating-count,
  .rating-wrapper .rating-count-separator {
    color: var(--star-fill-color);
    margin: 0;
    white-space: nowrap;
  }

  .rating-count {
    margin-top: 3px !important;
  }

  .rating-count-separator {
    opacity: var(--opacity-20);
    padding-left: calc(var(--padding-xs) / 2);
    padding-right: var(--padding-xs);
  }

  .stars {
    height: var(--star-size);
    fill: var(--empty-star-fill-color);
  }

  .filled-star {
    fill: var(--star-fill-color);
  }
/* END_BLOCK:review */

/* START_BLOCK:scrolling-review (INDEX:173) */
.scrolling-review {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 250px;
    min-height: 132px;
    padding: 25px 0 25px;
    white-space: normal !important;
    text-align: center;
    color: var(--scrolling-reviews-text);
  }

  .scrolling-review__stars {
    display: flex;
    justify-content: center;
    min-height: 16px;
    margin-block-end: 12px;
    font-family: var(--font-kennerley-small-caps-bold);
    font-size: 14px;
    line-height: 1;
    letter-spacing: 1px;
  }

  .scrolling-reviews__items {
    align-items: flex-start;
  }

  .scrolling-review__stars img {
    display: block;
    width: auto;
    max-width: 80px !important;
    height: auto;
  }

  .scrolling-review__quote {
    font-family: var(--font-kennerley-bold-italic);
    font-style: italic;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.3;
    letter-spacing: 0;
    white-space: normal !important;
  }

  .scrolling-review__quote p {
    margin: 0;
    white-space: normal !important;
  }

  .scrolling-review__attribution {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 6px;
    margin-block-start: 12px;
    font-family: var(--font-kennerley-bold-italic);
    font-style: italic;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.3;
    letter-spacing: 0;
    white-space: normal !important;
  }

  .scrolling-review__name,
  .scrolling-review__meta {
    margin: 0;
  }

  .scrolling-review__meta::before {
    content: "- ";
  }

  @media screen and (min-width: 750px) {
    .scrolling-review {
      width: 250px;
      min-height: 132px;
    }
  }

  @media screen and (max-width: 749px) {
    .scrolling-review {
      width: 250px;
      min-height: 132px;
      padding: 16px 0 14px;
    }

    .scrolling-review__stars {
      font-size: 14px;
    }

    .scrolling-review__quote {
      font-size: 20px;
    }

    .scrolling-review__attribution {
      font-size: 16px;
    }
  }
/* END_BLOCK:scrolling-review */

/* START_BLOCK:spacer (INDEX:174) */
/* Fill opposite direction */
  .layout-panel-flex--column > .spacer-block {
    width: 100%;
  }

  .layout-panel-flex--row > .spacer-block {
    height: 100%;
  }

  /* Flex - Percent */
  :is(.layout-panel-flex--row, .layout-panel-flex--column) > .spacer-block--size-percent {
    flex: var(--spacer-size);
  }

  /* Flex - Pixel */
  .layout-panel-flex--row > .spacer-block--size-pixel {
    width: var(--spacer-size);
  }

  .layout-panel-flex--column > .spacer-block--size-pixel {
    height: var(--spacer-size);
  }

  /* Mobile */
  @media screen and (max-width: 750px) {
    /* Percent */
    .layout-panel-flex--row:not(.mobile-column) > .spacer-block--size-mobile-percent {
      flex: var(--spacer-size-mobile);
      height: 100%;
    }

    .layout-panel-flex--column > .spacer-block--size-mobile-percent,
    .mobile-column > .spacer-block--size-percent:not(.spacer-block--size-mobile-pixel) {
      width: 100%;
      flex: var(--spacer-size-mobile);
    }

    /* Pixel */
    .layout-panel-flex--row:not(.mobile-column) > .spacer-block--size-mobile-pixel {
      width: var(--spacer-size-mobile);
      height: 100%;
    }

    .layout-panel-flex--column > .spacer-block--size-mobile-pixel,
    .mobile-column > .spacer-block--size-mobile-pixel {
      width: 100%;
      flex: 0;
      height: var(--spacer-size-mobile);
    }
  }
/* END_BLOCK:spacer */

/* START_BLOCK:subscription-widget (INDEX:175) */
.subscription-widget-block {
    --subscription-widget-bg: #f2efe9;
    --subscription-widget-text: #291406;
    --subscription-widget-border: #2914061f;
    --stayai-content-inset: 22px;
    width: 100%;
    max-width: 411px;
  }

  .product-details .subscription-widget-block {
    max-width: 100%;
  }

  .product-details .subscription-widget-block .stayai-subscriptions-title {
    color: var(--subscription-widget-text);
  }

  .subscription-widget-block .stayai-widget {
    margin: 20px auto 0;
  }

  .subscription-widget-block .stayai-subscriptions ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .subscription-widget-block .stayai-subscriptions-title {
    margin: 0 0 8px;
    text-align: left;
    color: #f2efe9;
    font-family: var(--font-kennerley-small-caps-bold);
    font-weight: 700;
    font-size: 14px !important;
    line-height: 130% !important;
    letter-spacing: -2% !important;
  }

  .subscription-widget-block .stayai-subscription label {
    display: block;
    border: 1px solid #291406;
    border-radius: 4px;
    background: var(--subscription-widget-bg);
    color: #796c61;
    margin-bottom: 16px;
    position: relative;
    padding: 14px 12px;
    font-size: 14px;
    transition: all 0.2s ease-in-out;
  }

  .subscription-widget-block .stayai-subscription label.is-selected {
    background-color: #e7e2d7 !important;
    color:  var(--subscription-widget-text);
  }

  .subscription-widget-block .stayai-purchase-label__inner::before {
    content: '';
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    left: 0;
    top: 8px;
    border: 1px solid #291406;
    opacity: 0.6;
    border-radius: 50%;
    transition: all 0.2s ease-in-out;
  }

  .subscription-widget-block .stayai-purchase-label--one-time .stayai-purchase-label__inner::before {
    top: 50%;
    transform: translateY(-50%);
  }

  .subscription-widget-block .stayai-purchase-label.is-selected .stayai-purchase-label__inner::before {
    opacity: 1;
    background-color: #291406;
  }

  .subscription-widget-block .stayai-purchase-label input {
    display: none;
  }

  .subscription-widget-block .stayai-purchase-label__inner__wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 4px;
    position: relative;
    z-index: 1;
    min-width: 0;
    padding: 6px 0;
  }

  .subscription-widget-block .stayai-subscription-tag {
    border-radius: 2rem !important;
    color: #f2efe9 !important;
    background-color: #521827;
    padding: 2px 10px !important;
    text-align: center;
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-kennerley-small-caps-bold) !important;
    font-size: 10px;
    line-height: 130%;
    text-transform: uppercase;
    position: absolute;
    top: -8px;
    left: 36px;
    margin: 0;
  }

  .subscription-widget-block .stayai-plan-dropdown {
    margin-top: 4px;
  }

  .subscription-widget-block .stayai-purchase-label__wrapper {
    position: relative;
  }

  .subscription-widget-block .stayai-purchase-label__inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    padding-left: var(--stayai-content-inset);
  }

  .subscription-widget-block .stayai-purchase-label--one-time .stayai-purchase-label__inner {
    align-items: center;
  }

  .subscription-widget-block .stayai-purchase-label--subscription:has(.stayai-subscription-header:not([hidden])) {
    overflow: hidden;
  }

  .subscription-widget-block .stayai-purchase-label--subscription:has(.stayai-plan-dropdown.is-open) {
    overflow: visible;
  }

  .subscription-widget-block .stayai-subscription-header {
    width: calc(100% + 24px);
    margin: -14px -12px 12px;
    background: #291406;
    color: #f2efe9;
  }

  .subscription-widget-block .stayai-purchase-label__subtext {
    color: #796c61;
  }

  .subscription-widget-block .stayai-purchase-label.is-selected .stayai-purchase-label__subtext {
    color: var(--subscription-widget-text);
  }

  .subscription-widget-block [data-stayai-onetime-price],
  .subscription-widget-block [data-stayai-subscription-price] {
    min-width: 0;
    text-align: end;
    transform: none;
    position: static;
    display: inline-flex;
    justify-content: flex-end;
    align-items: baseline;
    gap: 8px;
  }

  .subscription-widget-block [data-stayai-onetime-serving],
  .subscription-widget-block [data-stayai-subscription-serving] {
    position: static;
    transform: none;
    display: block;
    text-align: end;
    margin-top: 2px;
    font-size: 14px;
    line-height: 1;
  }

  .subscription-widget-block .stayai-purchase-label__price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-inline-start: auto;
    flex-shrink: 0;
    text-align: end;
    gap: 4px;
  }

  .subscription-widget-block .stayai-subscription-tag {
    left: 44px !important;
  }

  .subscription-widget-block .stayai-subscription-details-container {
    border-top: 1px solid #dad2c8;
    margin: 10px -12px 0;
    padding-left: calc(12px + var(--stayai-content-inset));
    padding-right: 12px;
  }

  .subscription-widget-block .stayai-subscription-details-container > ul {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    width: 100%;
    list-style: none;
    padding: 12px 0 4px;
    margin-bottom: 0;
  }

  .subscription-widget-block .stayai-subscription-details-container > ul > li {
    display: flex;
    flex: 0 1 auto;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    font-family: var(--font-kennerley-italic) !important;
    font-style: italic;
    font-weight: 400;
    font-synthesis: none;
    text-transform: none !important;
    position: relative;
    text-align: left;
    line-height: 1;
    font-size: 11px;
  }

  .subscription-widget-block .stayai-subscription-details-container > ul > li::before {
    content: '';
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    margin-top: 0;
  }

  .subscription-widget-block .stayai-subscription-details-container > ul > li:first-child::before {
    background: var(--subscription-icon-piggy) no-repeat center center !important;
    background-size: 16px 16px !important;
  }

  .subscription-widget-block .stayai-subscription-details-container > ul > li:nth-child(2)::before {
    background: var(--subscription-icon-truck) no-repeat center center !important;
    background-size: 16px 16px !important;
  }

  .subscription-widget-block .stayai-subscription-details-container > ul > li:nth-child(3)::before {
    background: var(--subscription-icon-calendar) no-repeat center center !important;
    background-size: 16px 16px !important;
  }

  @media screen and (max-width: 400px) {
    .subscription-widget-block .stayai-subscription-details-container > ul {
      flex-direction: column;
      align-items: flex-start;
      gap: 8px;
    }

    .subscription-widget-block .stayai-subscription-details-container > ul > li {
      width: 100%;
    }
  }

  .subscription-widget-block .subscription-widget__form-component {
    margin-top: 16px;
    padding-bottom: 80px;
    width: 100%;
  }

  .subscription-widget-block add-to-cart-component {
    width: 100% !important;
  }

  .subscription-widget-block .subscription-widget__atc {
    color: #fff !important;
  }

  .subscription-widget-block [data-stayai-onetime-price], 
  .subscription-widget-block [data-stayai-subscription-price] {
    font-family: var(--font-shango-gothic-medium) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
  }

  .subscription-widget-block .stayai-onetime-serving,
  .subscription-widget-block .stayai-subscription-serving{
    font-family: var(--font-shango-gothic-regular) !important;
    font-weight: 500 !important;
    font-size: 10px !important;
  }

  @media screen and (max-width: 750px) {
    .tabbed-product-spotlight-wrapper {
      margin-left: -16px;
      margin-right: -16px;
      width: auto !important;
    }

    .product-spotlight-tab__panel{
      padding: 20px 16px !important;
      margin-top: -1px;
    }
  }
/* END_BLOCK:subscription-widget */

/* START_BLOCK:swatches (INDEX:176) */
product-swatches {
    width: 100%;
    display: flex;
    position: relative;
    overflow: hidden;
    gap: 0;
    flex-shrink: 0;
  }

  swatches-variant-picker-component {
    display: flex;
    width: 100%;
    flex-direction: row;
    justify-content: var(--product-swatches-alignment-mobile);

    @media (min-width: 750px) {
      justify-content: var(--product-swatches-alignment);
    }
  }

  swatches-variant-picker-component .variant-option--swatches {
    padding-block: calc(
        var(--product-swatches-padding-block-start) + var(--focus-outline-offset) + var(--focus-outline-width)
      )
      calc(var(--product-swatches-padding-block-end) + var(--focus-outline-offset) + var(--focus-outline-width));
    padding-inline: calc(
        var(--product-swatches-padding-inline-start) + var(--focus-outline-offset) + (1.5 * var(--focus-outline-width))
      )
      calc(var(--product-swatches-padding-inline-end) + var(--focus-outline-offset) + var(--focus-outline-width));
  }

  .variant-option--swatches {
    overflow-list::part(list) {
      gap: var(--gap-sm);
    }

    overflow-list[defer]::part(list) {
      flex-wrap: nowrap;
    }
  }

  .hidden-swatches__count {
    display: flex;
    align-self: center;
    align-items: center;
    justify-content: center;
    color: rgb(var(--color-foreground-rgb) / var(--opacity-40-60));
    background-color: transparent;
    padding: 0;
    border: 0;
    border-radius: 0;

    &::before {
      /* This doesn't work in Safari without the counter-reset. https://stackoverflow.com/a/40179718 */
      counter-reset: overflow-count var(--overflow-count);
      content: '+' counter(overflow-count);
      line-height: 1;
      cursor: pointer;
    }
  }

  .hidden-swatches__count:hover {
    color: var(--color-foreground-rgb);
  }
/* END_BLOCK:swatches */

/* START_BLOCK:values-two-up (INDEX:178) */
.values-two-up-block {
    --values-two-up-block-gap: clamp(1.5rem, 4vw, 4rem);
    width: 100%;
    max-width: 1200px;
    margin-inline: auto;
  }

  .values-two-up-block__grid {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      'media'
      'content';
    gap: var(--values-two-up-block-gap);
    align-items: start;
  }

  .values-two-up-block__media {
    grid-area: media;
    min-width: 0;
    aspect-ratio: 1 / 1;
    overflow: hidden;
  }

  .values-two-up-block__content {
    grid-area: content;
    min-width: 0;
    text-align: left;
  }

  .values-two-up-block__image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 4px;
  }

  .values-two-up-block__subtitle {
    margin: 0;
    font-family: var(--font-kennerley-small-caps-bold);
    font-weight: 700;
    font-size: 16px;
    line-height: 1.3;
    letter-spacing: 0;
    text-transform: none;
    margin-bottom: 20px;
  }

  .values-two-up-block__title {
    font-family: var(--font-kennerley-swash);
    font-size: 48px;
    letter-spacing: -0.05em;
    text-transform: none;
    margin-block: 0.75rem 0;
    margin-bottom: 20px;
  }

  .values-two-up-block__body {
    margin-block-start: 1rem;
    line-height: 1.3;
  }

  .values-two-up-block__body > *:first-child {
    margin-block-start: 0;
  }

  .values-two-up-block__body > *:last-child {
    margin-block-end: 0;
  }

  @media screen and (min-width: 750px) {
    .values-two-up-block__grid {
      grid-template-columns: minmax(0, 11fr) minmax(0, 9fr);
      column-gap: var(--values-two-up-block-gap);
      align-items: center;
    }

    .values-two-up-block__media {
      aspect-ratio: 605 / 401;
    }

    .values-two-up-block--image-left .values-two-up-block__grid {
      grid-template-areas: 'media content';
    }

    .values-two-up-block--image-right .values-two-up-block__grid {
      grid-template-areas: 'content media';
      grid-template-columns: minmax(0, 9fr) minmax(0, 11fr);
    }
  }
/* END_BLOCK:values-two-up */

/* START_BLOCK:video (INDEX:180) */
.placeholder-video {
    aspect-ratio: 5 / 3;
  }
/* END_BLOCK:video */

/* START_BLOCK:waitlist-signup (INDEX:181) */
.waitlist-signup-block {
    width: 100%;
    max-width: 450px;
    min-height: 600px;
    @media screen and (max-width: 749px) {
      min-height: 500px;
    }
  }

  .waitlist-signup__form {
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
    gap: 11px;
  }

  .waitlist-signup__form[hidden] {
    display: none !important;
  }

  .waitlist-signup__form.fade-out {
    opacity: 0;
  }

  .waitlist-signup__fields {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 13px;
  }


  .waitlist-signup__field {
    display: flex;
    flex-direction: column;
  }

  .waitlist-signup__input {
    width: 100%;
    padding: 12px;
    border: var(--style-border-width-inputs) solid #F2EFE980;
    border-radius: 2px;
    background-color: transparent !important;
    font-size: 20px;
    -webkit-font-smoothing: antialiased;
    color: #F2EFE9;
    line-height: 1.3;
  }

  @media screen and (max-width: 749px) {  
    .waitlist-signup__fields {
      gap: 12px;
    }

    .waitlist-signup__input {
      font-size: 16px;
      padding-top: 12px;
      padding-bottom: 12px;
    }
  }

  .waitlist-signup__input:focus {
    outline: none;
  }

  .waitlist-signup__input:invalid:not(:focus):not(:placeholder-shown) {
    border-color: var(--color-error);
  }

  .waitlist-signup__input::placeholder {
    color: #F2EFE9;
    line-height: 1.3;
  }

  .waitlist-signup__input:hover {
    border-color: #F2EFE9;
    color: #F2EFE9;
    background-color: transparent;
  }

  .waitlist-signup__fine-print {
    color: #F2EFE9;
    font-size: 16px;
  }

  @media screen and (max-width: 749px) {
    .waitlist-signup__fine-print {
      font-size: 12px;
    }
  }

  .waitlist-signup__button {
    font-family: var(--font-shango-gothic-medium);
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: var(--minimum-touch-target);
    padding-top: 11px;
    padding-bottom: 10px;
    padding-left: 10px;
    padding-right: 10px;
    line-height: 1.3;
    transition: background-color 0.2s ease, color 0.2s ease;
  }
  .waitlist-signup__button:hover {
    background-color: #F2EFE9;
    color: #000000;
  }

  .waitlist-signup__button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
  }

  .waitlist-signup__button-spinner {
    position: absolute;
    align-items: center;
    justify-content: center;
  }

  .waitlist-signup__button-spinner .spinner {
    width: 20px;
    height: 20px;
    color: currentColor;
  }

  .waitlist-signup__message {
    align-items: center;
    gap: var(--gap-xs);
    padding-block-start: var(--padding-sm);
  }

  .waitlist-signup__message-text {
    margin: 0;
  }

  .icon-success {
    display: inline-flex;
    align-items: center;
  }

  .waitlist-signup__final-success {
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
  }
  .waitlist-signup__final-success-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
    text-align: center;
  }

  @media screen and (max-width: 749px) {  
    .waitlist-signup__final-success {
      margin-top: 40px;
    }
  }

  .waitlist-signup__final-success-text {
    color: #F2EFE9;
    font-size: 1.25rem;
    font-weight: normal;
    margin: 0;
    line-height: 1.2;
    text-align: center;
  }

  @media screen and (max-width: 749px) {  
    .waitlist-signup__final-success-text {
      margin-top: 40px;
      font-size: 16px;
    }
  }

  .waitlist-signup__instagram-button {
    font-family: var(--font-shango-gothic-medium);
    width: 100%;
    max-width: 450px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: var(--minimum-touch-target);
    padding-top: 11px;
    padding-bottom: 10px;
    padding-left: 10px;
    padding-right: 10px;
    line-height: 1.3;
    transition: background-color 0.2s ease, color 0.2s ease;
  }

  .waitlist-signup__instagram-button:hover {
    background-color: #F2EFE9;
    color: #000000;
  }
/* END_BLOCK:waitlist-signup */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:account-actions (INDEX:182) */
.account-actions {
    background-color: var(--color-background);
    display: flex;
    flex-direction: column;
    position: relative;
    transition: height var(--animation-values);

    &:has([data-active]) .account-actions__main-menu {
      visibility: hidden;
    }
  }

  .account-actions__header {
    padding: var(--padding-xl);
    display: flex;
    flex-direction: column;
    gap: var(--gap-2xs);
  }

  .account-actions__title {
    /* Ideally we set the font-size here, but specificity issues make this necessary */
    --font-h5--size: var(--font-size--lg);

    margin: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .account-actions__email {
    display: flex;
    align-items: center;
    gap: var(--gap-2xs);
    color: rgb(var(--color-foreground-rgb) / var(--opacity-60));
    max-width: var(--account-actions-max-width);
    word-break: break-all;
  }

  .account-actions__sign-ins {
    padding: var(--padding-xl);
    padding-block-start: 0;
    padding-block-end: var(--padding-md);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }

  .account-actions__sign-in-text {
    display: inline;
  }

  .account-actions__fallback-text {
    display: none;
  }

  .account-actions__sign-ins:not(:has(shop-login-button)) {
    gap: 0;

    .account-actions__sign-in-text {
      display: none;
    }

    .account-actions__fallback-text {
      display: block;
    }
  }

  /* Makes the shop login button radius match the theme settings */
  .account-actions__shop-login {
    --buttons-radius: var(--style-border-radius-buttons-primary);
  }

  .account-actions__nav {
    padding: var(--padding-xl);
    padding-block-start: 0;
  }

  .account-actions__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--gap-sm);
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;

    @media screen and (max-width: 300px) {
      grid-template-columns: 1fr;
    }
  }

  .account-actions__link {
    width: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--gap-2xs);
  }

  .account-actions__icon {
    display: flex;
    width: var(--icon-size-sm);
    height: var(--icon-size-sm);
    margin-block: -4px;
  }

  /* This triggers iOS < 16.4. The outline bug is not recognized as a lack of @supports */

  @supports not (background-color: rgb(from red 150 g b / alpha)) {
    /**
    There is a bug in safari < 16.4 that causes the outline to not follow the elements border radius. This is a workaround.
    Using element selector to increase specificity.
  **/

    .account-actions :is(a.button, a.button-secondary):focus-visible {
      outline: none;
      overflow: visible;
      position: relative;

      &::after {
        content: '';
        position: absolute;
        inset: calc(-1 * var(--focus-outline-offset));
        border: var(--focus-outline-width) solid currentColor;
        border-radius: var(--style-border-radius-buttons-secondary);
        display: inherit;
      }
    }

    .account-actions a.button:focus-visible::after {
      border-color: var(--button-background-color);
      border-radius: var(--style-border-radius-buttons-primary);
    }
  }
/* END_SNIPPET:account-actions */

/* START_SNIPPET:account-button (INDEX:183) */
.account-button {
    color: var(--color-foreground);
    appearance: none;
    border: none;
    background: none;
    height: var(--button-size);
    width: var(--button-size);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    transition: color var(--animation-speed) var(--animation-easing);
  }

  .account-button__avatar {
    --account-button-size: 1.625rem;

    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--account-button-size);
    height: var(--account-button-size);
    border-radius: var(--style-border-radius-50);
    background-color: var(--color-primary-button-background);
    font-size: var(--font-size--sm);
    font-weight: 500;
    color: var(--color-primary-button-text);
    text-transform: uppercase;
    line-height: 1;
  }

  .account-button__icon {
    color: currentColor;
    display: inline-flex;
    justify-content: center;
    align-items: center;
  }

  .account-button__icon svg {
    @media screen and (max-width: 749px) {
      height: 31px;
      width: auto;
    }
  }

  /* The shop avatar doesn't bubble the click event up to our button, so we need to prevent that or the button doesn't work */
  .account-button shop-user-avatar {
    pointer-events: none;
  }
/* END_SNIPPET:account-button */

/* START_SNIPPET:account-drawer (INDEX:184) */
.account-drawer {
    @media screen and (min-width: 750px) {
      display: none;
    }
  }

  .account-drawer__dialog {
    --animation-speed: 0.24s;
    --dialog-drawer-opening-animation: account-drawer-slide-in;
    --dialog-drawer-closing-animation: account-drawer-slide-out;

    height: fit-content;
    margin: 0;
    inset-block-end: 0;
    inset-block-start: auto;
    border-radius: 0;
    padding: 0;
  }

  .account-drawer__close-button {
    z-index: 1;
    inset-block-start: var(--padding-xs);
    inset-inline-end: var(--padding-xs);
    color: var(--color-foreground);
    background-color: transparent;
  }

  .account-drawer__close-button .svg-wrapper {
    display: flex;
    width: var(--button-size);
    height: var(--button-size);
    align-items: center;
    justify-content: center;
  }

  @keyframes account-drawer-slide-in {
    from {
      transform: translateY(100%);
    }

    to {
      transform: translateY(0);
    }
  }

  @keyframes account-drawer-slide-out {
    from {
      transform: translateY(0);
    }

    to {
      transform: translateY(100%);
    }
  }
/* END_SNIPPET:account-drawer */

/* START_SNIPPET:account-popover (INDEX:185) */
.account-popover {
    --account-popover-min-width: 22rem;
    --account-actions-max-width: 22rem;
  }

  .account-popover__summary {
    padding: 0;

    &:hover {
      color: var(--color-foreground);
    }
  }

  .account-popover__panel {
    --account-popover-opacity: 0;
    --account-popover-y: 20px;

    border-radius: var(--style-border-radius-popover);
    margin: 0;
    top: calc(var(--anchor-top) * 1px + var(--minimum-touch-target) + var(--header-padding));
    left: unset;
    right: calc(var(--anchor-right) * 1px);
    width: max-content;
    min-width: var(--account-popover-min-width);
    box-shadow: var(--shadow-popover);
    border: var(--style-border-popover);
    background-color: var(--color-background);
    overflow-y: hidden;
    opacity: var(--account-popover-opacity);
    translate: 0 var(--account-popover-y);
    transition-property: display, opacity, translate;
    transition-duration: 0.3s;
    transition-timing-function: var(--ease-out-quad);
    transition-behavior: allow-discrete;

    &:popover-open {
      --account-popover-opacity: 1;
      --account-popover-y: 0px;
    }

    @supports not selector(:popover-open) {
      &.\:popover-open {
        --account-popover-opacity: 1;
        --account-popover-y: 0px;
      }
    }
  }

  @starting-style {
    .account-popover__panel {
      --account-popover-opacity: 0;
      --account-popover-y: 20px;
    }

    .account-popover__panel:popover-open {
      --account-popover-opacity: 0;
      --account-popover-y: 20px;
    }
  }
/* END_SNIPPET:account-popover */

/* START_SNIPPET:add-to-cart-button (INDEX:186) */
.add-to-cart-button-container .button-glow-container {
    display: block;
  }

  /* Dark glow effect for add-to-cart buttons */
  add-to-cart-component .button-glow-container--dark:hover {
    box-shadow: 0 0 20px var(--glow-color-dark), 0 0 20px var(--glow-color-dark);
  }

  add-to-cart-component {
    display: block;
  }
  
  add-to-cart-component:not([style*="width: 100%"]) {
    width: fit-content;
    margin: 0 auto;
  }

  .add-to-cart-text {
    display: flex;
    gap: var(--gap-2xs);
    align-items: center;
    justify-content: center;
    animation-duration: var(--animation-speed);
    animation-timing-function: var(--animation-easing);
    animation-fill-mode: forwards;
    transition: opacity var(--animation-speed) var(--animation-easing);
    font-size: 14px;
    line-height: 12px;
  }

  .add-to-cart-text__compare-at {
    opacity: 0.75;
    text-decoration-line: line-through;
    text-decoration-thickness: 1px;
  }

  @media screen and (max-width: 749px) {
    :is(.product-card, .resource-card, .carousel-item-product-card, .recommended-product)
      .add-to-cart-text__price {
      display: none;
    }
  }

  .atc-added .add-to-cart-text {
    animation-name: atc-slide-out;
  }

  .add-to-cart-text--added {
    position: absolute;
    inset: 0;
    animation-duration: var(--animation-speed);
    animation-timing-function: var(--animation-easing);
    animation-fill-mode: forwards;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: width var(--animation-speed) var(--animation-easing),
      opacity var(--animation-speed) var(--animation-easing);
    font-family: var(--font-shango-gothic-medium);
    font-size: 14px;
    line-height: 12px;
  }

  .atc-added .add-to-cart-text--added {
    animation-name: atc-slide-in;
  }

  add-to-cart-component .button:hover:not(:disabled) {
    --button-background-color: #370A16;
    --button-border-color: #370A16;
  }

  @keyframes atc-slide-in {
    from {
      opacity: 0;
      transform: translateY(0.5em);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes atc-slide-out {
    from {
      transform: translateY(0);
      opacity: 1;
    }

    to {
      transform: translateY(-1em);
      opacity: 0;
    }
  }
/* END_SNIPPET:add-to-cart-button */

/* START_SNIPPET:background-video (INDEX:189) */
@media (prefers-reduced-motion: reduce) {
    video-background-component video {
      display: none;
    }
  }
/* END_SNIPPET:background-video */

/* START_SNIPPET:bento-grid (INDEX:190) */
.bento-box {
    display: grid;
    column-gap: var(--bento-gap);
    row-gap: calc(var(--bento-gap) * 1.5);
    width: 100%;
  }

  .bento-box:has(.collection-card--image-bg) {
    row-gap: var(--bento-gap);
  }

  .bento-box ~ .bento-box {
    padding-block-start: var(--bento-gap);
  }

  @media (max-width: 900px) {
    .bento-box {
      grid-template-columns: repeat(2, 1fr);
    }

    .bento-box__item:nth-child(3n + 1) {
      grid-column: span 1;
    }

    .bento-box__item:nth-child(3n + 2) {
      grid-column: span 1;
    }

    .bento-box__item:nth-child(3n + 3) {
      grid-column: span 2;
    }

    /* Ensure last items create a full row */
    .bento-box__item:last-child:nth-child(3n + 5) {
      grid-column: span 1;
    }

    .bento-box__item:last-child:nth-child(3n + 4) {
      grid-column: span 2;
    }
  }

  @media (min-width: 901px) {
    .bento-box {
      grid-template-columns: repeat(12, 1fr);
      grid-template-areas:
        'A A A B B B B B B C C C'
        'D D D D D D E E E F F F'
        'G G G H H H I I I I I I'
        'J J J J K K K K L L L L';
    }

    .bento-box__item:nth-child(1) {
      grid-area: A;
    }

    .bento-box__item:nth-child(2) {
      grid-area: B;
    }

    .bento-box__item:nth-child(3) {
      grid-area: C;
    }

    .bento-box__item:nth-child(4) {
      grid-area: D;
    }

    .bento-box__item:nth-child(5) {
      grid-area: E;
    }

    .bento-box__item:nth-child(6) {
      grid-area: F;
    }

    .bento-box__item:nth-child(7) {
      grid-area: G;
    }

    .bento-box__item:nth-child(8) {
      grid-area: H;
    }

    .bento-box__item:nth-child(9) {
      grid-area: I;
    }

    .bento-box__item:nth-child(10) {
      grid-area: J;
    }

    .bento-box__item:nth-child(11) {
      grid-area: K;
    }

    .bento-box__item:nth-child(12) {
      grid-area: L;
    }

    /* === Overrides for specific cases === */

    /* Exactly 1 item */
    .bento-box:has(.bento-box__item:first-child:nth-last-child(1)) {
      grid-template-areas: 'A A A A A A A A A A A A';
    }

    /* Exactly 2 items */
    .bento-box:has(.bento-box__item:first-child:nth-last-child(2)) {
      grid-template-areas: 'A A A A A A B B B B B B';
    }

    /* Exactly 4 items */
    .bento-box:has(.bento-box__item:first-child:nth-last-child(4)) {
      grid-template-areas:
        'A A A A B B B B B B B B'
        'C C C C C C C C D D D D';
    }

    /* Exactly 5 items */
    .bento-box:has(.bento-box__item:first-child:nth-last-child(5)) {
      grid-template-areas:
        'A A A B B B B B B C C C'
        'D D D D D D E E E E E E';
    }

    /* Exactly 7 items */
    .bento-box:has(.bento-box__item:first-child:nth-last-child(7)) {
      grid-template-areas:
        'A A A B B B B B B C C C'
        'D D D D D D D D D E E E'
        'F F F F F F G G G G G G';
    }

    /* Exactly 8 items */
    .bento-box:has(.bento-box__item:first-child:nth-last-child(8)) {
      grid-template-areas:
        'A A A B B B B B B C C C'
        'D D D D D D E E E F F F'
        'G G G H H H H H H H H H';
    }

    /* Exactly 10 items */
    .bento-box:has(.bento-box__item:first-child:nth-last-child(10)) {
      grid-template-areas:
        'A A A B B B B B B C C C'
        'D D D D D D E E E F F F'
        'G G G G G G G G G H H H'
        'I I I J J J J J J J J J';
    }

    /* Exactly 11 items */
    .bento-box:has(.bento-box__item:first-child:nth-last-child(11)) {
      grid-template-areas:
        'A A A B B B B B B C C C'
        'D D D D D D E E E F F F'
        'G G G H H H I I I I I I'
        'J J J J K K K K K K K K';
    }
  }
/* END_SNIPPET:bento-grid */

/* START_SNIPPET:blog-comment-form (INDEX:191) */
.blog-post-comments__form-container {
    --comment-form-gap: var(--gap-md);

    width: 100%;
    max-width: var(--normal-content-width);
    margin: var(--margin-4xl) auto 0;
  }

  .blog-post-comments__form {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--comment-form-gap);

    @media screen and (min-width: 750px) {
      grid-template-columns: 1fr 1fr;
    }
  }

  .blog-post-comments__form-input {
    padding: var(--padding-lg) var(--padding-xl);
    border: var(--style-border-width-inputs) solid var(--color-input-border);
  }

  .blog-post-comments__form-input--textarea {
    resize: vertical;
    min-height: var(--input-textarea-min-height);
  }

  .blog-post-comments__form-message {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
  }

  .blog-post-comments__form-body {
    grid-column: 1 / -1;
  }

  .blog-post-comments__form-input:focus-visible {
    outline: var(--focus-outline-width) solid currentcolor;
    outline-offset: var(--focus-outline-offset);
  }

  .blog-post-comments__form-moderated {
    font-size: var(--font-size--xs);
  }

  .blog-post-comments__form-submit {
    margin-block-start: var(--comment-form-gap);
  }
/* END_SNIPPET:blog-comment-form */

/* START_SNIPPET:button (INDEX:193) */
.link {
    text-decoration: none;
    text-decoration-color: currentcolor;

    &:hover {
      color: var(--color-primary-hover);
      text-decoration-color: transparent;
    }
  }

  .button-glow-container > :is(.button, .button-secondary):hover:not([aria-disabled='true']) {
    --button-background-color: #370A16;
    --button-border-color: #370A16;
    --button-color: #ffffff;
    color: #ffffff;
  }
/* END_SNIPPET:button */

/* START_SNIPPET:card-gallery (INDEX:194) */
.card-gallery {
    overflow: hidden;
    container-type: inline-size; /* Make card-gallery a container */
    container-name: card-gallery-container; /* Optional: name the container */
    position: relative;
    aspect-ratio: var(--gallery-aspect-ratio, 346 / 366);
  }

  .card-gallery__discount-badge {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 100;
    pointer-events: none;
  }

  .card-gallery__discount-badge-icon {
    display: block;
    width: 75px;
    height: 75px;
    object-fit: contain;
  }

  .card-gallery__images {
    position: relative;
    width: 100%;
    height: 100%;
  }

  .card-gallery__image-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
  }

  .card-gallery__image-wrapper--active {
    opacity: 1;
    pointer-events: auto;
    z-index: 2;
  }

  .card-gallery__image-wrapper--hidden {
    display: none;
  }

  .card-gallery__image-wrapper .product-media {
    width: 100%;
    height: 100%;
  }

  .card-gallery__image-wrapper .product-media__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
  }

  .card-gallery__image-wrapper .product-media deferred-media {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 4px;
    overflow: hidden;
  }

  .card-gallery__image-wrapper .product-media :is(video, iframe, .deferred-media__poster-image) {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
  }

  /* Card gallery videos autoplay on hover; hide play/pause overlays. */
  .card-gallery__image-wrapper .product-media .deferred-media__poster-button,
  .card-gallery__image-wrapper .product-media .video-interaction-hint {
    display: none;
  }

  .card-gallery__placeholder svg {
    height: 100%;
    width: 100%;
  }

  .card-gallery svg {
    aspect-ratio: var(--gallery-aspect-ratio, var(--ratio));
  }

  .product-card-gallery__title-placeholder {
    padding: var(--padding-md);
    font-size: var(--font-size--2xl);
    line-height: var(--line-height--display-loose);
    word-break: break-word;
    color: var(--color-foreground);
    background-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
    aspect-ratio: var(--gallery-aspect-ratio);
    border-radius: var(--product-corner-radius);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .product-card-gallery__title-placeholder a {
    color: var(--color-foreground);
  }

  @media screen and (min-width: 750px) {
    .product-grid[data-product-card-size='extra-large'] .product-card-gallery__title-placeholder {
      padding: var(--padding-3xl);
      font-size: var(--font-size--3xl);
    }

    .product-grid[data-product-card-size='large'] .product-card-gallery__title-placeholder {
      padding: var(--padding-2xl);
      font-size: var(--font-size--2xl);
    }

    .product-grid[data-product-card-size='medium'] .product-card-gallery__title-placeholder {
      padding: var(--padding-xl);
      font-size: var(--font-size--xl);
    }

    .product-grid[data-product-card-size='small'] .product-card-gallery__title-placeholder {
      padding: var(--padding-sm);
      font-size: var(--font-size--lg);
    }

    .product-grid[data-product-card-size='extra-large']
      .card-gallery:has(.product-badges--top-right .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-right: calc(var(--padding-3xl) + 50px);
    }

    .product-grid[data-product-card-size='large']
      .card-gallery:has(.product-badges--top-right .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-right: calc(var(--padding-2xl) + 50px);
    }

    .product-grid[data-product-card-size='medium']
      .card-gallery:has(.product-badges--top-right .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-right: calc(var(--padding-xl) + 50px);
    }

    .product-grid[data-product-card-size='small']
      .card-gallery:has(.product-badges--top-right .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-right: calc(var(--padding-sm) + 50px);
    }

    .product-grid[data-product-card-size='extra-large']
      .card-gallery:has(.product-badges--top-left .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-top: calc(var(--padding-3xl) + 40px);
    }

    .product-grid[data-product-card-size='large']
      .card-gallery:has(.product-badges--top-left .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-top: calc(var(--padding-2xl) + 40px);
    }

    .product-grid[data-product-card-size='medium']
      .card-gallery:has(.product-badges--top-left .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-top: calc(var(--padding-xl) + 40px);
    }

    .product-grid[data-product-card-size='small']
      .card-gallery:has(.product-badges--top-left .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-top: calc(var(--padding-sm) + 40px);
    }

    .product-grid[data-product-card-size='extra-large']
      .card-gallery:has(.product-badges--bottom-left .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-bottom: calc(var(--padding-3xl) + 40px);
    }

    .product-grid[data-product-card-size='large']
      .card-gallery:has(.product-badges--bottom-left .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-bottom: calc(var(--padding-2xl) + 40px);
    }

    .product-grid[data-product-card-size='medium']
      .card-gallery:has(.product-badges--bottom-left .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-bottom: calc(var(--padding-xl) + 40px);
    }

    .product-grid[data-product-card-size='small']
      .card-gallery:has(.product-badges--bottom-left .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-bottom: calc(var(--padding-sm) + 40px);
    }
  }

  @media screen and (max-width: 749px) {
    .product-card-gallery__title-placeholder {
      font-size: var(--font-size--xl);
      padding: var(--padding-md);
    }

    .product-grid[data-product-card-size]
      .card-gallery:has(.product-badges--top-right .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-right: calc(var(--padding-sm) + 50px);
    }

    .product-grid[data-product-card-size]
      .card-gallery:has(.product-badges--top-left .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-top: calc(var(--padding-sm) + 40px);
    }

    .product-grid[data-product-card-size]
      .card-gallery:has(.product-badges--bottom-left .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-bottom: calc(var(--padding-sm) + 40px);
    }
  }

  [product-grid-view='zoom-out'] .card-gallery .product-card-gallery__title-placeholder {
    /* stylelint-disable-next-line declaration-no-important */
    padding: var(--padding-xs) !important;
    font-size: var(--font-size--xs);
  }
/* END_SNIPPET:card-gallery */

/* START_SNIPPET:cart-discount (INDEX:197) */
.cart-discount__input {
    background-color: var(--color-input-background);
    color: var(--color-input-text);
    border-width: var(--style-border-width-inputs);
    border-color: var(--color-input-border);
    border-style: solid;
    border-radius: var(--style-border-radius-inputs);
    padding: var(--padding-sm) var(--padding-md);
    height: 100%;
    flex-grow: 1;
    min-width: 0;
  }

  .cart-discount__input::placeholder {
    color: rgb(var(--color-input-text-rgb) / var(--opacity-subdued-text));
  }

  .cart-discount__label {
    display: flex;
    align-items: flex-start;
    gap: var(--gap-2xs);
    font-size: var(--cart-font-size--sm);
  }

  .cart-discount__pill-code {
    overflow: hidden;
    max-width: 100px;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin: 0;
  }

  .cart-discount {
    width: 100%;
  }

  .cart-discount__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .cart-discount__summary:hover {
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
  }

  .cart-discount__codes {
    display: none;
    gap: var(--padding-xs);
    flex-wrap: wrap;
    list-style: none;
    padding-inline: 0;
    margin: 0;
  }

  .cart-discount__codes:has(.cart-discount__pill) {
    display: flex;
  }

  .cart-discount__button {
    height: 100%;
  }

  .cart-discount__content {
    height: calc(var(--button-size) + var(--padding-2xs) + var(--padding-sm));
  }

  .cart-discount__pill {
    display: flex;
    color: var(--color-foreground);
    gap: var(--padding-xs);
    align-items: center;
    padding: var(--padding-xs) var(--padding-sm);
    border-radius: var(--style-border-radius-pills);
    background-color: var(--color-input-background);
    text-transform: uppercase;
  }

  .cart-discount__form {
    display: flex;
    gap: var(--padding-md);
    align-items: center;
    height: 100%;
    padding-block: var(--padding-2xs) var(--padding-sm);
  }

  :is(.cart-discount__pill-remove, .cart-discount__pill-remove:hover) {
    --close-icon-opacity: 0.4;

    color: var(--color-foreground);
    background-color: transparent;
    pointer-events: all;
    cursor: pointer;
    height: 100%;
  }

  .cart-discount__error {
    display: flex;
    align-items: center;
    width: 100%;
    padding-block: var(--padding-2xs) var(--padding-sm);
  }

  .cart-discount__error .svg-wrapper {
    flex-shrink: 0;
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
    margin-inline: var(--margin-3xs) var(--margin-xs);
  }

  .cart-discount__error-text {
    margin-block-start: var(--margin-3xs);
  }

  cart-discount-component {
    display: flex;
  }
/* END_SNIPPET:cart-discount */

/* START_SNIPPET:cart-drawer-progress (INDEX:198) */
.cart-progress {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 10px 16px;
    border-top: 1px solid #D6CFC5;
    border-bottom: 1px solid #D6CFC5;
  }

  .cart-progress + hr {
    display: none;
  }

  .cart-progress__tiers {
    display: inline-flex;
    margin-top: 2px;
    margin-left: auto;
    margin-right: auto;
    gap: 12px 0px;
    align-items: center;
    text-align: center;
    gap: 16px;
  }

  .cart-progress__tiers.is-hidden {
    display: none;
  }

  .cart-progress__tier {
    display: flex;
    gap: 6px;
    justify-items: center;
    font-family: var(--font-kennerley-small-caps-bold);
    font-weight: 700;
    font-size: 12px;
    letter-spacing: -0.24px;
    text-transform: uppercase;
    line-height: 80%; /* 9.6px */
    color: #521827;
    white-space: nowrap;
    align-items: center;
  }

  .cart-progress__tier {
    color: #521827;
  }

  .cart-progress__tier .cart-progress__icon svg.is-empty {
    opacity: 1;
  }

  .cart-progress__tier.is-complete {
    color: #291406;
    opacity: 0.6;
  }

  .cart-progress__tier.is-complete .cart-progress__icon svg.is-complete {
    opacity: 0.6;
  }

  .cart-progress__icon {
    width: 12px;
    height: 12px;
    position: relative;
    flex-shrink: 0;
    top: -0.0938rem;
  }

  .cart-progress__icon svg {
    display: block;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
  }

  .cart-progress__bar {
    width: 100%;
    height: 6px;
    border-radius: 999px;
    border: 1px solid #D6CFC5;
    background: #f2efe9;
    position: relative;
    overflow: hidden;
  }

  .cart-progress__bar-fill {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    background: #521827;
    border-radius: inherit;
    transition: width 1s ease;
    min-width: 13%;
  }

  .cart-progress__message {
    margin: 0;
    text-align: center;
    font-family: var(--font-kennerley-italic) !important;
    font-style: italic;
    font-weight: 400;
    font-synthesis: none;
    font-size: 12px;
    color: #291406;
  }

  .cart-progress__message-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .cart-progress__message-wrapper > * {
    text-align: left;
  }

  .cart-progress__bar {
    flex: 1;
  }
/* END_SNIPPET:cart-drawer-progress */

/* START_SNIPPET:cart-drawer (INDEX:199) */
.cart-items-component {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
  }

  .cart-drawer__recommended-products-wrapper {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
  }
  .cart-drawer__recommended-products-spacer {
    flex-grow: 1;
  }

  .cart-drawer__heading .cart-bubble {
    width: fit-content;
    border-radius: var(--style-border-radius-buttons-primary);
    aspect-ratio: auto;
    padding: var(--cart-padding);
  }

  .cart-drawer__heading .cart-bubble[data-maintain-ratio] {
    aspect-ratio: 1;
    min-width: 26px;
  }

  .cart-drawer__header {
    background-color: var(--color-background);
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: var(--cart-drawer-padding);
    border-bottom: var(--style-border-width) solid none;
    position: sticky;
    top: 0;
    z-index: 1;
    gap: var(--gap-md);

    @media screen and (min-width: 750px) {
      padding: var(--cart-drawer-padding-desktop);
    }
  }

  .cart-drawer__header-icon {
    flex-shrink: 0;
  }

  .cart-drawer__header-icon img {
    height: 31px;
    width: auto;
  }

  .cart-drawer__header-text {
    flex: 1;
    text-align: center;
    color: #291406;
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-shango-gothic-medium);
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 80%; /* 12.8px */
    letter-spacing: -0.32px;
  }

  .cart-drawer__close-button {
    flex-shrink: 0;
    padding-right: 20px;
    outline: none;
  }

  .cart-drawer__close-button:focus,
  .cart-drawer__close-button:focus-visible {
    outline: none;
    box-shadow: none;
  }

  .cart-drawer__close-button .svg-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .cart-drawer--empty .cart-drawer__close-button .svg-wrapper {
  }

  .cart-drawer--empty .cart-drawer__close-button .svg-wrapper svg {
    width: 36px;
    height: 36px;
  }

  .cart-drawer__dialog {
    overflow: hidden;
    max-width: 500px;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    inset-inline-end: 0;
    inset-block: 0;
  }

  .cart-drawer__dialog::backdrop {
    background: rgba(0, 0, 0, 0.5);
  }

  .cart-drawer__dialog[open]::backdrop {
    background: rgba(0, 0, 0, 0.5);
  }

  .cart-drawer__inner {
    height: 100%;
    overflow: hidden;
    background-color: var(--page-texture-color) !important;
    background-image: var(--page-texture-image) !important;
    background-position: var(--page-texture-position) !important;
    background-size: var(--page-texture-size) var(--page-texture-size) !important;
    background-repeat: var(--page-texture-repeat) !important;
    background-blend-mode: var(--page-texture-blend) !important;
  }

  .cart-drawer__content {
    height: calc(100% - var(--header-height));
    display: flex;
    flex-direction: column;
  }

  .cart-drawer__summary {
    background-color: #bcb2a0;
    position: sticky;
    bottom: 0;
    z-index: 1;
  }
/* END_SNIPPET:cart-drawer */

/* START_SNIPPET:cart-icon-component (INDEX:200) */
.cart-icon-desktop {
    display: none;
  }
  .cart-icon-mobile {
    display: block;
  }

  .cart-icon-mobile img {
    height: 38px;
    width: auto;
  }

  @media screen and (min-width: 750px) {
    .cart-icon-desktop {
      display: block;
      font-family: var(--font-shango-gothic-medium);
    }
    .cart-icon-mobile {
      display: none;
    }
  }

  cart-icon:has(.cart-bubble__text-count:empty) {
    --cart-bubble-size: 10px;
    --cart-bubble-top: 0px;
    --cart-bubble-right: 0px;

    .svg-wrapper {
      --cart-bubble-top: 0px;
      --cart-bubble-right: 0px;
    }
  }
/* END_SNIPPET:cart-icon-component */

/* START_SNIPPET:cart-products (INDEX:204) */
.cart-items {
    --cart-item-media-width-min: 2.5rem;
    --cart-item-media-width-max: 7.5rem;

    container-name: cart-items;
    container-type: inline-size;
    width: 100%;
    overflow-x: hidden;
  }

  .cart-items-disabled {
    pointer-events: none;
  }

  .cart-items__table {
    width: 100%;
    overflow-x: hidden;
  }

  .cart-items__table * {
    margin: 0;
  }

  .cart-items__table-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--gap-md);
    padding: 8px;
    margin-bottom: var(--margin-lg);
    min-width: 0;
    background-color: #e9e4da;
  }

  .cart-items__table-row.cart-items__nested-line td:first-child {
    width: 60%;
    justify-self: right;
  }

  .cart-items__table-row.cart-items__bundle-parent .cart-items__media {
    margin-bottom: auto;
  }

  .cart-items__table-row.cart-items__bundle-child,
  .cart-items__group--bundle-children {
    display: none;
  }

  html:active-view-transition-type(page-navigation) .cart-items__table-row {
    /* stylelint-disable-next-line declaration-no-important */
    view-transition-name: none !important;
  }

  .cart-items__table-row.removing {
    overflow: hidden;
    animation: removeRow calc(var(--animation-speed) * 2) var(--animation-easing) forwards;
    animation-delay: var(--animation-speed);
  }

  @keyframes removeRow {
    0% {
      height: var(--row-height);
    }

    100% {
      opacity: 0;
      height: 0;
      padding-bottom: 0;
      margin-bottom: 0;
      border-color: transparent;
    }
  }

  .cart-items__table-row:last-child {
    /* padding-bottom: 0; */
  }

  .cart-items--dividers .cart-items__table-row {
    border-bottom: 1px solid var(--color-border);
    margin-bottom: var(--cart-items-gap);
  }

  .cart-items--dividers .cart-items__table-row:has(+ .cart-items__nested-line) {
    border-bottom: none;
    margin-bottom: 0;
  }

  .cart-items--dividers .cart-items__table-row:last-child {
    border-block-end: none;
    padding-block-end: 0;
    margin-bottom: 0;
  }

  .cart-items__content-columns {
    flex: 1;
    min-width: 0;
    height: 100%;
  }

  .cart-items__content-wrapper {
    display: flex;
    flex-direction: row;
    gap: var(--gap-md);
    align-items: stretch;
    height: 100%;
  }

  .cart-items__details-column {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
  }

  .cart-items__details {
    min-width: 0;
    /* color: rgb(var(--color-foreground-rgb) / var(--opacity-70)); */
  }

  .cart-items__details > * + *,
  .cart-items__bundle li {
    margin-block-start: var(--margin-2xs);
  }

  .cart-items__bundle.list-unstyled {
    max-width: 152px;
    overflow: visible;
  }

  .cart-items__bundle.list-unstyled li {
    white-space: nowrap;
    color: #796c61;
  }

  .cart-items__details * {
    font-size: var(--cart-font-size--sm);
  }

  .cart-items__details a {
    text-decoration: none;
    white-space: normal;
  }

  .cart-items__title {
    font-family: var(--font-shango-gothic-medium) !important;
    font-size: 14px;
    line-height: 1.3;
    color: var(--color-foreground);
    text-transform: var(--product-title-case);
  }

  .cart-items__variant {
    display: inline-block;
  }

  .cart-items__unit-price {
    margin-block-start: var(--margin-2xs);
  }

  .cart-items__quantity {
    margin-block-start: var(--margin-xs);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--gap-xs);
    width: fit-content;
  }

  .cart-items__quantity .quantity-selector {
    display: inline-flex;
    flex: 0 1 var(--quantity-selector-width);
    font-size: var(--cart-font-size--sm);
    height: auto;
  }

  .cart-items__remove {
    background-color: transparent;
    color: var(--color-foreground);
    font-size: 12px;
    justify-content: center;
    box-shadow: none;
    padding: 0;
    align-self: flex-end;
    font-family: var(--font-kennerley-italic);
    font-style: italic;
    font-weight: 400;
    font-synthesis: none;
    text-decoration: underline;
    opacity: 0.6;
  }
  .cart-items__remove:hover {
    opacity: 1;
  }

  .cart-items__media {
    flex-shrink: 0;
    width: 86px;
    padding: 0;
    min-width: 0;
  }

  .cart-items__price-column {
    flex-shrink: 0;
    min-width: 0;
    width: fit-content;
    text-align: end;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    font-size: var(--cart-font-size--md);
  }

  .cart-items__price-unit {
    font-size: var(--cart-font-size--xs);
  }

  .cart-items__media-container {
    display: flex;
    aspect-ratio: 68 / 81;
    position: relative;
    width: 100%;
    overflow: hidden;
    flex-shrink: 0;
    border-radius: 4px;
  }

  .cart-items__media-image {
    aspect-ratio: inherit;
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: auto;
    border-radius: 4px;
    border: none;
  }

  .cart-items__empty-button {
    margin-top: var(--margin-md);
    padding-inline: var(--padding-4xl);
    padding-block: var(--padding-lg);
  }

  /* Error message */
  .cart-items__error {
    display: flex;
    align-items: flex-start;
    width: 100%;
    margin-block-start: 0;
    opacity: 1;
    overflow: hidden;
    transform: translateY(0);
    transition: opacity var(--drawer-animation-speed) var(--animation-easing),
      transform var(--drawer-animation-speed) var(--animation-easing),
      margin-block-start var(--drawer-animation-speed) var(--animation-easing);
    height: 0;
    min-height: 0;

    @starting-style {
      opacity: 0;
      transform: translateY(-0.5rem);
    }
  }

  /* When error is visible, expand the error row */
  .cart-items__error:not(.hidden) {
    height: auto;
    min-height: auto;
    margin-block-start: var(--margin-xs);
  }

  .cart-item__error {
    display: flex;
    align-items: flex-start;
    width: 100%;
    font-size: var(--cart-font-size--sm);
    padding-block: var(--padding-2xs);
  }

  .cart-item__error .svg-wrapper {
    flex-shrink: 0;
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
    margin-inline: var(--margin-3xs) var(--margin-xs);
    margin-block-start: var(--margin-3xs);
  }

  @container cart-items (min-width: 720px) {
    .cart-items__media {
      width: 100px;
    }

    .cart-items__price-column {
      min-width: 6rem;
      min-height: var(--minimum-touch-target);
      justify-content: center;
    }
  }

  .cart__original-total-container,
  .cart__total-container {
    display: flex;
    flex-direction: column;
  }

  .cart__total-container {
    row-gap: var(--gap-2xs);
    font-family: var(--font-shango-gothic-medium) !important;
    font-size: 16px;

    &:has(.cart__installments) {
      row-gap: var(--gap-xs);
    }
  }

  .cart__original-total-container:empty {
    display: none;
  }

  .cart__summary-totals {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xl);
    width: 100%;
    border-block-start: none;

    &:has(> :first-child:not(.cart__original-total-container, .cart__total-container)) {
      padding-block-start: 0;
      border-block-start: none;
    }

    @media screen and (min-width: 750px) {
      padding-block-start: 0;
    }
  }

  .cart__original-total-container,
  .cart__original-total-container * {
    font-size: var(--cart-font-size--sm);
  }

  .cart-primary-typography {
    font-family: var(--font-shango-gothic-medium);
    font-style: var(--cart-primary-font-style);
    font-weight: 400;
  }

  .cart-secondary-typography {
    font-family: var(--font-kennerley);
    font-style: var(--cart-secondary-font-style);
    font-weight: var(--cart-secondary-font-weight);
    letter-spacing: -0.02em;
  }

  .cart__ctas {
    width: 100%;
    display: grid;
    gap: var(--checkout-button-gap);
    grid-auto-flow: row;
    grid-template-columns: 1fr;
  }

  .cart__additional-checkout-buttons {
    width: 100%;
  }

  .cart__ctas .cart__checkout-button {
    width: 100%;
    height: clamp(25px, var(--height-buy-buttons), 55px);
    padding-inline: var(--padding-4xl);
  }

  shopify-accelerated-checkout-cart {
    --shopify-accelerated-checkout-inline-alignment: center;
    --shopify-accelerated-checkout-button-border-radius: var(--style-border-radius-buttons-primary);
  }

  .cart-note {
    width: 100%;
  }

  @starting-style {
    .cart-note[open-by-default-on-desktop][open-by-default-on-mobile] .details-content {
      block-size: auto;
      opacity: 1;
      overflow-y: visible;
    }
  }

  .cart-note__inner {
    padding-block: var(--padding-2xs) var(--padding-sm);
  }

  .cart-note__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .cart-note__summary:hover {
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
  }

  .cart-note__label {
    display: flex;
    align-items: flex-start;
    gap: var(--gap-2xs);
    font-size: var(--cart-font-size--sm);
  }

  .cart-note__instructions {
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    border-width: var(--style-border-width-inputs);
    border-color: var(--color-input-border);
    transition: box-shadow var(--animation-speed) ease;
    box-shadow: var(--input-box-shadow);
    min-height: 5.5rem;
    min-width: 100%;
    max-width: 100%;
    font-size: var(--cart-font-size--sm);
    padding: max(4px, calc(var(--style-border-radius-inputs) * (1 - cos(45deg))));
  }

  .cart-note .svg-wrapper {
    height: var(--icon-size-sm);
    width: var(--icon-size-sm);
    margin: 0;
  }

  .cart-note .icon-plus {
    height: var(--icon-size-xs);
    width: var(--icon-size-xs);
  }

  /* Remove animation */
  .remove-icon-bottom,
  .remove-icon-top {
    transition: transform var(--animation-speed) var(--animation-easing);
  }

  .cart-items__remove:hover .remove-icon-top {
    transform: translate(calc(-1 * var(--icon-stroke-width)), var(--icon-stroke-width)) rotate(-15deg);
  }

  .cart-items__remove:is(:hover, :active) .remove-icon-bottom {
    transform: translateY(var(--icon-stroke-width));
  }

  .cart-items__table-row.removing .remove-icon-bottom {
    transform: translateY(0);
  }

  .cart-items__table-row.removing .remove-icon-top {
    animation: removeButtonClickedIconTop var(--animation-speed) var(--animation-easing) forwards;
  }

  @keyframes removeButtonClickedIconTop {
    50% {
      transform: translate(0, calc(-1 * var(--icon-stroke-width)));
    }

    100% {
      transform: translate(0, 0);
    }
  }

  .cart-items__selling-plan-selector {
    border: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background: #e9e4da var(--icon-caret-down) no-repeat right 8px center !important;
    padding: 0 26px 0 0 !important;
    outline: none !important;
  }

  .cart-items__properties {
    display: block;
    margin-block-start: var(--margin-2xs);
  }

  .cart-items__properties dt,
  .cart-items__properties dd {
    display: inline;
  }
  .cart-items__price-content {
    font-weight: 700;
    font-size: 12px;
    margin-bottom: 5px;
  }
  .cart-items__quantity .quantity-selector {
    --quantity-selector-width: 80px;
  }

  .quantity-selector input[type='number'] {
    min-width: 32px;
  }

  .cart-items__group-heading {
    display: flex;
    width: 100%;
    background-color: transparent;
    padding: 0 8px 8px;
    margin-bottom: 4px;
    min-width: 0;
  }

  .cart-items__group-title {
    font-family: var(--font-kennerley-small-caps-bold);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: -0.24px;
    line-height: 1;
    text-transform: uppercase;
    color: #291406;
    text-align: start;
  }

  .cart-items__table-row:has(+ .cart-items__upsell-row) {
    margin-bottom: 8px;
  }

  .cart-items__upsell-row {
    display: flex;
    width: 100%;
    background-color: transparent;
    padding: 0 0 16px;
    margin-bottom: var(--margin-lg);
  }

  .cart-items__upsell-cell {
    width: 100%;
    padding: 0;
  }

  .cart-items__price-content s {
    opacity: 0.7;
    margin-right: 4px;
  }
/* END_SNIPPET:cart-products */

/* START_SNIPPET:cart-recommended-product (INDEX:205) */
.cart-recommended-product-wrapper {
    margin: 16px;
    display: none;
  }

  .cart-recommended-product-wrapper:has(.cart-recommended-product__card) {
    display: block;
  }

  .cart-recommended-product {
    padding: 8px;
    background-color: #e9e4da;
  }

  .cart-recommended-product__wrapper {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .cart-recommended-product__header {
    font-family: var(--font-kennerley-bold);
    font-size: 14px;
    line-height: 1.3;
    letter-spacing: -0.28px;
    color: #291406;
    text-transform: uppercase;
    margin: 0 0 12px 0;
  }

  .cart-recommended-product__loading {
    display: none !important;
  }

  .cart-recommended-product__card {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: flex-start;
    background-color: #e9e4da;
    border-radius: 4px;
    padding: 0;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .cart-recommended-product__card.cart-recommended-product__card--visible {
    opacity: 1;
    transform: translateY(0);
  }

  .cart-recommended-product__image-wrapper {
    flex-shrink: 0;
    aspect-ratio: 68 / 81;
    width: 86px;
    overflow: hidden;
    border-radius: 4px;
  }

  .cart-recommended-product__image-link {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
  }

  .cart-recommended-product__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
    border: none;
  }

  .cart-recommended-product__image-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-background);
    border-radius: 4px;
    border: none;
  }

  .cart-recommended-product__content-columns {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
  }

  .cart-recommended-product__row-1 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
  }

  .cart-recommended-product__row-2 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
  }

  .cart-recommended-product__title-description {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
  }

  .cart-recommended-product__title-link {
    text-decoration: none;
    color: inherit;
  }

  .cart-recommended-product__title-link:hover {
    text-decoration: none;
  }

  .cart-recommended-product__title {
    font-family: var(--font-shango-gothic-medium);
    font-size: 14px;
    line-height: 1.3;
    letter-spacing: -0.28px;
    color: #291406;
    text-transform: lowercase;
    margin: 0;
  }

  .cart-recommended-product__description {
    font-family: var(--font-kennerley);
    font-size: 14px;
    letter-spacing: -0.02em;
    color: #291406;
    margin: 0;
  }

  .cart-recommended-product__quantity-selector {
    flex-shrink: 0;
  }

  .cart-recommended-product__quantity-selector .quantity-selector {
    --quantity-selector-width: 100px;
    gap: 10px;
  }

  .cart-recommended-product__quantity-selector .quantity-selector input[type='number'] {
    min-width: 32px;
  }

  .cart-recommended-product__price {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    justify-content: flex-end;
  }

  .cart-recommended-product__price-original {
    font-family: var(--font-kennerley);
    font-size: 12px;
    line-height: 0.8;
    letter-spacing: -0.02em;
    color: #291406;
    text-decoration: line-through;
    opacity: 0.5;
  }

  .cart-recommended-product__price-current {
    font-family: var(--font-kennerley-bold);
    font-size: 12px;
    line-height: 0.8;
    letter-spacing: -0.24px;
    color: #291406;
    text-align: right;
  }

  .cart-recommended-product__add-button {
    font-family: var(--font-shango-gothic-medium);
    font-weight: 600;
    font-size: 12px;
    line-height: 0.8;
    letter-spacing: -0.24px;
    text-transform: uppercase;
    color: #291406;
    background-color: #f2efe9;
    border: 0px;
    border-radius: 100px;
    padding: 0;
    cursor: pointer;
    width: 54px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }

  .cart-recommended-product__add-button:hover {
    background-color: #291406;
    color: #f2efe9;
  }

  .cart-recommended-product__add-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
  }

  .cart-recommended-product__loading {
    display: none !important;
  }

  .cart-recommended-product__content:empty {
    display: none;
  }
/* END_SNIPPET:cart-recommended-product */

/* START_SNIPPET:cart-subscription-upsell (INDEX:206) */
.cart-subscription-upsell {
    --cart-upsell-bg: var(--page-texture-color);
    --cart-upsell-text: var(--color-dark-brown);
    --cart-upsell-border: var(--color-dark-brown);
    --cart-upsell-header-bg: var(--color-dark-brown);
    --cart-upsell-header-text: var(--page-texture-color);
    --cart-upsell-cta-bg: var(--color-review-red);
    --cart-upsell-cta-text: var(--color-white);
    --cart-upsell-cta-hover: #370a16;
    --cart-upsell-radius: 4px;

    display: flex;
    flex-direction: column;
    width: 100%;
    overflow: hidden;
    background-color: var(--cart-upsell-bg);
    border: 1px solid var(--cart-upsell-border);
    border-radius: var(--cart-upsell-radius);
    color: var(--cart-upsell-text);
  }

  .cart-subscription-upsell__header {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0;
    padding: 6px 12px;
    background-color: var(--cart-upsell-header-bg);
    color: var(--cart-upsell-header-text);
    font-family: var(--font-kennerley-small-caps-bold);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.3;
    text-align: center;
    text-transform: uppercase;
  }

  .cart-subscription-upsell__benefits {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    margin: 0;
    padding: 14px 12px 4px;
    list-style: none;
  }

  .cart-subscription-upsell__benefits li {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-kennerley-italic);
    font-size: 13px;
    font-style: italic;
    font-weight: 400;
    font-synthesis: none;
    line-height: 1.3;
    color: var(--cart-upsell-text);
  }

  .cart-subscription-upsell__benefits li::before {
    content: '';
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 16px;
  }

  .cart-subscription-upsell__benefits li:first-child::before {
    background-image: var(--cart-upsell-icon-piggy);
  }

  .cart-subscription-upsell__benefits li:nth-child(2)::before {
    background-image: var(--cart-upsell-icon-truck);
  }

  .cart-subscription-upsell__benefits li:nth-child(3)::before {
    background-image: var(--cart-upsell-icon-calendar);
  }

  .cart-subscription-upsell__cta-wrapper {
    width: 100%;
    padding: 10px 12px 12px;
  }

  .cart-items__upgrade-button.cart-subscription-upsell__cta {
    width: 100%;
    min-height: 36px;
    padding-block: 8px;
    padding-inline: 16px;
    font-size: 12px;
    --button-color: var(--cart-upsell-cta-text);
    --button-background-color: var(--cart-upsell-cta-bg);
    --button-border-color: var(--cart-upsell-cta-bg);
    --color-primary-button-hover-background: var(--cart-upsell-cta-hover);
    --color-primary-button-hover-border: var(--cart-upsell-cta-hover);
    background-color: var(--cart-upsell-cta-bg);
    border-color: var(--cart-upsell-cta-bg);
    color: var(--cart-upsell-cta-text);
  }

  .cart-items__upgrade-button.cart-subscription-upsell__cta:hover {
    --button-background-color: var(--cart-upsell-cta-hover);
    --button-border-color: var(--cart-upsell-cta-hover);
    background-color: var(--cart-upsell-cta-hover);
    border-color: var(--cart-upsell-cta-hover);
  }

  .cart-items__upgrade-button.cart-subscription-upsell__cta:focus-visible {
    outline: 2px solid var(--cart-upsell-cta-bg);
    outline-offset: 2px;
  }
/* END_SNIPPET:cart-subscription-upsell */

/* START_SNIPPET:cart-summary (INDEX:207) */
.cart-actions {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    border-block: 1px solid var(--color-border);
    padding-block: var(--padding-sm);
    margin-block-start: var(--margin-3xs);
  }

  .cart-actions__divider {
    border-block-start: 1px solid var(--color-border);
  }

  .cart__installments {
    color: var(--color-foreground);
  }

  .cart__total {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--gap-sm);
    width: 100%;
  }

  .cart__total-values {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
  }

  .cart__compare-at-total {
    font-size: 0.85em;
    font-weight: 400;
    opacity: 0.7;
    color: var(--color-foreground);
  }
/* END_SNIPPET:cart-summary */

/* START_SNIPPET:collection-card (INDEX:209) */
.collection-card {
    --fixed-card-height: var(--height-small);

    width: 100%;
    position: relative;
  }

  .collection-card > svg {
    height: 100%;
    width: 100%;
    aspect-ratio: var(--ratio);
  }

  .collection-card__inner {
    width: 100%;
    overflow: hidden;
    position: relative;
    gap: var(--collection-card-gap);
    display: flex;
    flex-direction: column;
  }

  .collection-card--image-bg .collection-card__inner {
    height: 100%;
  }

  .collection-card__inner {
    z-index: var(--layer-flat);
    pointer-events: none;

    a,
    button {
      /* only allow interactive elements to be clickable separate from .collection-card__link */
      pointer-events: auto;
    }
  }

  /* allow all blocks to be selectable in editor preview */
  .shopify-design-mode .collection-card__content * {
    pointer-events: auto;
  }

  .collection-card__content {
    position: relative;
    display: flex;
    height: 100%;
    width: 100%;
    max-width: 100%;
    gap: var(--collection-card-gap);
    flex-direction: column;
    align-items: var(--horizontal-alignment);
    justify-content: var(--vertical-alignment);
  }

  .collection-card__link {
    position: absolute;
    inset: 0;

    /* allows focus outline to have radius in supported browsers */
    border-radius: var(--border-radius);
  }

  /* Nested image block rules */

  .collection-card.collection-card--image-bg {
    aspect-ratio: var(--ratio);
  }

  .collection-card.collection-card--image-bg .collection-card__content {
    padding: var(--padding-lg);
  }

  /* Bento layout rules */
  .collection-card--image-height-fixed .collection-card__image {
    height: var(--fixed-card-height);
    width: 100%;
  }

  .collection-card--image-height-fixed.collection-card--image-bg {
    height: var(--fixed-card-height);
    aspect-ratio: unset;
  }

  .collection-card__image .image-block__image {
    object-fit: cover;
    width: 100%;
    height: 100%;
    max-width: 100%;
  }

  .collection-card--image-bg .collection-card__image {
    position: absolute;
    width: 100%;
    height: 100%;
  }

  .collection-card__image svg {
    height: 100%;
    width: 100%;
  }

  .resource-list:not(.hidden--desktop) .collection-card--flexible-aspect-ratio {
    &.collection-card.collection-card--image-bg,
    &.collection-card .placeholder-svg {
      aspect-ratio: 99;
    }

    .collection-card__image {
      aspect-ratio: 99;
      height: 100%;
    }

    .collection-card__inner {
      display: flex;
      flex-direction: column;
      height: 100%;
    }

    .collection-card__content {
      flex-shrink: 0;
    }

    &:not(.collection-card--image-bg) .collection-card__content {
      height: auto;
    }
  }
/* END_SNIPPET:collection-card */

/* START_SNIPPET:contact-form (INDEX:211) */
.contact-form__form {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
  }

  .contact-form__form-row {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);

    @media screen and (min-width: 750px) {
      flex-direction: row;
      align-items: center;
    }
  }

  .contact-form__input {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    padding: var(--padding-lg) var(--padding-xl);
    border-radius: var(--style-border-radius-inputs);
    border: var(--style-border-width-inputs) solid var(--color-input-border);
    -webkit-font-smoothing: antialiased;
  }

  .contact-form__input--textarea {
    resize: vertical;
    min-height: var(--input-textarea-min-height);
  }

  .contact-form__error,
  .contact-form__success {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
  }
/* END_SNIPPET:contact-form */

/* START_SNIPPET:divider (INDEX:212) */
.divider {
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: var(--divider-justify-content);
  }

  .divider__line {
    border-bottom: var(--divider-border-thickness) solid var(--color-border);
    border-right: var(--divider-border-thickness) solid var(--color-border);
    border-radius: calc(var(--style-border-radius-sm) * var(--divider-border-rounded));
    flex-basis: var(--divider-flex-basis);
    min-height: var(--divider-flex-basis);
  }
/* END_SNIPPET:divider */

/* START_SNIPPET:editorial-collection-grid (INDEX:215) */
.editorial-collection__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: 1fr;
    gap: var(--gap-xl);

    .resource-list__item,
    .collection-card {
      height: 100%;
    }
  }

  .editorial-collection__spacer {
    aspect-ratio: 1;
  }

  @media (max-width: 768px) {
    .editorial-collection__grid {
      display: flex;
      flex-direction: column;
      gap: var(--gap-2xl);
    }

    .editorial-collection__spacer {
      display: none;
    }

    .editorial-collection__item-0 {
      width: 66%;
      align-self: flex-start;
      aspect-ratio: 4 / 5;
    }

    .editorial-collection__item-1 {
      width: 83%;
      align-self: flex-end;
      aspect-ratio: 5 / 5;
    }

    .editorial-collection__item-2 {
      width: 83%;
      align-self: flex-start;
      aspect-ratio: 8 / 6;
    }

    .editorial-collection__item-3 {
      width: 100%;
      align-self: center;
      aspect-ratio: 8 / 6;
    }
  }
/* END_SNIPPET:editorial-collection-grid */

/* START_SNIPPET:editorial-product-grid (INDEX:216) */
.editorial-product__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: 1fr;
    gap: var(--gap-xl);

    /* Make the aspect ratio super high on width, then increase the height of
     * slideshow containers until they fill all the available space */
    .card-gallery {
      /* stylelint-disable-next-line declaration-no-important */
      --gallery-aspect-ratio: 99 !important;
    }

    .card-gallery,
    slideshow-component,
    slideshow-container,
    slideshow-slides {
      height: 100%;
    }
  }

  .editorial-product__spacer {
    aspect-ratio: 1;
  }

  @media (max-width: 768px) {
    .editorial-product__grid {
      display: flex;
      flex-direction: column;
      gap: var(--gap-2xl);
    }

    .editorial-product__spacer {
      display: none;
    }

    .editorial-product__item-0 {
      width: 83%;
      align-self: flex-start;
      aspect-ratio: 7 / 6;
    }

    .editorial-product__item-1 {
      width: 83%;
      align-self: flex-end;
      aspect-ratio: 4 / 5;
    }

    .editorial-product__item-2 {
      width: 66%;
      align-self: flex-start;
      aspect-ratio: 5 / 5;
    }

    .editorial-product__item-3 {
      width: 100%;
      aspect-ratio: 8 / 6;
    }
  }
/* END_SNIPPET:editorial-product-grid */

/* START_SNIPPET:email-capture-popup (INDEX:217) */
.email-capture-popup {
    padding: 0;
    border: none;
    width: 80vw;
    max-width: 1200px;
    max-height: 90vh;
    background: transparent;
    box-shadow: none;
    margin: auto;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 4px;
  }

  .email-capture-popup[open] {
    display: grid;
    grid-template-rows: 1fr;
    align-items: stretch;
    overflow: hidden;
  }

  .email-capture-popup__content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    height: 100%;
    min-height: min(450px, 70vh);
    max-height: 600px;
    border-radius: 4px;
    overflow: hidden;
    position: relative;
  }

  .email-capture-popup__left-panel {
    background-color: #ded7c8;
    position: relative;
    padding: 24px 8%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    height: 100%;
    min-height: 0;
    overflow: auto;
  }

  .email-capture-popup__left-panel::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('http://localhost:3845/assets/3a5e50ce7b9dc5a001df41afbc37f9e90ee3523e.png');
    background-repeat: repeat;
    background-size: 500px 500px;
    background-position: top left;
    opacity: 0.2;
    pointer-events: none;
  }

  .email-capture-popup__text-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    width: 100%;
    max-width: 28rem;
    margin: 0;
    flex-shrink: 0;
  }

  .email-capture-popup__heading {
    font-family: var(--font-shango-gothic-medium);
    font-size: clamp(24px, 2.5vw, 32px);
    line-height: 1;
    color: #291406;
    margin: 0;
    font-weight: 500;
    letter-spacing: -0.64px;
    text-align: center;
    width: 100%;
  }

  .email-capture-popup__body {
    font-family: var(--font-kennerley-swash);
    font-size: clamp(14px, 1.2vw, 16px);
    line-height: 1.3;
    color: #291406;
    margin: 0;
    letter-spacing: -0.32px;
    text-align: center;
    width: 100%;
    max-width: 18rem;
  }

  .email-capture-popup__body p {
    margin: 0;
  }

  .email-capture-popup__body :is(p, span, em, strong, a) {
    font-family: var(--font-kennerley-swash);
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    letter-spacing: inherit;
  }

  .email-capture-popup__form {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
    max-width: 16rem;
    margin-left: auto;
    margin-right: auto;
    flex-shrink: 0;
  }

  .email-capture-popup__input-wrapper {
    position: relative;
  }

  .email-capture-popup__input {
    width: 100%;
    padding: 12px 20px;
    border: 1px solid #291406;
    border-radius: 100px;
    background-color: transparent;
    color: #291406;
    font-family: var(--font-shango-gothic-medium);
    font-size: 14px;
    outline: none;
    transition: background-color 0.2s ease;
  }

  .email-capture-popup__input::placeholder {
    color: rgba(41, 20, 6, 0.5);
    font-size: 14px;
    letter-spacing: 0;
  }

  .email-capture-popup__input:focus {
    background-color: rgba(255, 255, 255, 0.3);
  }

  .email-capture-popup__button {
    width: 100%;
    height: 42px;
    padding: 0;
    background-color: #521827;
    color: #f2efe9;
    border: 1px solid #291406;
    border-radius: 100px;
    font-family: var(--font-shango-gothic-medium);
    font-size: 14px;
    font-weight: 700;
    text-transform: lowercase;
    letter-spacing: 0;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .email-capture-popup__button:hover {
    background-color: #3d1219;
  }

  .email-capture-popup__button:active {
    transform: scale(0.98);
  }

  .email-capture-popup__right-panel {
    background-color: #000000;
    position: relative;
    overflow: hidden;
    min-height: 100%;
  }

  .email-capture-popup__image-wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .email-capture-popup__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .email-capture-popup__close {
    position: absolute;
    top: 24px;
    right: 24px;
    z-index: 10;
    color: #f2efe9;
    font-family: var(--font-shango-gothic-medium);
    font-size: 14px;
    font-weight: 700;
    text-transform: lowercase;
    letter-spacing: 0;
    padding: 0;
    background: transparent;
    border: none;
    cursor: pointer;
    transition: opacity 0.2s ease;
    line-height: 1.3;
  }

  .email-capture-popup__close:hover {
    opacity: 0.7;
  }

  .email-capture-popup__message {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    font-size: 14px;
  }

  .email-capture-popup__message--error {
    color: #dc3545;
  }

  .email-capture-popup__message--success {
    color: #198754;
  }

  .email-capture-popup__message-text {
    margin: 0;
  }

  .email-capture-popup__form {
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
  }

  .email-capture-popup__form[hidden] {
    display: none !important;
  }

  .email-capture-popup__form.fade-out {
    opacity: 0;
  }

  .email-capture-popup__success-message {
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
    text-align: center;
    width: 100%;
    max-width: 18rem;
    position: relative;
    z-index: 1;
  }

  .email-capture-popup__success-message[hidden] {
    display: none !important;
  }

  .email-capture-popup__success-message.fade-in {
    opacity: 0;
  }

  .email-capture-popup__success-content {
    font-family: var(--font-kennerley-swash);
    font-size: clamp(14px, 1.2vw, 16px);
    line-height: 1.3;
    color: #291406;
  }

  .email-capture-popup__success-content p {
    margin: 0;
  }

  .email-capture-popup__button-spinner {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .email-capture-popup__button-spinner .spinner {
    width: 20px;
    height: 20px;
    color: currentColor;
  }

  .icon-error {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
  }

  @media screen and (max-width: 749px) {
    .email-capture-popup {
      width: 100vw;
      height: 100vh;
      height: 100dvh; /* Dynamic viewport height for mobile browsers */
      max-height: 100vh;
      max-height: 100dvh;
      border-radius: 0;
      top: 0;
      transform: none;
    }

    .email-capture-popup__content {
      grid-template-columns: 1fr;
      grid-template-rows: 1fr 1fr;
      height: 100%;
      min-height: 100%;
      max-height: none;
    }

    .email-capture-popup__left-panel {
      padding: 2.5rem 1.5rem;
      min-height: 0;
      grid-row: 2;
    }

    .email-capture-popup__right-panel {
      min-height: 0;
      grid-row: 1;
    }

    .email-capture-popup__text-content {
      max-width: 100%;
    }

    .email-capture-popup__body {
      max-width: 100%;
    }

    .email-capture-popup__form {
      max-width: 100%;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .email-capture-popup__button,
    .email-capture-popup__input,
    .email-capture-popup__close {
      transition: none;
    }
  }
/* END_SNIPPET:email-capture-popup */

/* START_SNIPPET:facets-actions (INDEX:218) */
/* Facets - Actions */
  .facets__actions {
    --to-top-gradient-background: linear-gradient(
      to top,
      rgb(var(--color-background-rgb) / var(--opacity-90)),
      rgb(var(--color-background-rgb) / var(--opacity-80)),
      rgb(var(--color-background-rgb) / var(--opacity-40)),
      transparent
    );

    order: 1;
    position: sticky;
    bottom: 0;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: var(--gap-sm);
    background-image: var(--to-top-gradient-background);
    z-index: var(--facets-sticky-z-index);
    padding-block-start: var(--padding-xs);
    padding-block-end: var(--padding-md);
    padding-inline: var(--padding-lg);
    margin-top: auto;
  }

  .facets:not(.facets--drawer) .facets__actions {
    @media screen and (min-width: 750px) {
      position: static;
    }
  }

  .facets--vertical .facets__actions {
    padding-inline: 0;
    justify-content: center;
  }

  .facets--horizontal .facets__actions {
    @media screen and (min-width: 750px) {
      order: 0;
      bottom: auto;
      position: static;
      padding: 0;
      z-index: var(--layer-flat);
      flex-shrink: 0;
      align-items: center;
      margin-top: initial;
      background-image: none;
    }
  }

  .facets--horizontal .facets__actions--active::before {
    @media screen and (min-width: 750px) {
      content: '';
      border-inline-start: var(--style-border-width) solid var(--color-border);
      height: var(--font-paragraph--size);
      position: absolute;
    }
  }

  /* Clear button */
  .facets__clear {
    display: none;
  }

  .facets--horizontal .facets__clear {
    @media screen and (min-width: 750px) {
      width: 100%;
      justify-content: flex-end;
      padding: 0 var(--facets-clear-padding) var(--facets-clear-padding) 0;
      cursor: pointer;
    }
  }

  .facets__clear--active {
    @media screen and (min-width: 750px) {
      display: flex;
    }
  }

  .clear-filter:hover {
    text-decoration: underline;
    background-color: transparent;
  }

  /* Clear all button */
  .facets__clear-all {
    display: none;
    cursor: pointer;
    min-width: var(--facets-clear-all-min-width);
    transition: transform var(--animation-values), opacity var(--animation-values);
    opacity: 0;
    transform: translateY(100%);
    flex-grow: 1;
    padding-block: var(--padding-lg);
  }

  .facets:not(.facets--drawer) .facets__clear-all {
    box-shadow: none;
  }

  .facets--horizontal .facets__clear-all {
    @media screen and (min-width: 750px) {
      --facets-clear-all-min-width: var(--minimum-touch-target);
      --button-color: var(--color-primary);

      text-decoration: underline transparent 0.075em;
      text-underline-offset: 0.125em;
      width: auto;
      transform: none;
      opacity: 1;
      height: var(--minimum-touch-target);
      align-items: center;
      flex-grow: 0;
      transition: text-decoration-color var(--animation-speed) var(--animation-easing);
    }
  }

  .facets--horizontal .facets__clear-all:hover {
    @media screen and (min-width: 750px) {
      --button-color: var(--color-primary-hover);
    }
  }

  @starting-style {
    .facets__clear-all {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .facets__clear-all.active {
    transform: translateY(0);
    opacity: 1;
    display: grid;
  }

  .facets--horizontal .facets__clear-all.active {
    @media screen and (min-width: 750px) {
      padding-block: 0;
      padding-inline: var(--facets-form-horizontal-gap);
      background-color: transparent;
      position: static;
      transform: none;
    }
  }

  @starting-style {
    .facets__clear-all.active {
      opacity: 0;
      transform: translateY(100%);
    }

    .facets--horizontal .facets__clear-all.active {
      @media screen and (min-width: 750px) {
        opacity: 1;
        transform: none;
      }
    }
  }

  .facets__see-results {
    min-width: var(--facets-see-results-min-width);
    flex-grow: 1;
    padding-block: var(--padding-lg);
  }

  .facets:not(.facets--drawer) .facets__see-results {
    @media screen and (min-width: 750px) {
      display: none;
    }
  }
/* END_SNIPPET:facets-actions */

/* START_SNIPPET:filter-remove-buttons (INDEX:219) */
/* Facets - Remove buttons */
  .facets-remove {
    --variant-picker-swatch-width: 20px;
    --variant-picker-swatch-height: 20px;

    display: none;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--gap-xs);
    padding: 0 var(--drawer-padding);
    margin: 0;

    @media screen and (min-width: 750px) {
      --variant-picker-swatch-width: 16px;
      --variant-picker-swatch-height: 16px;

      gap: var(--gap-2xs);
    }
  }

  .facets-remove:has(facet-remove-component) {
    display: flex;
    margin-block-start: var(--margin-2xs);
    margin-block-end: var(--margin-md);
  }

  .facets__clear-all-link {
    --button-color: var(--color-primary);

    border: none;
    background-color: transparent;
    padding: var(--padding-xs);
    min-width: fit-content;
    color: var(--button-color);
    transition: text-decoration-color var(--animation-speed) var(--animation-easing),
      color var(--animation-speed) var(--animation-easing);
  }

  .facets__clear-all-link:hover {
    --button-color: var(--color-primary-hover);

    color: var(--button-color);
    text-decoration-color: var(--button-color);
  }

  .facets:not(.facets--drawer) .facets-remove--mobile-and-vertical {
    @media screen and (min-width: 750px) {
      padding: 0;
    }
  }

  .facets--horizontal .facets-remove--mobile-and-vertical {
    @media screen and (min-width: 750px) {
      display: none;
    }
  }

  .facets-remove__pill {
    .svg-wrapper,
    .swatch {
      flex-shrink: 0;
    }
  }

  .facets--horizontal .facets-remove {
    @media screen and (min-width: 750px) {
      display: none;
    }
  }
/* END_SNIPPET:filter-remove-buttons */

/* START_SNIPPET:filters-toggle (INDEX:220) */
/* Facets - Toggle */
  .facets-toggle {
    --icon-offset: -3px;

    display: flex;
    justify-content: space-between;
    align-items: center;
    height: var(--minimum-touch-target);
    margin: var(--facets-margin);
    padding-block: var(--facets-inner-padding-block);
    padding-inline: var(--facets-inner-padding-inline);

    @media screen and (min-width: 750px) {
      display: none;
    }
  }

  .facets-toggle__wrapper {
    margin-left: var(--icon-offset);
  }

  .facets-toggle__button {
    box-shadow: none;

    @media screen and (min-width: 750px) {
      display: none;
    }
  }

  /* Filter count */
  .filter-count-bubble {
    position: relative;
    width: 20px;
    aspect-ratio: 1;
    border-radius: 50%;
    display: grid;
    line-height: normal;
    place-content: center;
    color: var(--color-foreground);
    border: var(--icon-stroke-width) solid var(--color-background);
  }

  .facets-mobile__title-wrapper .h3 {
    margin-block-end: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--gap-xs);
  }

  .facets-mobile__title-wrapper .filter-count-bubble {
    width: 22px;
    height: 22px;
  }

  .facets-mobile__title-wrapper .filter-count-bubble__text {
    font-size: var(--font-size--xs);
  }

  .filter-count-bubble__background {
    position: absolute;
    inset: 0;
    background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10-25));
    border-radius: var(--style-border-radius-50);
  }

  .filter-count-bubble__text {
    font-size: 11px;
    font-weight: var(--font-paragraph--weight);
    aspect-ratio: 1 / 1;
  }

  .facets-toggle--no-filters {
    @media screen and (max-width: 749px) {
      /* stylelint-disable-next-line declaration-no-important */
      justify-content: unset !important;

      & > .facets-mobile-wrapper {
        width: 100%;
      }
    }
  }
/* END_SNIPPET:filters-toggle */

/* START_SNIPPET:gift-card-recipient-form (INDEX:223) */
.recipient-form {
    --options-border-radius: var(--variant-picker-button-radius);
    --options-border-width: var(--variant-picker-button-border-width);

    display: flex;
    flex-direction: column;
    padding-bottom: var(--padding-2xl);
  }

  .recipient-form__send-to {
    padding: 0;
    margin-block-end: var(--margin-xs);
  }

  .gift-card-form-option {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--gap-sm);
    padding: 0;
    border: none;
  }

  .gift-card-form-option__button-label {
    display: flex;
    align-items: center;
    position: relative;
    padding-block: var(--padding-sm);
    padding-inline: var(--padding-lg);
    border: var(--style-border-width) solid var(--color-variant-border);
    border-radius: var(--options-border-radius);
    border-width: var(--options-border-width);
    overflow: clip;
    justify-content: center;
    min-width: auto;
    background-color: var(--color-variant-background);
    color: var(--color-variant-text);
    transition: background-color var(--animation-speed) var(--animation-easing),
      border-color var(--animation-speed) var(--animation-easing);

    &:hover {
      background-color: var(--color-variant-hover-background);
      border-color: var(--color-variant-hover-border);
      color: var(--color-variant-hover-text);
    }
  }

  .gift-card-form-option__button-label:has(:focus-visible) {
    --variant-picker-stroke-color: var(--color-foreground);

    border-color: var(--color-foreground);
    outline: var(--focus-outline-width) solid var(--color-foreground);
    outline-offset: var(--focus-outline-offset);
  }

  .gift-card-form-option__button-label:has(:checked) {
    color: var(--color-selected-variant-text);
    background-color: var(--color-selected-variant-background);
    border-color: var(--color-selected-variant-border);
    transition: background-color var(--animation-speed) var(--animation-easing),
      border-color var(--animation-speed) var(--animation-easing);

    &:hover {
      background-color: var(--color-selected-variant-hover-background);
      border-color: var(--color-selected-variant-hover-border);
      color: var(--color-selected-variant-hover-text);
    }
  }

  .gift-card-form-option__button-label input {
    /* remove the checkbox from the page flow */
    position: absolute;

    /* set the dimensions to match those of the label */
    inset: 0;

    /* hide it */
    opacity: 0;
    margin: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
  }

  .recipient-fields {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    transition: opacity 0.3s var(--animation-easing);
    padding-block-start: var(--padding-xl);
  }

  .recipient-fields[hidden] {
    display: none;
  }

  .field--send-on {
    display: flex;
    flex-direction: column;
  }

  .recipient-form__message {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--gap-sm);
    margin-top: var(--margin-sm);
  }

  .recipient-form-field-label {
    position: absolute;
    left: var(--padding-sm);
    bottom: var(--padding-sm);
    font-style: italic;
  }

  .recipient-fields__textarea {
    min-height: 5.5rem;
    overflow-y: auto;

    /* Space for the character count */
    padding-bottom: calc(var(--padding-sm) * 3);
    scroll-padding-bottom: calc(var(--padding-sm) * 3);
  }

  .recipient-fields__input {
    flex-grow: 1;
    transition: background-color var(--animation-speed) ease;
    padding: var(--input-padding);
    background-color: var(--color-input-background);
    color: var(--color-input-text);
    text-align: left;
    font-size: var(--font-paragraph--size);
    border: var(--style-border-width-inputs) solid var(--color-input-border);
    border-radius: var(--style-border-radius-inputs);

    &:autofill {
      background-color: var(--color-input-background);
      color: var(--color-input-text);
    }

    &:is(:focus) {
      outline-color: var(--color-input-background);
    }
  }

  /* Date picker calendar icon
   * Safari doesn't show the icon and Firefox correctly applies the color from the input field.
   * Webkit browsers need the mask-image trick to use the correct icon color.
   */
  .field--send-on .recipient-fields__input::-webkit-calendar-picker-indicator {
    cursor: pointer;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24' %3E%3Cg%3E%3Cpath d='M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-image: none;
    background-color: currentColor;
    mask-type: match-source;
  }

  /* For Webkit browsers - text cursor for input area */
  .field--send-on .recipient-fields__input::-webkit-datetime-edit {
    cursor: text;
  }

  .field--send-on .recipient-fields__input::-webkit-datetime-edit-year-field,
  .field--send-on .recipient-fields__input::-webkit-datetime-edit-month-field,
  .field--send-on .recipient-fields__input::-webkit-datetime-edit-day-field {
    /* Override the disabled color */
    color: var(--color-input-text);
  }

  /* Fallback for other browsers */
  .field--send-on .recipient-fields__input {
    cursor: text;
  }

  /* For Firefox - entire field is clickable, so show pointer */
  @supports (-moz-appearance: none) {
    .field--send-on .recipient-fields__input {
      cursor: pointer;
    }
  }
/* END_SNIPPET:gift-card-recipient-form */

/* START_SNIPPET:grid-density-controls (INDEX:224) */
.column-options-wrapper {
    --icon-offset: -3px;

    display: flex;
    gap: var(--gap-sm);
    min-width: fit-content;
    justify-content: flex-end;
    height: var(--minimum-touch-target);
    align-items: center;
    margin-right: var(--icon-offset);
  }

  .column-options-wrapper:only-child {
    margin-left: auto;
  }

  .facets__form-wrapper > .column-options-wrapper:first-child {
    margin-left: auto;
  }

  .facets .column-options-wrapper {
    display: none;

    @media screen and (min-width: 750px) {
      display: flex;
    }
  }

  .column-options {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-xs);
    margin: 0;
    padding: 0;
    border: none;

    @media screen and (min-width: 750px) {
      gap: var(--gap-2xs);
    }
  }

  .column-options__option {
    display: none;
    position: relative;
  }

  .column-options__option:has(.column-picker-mobile--single),
  .column-options__option:has(.column-picker-mobile--double) {
    @media screen and (max-width: 749px) {
      display: flex;
    }
  }

  .column-options__option:has(.column-picker--default),
  .column-options__option:has(.column-picker--zoom-out) {
    @media screen and (min-width: 750px) {
      display: flex;
    }
  }

  .column-options__legend {
    padding: 0;
    margin: 0;
  }

  .column-options__option-input {
    /* this is a repeating pattern a bit with the variant picker buttons */

    /* remove the checkbox from the page flow */
    position: absolute;

    /* set the dimensions to match those of the label */
    inset: 0;

    /* hide it */
    opacity: 0;
    margin: 0;
    cursor: pointer;
  }

  .column-picker {
    color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
    padding: var(--padding-2xs);
    border-radius: var(--style-border-radius-xs);
    transition: background-color var(--animation-speed) ease, color var(--animation-speed) ease;
  }

  .column-options__option:hover .column-picker {
    background-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
  }

  .column-options__option-input:checked ~ .column-picker {
    color: rgb(var(--color-foreground-rgb));
    background-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
  }
/* END_SNIPPET:grid-density-controls */

/* START_SNIPPET:group (INDEX:225) */
/* Prevent group padding/margin from inheriting into child blocks. Child blocks
     use .spacing-style and read these variables; without resetting, they would
     inherit the group's values (e.g. padding-bottom mobile) and get double spacing. */
  .group-block-content {
    --padding-block-start: 0px;
    --padding-block-end: 0px;
    --padding-inline-start: 0px;
    --padding-inline-end: 0px;
    --padding-block-start-mobile: 0px;
    --padding-block-end-mobile: 0px;
    --padding-inline-start-mobile: 0px;
    --padding-inline-end-mobile: 0px;
    --margin-block-start: 0px;
    --margin-block-end: 0px;
    --margin-inline-start: 0px;
    --margin-inline-end: 0px;
  }

  .group-block {
    transform: rotate(var(--rotation, 0deg));
  }

  .group-block__link {
    position: absolute;
    inset: 0;
  }

  .group-block__link ~ :is(.group-block-content, .group-block__media-wrapper) {
    pointer-events: none;

    :is(a, button, input, textarea, select) {
      pointer-events: auto;
    }
  }

  /* Needs the .group-block__link ~ to be specific enough to take effect. */
  .group-block__link ~ .group-block-content--design-mode {
    pointer-events: auto;
  }

  /* Responsive visibility classes */
  .hide-desktop {
    display: none !important;
  }

  .hide-mobile {
    display: block !important;
  }

  @media (max-width: 750px) {
    .hide-mobile {
      display: none !important;
    }
    
    .hide-desktop {
      display: block !important;
    }

    .group-block-content.layout-panel-flex {
      gap: var(--gap-mobile, var(--gap));
    }
  }
/* END_SNIPPET:group */

/* START_SNIPPET:header-actions (INDEX:226) */
.cart-drawer {
    --cart-drawer-padding: var(--padding-lg) var(--padding-lg);
    --cart-drawer-padding-desktop: 20px 16px;
    --cart-font-size--2xs: var(--font-size--2xs);
    --cart-font-size--xs: var(--font-size--xs);
    --cart-font-size--sm: var(--font-size--sm);
    --cart-font-size--md: var(--font-size--md);
    --cart-font-size--2xl: var(--font-size--2xl);
  }

  .cart-drawer__dialog {
    position: fixed;
    border-radius: 0;
    width: var(--sidebar-width);
    max-width: 95vw;
    height: 100%;
    margin: 0 0 0 auto;
    padding: 0;
    border-left: var(--style-border-drawer);
    box-shadow: -4px 0 6px -1px rgba(0, 0, 0, 0.1), -2px 0 4px -1px rgba(0, 0, 0, 0.06);
    background-color: var(--page-texture-color) !important;
    background-image: var(--page-texture-image) !important;
    background-position: var(--page-texture-position) !important;
    background-size: var(--page-texture-size) var(--page-texture-size) !important;
    background-repeat: var(--page-texture-repeat) !important;
    background-blend-mode: var(--page-texture-blend) !important;
    pointer-events: auto;
  }

  .cart-drawer__dialog,
  .cart-drawer__dialog * {
    pointer-events: auto;
  }

  /* Needed to ensure the drawer is full height */
  .cart-drawer__dialog:modal {
    max-height: 100dvh;
    overflow-y: hidden;
  }

  .cart-drawer__inner {
    height: 100%;
  }

  .cart-drawer__content {
    padding: 0;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    overflow-y: auto;
  }

  .cart-drawer__heading {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
  }

  .cart-drawer__close-button {
    margin-right: calc(var(--padding-sm) * -1);
  }

  .cart-drawer--empty .cart-drawer__content {
    text-align: center;
    min-height: auto;
  }

  .cart-drawer--empty .cart-drawer__heading {
    margin-bottom: var(--margin-md);
  }

  .cart-drawer__items .cart-items__table-row {
    /* padding-bottom: var(--gap-xl); */
    /* border-bottom: var(--style-border-width) solid var(--color-border); */
    margin-bottom: var(--gap-xl);
  }

  .cart-drawer__items .cart-items__table-row:has(+ .cart-items__nested-line) {
    border-bottom: none;
    margin-bottom: 0;
  }

  .cart-drawer__items .cart-items__table-row:last-child {
    border-bottom: none;
  }

  .cart-drawer__summary {
    --cart-drawer-summary-padding: var(--padding-lg);

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: var(--cart-drawer-summary-padding);
    margin-top: auto;
    background-color: rgba(188, 178, 160, 0.1);
    /* stylelint-disable-next-line color-named */

    @media screen and (min-width: 750px) {
      --cart-drawer-summary-padding: var(--padding-2xl);
    }
  }

  .cart-drawer__summary .cart-note {
    @media screen and (min-width: 750px) {
      margin-block-start: var(--margin-3xs);
    }
  }

  .cart-drawer__heading--empty {
    display: flex;
    justify-content: center;
  }

  .cart-drawer__items {
    display: flex;
    flex-direction: column;
    padding-inline: var(--cart-drawer-padding);
    padding-top: 12px;
    overflow-y: auto;

    @media screen and (min-width: 750px) {
      padding: var(--cart-drawer-padding-desktop);
    }
  }

  .cart-drawer__items .cart-items__table-row {
    /* padding-bottom: var(--gap-xl); */
    /* border-bottom: var(--style-border-width) solid var(--color-border); */
    margin-bottom: 8px;
  }

  /* .cart-drawer__items .cart-items__table-row:last-child {
    border-bottom: none;
    padding-block-end: 0;
    margin-block-end: 0;
  } */

  .cart-drawer--empty .cart-drawer__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100dvh;
    margin-top: 0;
  }

  .cart-drawer:not(:has(.cart-form)) .cart-drawer__content {
    justify-content: center;
  }

  .cart-drawer--empty .cart-drawer__header {
    justify-content: right;
    border-bottom: none;
    padding-bottom: 0;
  }

  .cart-drawer--empty .cart-drawer__heading {
    text-align: center;
  }

  .cart-drawer:not(:has(.cart-form)) .cart-items__wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  header-actions {
    display: flex;

    @media screen and (max-width: 749px) {
      justify-self: center;
    }
  }

  /* .header__column--right header-actions {
    margin-inline-start: calc(var(--gap-md) * -1);
  } */

  .header-actions__action {
    --button-color: var(--color-foreground);

    cursor: pointer;
    display: flex;
    justify-content: center;
  }

  .header-actions__action .svg-wrapper {
    height: var(--button-size);
    width: var(--button-size);
  }

  .header-actions__action svg {
    width: var(--icon-size-md);
    height: var(--icon-size-md);
  }

  .header-actions__cart-icon {
    --cart-bubble-size: 20px;
    --cart-bubble-top: 4.5px;
    --cart-bubble-right: 2.5px;

    position: relative;
  }

  .header-actions__cart-icon .cart-bubble {
    position: absolute;
    width: var(--cart-bubble-size, 20px);
    top: var(--cart-bubble-top);
    right: var(--cart-bubble-right);
  }

  .header-actions__cart-icon .cart-bubble__text,
  .cart-drawer__heading .cart-bubble__text {
    font-family: var(--font-paragraph--family);
    font-weight: var(--font-paragraph--weight);
    letter-spacing: var(--font-paragraph--letter-spacing);
  }

  .header-actions__cart-icon.header-actions__cart-icon--has-cart svg {
    /* Create donut mask where the cart bubble sits */
    mask: radial-gradient(
      calc(var(--cart-bubble-size) + 2px) at calc(100% - var(--cart-bubble-right)) var(--cart-bubble-top),
      transparent 45.45%,
      #fff 45.45%,
      #fff 100%
    );
  }

  .cart-drawer__heading .cart-bubble__background {
    background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10-25));
  }

  .cart-drawer__heading .cart-bubble__text {
    color: var(--color-foreground);
    font-size: var(--font-size--xs);
  }

  .cart-bubble--animating .cart-bubble__background {
    animation: grow var(--animation-speed) var(--animation-easing);
  }

  .cart-bubble--animating .cart-bubble__text {
    animation: cartBubbleSlideIn var(--animation-speed) var(--animation-easing);
  }
/* END_SNIPPET:header-actions */

/* START_SNIPPET:header-drawer (INDEX:227) */
.header__icon--menu {
    position: initial;
  }

  @media screen and (min-width: 750px) {
    .header--desktop header-menu + .header__drawer header-drawer {
      display: none;
    }
  }

  .menu-drawer-container .header__icon--summary {
    color: var(--color-foreground);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
  }

  .header__icon--summary .header-drawer-icon {
    margin: auto;
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
  }

  .header__drawer {
    display: flex;
    min-height: 60px;
    align-items: center;

    @media screen and (min-width: 750px) {
      min-height: 0;
    }
  }

  .header--compact .header__drawer {
    min-height: var(--minimum-touch-target);
  }

  .menu-drawer__navigation {
    padding: 0;
    height: 100%;
    justify-content: space-between;
    display: flex;
    flex-direction: column;

    @media screen and (min-width: 750px) {
      margin-top: var(--drawer-header-desktop-top);
    }
  }

  details:not([open]) .header__icon--menu .header-drawer-icon--close {
    display: none;
  }

  details[open] .header__icon--menu .header-drawer-icon--close {
    @media screen and (min-width: 750px) {
      display: none;
    }
  }

  details[open] .header__icon--menu .header-drawer-icon--open {
    display: none;

    @media screen and (min-width: 750px) {
      display: flex;
    }
  }

  .menu-drawer {
    position: fixed;
    transform: translateX(-100%);
    visibility: hidden;
    height: var(--drawer-height);
    width: var(--drawer-width);
    max-width: var(--drawer-max-width);
    z-index: var(--layer-menu-drawer);
    left: 0;
    top: 0;
    padding: 0 !important;
    background-color: var(--page-texture-color) !important;
    background-image: var(--page-texture-image) !important;
    background-position: var(--page-texture-position) !important;
    background-size: var(--page-texture-size) var(--page-texture-size) !important;
    background-repeat: var(--page-texture-repeat) !important;
    background-blend-mode: var(--page-texture-blend) !important;
    overflow: auto;
    display: flex;
    border-right: var(--style-border-drawer);
    box-shadow: var(--shadow-drawer);
    flex-direction: column;
    justify-content: space-between;
    height: 100%;

    /* On mobile, top and height are set directly as inline styles by JS
       in #updateDrawerOffset() to position the drawer below the header bar. */

    @media screen and (min-width: 750px) {
      width: 25rem;
    }

    .header__drawer--desktop & {
      height: 100vh;
    }
  }

  .menu-drawer:has(details[open]) {
    overflow: initial;
  }

  .menu-drawer__backdrop {
    position: fixed;
    top: var(--header-height);
    left: 0;
    width: 100vw;
    height: calc(100dvh - var(--header-height));
    backdrop-filter: brightness(0.75);
    z-index: var(--layer-heightened);
    opacity: 0;
    transition: opacity var(--drawer-animation-speed) ease;

    /* On mobile, top and height are set directly as inline styles by JS
       in #updateDrawerOffset() to position the backdrop below the header bar. */

    .menu-open & {
      opacity: 1;
    }
  }

  .menu-drawer,
  details[open] > .menu-drawer__submenu {
    transition: transform var(--drawer-animation-speed) ease, visibility var(--drawer-animation-speed) ease,
      opacity var(--drawer-animation-speed) ease;
  }

  .menu-open > .menu-drawer,
  .menu-open > .menu-drawer__submenu:not(.menu-drawer__menu--childlist) {
    transform: translateX(0);
    visibility: visible;
    opacity: 1;
    display: flex;
    flex-direction: column;
    will-change: transform;
  }

  .menu-drawer__inner-container {
    position: relative;
    height: 100%;
  }

  .menu-drawer__navigation {
    display: grid;
    grid-template-rows: 1fr auto;
    align-content: space-between;
    overflow-y: auto;
    height: 100%;
    box-shadow: inset 0px 4px 10px rgb(var(--color-shadow-rgb) / var(--opacity-15));
  }

  .menu-drawer__inner-submenu {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow-y: auto;

    @media screen and (min-width: 750px) {
      margin-top: var(--drawer-header-desktop-top);
    }
  }

  .menu-drawer__nav-buttons {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .menu-drawer__menu {
    --menu-drawer-inline-padding: calc(var(--padding-sm) + 7px);

    list-style: none;
    padding-inline: var(--drawer-padding);
    margin-inline: 0;
    margin-block-start: 0;
  }

  .menu-drawer__menu--grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--padding-sm);
    padding-inline-end: var(--menu-drawer-inline-padding);
    padding-block-start: var(--padding-xs);
  }

  .menu-drawer__menu--childlist:not(.menu-drawer__menu--grid) {
    flex-grow: 1;
  }

  .menu-drawer__menu.has-submenu,
  .menu-drawer__menu--childlist:not(:has(.menu-drawer__animated-element)) {
    margin-block-end: var(--margin-xs);
    padding-top: 48px;

    @media screen and (min-width: 750px) {
      margin-block-end: 2.5rem;
    }
  }

  .menu-drawer__list-item--divider {
    border-block-end: 1px solid var(--color-border);
  }

  .menu-drawer__list-item--deep:not(.menu-drawer__list-item--divider) .menu-drawer__menu {
    margin-block-start: -0.3rem;
  }

  .menu-drawer__list-item--flat.menu-drawer__list-item--divider .menu-drawer__menu {
    margin-block-start: -0.4rem;
  }

  .menu-drawer__menu-container--divider {
    border-block-end: 1px solid var(--color-border);
  }

  .menu-drawer__menu > .menu-drawer__list-item {
    display: flex;
    min-height: calc(2 * var(--padding-lg) + var(--icon-size-xs));
  }

  .menu-drawer__list-item--deep .menu-drawer__list-item,
  .menu-drawer__list-item--flat .menu-drawer__list-item {
    min-height: auto;
  }

  .menu-drawer__menu .menu-drawer__list-item--flat {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .menu-drawer__menu--childlist .menu-drawer__list-item--flat {
    margin-block-end: var(--margin-sm);

    @media screen and (min-width: 750px) {
      margin-block-end: var(--margin-lg);
    }
  }

  .menu-drawer__menu--childlist .menu-drawer__list-item--flat.menu-drawer__list-item--divider {
    margin-block-end: 0;
  }

  .menu-drawer__list-item--flat .menu-drawer__menu--childlist {
    width: 100%;
    padding-inline-start: 0;
  }

  .menu-drawer-container[open] .menu-drawer__animated-element {
    animation: menu-drawer-nav-open var(--drawer-animation-speed) ease-in-out;
    animation-delay: calc(var(--drawer-animation-speed) + (var(--menu-drawer-animation-index) - 1) * 0.1s);
    animation-fill-mode: backwards;
  }

  .menu-drawer__menu details,
  .menu-drawer__menu-item,
  .menu-drawer__menu accordion-custom {
    width: 100%;
  }

  .menu-drawer__list-item--divider .menu-drawer__menu-item:not(.menu-drawer__menu-item--child) {
    min-height: calc(2 * var(--padding-lg) + var(--icon-size-xs));
  }

  .menu-drawer__menu-item--mainlist {
  }

  .menu-drawer__menu-item--parent {
    font-family: var(--menu-parent-font-family);
    font-style: var(--menu-parent-font-style);
    font-weight: var(--menu-parent-font-weight);
    font-size: var(--menu-parent-font-size);
    line-height: var(--menu-parent-font-line-height);
    text-transform: var(--menu-parent-font-case);
    color: var(--menu-parent-font-color);

    &:hover {
      color: var(--menu-parent-font-color);
    }
  }

  .menu-drawer__menu-item--child {
    font-family: var(--menu-child-font-family);
    font-style: var(--menu-child-font-style);
    font-weight: var(--menu-child-font-weight);
    font-size: var(--menu-child-font-size);
    line-height: var(--menu-child-font-line-height);
    text-transform: var(--menu-child-font-case);
    color: var(--menu-child-font-color);

    &:hover {
      color: var(--menu-child-font-color);
    }
  }

  .menu-drawer__menu--childlist summary.menu-drawer__menu-item {
    display: flex;
    width: 100%;
    padding-inline-end: 0;
  }

  .menu-drawer__list-item--deep .menu-drawer__menu,
  .menu-drawer__menu--grandchildlist {
    padding-inline-start: 0;
  }

  .menu-drawer__list-item--deep .menu-drawer__menu {
    padding-block-end: 0.5rem;
  }

  .menu-drawer__list-item--deep.menu-drawer__list-item--divider .menu-drawer__menu {
    padding-block-end: 0.3rem;
  }

  .menu-drawer__list-item--flat.menu-drawer__list-item--divider .menu-drawer__menu--grandchildlist {
    padding-block-end: 0.5rem;
  }

  .menu-drawer__menu-item {
    display: flex;
    padding: var(--padding-2xs) 0;
    position: relative;
    text-decoration: none;
    justify-content: space-between;
    align-items: center;
  }

  .menu-drawer__menu-item:has(> .menu-drawer__link-image) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    row-gap: var(--padding-3xs);
    padding: 0;
  }

  .menu-drawer__link-image {
    width: 100%;
    position: relative;
    aspect-ratio: 16 / 9;
    object-fit: cover;
  }

  /* Fix alignment for collection image mode links without images in drawer */

  /* Target menu items in grids that have images */
  .menu-drawer__menu--grid:has(.menu-drawer__link-image) .menu-drawer__menu-item:not(:has(> .menu-drawer__link-image)) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    row-gap: var(--padding-3xs);
    padding: 0;
  }

  .menu-drawer__menu--grid:has(.menu-drawer__link-image)
    .menu-drawer__menu-item:not(:has(> .menu-drawer__link-image))::before {
    content: '';
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    background-color: var(--color-foreground-muted);
    opacity: 0.1;
    border-radius: var(--menu-image-border-radius);
  }

  .menu-drawer__close-button {
    position: relative;
    right: auto;
    top: auto;
    width: fit-content;
    height: fit-content;
    padding: var(--padding-lg);
    will-change: transform;

    /* On mobile, the header stays visible so the hamburger acts as the toggle */
    @media screen and (max-width: 749px) {
      display: none;
    }
  }

  .menu-drawer__back-button {
    display: flex;
    width: 100%;
    padding: var(--padding-md) var(--padding-xl);
    border: none;
    align-items: center;
    color: var(--color-foreground);
    background-color: transparent;
    text-align: left;
    text-decoration: none;
    white-space: nowrap;
    overflow-x: hidden;
    line-height: 1.2;
    box-shadow: none;
  }

  .menu-drawer__menu-item-text {
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: -0.02em;
  }

  /** Styles when the country selector is hidden */
  .menu-drawer .language-selector:not(.menu-drawer__submenu *) {
    width: fit-content;
    padding-inline-start: 0;

    .localization-form__select {
      text-align: left;
    }
  }

  .menu-drawer__menu-item > .svg-wrapper {
    width: fit-content;
    height: fit-content;
    margin: 0;
    padding-block: var(--padding-lg);
    padding-inline-start: var(--padding-xl);
    flex-shrink: 0;
  }

  .menu-drawer__list-item--divider .menu-drawer__menu-item > .svg-wrapper {
    padding-block: var(--padding-md);
  }

  .menu-drawer svg {
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
  }

  .menu-drawer__submenu {
    position: absolute;
    width: 100%;
    top: 0;
    height: 100dvh;
    left: 0;
    background-color: var(--color-background);
    z-index: var(--layer-flat);
    transform: translateX(-5%);
    visibility: hidden;
    overflow-y: auto;
    opacity: 0;
  }

  .menu-drawer__back-button > .svg-wrapper {
    margin-right: var(--padding-md);
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
  }

  .menu-drawer__utility-links {
    display: none;
    flex-direction: column;
    padding: 0;
    margin-block: auto var(--padding-sm);
    margin-inline-start: var(--padding-xl);
    background-color: rgb(var(--color-foreground) 0.03);
  }

  .menu-drawer__account {
    display: inline-flex;
    align-items: center;
    gap: var(--gap-xs);
    text-decoration: none;
    height: 44px;
    font-size: 1.4rem;
    color: rgb(var(--color-foreground));
  }

  .menu-drawer__account svg {
    height: var(--icon-size-sm);
    width: var(--icon-size-sm);
  }

  .menu-drawer__account shop-user-avatar {
    --shop-avatar-size: 2.4rem;

    margin-right: 0.55rem;
    margin-left: -0.45rem;
  }

  .menu-drawer__link-image,
  .menu-drawer__featured-product-image,
  .menu-drawer__featured-collection-image,
  .menu-drawer__featured-collection-link::before {
    border-radius: var(--menu-image-border-radius);
  }

  .menu-drawer__featured-content {
    width: 100%;
    padding: 15px;
  }

  .menu-drawer__featured-content-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
  }

  .menu-drawer__featured-content-list-item {
    width: 100%;
    min-width: 0;
  }

  .menu-drawer__featured-content-title {
    color: #291406;
    font-family: var(--font-kennerley-small-caps-bold);
    font-size: 14px;
    line-height: 130%;
    letter-spacing: -0.28px;
    text-align: center;
    margin-block-end: 18px;
  }

  @keyframes menu-drawer-nav-open {
    0% {
      visibility: hidden;
      opacity: 0;
      transform: translateX(-0.5rem);
    }

    100% {
      visibility: visible;
      opacity: 1;
      transform: translateX(0);
    }
  }

  @keyframes menu-drawer-subnav-open {
    0% {
      visibility: visible;
      opacity: 1;
      transform: translateX(0);
    }

    100% {
      visibility: hidden;
      opacity: 0;
      transform: translateX(-1rem);
    }
  }

  .menu-drawer__product-card-wrapper {
    width: 100%;
    min-width: 0;
  }

  .menu-drawer__product-card {
    display: flex;
    flex-direction: row;
    width: 100%;
    background-color: #e9e4da;
    border-radius: 4px;
    overflow: hidden;
    padding: 12px;
    gap: 4px;
  }

  .menu-drawer__product-card-media {
    position: relative;
    display: block;
    width: 35%;
    flex-shrink: 0;
    overflow: hidden;
    aspect-ratio: 167 / 177;
    border-radius: 4px;
  }

  .menu-drawer__product-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 4px;
  }

  .menu-drawer__product-card-image-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
    color: var(--color-foreground);
    padding: var(--padding-sm);
    font-size: var(--font-size--lg);
  }

  .menu-drawer__product-card-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 8px;
    padding-left: 16px;
    color: var(--color-foreground);
    flex-grow: 1;
    min-width: 0;
  }

  .menu-drawer__product-card-text-link {
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-decoration: none;
    color: inherit;
  }

  .menu-drawer__product-card-heading {
    color: #291406;
    text-align: start;
    margin: 0;
    font-family: var(--font-shango-gothic-medium);
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: -0.02em;
    text-wrap: balance;
    line-height: 1;
  }

  .menu-drawer__product-card-description {
    text-align: start;
    margin: 0;
    max-width: 100%;
    color: #291406;
    font-family: var(--font-kennerley-italic);
    font-size: 14px;
    font-style: italic;
    font-weight: 400;
    white-space: normal;
    line-height: 130%;
    letter-spacing: -0.28px;
  }

  .menu-drawer__product-card-button-wrapper {
    display: flex;
    align-items: flex-start;
  }

  .menu-drawer__product-card-form {
    width: 100%;
    position: relative;
    z-index: 2;
  }

  .menu-drawer__navigation-content {
    height: 100%;
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  /* Round pill shape for add-to-cart button */
  .menu-drawer__product-card-button {
    border-radius: 100px;
  }

  .menu-drawer__product-card-button .add-to-cart-text__content,
  .menu-drawer__product-card-button .add-to-cart-text--added,
  .add-to-cart-text {
    font-size: 12px;
  }

  .menu-drawer__featured-content-divider {
    height: 1px;
    background-color: #29140620;
    margin-block: 16px;
    margin-inline: 16px;
  }

  /* Mobile drawer offset fallback (non-nested media query for broad compatibility).
     JS will override these with inline styles once #updateDrawerOffset() runs. */
  @media screen and (max-width: 749px) {
    .menu-drawer {
      top: var(--header-height, 0px);
      height: calc(100dvh - var(--header-height, 0px));
    }

    .menu-drawer__backdrop {
      top: var(--header-height, 0px);
      height: calc(100dvh - var(--header-height, 0px));
    }
  }
/* END_SNIPPET:header-drawer */

/* START_SNIPPET:heading-stamp (INDEX:230) */
.heading-stamp {
    display: flex;
    width: var(--heading-stamp-width, 86px);
    align-items: center;
    justify-content: center;
    margin-block-end: 0.75rem;
  }

  .heading-stamp__link {
    display: block;
    width: 100%;
  }

  .heading-stamp img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    mix-blend-mode: multiply;
    opacity: 0.9;
  }

  @media screen and (max-width: 749px) {
    .heading-stamp {
      width: var(--heading-stamp-width-mobile, var(--heading-stamp-width, 86px));
      margin-block-end: 0;
    }
  }
/* END_SNIPPET:heading-stamp */

/* START_SNIPPET:jumbo-text (INDEX:247) */
.jumbo-text__container {
    width: 100%;
  }

  jumbo-text {
    display: block;
    font-family: var(--font-family, inherit);
    font-style: var(--font-style, normal);
    color: var(--color, inherit);
    font-weight: var(--font-weight, inherit);
    letter-spacing: var(--letter-spacing, -0.02em);
    line-height: var(--line-height, 1);
    opacity: 0;
    text-align: var(--text-align);
    text-box: var(--text-trim, trim-end cap text);
    text-transform: var(--text-transform, none);
    transition: opacity 0.3s ease;
    white-space: pre;
    width: 100%;
    will-change: font-size;
    margin-left: var(--margin-left-nudge, 0);
    margin-right: var(--margin-right-nudge, 0);
    overflow: visible;
  }

  jumbo-text.ready {
    opacity: 1;
  }

  jumbo-text[data-cap-text='true'] {
    /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
    text-box-edge: cap text;
  }

  .jumbo-text-space {
    display: inline-flex;
    width: 0.5ch;
  }

  :is(.jumbo-text-char, .jumbo-text-line) {
    display: inline-flex;
  }

  @media (prefers-reduced-motion: no-preference) {
    /* Blur effect */
    [data-text-effect='blur'] {
      filter: blur(20px);
      opacity: 0.5;
      scale: 1.05;
      transition: filter 1.6s var(--animation-timing-fade-in), opacity 1.3s var(--animation-timing-fade-in),
        scale 1.6s var(--animation-timing-fade-in);
    }

    .jumbo-text-visible[data-text-effect='blur'] {
      filter: blur(0);
      opacity: 1;
      scale: 1;
    }

    /* Reveal effect */
    .ready[data-text-effect='reveal'],
    .ready[data-text-effect='reveal'] .jumbo-text-line {
      overflow: hidden;
    }

    .ready[data-text-effect='reveal'] .jumbo-text-char {
      transform: translateY(100%);
    }

    .jumbo-text-visible[data-text-effect='reveal'] .jumbo-text-char {
      transition: transform 0.5s var(--animation-timing-fade-in) calc(var(--line-index) * 0.05s);
      transform: translateY(0);
    }

    .jumbo-text-visible[data-text-effect='reveal'],
    .jumbo-text-visible[data-text-effect='reveal'] .jumbo-text-line {
      overflow: visible;
      transition: overflow 0s linear 0.75s;
    }
  }
/* END_SNIPPET:jumbo-text */

/* START_SNIPPET:list-filter (INDEX:250) */
.facets input:checked + label {
    font-weight: 500;
  }

  .facets .checkbox .icon-checkmark {
    transition: border-color 0.2s ease, background-color 0.2s ease;
  }

  .facets .checkbox:not(:has(.checkbox__input:disabled)):hover .icon-checkmark {
    border-color: rgb(var(--color-foreground-rgb) / var(--opacity-40-60));
    background-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
  }

  .facets .checkbox:has(.checkbox__input:checked):not(:has(.checkbox__input:disabled)):hover .icon-checkmark {
    background-color: rgb(var(--color-foreground-rgb) / var(--opacity-85));
  }

  .facets .checkbox:not(:has(.checkbox__input:disabled)):hover .checkbox__label-text {
    color: rgb(var(--color-foreground-rgb) / var(--opacity-90));
  }

  .facets .checkbox .checkbox__label-text {
    transition: color 0.2s ease, font-weight 0.2s ease;
  }

  /* Pill style */
  .facets__pill-label {
    --pill-label-padding-inline: var(--padding-xs);
    --pill-label-border-radius: var(--style-border-radius-md);
    --pill-label-border-width: var(--variant-picker-button-border-width);
    --pill-label-height: var(--button-size-md);
    --pill-label-focus-outline-color: var(--color-foreground);
    --pill-label-color: var(--color-foreground);
    --pill-label-color-rgb: var(--color-foreground-rgb);
    --pill-label-background-color: var(--color-background);
    --pill-label-background-color-rgb: var(--color-background-rgb);
    --pill-label-border-opacity: var(--facets-low-opacity);

    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 0 var(--pill-label-border-width) rgb(var(--pill-label-color-rgb) / var(--opacity-10-25));
    border-radius: var(--pill-label-border-radius);
    height: var(--pill-label-height);
    width: 100%;
    padding-inline: var(--pill-label-padding-inline);
    color: rgb(var(--pill-label-color-rgb));
    background-color: rgb(var(--pill-label-background-color-rgb));
    cursor: pointer;
    transition: color var(--animation-speed) var(--animation-easing),
      background-color var(--animation-speed) var(--animation-easing);
    outline-color: var(--pill-label-focus-outline-color);

    &:hover {
      --pill-label-border-opacity: 100%;
    }
  }

  .facets__pill-input {
    &:checked + .facets__pill-label {
      --pill-label-color-rgb: var(--color-background-rgb);
      --pill-label-background-color-rgb: var(--color-foreground-rgb);
      --pill-label-border-opacity: 0;

      font-weight: 500;
    }

    &:disabled + .facets__pill-label {
      opacity: var(--disabled-opacity);
      cursor: not-allowed;

      &:hover {
        --pill-label-border-opacity: var(--facets-low-opacity);
      }
    }
  }

  .facets__status-wrapper {
    display: flex;
    align-items: center;
  }

  .facets--drawer .facets__status-wrapper {
    @media screen and (max-width: 749px) {
      gap: var(--gap-3xs);
    }
  }

  .facets--vertical .facets__status-wrapper {
    gap: var(--gap-xs);
  }

  .facets--horizontal .facets__status-wrapper {
    gap: 0;
  }

  .facets__pill-input:disabled + .facets__pill-label svg {
    position: absolute;
    top: 0;
    left: 0;
    border-radius: var(--style-border-radius-md);
  }

  .facets__pill-label svg line {
    stroke-width: 1.5px;
    stroke: rgb(var(--color-foreground-rgb) / var(--facets-low-opacity));
  }

  .facets__pill-wrapper {
    position: relative;
  }

  .facets__pill-input {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    cursor: pointer;
  }

  /* Swatches */
  .facets__status--swatches {
    display: none;
  }

  .facets__swatch-wrapper {
    display: flex;
  }

  .facets__inputs-list--swatches .variant-option__button-label {
    --color-variant-text: var(--color-foreground);
  }

  .facets__inputs-list--swatches {
    --variant-picker-swatch-width: 32px;
    --variant-picker-swatch-height: 32px;

    @media screen and (min-width: 750px) {
      --variant-picker-swatch-width: 26px;
      --variant-picker-swatch-height: 26px;
    }
  }

  .facets--vertical .facets__inputs-wrapper .facets__inputs-list--swatches-grid {
    gap: var(--gap-sm);
  }

  .facets--vertical .facets__inputs-list--swatches .facets__inputs-list-item {
    display: flex;
  }

  .facets__inputs-wrapper .facets__inputs-list--swatches-grid {
    --columns: 2;

    display: grid;
    grid-template-columns: repeat(var(--columns), 1fr);
  }

  .facets__inputs-wrapper .facets__inputs-list--swatches-grid .variant-option--swatches {
    cursor: pointer;
    overflow: visible;

    &.variant-option--swatches-disabled,
    &:has(input:disabled) {
      cursor: not-allowed;
    }
  }

  .facets__inputs-wrapper .facets__inputs-list--swatches-grid label {
    cursor: pointer;
    word-break: break-word;
    white-space: normal;

    .variant-option--swatches-disabled &,
    .variant-option--swatches:has(input:disabled) & {
      cursor: not-allowed;
    }
  }

  .facets__inputs-wrapper .facets__inputs-list--swatches-grid .variant-option__button-label--has-swatch {
    align-items: center;
    overflow: visible;
    justify-content: flex-start;
    display: flex;
    width: 100%;
    flex-basis: unset;
    gap: var(--gap-sm);
  }

  .facets__inputs-wrapper .facets__inputs-list--swatches-grid .variant-option__button-label:has(:checked) {
    color: rgb(var(--color-foreground-rgb));
    background-color: rgb(var(--color-background-rgb));
    font-weight: 500;
    transition: font-weight 0.2s ease;
  }

  .facets .variant-option--swatches {
    --options-border-radius: var(--variant-picker-swatch-radius);

    width: auto;
  }

  .facets--horizontal .facets__status--swatches {
    @media screen and (min-width: 750px) {
      display: flex;
    }
  }

  .facets--horizontal .sorting-filter .facets__status {
    @media screen and (min-width: 750px) {
      display: none;
    }
  }

  .facets__status--swatches .swatch {
    width: calc(var(--variant-picker-swatch-width) / 1.5);
    height: calc(var(--variant-picker-swatch-height) / 1.5);
  }

  .facets__status--swatches .swatch + .swatch {
    margin-left: calc(var(--variant-picker-swatch-width) / -3);
    outline: 1px solid rgb(var(--color-background-rgb));
  }

  .variant-option--images {
    position: relative;
  }

  .variant-option--images {
    --image-facet-border-width: var(--variant-picker-button-border-width);
    --image-facet-border-opacity: var(--facets-low-opacity);
    --image-facet-border-radius: var(--style-border-radius-xs);

    border-radius: var(--image-facet-border-radius);
    box-shadow: inset 0 0 0 var(--image-facet-border-width)
      rgb(var(--color-foreground-rgb) / var(--image-facet-border-opacity));

    &:hover:not(:has(input:disabled)),
    &:has(input:checked) {
      --image-facet-border-opacity: 100%;
    }

    &:has(input:checked) {
      font-weight: 500;
      transition: font-weight 0.2s ease;
    }

    &:has(input:checked):hover {
      --image-facet-border-width: calc(var(--variant-picker-button-border-width) + 0.5px);
    }

    &:has(input:focus-visible) {
      outline: var(--focus-outline-width) solid currentcolor;
      outline-offset: var(--focus-outline-offset);
    }

    &:has(input:disabled),
    &:has(input:disabled):hover {
      --image-facet-border-opacity: 0;

      opacity: var(--disabled-opacity);
      cursor: not-allowed;

      img {
        opacity: var(--disabled-opacity);
      }

      input,
      label,
      .facets__image-label {
        cursor: not-allowed;
      }

      .facets__image-wrapper {
        border: var(--style-border-width) solid rgb(var(--color-foreground-rgb) / var(--opacity-30));
        border-radius: var(--image-facet-border-radius);
      }
    }
  }

  .facets__inputs-wrapper .facets__inputs-list--images {
    display: grid;
    grid-template-columns: repeat(var(--image-columns), 125px);
    gap: var(--gap-sm);
  }

  .facets--drawer .facets__inputs-wrapper .facets__inputs-list--images {
    grid-template-columns: repeat(3, 1fr);

    @media screen and (min-width: 750px) {
      grid-template-columns: repeat(4, 1fr);
    }
  }

  .facets--vertical .facets__inputs-wrapper .facets__inputs-list--images {
    grid-template-columns: repeat(2, 1fr);
  }

  .facets--drawer .facets__inputs-list--images {
    padding-top: var(--padding-xs);
  }

  .facets__image-wrapper {
    aspect-ratio: 1/1;
    width: 100%;
    padding: var(--padding-xs);
    position: relative;
    overflow: hidden;
  }

  .facets__image-wrapper img {
    height: 100%;
    width: 100%;
    object-fit: contain;
    border-radius: calc(var(--border-radius) / 2);
  }

  /* Position disabled-svg */
  .variant-option--images svg {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    stroke-width: var(--border-width);
    stroke: rgb(var(--color-foreground-rgb) / var(--opacity-5));
  }

  /* Position label text and handle overflow */
  .facets__inputs-list-item,
  .variant-option--images {
    min-width: 0;
  }

  .facets__image-label {
    width: 100%;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-block-end: var(--padding-xs);
    cursor: pointer;

    .variant-option--images:has(input:disabled) & {
      cursor: not-allowed;
    }
  }

  .facets__inputs-list--swatches .variant-option__button-label:hover:not(:has(input:disabled)) {
    font-weight: 500;
  }

  .variant-option--images:not(:has(input:disabled)) .facets__image-label:hover {
    font-weight: 500;
  }
/* END_SNIPPET:list-filter */

/* START_SNIPPET:localization-form (INDEX:251) */
/* Localization */
  localization-form-component {
    display: flex;
    width: var(--width, auto);

    @media screen and (min-width: 750px) {
      position: relative;
    }
  }

  localization-form-component[data-show-filter='false'] .country-selector-form__wrapper {
    padding-block-start: var(--padding-xs);
  }

  .localization-form {
    width: 100%;
  }

  localization-form-component .button:is(:not(.country-filter__reset-button)) {
    --button-color: var(--color-primary);
    --button-background-color: var(--language-button-background-color, var(--color-background));
    --button-border-color: var(--language-button-border-color, var(--color-border));

    text-decoration-color: transparent;
    text-decoration-thickness: 0.075em;
    text-underline-offset: 0.125em;
    transition: text-decoration-color var(--animation-speed) var(--animation-easing);
  }

  localization-form-component .button:is(:not(.country-filter__reset-button)):hover,
  .localization-form__list-item:hover,
  .localization-form__list-item:focus {
    --button-color: var(--color-primary-hover);

    background-color: rgb(var(--color-primary-hover-rgb) / var(--opacity-8));
  }

  .localization-form__list-item[aria-current='true'] {
    --button-color: var(--color-primary-active);

    background-color: rgb(var(--color-primary-hover-rgb) / var(--opacity-10));
  }

  .localization-form__list-item-disabled {
    pointer-events: none;
  }

  .localization-form__list-item:focus-visible {
    outline: none;
  }

  localization-form-component .localization-selector {
    display: flex;
    align-items: center;
    gap: var(--margin-2xs);
  }

  localization-form-component .country-filter__search-icon {
    left: 8px;
    right: auto;
    color: var(--color-foreground-muted);
    pointer-events: none;
  }

  .country-filter__search-icon .svg-wrapper svg {
    width: var(--icon-size-sm);
    height: var(--icon-size-sm);
  }

  .disclosure {
    width: 100%;
  }

  .dropdown-localization__button {
    display: flex;
    position: relative;
    align-items: center;
    gap: 4px;
    font-family: var(--menu-localization-font);
    font-size: var(--menu-localization-font-size);
    font-weight: var(--menu-top-level-font-weight);
    padding-inline: var(--padding-2xs);
    margin-inline: calc(-1 * var(--padding-2xs));
  }

  .dropdown-localization__button .icon-caret {
    height: var(--icon-size-xs);
    width: var(--icon-size-xs);
    right: var(--margin-xs);
    top: calc(50% - var(--padding-2xs));
    flex-shrink: 0;
    transition: transform var(--animation-speed) var(--animation-easing);
  }

  .drawer-localization__button .icon-flag,
  .dropdown-localization__button .icon-flag {
    width: var(--menu-localization-font-size, var(--icon-size-sm));
    height: var(--menu-localization-font-size, var(--icon-size-sm));
    clip-path: circle(50%); /* stylelint-disable-line */
    background-position: center;
    background-size: cover;
    margin-inline-end: 4px;
    position: relative;
  }

  .icon-flag::after {
    content: '';
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 var(--size-shadow) var(--color-shadow);
    border-radius: 50%;
  }

  .dropdown-localization__button[aria-expanded='true'] .icon-caret svg {
    transform: rotate(180deg);
  }

  .dropdown-localization__button,
  .dropdown-localization__button:hover {
    box-shadow: none;
    background-color: transparent;
    border-color: transparent;
    color: var(--color-foreground);
  }

  .localization-form__list {
    position: relative;
    width: 100%;
    padding-block: 0 var(--padding-xs);
    font-size: var(--font-size-lg);
    scroll-padding: var(--padding-xs) 0;
    overflow-y: auto;
    white-space: nowrap;

    /* Hide scrollbar which would cause extra right padding in Safari */
    scrollbar-width: none;

    &::-webkit-scrollbar {
      display: none;
    }
  }

  dropdown-localization-component .localization-form__list {
    max-height: 20.5rem;
  }

  .localization-wrapper {
    position: fixed;
    z-index: var(--layer-raised);
    border-radius: var(--style-border-radius-popover);
    transition-property: display, opacity, translate;
    transition-duration: 0.3s;
    transition-timing-function: var(--ease-out-quad);
    transition-behavior: allow-discrete;
    translate: 0 20px;
    opacity: 0;
  }

  .localization-wrapper:not([hidden]) {
    translate: 0 0;
    opacity: 1;
  }

  @starting-style {
    .localization-wrapper:not([hidden]) {
      translate: 0 20px;
      opacity: 0;
    }
  }

  .localization-form__list-item:not([hidden]) {
    margin-block-end: var(--margin-3xs);
    display: flex;
    gap: var(--margin-sm);
    padding: 8px;
    border-radius: 8px;
    line-height: var(--font-line-height-md);
    align-items: center;
    text-align: start;
    cursor: pointer;
    transition: background-color var(--animation-speed) var(--animation-easing);

    .country {
      flex: 1;
      color: var(--color-foreground);
    }

    &:hover {
      background-color: rgb(var(--color-foreground-rgb) / var(--opacity-8));
    }

    &[aria-current='true'] {
      .country {
        font-weight: 500;
      }
    }
  }

  .localization-form__list-item#no-results-message {
    grid-template-columns: 1fr;
    text-align: center;
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
  }

  .is-searching .localization-form__list-item .country {
    color: rgb(var(--color-foreground-rgb) / var(--opacity-80));
  }

  .localization-form__list-item .country mark {
    font-weight: 500;
    background: none;
    color: var(--color-foreground);
  }

  .country-filter {
    position: relative;
    padding: var(--padding-xs);
    border-bottom: var(--style-border-width) solid transparent;
    transition: border-color var(--animation-values);
  }

  .country-filter.is-scrolled {
    border-color: var(--color-border);
  }

  .drawer-localization .country-filter {
    padding-block: 8px;
  }

  dropdown-localization-component .country-filter {
    position: relative;
    padding: 8px;
  }

  .country-selector-form__wrapper {
    overflow-y: auto;
    max-height: 100%;
    flex-grow: 1;
  }

  .language-selector {
    display: flex;
    gap: var(--gap-xs);
    padding: var(--padding-md) var(--padding-lg);
    position: relative;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }

  .language-selector__label {
    flex-shrink: 0;
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
  }

  .localization-form__select {
    border: none;
    color: var(--color-foreground);
    appearance: none;
    background-color: var(--color-input-background);
    padding-block: var(--padding-3xs);
    padding-inline: var(--padding-xs) calc(var(--icon-size-xs) + var(--padding-xs));
    text-align: right;
    cursor: pointer;
    max-width: 40vw;
    text-overflow: ellipsis;

    &:focus-visible {
      outline: var(--focus-outline-width) solid currentcolor;
    }

    &:focus {
      outline: none;
    }
  }

  #header-component[transparent] localization-form-component .localization-form .localization-form__select {
    background-color: transparent;
  }

  .localization-form__select option {
    background-color: var(--color-input-background);
    color: var(--color-input-text);
  }

  dropdown-localization-component .localization-form__select:hover {
    background-color: rgb(var(--color-primary-hover-rgb) / var(--opacity-8));
  }

  .language-selector .svg-wrapper.icon-caret {
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
  }

  .language-selector--collapse-space {
    padding-inline-end: var(--padding-2xs);
  }

  .language-selector--collapse-space .localization-form__select {
    padding-inline-end: var(--icon-size-xs);
  }

  .language-selector--collapse-space .svg-wrapper.icon-caret {
    right: 0;
  }

  .localization-form .icon-checkmark {
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
  }

  .localization-form .svg-wrapper.icon-checkmark {
    visibility: hidden;
  }

  .localization-form__list-item[aria-current='true'] .svg-wrapper.icon-checkmark {
    visibility: visible;
  }

  .country-filter__input {
    width: 100%;
    height: 44px;
    font-size: var(--font-size-lg);
    padding: var(--padding-md) var(--padding-lg) var(--padding-md) calc(var(--margin-md) + var(--padding-xl));
    border: 1px solid var(--color-foreground);
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    outline-offset: -1px;

    @media screen and (min-width: 750px) {
      height: 36px;
    }
  }

  .country-filter__input::placeholder {
    color: inherit;
  }

  .country-filter .field {
    position: relative;
  }

  .country-filter .field__label {
    font-size: var(--font-size-lg);
    left: var(--margin-2xl);
    top: var(--margin-xl);
    pointer-events: none;
    position: absolute;
  }

  .country-filter__input:focus ~ .field__label,
  .country-filter__input:not(:placeholder-shown) ~ .field__label,
  .country-filter__input:-webkit-autofill ~ .field__label {
    font-size: var(--font-size-xs);
    top: var(--margin-xs);
  }

  .country-filter .field__button:not([hidden]) {
    display: flex;
    height: fit-content;
    position: absolute;
    padding: 0;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    align-items: center;
    background-color: transparent;
    color: var(--color-input-text);
    border: 0;
  }

  input[type='search']::-webkit-search-cancel-button {
    appearance: none;
  }

  .country-selector__close-button {
    display: none;
  }

  .drawer-localization .drawer-localization__button {
    display: flex;
    padding: 0;
    position: relative;
    text-decoration: none;
    height: 44px;

    &:hover {
      color: var(--color-foreground);
    }
  }

  .drawer-localization .drawer-localization__button .icon-caret {
    width: fit-content;
    height: fit-content;
    margin: 0;
    padding: var(--padding-xl) var(--padding-xl) var(--padding-xl) var(--padding-xs);
  }

  dropdown-localization-component {
    position: relative;
    background-color: transparent;
  }

  dropdown-localization-component .country-filter__input {
    border: none;
  }

  dropdown-localization-component .localization-form__list-item {
    margin-inline: 8px;
  }

  dropdown-localization-component .localization-wrapper {
    box-shadow: var(--shadow-popover);
    border: var(--style-border-popover);
    background-color: var(--color-background);
    max-height: 27.5rem;
    position: absolute;
    top: calc(100% + 10px);
    z-index: calc(var(--layer-header-menu) + 1);
  }

  dropdown-localization-component .localization-wrapper.right-bound {
    right: 0;
    left: unset;
  }

  dropdown-localization-component .localization-wrapper.left-bound {
    left: -8px;
    right: unset;
  }

  /* Additional specificity due to dropdown-localization-component getting a low score */
  dropdown-localization-component .language-selector.language-selector {
    padding: 10px 8px 10px 16px;
  }

  dropdown-localization-component .localization-form__currency {
    width: max-content;
    opacity: 0;
    visibility: hidden;
    transition: none;
  }

  dropdown-localization-component
    :is(
      .localization-form__list-item:hover,
      .localization-form__list-item[aria-selected='true'],
      .localization-form__list-item[aria-current='true']
    )
    .localization-form__currency {
    opacity: 1;
    color: var(--color-foreground-muted);
    transition: opacity var(--animation-speed-slow) var(--animation-easing);
    visibility: visible;
  }

  .dropdown-localization .language-selector:where(:not(.top-shadow)) {
    font-weight: var(--menu-top-level-font-weight);
  }

  .dropdown-localization:not(dropdown-localization-component) .language-selector,
  .menu-drawer__localization:not(drawer-localization-component) .language-selector {
    font-family: var(--menu-localization-font);
    font-size: var(--menu-localization-font-size);
  }

  .menu-drawer__localization .language-selector.h5 {
    padding-inline-start: 0;
  }

  .header__column .localization-form__select {
    background-color: var(--header-bg-color);
  }

  .drawer-localization {
    display: contents;
    color: var(--color-foreground);
  }

  .drawer-localization localization-form-component {
    position: relative;
    height: 100%;
  }

  .drawer-localization .mobile-localization,
  .drawer-localization .drawer-localization__button--label {
    display: flex;
    gap: var(--gap-xs);
    margin-block: 0;
    align-items: center;
  }

  .drawer-localization__button--label.h6 {
    font-family: var(--menu-localization-font);
  }

  .drawer-localization img {
    width: var(--icon-size-sm);
  }

  .drawer-localization .localization-button__icon,
  .drawer-localization .localization-button__icon svg {
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
  }

  .drawer-localization summary.is-disabled {
    pointer-events: none;
  }

  .drawer-localization .localization-wrapper {
    width: 100%;
  }

  .drawer-localization .localization-form {
    display: flex;
    flex-direction: column;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .drawer-localization .localization-form > * {
    padding-inline: var(--padding-xl);
  }

  .drawer-localization .language-selector .svg-wrapper.icon-caret {
    transform: translateY(-50%) rotate(0deg);
  }

  .drawer-localization .language-selector .svg-wrapper.icon-caret svg {
    transform: none;
  }
/* END_SNIPPET:localization-form */

/* START_SNIPPET:media (INDEX:252) */
.media-block {
    overflow: hidden;
    position: relative;

    @media screen and (min-width: 750px) {
      min-height: var(--media-height);
    }
  }

  .media-block__media {
    height: var(--media-height-mobile, auto);
    object-fit: var(--image-position, 'cover');
    object-position: center center;
    width: 100%;

    @media screen and (min-width: 750px) {
      height: 100%;
      position: absolute;
    }
  }

  deferred-media[class].media-block__media
    :is(.deferred-media__poster-button img, .deferred-media__poster-button ~ video) {
    object-fit: var(--video-position, 'cover');
  }

  /* This is to support corner radius on video and align the video to the center of the block */
  .media-block__media--video {
    display: flex;
    align-items: center;
    justify-content: center;

    @media screen and (max-width: 749px) {
      --media-height-mobile: auto;
    }
  }
/* END_SNIPPET:media */

/* START_SNIPPET:mega-menu (INDEX:254) */
.mega-menu {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
  }

  .mega-menu__shop-all-button {
    background: transparent;
    color: #67032e;
    border: 1px solid #67032e;
    margin-top: 32px;
  }

  .mega-menu__shop-all-button:hover {
    background: #67032e;
    color: #f2efe9;
    border: 1px solid #f2efe9;
  }

  .mega-menu::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: calc(var(--layer-header-menu, 10) - 1);
    background: rgba(41, 20, 6, 0.45); /* Matches cart overlay and passes contrast */
    pointer-events: auto;
    transition: opacity var(--animation-values-slow, 0.3s);
    /* Hide backdrop unless .mega-menu is visible */
    opacity: 1;
  }

  /* Only show the mega menu backdrop (visibility and pointer events) when open.
   To ensure correct backdrop visibility when the mega menu is not open, 
   you must toggle a stateful class (e.g., .mega-menu--open) in JS. Example: */
  .mega-menu:not(.mega-menu--open)::before {
    opacity: 0;
    pointer-events: none;
  }

  /* Optional: Prevent backdrop from covering the menu content */
  .mega-menu {
    position: relative;
    z-index: var(--layer-header-menu, 10);
  }
/* END_SNIPPET:mega-menu */

/* START_SNIPPET:overlay (INDEX:258) */
.overlay {
    position: absolute;
    inset: 0;
    z-index: var(--overlay-layer);
    pointer-events: none;
    border-radius: var(--overlay-border-radius, 0);
  }

  .overlay--solid {
    background: var(--overlay-color);
  }

  .overlay--gradient {
    background: linear-gradient(var(--overlay-direction), var(--overlay-color), var(--overlay-color--end));
  }
/* END_SNIPPET:overlay */

/* START_SNIPPET:predictive-search-products-list (INDEX:260) */
.predictive-search-results__products {
    padding-inline: var(--padding-xl);
  }

  .recently-viewed-wrapper {
    display: grid;
    grid-template-rows: auto auto;
    max-height: 1000px;
    opacity: 1;
    overflow: visible;
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    transform-origin: top center;
    transform: translateY(0);
  }

  .recently-viewed-wrapper.removing {
    max-height: 0;
    opacity: 0;
    transform: translateY(-10px);
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1),
      transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
  }

  .predictive-search-results__clear.button-unstyled {
    color: var(--color-foreground);
    opacity: 0.5;
    transition: opacity var(--animation-speed-medium) var(--animation-easing);
    padding: 0;
    margin-left: var(--margin-sm);

    &:hover {
      opacity: 1;
    }
  }

  .recently-viewed-wrapper.removing .predictive-search-results__card {
    transition: none;
    transform: none;
    opacity: 1;
  }

  .recently-viewed-wrapper > * {
    transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .predictive-search-results__wrapper-products .predictive-search-results__card:nth-child(1) {
    animation-delay: 30ms;
  }

  .predictive-search-results__wrapper-products .predictive-search-results__card:nth-child(2) {
    animation-delay: 60ms;
  }

  .predictive-search-results__wrapper-products .predictive-search-results__card:nth-child(3) {
    animation-delay: 90ms;
  }

  .predictive-search-results__wrapper-products .predictive-search-results__card:nth-child(4) {
    animation-delay: 120ms;
  }

  .predictive-search-results__wrapper-products .predictive-search-results__card:nth-child(n + 5) {
    animation-delay: 150ms;
  }

  .predictive-search-results__wrapper-products {
    animation-delay: 50ms;
  }
/* END_SNIPPET:predictive-search-products-list */

/* START_SNIPPET:predictive-search-resource-carousel (INDEX:261) */
.predictive-search-results__wrapper {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    padding-block-end: var(--padding-sm);
    padding-inline: 0;
    scroll-snap-type: x mandatory;
    scroll-padding: 0 var(--padding-xl);
    scrollbar-width: none;
    -ms-overflow-style: none;

    &::-webkit-scrollbar {
      display: none;
    }
  }

  .predictive-search-results__wrapper slideshow-slides {
    --gutter-slide-width: var(--padding-xl);

    /* Add padding to prevent hover animations from being clipped in slideshow
       15px accommodates:
       - Scale effect (9px on each side from 1.03 scale)
       - Lift effect (4px upward movement)
       - Shadow (15px spread with -5px offset)
       Using 16px for better alignment with our spacing scale */
    padding-block: var(--padding-xl);
    margin-block: calc(-1 * var(--padding-xl));
    gap: var(--gap-md);
  }

  .predictive-search-results__resource-header {
    display: flex;
    padding-inline: var(--padding-xl);
    justify-content: space-between;
    align-items: center;
    height: 32px;
  }

  .predictive-search-results__resource-header .svg-wrapper {
    width: var(--icon-size-xs);
  }

  .predictive-search-results__wrapper-products {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding-block-end: var(--padding-sm);
    gap: var(--gap-md);
    transition: height var(--animation-speed-medium) var(--animation-easing);

    @container (min-width: 550px) {
      grid-template-columns: repeat(4, 1fr);
    }
  }

  .predictive-search-results__wrapper-products:last-child {
    padding-block-end: var(--padding-lg);

    @media screen and (min-width: 750px) {
      padding-block-end: var(--padding-sm);
    }
  }

  .predictive-search-results__resource-header .predictive-search-results__title {
    margin-block-end: 0;
  }

  .predictive-search-results__resource-header:has(slideshow-controls) .predictive-search-results__title {
    margin-block-end: 0;
  }

  .predictive-search-results__resource-header slideshow-controls {
    @media screen and (max-width: 749px) {
      display: none;
    }
  }
/* END_SNIPPET:predictive-search-resource-carousel */

/* START_SNIPPET:predictive-search (INDEX:262) */
predictive-search-component {
    --resource-card-corner-radius: var(--product-corner-radius);

    display: flex;
    width: 100%;
    position: relative;
    margin-inline: auto;
    align-items: center;
    background-color: var(--color-background);
    z-index: var(--layer-heightened);
  }

  .predictive-search-form__footer {
    display: none;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;

    @media screen and (min-width: 750px) {
      --to-top-gradient-background: linear-gradient(
        to top,
        rgb(var(--color-background-rgb) / var(--opacity-90)),
        rgb(var(--color-background-rgb) / var(--opacity-80)),
        rgb(var(--color-background-rgb) / var(--opacity-40)),
        transparent
      );

      padding-block: var(--padding-xs) var(--padding-lg);
      background-image: var(--to-top-gradient-background);
    }
  }

  predictive-search-component:has([data-search-results]):not(:has(.predictive-search-results__no-results))
    .predictive-search-form__footer {
    display: block;
  }

  .predictive-search-form {
    position: relative;
    width: 100%;
    align-self: flex-start;
  }

  .predictive-search-form__content {
    max-height: 50dvh;
    overflow-y: auto;
    background-color: var(--color-background);

    /* Firefox */
    scrollbar-width: none;

    /* Webkit browsers */
    &::-webkit-scrollbar {
      display: none;
    }
  }

  .predictive-search-form__content-wrapper {
    position: absolute;
    top: 100%;
    width: 100%;
    left: 0;
    z-index: var(--layer-raised);
    display: flex;
    flex-direction: column;
    border-radius: 0 0 var(--search-border-radius) var(--search-border-radius);
    transition: box-shadow var(--animation-speed) var(--animation-easing);
    transform: translateZ(0);
    will-change: transform, opacity;
    overflow: hidden;

    @media screen and (max-width: 749px) {
      border-radius: 0;
    }

    @media screen and (min-width: 750px) {
      max-height: var(--modal-max-height);
    }
  }

  /* Add new rule to apply bottom padding only when search button exists */
  .predictive-search-form__content-wrapper:has([data-search-results]):not(:has(.predictive-search-results__no-results))
    > .predictive-search-form__content {
    padding-block-end: var(--padding-6xl);
  }

  .predictive-search-form__header-inner {
    background: var(--color-background);
    border: var(--search-border-width) solid var(--color-border);
    color: var(--color-foreground);
    border-radius: var(--style-border-radius-popover);
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;

    @media screen and (max-width: 749px) {
      border-radius: var(--style-border-radius-inputs);
      border: none;
    }
  }

  .predictive-search-form__header-inner:focus-within {
    outline-offset: var(--focus-outline-offset);

    @media screen and (min-width: 750px) {
      outline: var(--focus-outline-width) solid var(--color-primary);
    }
  }

  .predictive-search-form__header {
    display: flex;
    position: sticky;
    top: 0;
    z-index: var(--layer-heightened);
    width: 100%;
    align-items: center;
    background-color: var(--color-input-background);
    border: var(--search-border-width) solid var(--color-border);
    border-radius: var(--style-border-radius-inputs);

    @media screen and (max-width: 749px) {
      padding: var(--padding-2xs) var(--padding-sm);
    }
  }

  .predictive-search-form__header:focus-within,
  .predictive-search-form__header-inner:focus-within,
  .predictive-search-form__header-inner:has(.search-input:is(:focus, :focus-visible)) {
    outline: none;
    box-shadow: none;
    /* stylelint-disable-next-line declaration-no-important */
    border-color: var(--color-border) !important;
  }

  .predictive-search-results__inner {
    --title-font-size: var(--font-size--md);
    --title-margin-block: var(--margin-xs);
    --list-item-padding-block: var(--padding-sm);

    flex-grow: 1;
    overflow-y: auto;
    padding-block: var(--padding-lg);
    container-type: inline-size;
    color: var(--color-foreground);
  }

  .search-input {
    border-radius: var(--style-border-radius-inputs);
    padding-block: var(--padding-sm);
    font-size: var(--font-size--md);
    width: 100%;
    color: var(--color-foreground);
    padding-inline: calc(var(--margin-lg) + var(--icon-size-lg)) 0;
    background: transparent;
    text-overflow: ellipsis;
    overflow: hidden;
    outline: none;
    border: 0;
  }

  .search-input::placeholder {
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
  }

  .search-input,
  .search-input:is(:focus, :focus-visible, :focus-within),
  .predictive-search-form__header *:is(:focus, :focus-visible) {
    outline: none;
    box-shadow: none;
  }

  .search-input:hover {
    background-color: transparent;
  }

  .predictive-search__icon {
    position: absolute;
    left: var(--margin-xl);
    top: auto;
    width: var(--icon-size-lg);
    height: var(--icon-size-lg);
    color: rgb(var(--color-foreground-rgb) / var(--opacity-60));

    @media screen and (min-width: 750px) {
      left: var(--margin-md);
    }
  }

  .predictive-search__icon > svg {
    width: var(--icon-size-md);
    height: var(--icon-size-md);
  }

  .predictive-search__reset-button {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: var(--minimum-touch-target);
    height: var(--minimum-touch-target);
    padding: 0;
    background: transparent;
    color: var(--color-foreground);
    opacity: 1;
    transition: opacity var(--animation-speed-medium) var(--animation-timing-fade-out),
      visibility var(--animation-speed-medium) var(--animation-timing-fade-out);

    &:hover {
      color: var(--color-foreground);
    }

    &:active {
      transform: scale(0.9);
      transition: transform 100ms var(--animation-timing-active);
    }

    @media screen and (max-width: 749px) {
      margin-right: var(--margin-md);
    }
  }

  .predictive-search__reset-button[hidden] {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
  }

  .predictive-search__reset-button-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--icon-size-lg);
    height: var(--icon-size-lg);
    transition: background-color var(--animation-speed-medium) ease-in-out,
      transform var(--animation-speed-medium) var(--animation-timing-bounce);
    border-radius: 50%;

    &:hover {
      background-color: rgb(var(--color-primary-hover-rgb) / var(--opacity-8));
    }
  }

  .predictive-search__reset-button:active .predictive-search__reset-button-icon {
    transform: scale(0.85);
    transition-timing-function: var(--animation-timing-active);
    transition-duration: 100ms;
  }

  .predictive-search__reset-button svg {
    width: var(--icon-size-md);
    height: var(--icon-size-md);
  }

  .predictive-search__reset-button-text {
    display: none;
  }

  .predictive-search__search-button {
    margin: auto;
    z-index: var(--layer-raised);
    transition: transform var(--animation-speed-medium) var(--animation-timing-bounce),
      box-shadow var(--animation-speed-medium) var(--animation-timing-hover);
    transform-origin: center;

    &:hover {
      transform: translateY(-2px);
      box-shadow: 0 4px 8px rgb(0 0 0 / var(--opacity-5));
    }

    &:active {
      transform: scale(0.97);
      transition: transform 100ms var(--animation-timing-active);
      box-shadow: none;
    }
  }

  .predictive-search__close-modal-button {
    --button-color: var(--color-foreground);
    --button-background-color: transparent;

    display: flex;
    justify-content: center;
    align-items: center;
    width: var(--minimum-touch-target);
    height: var(--minimum-touch-target);
    margin-inline-start: var(--margin-sm);
    padding: 0;
    box-shadow: none;

    &:active {
      transform: scale(0.8);
      transition: transform 100ms var(--animation-timing-active);
    }

    .svg-wrapper,
    svg {
      width: var(--icon-size-xs);
      height: var(--icon-size-xs);
    }

    @media screen and (min-width: 750px) {
      display: none;
    }
  }

  .predictive-search__close-modal-button:hover {
    --button-color: var(--color-foreground);
    --button-background-color: transparent;
  }
/* END_SNIPPET:predictive-search */

/* START_SNIPPET:price-filter (INDEX:264) */
/* Price filter */
  .price-facet {
    container-type: inline-size;
    display: flex;
    flex-direction: column;
  }

  .facets__inputs-wrapper.price-facet__inputs-wrapper {
    flex-wrap: nowrap;
  }

  .price-facet__field {
    width: 50%;
    flex-grow: 0;
  }

  @container (max-width: 199px) {
    .facets__inputs-wrapper.price-facet__inputs-wrapper {
      flex-wrap: wrap;
      width: 100%;
    }

    .price-facet__inputs-wrapper .price-facet__field {
      width: 100%;
    }
  }

  .facets .facets__inputs-wrapper.price-facet__inputs-wrapper {
    padding: var(--style-border-width-inputs);
    gap: calc(var(--gap-sm) + (var(--style-border-width-inputs) * 2));
  }

  .facets--horizontal .facets__panel-content:has(.price-facet) {
    min-width: 360px;
  }

  .facets--horizontal .facets__inputs-wrapper.price-facet__inputs-wrapper {
    @media screen and (min-width: 750px) {
      padding: calc(var(--padding-md) + var(--style-border-width-inputs));
    }
  }

  .price-facet__input {
    width: 100%;
    text-align: right;
    padding-left: calc(2.5 * var(--input-padding-x));
  }

  .price-facet__input::placeholder {
    color: var(--facets-input-label-color);
  }

  .price-facet__separator {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-paragraph--size);
  }

  .price-facet__highest-price {
    padding: var(--padding-xs) 0 var(--padding-sm);
  }

  .facets--horizontal .price-facet__highest-price {
    padding: 0 var(--padding-md) var(--padding-xs);
  }

  .field__label.price-facet__label {
    top: 0;
    left: 0;
    color: var(--facets-input-label-color);
    padding: var(--input-padding-y) var(--input-padding-x);
    transform: none;
  }
/* END_SNIPPET:price-filter */

/* START_SNIPPET:product-card-badges (INDEX:266) */
.product-badges {
    --badge-inset: max(var(--padding-xs), calc((var(--border-radius) + var(--padding-xs)) * (1 - cos(45deg))));

    position: absolute;
    z-index: var(--layer-flat);
  }

  .product-badges--bottom-left {
    bottom: calc(var(--badge-inset) + var(--padding-block-start));
    left: calc(var(--badge-inset) + var(--padding-inline-start));
  }

  .product-badges--top-left {
    top: calc(var(--badge-inset) + var(--padding-block-start));
    left: calc(var(--badge-inset) + var(--padding-inline-start));
  }

  .product-badges--top-right {
    top: calc(var(--badge-inset) + var(--padding-block-start));
    right: calc(var(--badge-inset) + var(--padding-inline-start));
  }

  .product-badges__badge {
    --badge-font-size: var(--font-size--xs);

    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--color-foreground);
    background: var(--color-background);
    font-size: var(--badge-font-size);
    font-family: var(--badge-font-family);
    font-weight: var(--badge-font-weight);
    text-transform: var(--badge-text-transform);
    border-radius: var(--badge-border-radius);
  }

  .product-badges__badge--rectangle {
    padding-block: var(--badge-rectangle-padding-block);
    padding-inline: var(--badge-rectangle-padding-inline);
  }
/* END_SNIPPET:product-card-badges */

/* START_SNIPPET:product-card (INDEX:268) */
product-card-link,
  :not(product-card-link) product-card {
    width: 100%;
  }

  .product-card__placeholder-image svg {
    height: 100%;
  }

  @media screen and (max-width: 749px) {
    .product-card slideshow-arrows .slideshow-control {
      display: none;
    }
  }

  /* Hide the variant swatches for product cards that show a swatches variant picker */
  :is(.product-card):has(swatches-variant-picker-component) .quick-add .variant-option--swatches {
    display: none;
  }

  /* Hide "Add" button for single option product cards that show a swatches variant picker */
  :is(.product-card:not([data-no-swatch-selected])):has(.quick-add__product-form-component--single-option):has(
      swatches-variant-picker-component
    )
    .quick-add__button--choose {
    display: none;
  }

  /* Hide "Add" button for single option product cards that show a swatches variant picker */
  :is(.product-card[data-no-swatch-selected]):has(.quick-add__product-form-component--single-option):has(
      swatches-variant-picker-component
    )
    add-to-cart-component {
    display: none;
  }

  /* Hide "add" button for multi-variant product cards that don't show a swatches variant picker */
  :is(.product-card):has(.quick-add__product-form-component--multi-variant):not(:has(swatches-variant-picker-component))
    .quick-add__button--add {
    display: none;
  }

  /* Hover effect for single variant product cards and product blocks */

  /* stylelint-disable selector-max-specificity */
  :is(.product-card):has(.quick-add__product-form-component--single-variant) .card-gallery:hover {
    & .quick-add__button--choose {
      display: none;
    }

    & .quick-add__button--add {
      display: grid;
    }
  }

  .product-card[data-no-swatch-selected] slideshow-component[data-generic-media-size='1'] slideshow-arrows {
    display: none;
  }

  .product-card[data-no-swatch-selected]
    slideshow-component[data-generic-media-size='1']
    slideshow-arrows:has(+ slideshow-slides slideshow-slide[variant-image]:not([hidden])) {
    display: flex;
  }

  .product-card .variant-option__swatch svg {
    display: none;
  }

  .product-card [data-available-count='0'] ~ svg {
    display: block;
  }
/* END_SNIPPET:product-card */

/* START_SNIPPET:product-floating-bar (INDEX:269) */
.product-floating-bar {
    --floating-bar-offset: 0px;
    --floating-bar-button-min-height: 48px;
    --floating-bar-button-font-size: 16px;

    position: fixed;
    bottom: var(--floating-bar-offset);
    left: 0;
    right: 0;
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
    pointer-events: none;
  }

  .product-floating-bar[data-visible='true'] {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .product-floating-bar__container {
    background-color: var(--color-background, #f2efe9);
    border-block-start: 1px solid var(--color-border, #291406);
    border-radius: 0;
    padding: 12px 24px;
    box-shadow: 0 -4px 16px rgb(41 20 6 / 0.12);
    max-width: none;
  }

  .product-floating-bar__content {
    display: flex;
    align-items: center;
    gap: 24px;
  }

  .product-floating-bar__icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
  }

  .product-floating-bar__icon-image {
    width: 40px;
    height: 40px;
    object-fit: contain;
  }

  .product-floating-bar__title {
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    margin: 0;
    flex: 1;
    min-width: 200px;
  }

  .product-floating-bar__blurb {
    font-size: 14px;
    font-family: var(--font-kennerley-italic);
    font-style: italic;
    font-weight: 400;
    margin: 0;
    color: var(--color-text-secondary, #291406);
    flex: 1;
    min-width: 200px;
  }

  .product-floating-bar__blurb--desktop {
    display: block;
  }

  .product-floating-bar__button {
    flex-shrink: 0;
  }

  .product-floating-bar__button .button {
    position: relative;
    overflow: hidden;
  }

  .product-floating-bar__button .button,
  .product-floating-bar__button .button * {
    --button-color: #f2efe9 !important;
    --button-background-color: #521827 !important;
    --button-border-color: #521827 !important;
    background-color: #521827 !important;
    border-color: #521827 !important;
    color: #f2efe9 !important;
  }

  .product-floating-bar__button .button:hover,
  .product-floating-bar__button .button:hover * {
    --button-color: #f2efe9 !important;
    --button-background-color: #370A16 !important;
    --button-border-color: #370A16 !important;
    background-color: #370A16 !important;
    border-color: #370A16 !important;
    color: #f2efe9 !important;
  }

  .product-floating-bar__button .button {
    min-height: var(--floating-bar-button-min-height);
    padding-block: 12px;
    padding-inline: 24px;
  }

  .product-floating-bar__button .add-to-cart-text,
  .product-floating-bar__button .add-to-cart-text__content,
  .product-floating-bar__button .add-to-cart-text--added {
    color: #f2efe9 !important;
    font-size: var(--floating-bar-button-font-size) !important;
  }

  .product-floating-bar .add-to-cart-text__content .is-desktop-only,
  .product-floating-bar .add-to-cart-text__price {
    display: inline;
  }

  @media screen and (max-width: 749px) {
    .product-floating-bar {
      bottom: var(--floating-bar-offset);
      left: 0;
      right: 0;
      z-index: var(--layer-overlay);
    }

    .product-floating-bar__container {
      padding: 12px 20px;
    }

    .product-floating-bar__content {
      gap: 12px;
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
    }

    .product-floating-bar__icon {
      flex-shrink: 0;
    }

    .product-floating-bar__icon-image {
      width: 32px;
      height: 32px;
    }

    .product-floating-bar__title {
      font-size: 14px !important;
      min-width: auto;
      flex: 1;
      margin: 0;
    }

    .product-floating-bar__blurb--desktop {
      display: none;
    }

    .product-floating-bar__button {
      flex-shrink: 0;
      width: auto;
    }

    .product-floating-bar__button .button {
      width: auto;
      white-space: nowrap;
      padding-inline: 16px;
    }
  }
/* END_SNIPPET:product-floating-bar */

/* START_SNIPPET:product-grid (INDEX:270) */
.product-grid {
    --product-grid-gap: var(--product-grid-gap-mobile);

    isolation: isolate;

    @media screen and (min-width: 750px) {
      --product-grid-gap: var(--product-grid-gap-desktop);
    }
  }

  .product-grid slideshow-arrows .slideshow-control {
    display: none;

    @media screen and (min-width: 750px) {
      display: grid;
    }
  }

  /* This triggers iOS < 16.4 */
  @supports not (background-color: rgb(from red 150 g b / alpha)) {
    /* Force aspect ratio to auto for iOS < 16.4 since it's not compatible with the infinite pagination */
    .product-grid .product-media,
    .product-grid .product-media-container {
      aspect-ratio: auto;
    }
  }

  .main-collection-grid {
    padding: var(--grid--margin--mobile);

    @media screen and (min-width: 750px) {
      padding: var(--padding-block-start) var(--padding-inline-end) var(--padding-block-end) var(--padding-inline-start);
    }
  }

  .main-collection-grid__empty {
    padding-block: var(--padding-6xl);
    padding-inline: var(--page-margin);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--padding-sm);
  }

  .main-collection-grid__empty-title {
    margin: 0;
  }

  .collection-wrapper--full-width .main-collection-grid__title {
    margin-left: var(--page-margin);
  }

  .collection-wrapper--full-width-on-mobile .main-collection-grid__title {
    @media screen and (max-width: 749px) {
      margin-left: var(--page-margin);
    }
  }
/* END_SNIPPET:product-grid */

/* START_SNIPPET:product-media (INDEX:271) */
.product-media {
    aspect-ratio: var(--gallery-aspect-ratio, var(--ratio));
    min-height: 0;
    min-width: 0;
  }

  /*** Media border-radius feature ****/
  @media screen and (min-width: 750px) {
    .media-gallery--carousel slideshow-container,
    .media-gallery--grid .product-media > * {
      border-radius: var(--media-radius, 0);
      overflow: hidden;
    }

    /* When the CAROUSEL is on the LEFT side */
    .product-information:not(.product-information--media-right)
      .media-gallery--carousel.media-gallery--extend
      slideshow-container {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
    }

    /* When the CAROUSEL is on the RIGHT side */
    .product-information.product-information--media-right
      .media-gallery--carousel.media-gallery--extend
      slideshow-container {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
    }

    /* When the GRID is on the LEFT side */
    .product-information:not(.product-information--media-right) {
      /* One column */
      .media-gallery--grid.media-gallery--extend:not(.media-gallery--two-column) .product-media > *,
      /* Two column, small first image */
      .media-gallery--grid.media-gallery--extend.media-gallery--two-column:not(.media-gallery--large-first-image)
        .product-media-container:nth-of-type(odd)
        .product-media
        > *,
      /* Two column, large first image */
      .media-gallery--grid.media-gallery--extend.media-gallery--two-column.media-gallery--large-first-image
        .product-media-container:is(:first-of-type, :nth-of-type(even))
        .product-media
        > * {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
      }
    }

    /* When the GRID is on the RIGHT side */
    .product-information.product-information--media-right {
      /* One column */
      .media-gallery--grid.media-gallery--extend:not(.media-gallery--two-column) .product-media > *,
      /* Two column, small first image */
      .media-gallery--grid.media-gallery--extend.media-gallery--two-column:not(.media-gallery--large-first-image)
        .product-media-container:nth-of-type(even)
        .product-media
        > *,
      /* Two column, large first image */
      .media-gallery--grid.media-gallery--extend.media-gallery--two-column.media-gallery--large-first-image
        .product-media-container:is(:first-of-type, :nth-of-type(odd))
        .product-media
        > * {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
      }
    }
  }

  ::view-transition-old(gallery-item),
  ::view-transition-new(gallery-item) {
    animation-duration: 0ms;
  }
/* END_SNIPPET:product-media */

/* START_SNIPPET:quick-add-modal (INDEX:273) */
.quick-add-modal {
    padding: 0;
    border: var(--style-border-popover);
    height: fit-content;
    overflow: hidden;
    min-height: 500px;
    box-shadow: 0 5px 30px rgb(0 0 0 / var(--opacity-15));

    @media screen and (max-width: 750px) {
      position: fixed;
      display: block;
      margin: auto 0 0 0;
      min-height: unset;
      max-width: 100%;
      border-radius: 0;
    }
  }

  .quick-add-modal[open] {
    @media screen and (min-width: 750px) {
      display: flex;
    }
  }

  .quick-add-modal .view-more-details__wrapper {
    @media screen and (max-width: 750px) {
      display: none;
    }
  }

  .quick-add-modal[open] {
    animation: modalSlideInTop var(--animation-speed) var(--animation-easing) forwards;
  }

  .quick-add-modal.dialog-closing {
    animation: modalSlideOutTop var(--animation-speed) var(--animation-easing) forwards;
  }

  .quick-add-modal__close {
    position: absolute;
    top: var(--margin-2xs);
    right: var(--margin-2xs);
    transition: transform 0.15s var(--animation-timing-bounce);
    z-index: var(--layer-raised);
  }

  .quick-add-modal__close:active {
    transform: scale(0.8);
  }

  .quick-add-modal__content {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: 100% 1fr;
    position: relative;
    max-width: var(--wide-content-width);
    overflow-y: auto;
    max-height: 100vh;

    @media screen and (max-width: 750px) {
      grid-template-columns: repeat(4, 1fr);
      grid-template-rows: auto;
      padding-inline: var(--padding-xl);
      padding-block: var(--padding-xl);
      gap: var(--gap-lg);
      flex: 1;
      min-height: 0;
      overflow-y: auto;
      height: auto; /* Prevent a bug in Safari where height:fit-content is not respected */
      max-height: 100vh;
    }
  }

  .quick-add-modal__content .media-gallery--grid .media-gallery__grid {
    grid-template-columns: 1fr;
  }

  .quick-add-modal__content .media-gallery--grid.media-gallery--two-column .product-media-container:first-child {
    grid-column: auto;
  }

  .quick-add-modal__content {
    /* One column */
    .media-gallery--grid:not(.media-gallery--two-column) .product-media > *,
    /* Two column, small first image */
    .media-gallery--grid.media-gallery--two-column:not(.media-gallery--large-first-image)
    .product-media-container:nth-of-type(odd)
    .product-media > *,
    /* Two column, large first image */
    .media-gallery--grid.media-gallery--two-column.media-gallery--large-first-image
      .product-media-container:is(:first-of-type, :nth-of-type(even))
      .product-media > *,
      /* Carousel */
    .media-gallery--carousel slideshow-container {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
    }
  }

  .quick-add-modal__content .view-more-details__wrapper {
    display: flex;
    justify-content: flex-start;
    width: 100%;
  }

  .view-more-details__wrapper .view-more-details {
    display: flex;
    align-items: center;
    width: fit-content;
  }

  .quick-add-modal__content .product-header {
    @media screen and (max-width: 750px) {
      display: flex;
      flex-direction: column;
      grid-column: 2 / -1;
      grid-row: 1;
      padding-right: var(--padding-2xl);
    }
  }

  .quick-add-modal__content .product-header a:not(product-price *) {
    @media screen and (max-width: 749px) {
      font-size: var(--font-size--md);
      font-weight: 500;
      color: inherit;
      width: fit-content;
    }
  }

  .quick-add-modal__content variant-picker,
  .quick-add-modal__content product-form-component {
    @media screen and (max-width: 750px) {
      grid-column: 1 / -1;
    }
  }

  .quick-add-modal__content .variant-picker__form {
    display: block;
  }

  .quick-add-modal__content .variant-option + .variant-option {
    margin-top: var(--padding-lg);
  }

  .quick-add-modal__content .product-media-container__zoom-button {
    cursor: default;
  }

  .quick-add-modal__content .product-details {
    grid-column: 4 / -1;
    grid-row: 1 / span 2;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;

    dialog[open] & {
      animation: fadeSlideIn 0.3s var(--animation-timing-fade-in) both;
      animation-delay: 0.1s;
    }

    @media screen and (max-width: 750px) {
      grid-column: 2 / span 2;
      grid-row: span 1;
      overflow-y: auto;
      max-height: 100%;
      height: 100%;
    }
  }

  .quick-add-modal__content > * {
    min-height: 0;
  }

  .quick-add-modal__content .product-details :is(.view-product-title, .buy-buttons-block) {
    flex: 0 0 auto;
  }

  .quick-add-modal__content .product-details .variant-picker {
    --product-swatches-padding-block-end: 0px;

    flex: 1 1 auto;
    overflow-y: auto;
    min-height: 0;
    padding-block-end: calc(
      var(--product-swatches-padding-block-end) + var(--focus-outline-offset) + var(--focus-outline-width)
    );
  }

  .quick-add-modal__content .variant-option--swatches {
    padding-inline-start: var(--padding-2xs);
  }

  .quick-add-modal__content .variant-option--swatches legend {
    margin-inline-start: calc(-1 * var(--padding-2xs));
  }

  .quick-add-modal__content:not(:has(.product-information__media)) .product-details {
    grid-column: 1 / -1;
  }

  .quick-add-modal__content .view-product-title {
    padding: 0;
  }

  .quick-add-modal__content .view-product-title a {
    color: inherit;
    text-decoration: none;
    text-align: left;
    font-size: var(--font-size--2xl);
    font-weight: 600;
    line-height: 1.2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color 0.2s var(--animation-easing);
  }

  .quick-add-modal__content .view-product-title {
    display: flex;
  }

  .quick-add-modal__content
    .product-details
    *:not(
      .group-block,
      .group-block-content,
      .buy-buttons-block,
      .buy-buttons-block *,
      .view-product-title,
      .view-product-title *,
      variant-picker,
      variant-picker *,
      product-price,
      product-price *,
      product-inventory,
      product-inventory *,
      .view-more-details__wrapper,
      .view-more-details__wrapper *
    ) {
    @media screen and (min-width: 750px) {
      /* stylelint-disable-next-line declaration-no-important */
      display: none !important;
    }
  }

  .quick-add-modal__content
    .group-block:not(
      :has(
          .buy-buttons-block,
          .buy-buttons-block *,
          .view-product-title,
          .view-product-title *,
          variant-picker,
          variant-picker *,
          product-price,
          product-price *,
          product-inventory,
          product-inventory *,
          .view-more-details__wrapper,
          .view-more-details__wrapper *
        ),
      .buy-buttons-block
    ) {
    display: none;
  }

  @media screen and (min-width: 750px) {
    .quick-add-modal__content .group-block-content {
      gap: min(var(--gap-2xl), var(--gap));
    }

    .quick-add-modal__content .media-gallery__grid {
      gap: min(var(--gap-2xs), var(--image-gap));
      border-radius: var(--style-border-radius-popover, 0);
    }

    .quick-add-modal__content .media-gallery--grid .product-media img {
      border-radius: 0;
    }

    .quick-add-modal__content .media-gallery--grid .product-media-container:first-child {
      border-top-right-radius: var(--style-border-radius-popover, 0);
    }

    .quick-add-modal__content .media-gallery--grid .product-media-container:last-child {
      border-bottom-right-radius: var(--style-border-radius-popover, 0);
    }
  }

  .quick-add-modal__content .product-details > .group-block {
    padding: var(--padding-2xl);
    max-height: 100%;
  }

  .quick-add-modal__content slideshow-slide:not([aria-hidden='false']) {
    content-visibility: auto;
  }

  .quick-add-modal__content .product-information__media {
    width: 100%;
    grid-column: 1 / span 1;
    grid-row: 1;
    position: relative;
    top: 0;
    animation: fadeIn 0.4s var(--animation-timing-fade-in) both;

    @media screen and (min-width: 750px) {
      position: sticky;
      grid-column: 1 / 4;
      overflow-y: auto;
      -ms-overflow-style: none;
      scrollbar-width: none;
    }

    &::-webkit-scrollbar {
      display: none;
    }
  }

  .quick-add-modal__content .product-information__media media-gallery {
    pointer-events: none;

    @media screen and (min-width: 750px) {
      position: absolute;
      inset: 0;
    }
  }

  .quick-add-modal media-gallery {
    padding: 0;
  }

  .quick-add-modal__content .product-information__media slideshow-arrows {
    display: none;
  }

  .quick-add-modal__content .product-information__media slideshow-container {
    display: block;
  }

  .quick-add-modal__content .product-information__media slideshow-slides {
    display: flex;
    flex-direction: column;
    gap: var(--gap-2xs);
    overflow: visible;
    scroll-snap-type: none;
  }

  .quick-add-modal__content .product-information__media slideshow-slide {
    width: 100%;
    flex: none;
    scroll-snap-align: unset;
    position: relative;
    transform: none;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s var(--animation-easing);
  }

  .quick-add-modal__content .product-information__media slideshow-slide[aria-hidden='true'] {
    @media screen and (max-width: 750px) {
      display: none;
    }
  }

  .quick-add-modal__content .product-information__media slideshow-slide:nth-child(1) {
    animation: fadeSlideIn 0.3s var(--animation-timing-fade-in) both;
  }

  .quick-add-modal__content .product-information__media slideshow-slide:nth-child(2) {
    animation: fadeSlideIn 0.3s var(--animation-timing-fade-in) both;
    animation-delay: 0.05s;
  }

  .quick-add-modal__content .product-information__media slideshow-slide:nth-child(3) {
    animation: fadeSlideIn 0.3s var(--animation-timing-fade-in) both;
    animation-delay: 0.1s;
  }

  .quick-add-modal__content .product-information__media slideshow-controls {
    display: none;
  }

  .quick-add-modal__content .sticky-content,
  .quick-add-modal__content .sticky-content--desktop {
    top: 0;
  }

  .quick-add-modal__content .text-block.rte:not(product-price),
  .quick-add-modal__content .view-more-details__wrapper {
    display: none;
  }

  @keyframes fadeSlideIn {
    from {
      opacity: 0;
      transform: translateY(10px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
/* END_SNIPPET:quick-add-modal */

/* START_SNIPPET:quick-add (INDEX:274) */
/* Quick Add */
  .quick-add {
    --quick-add-offset: var(--padding-sm);
    --quick-add-top: calc(var(--quick-add-offset) + var(--padding-block-start));
    --quick-add-right: calc(var(--quick-add-offset) + var(--padding-inline-end));
    --quick-add-bottom: calc(var(--quick-add-offset) + var(--padding-block-end));
    --quick-add-left: calc(var(--quick-add-offset) + var(--padding-inline-end));

    position: absolute;
    display: var(--quick-add-mobile-display, none);
    flex-direction: column;
    justify-content: flex-end;
    inset: max(var(--quick-add-top), calc((var(--border-radius) + var(--quick-add-top)) * (1 - cos(45deg))))
      max(var(--quick-add-right), calc((var(--border-radius) + var(--quick-add-right)) * (1 - cos(45deg))))
      max(var(--quick-add-bottom), calc((var(--border-radius) + var(--quick-add-bottom)) * (1 - cos(45deg))))
      max(var(--quick-add-left), calc((var(--border-radius) + var(--quick-add-left)) * (1 - cos(45deg))));
    width: auto;
    height: auto;
    z-index: var(--layer-raised);
    cursor: default;
    pointer-events: none;

    @media screen and (min-width: 750px) {
      --quick-add-offset: 16px;

      display: var(--quick-add-display, flex);
    }
  }

  .quick-add .variant-option__button-label input[data-option-available='false'] {
    cursor: not-allowed;
  }


  .quick-add__button {
    display: grid;
    width: 100%;
    padding: var(--padding-xs);
    align-items: center;
    color: var(--button-color);
    border-color: var(--button-border-color);
    box-shadow: 0 0 0 1px var(--button-border-color);
    pointer-events: all;
    position: relative;
    overflow: hidden;

    @media screen and (min-width: 750px) {
      display: none;
      padding: var(--padding-xs) var(--padding-sm);
    }

    .quick-add[stay-visible] & {
      display: grid;
    }
  }

  .quick-add__button .add-to-cart-text {
    gap: 0;
    line-height: 1;
    grid-row: 1 / span 1;
    grid-column: 1 / span 1;
    animation: none;
    white-space: nowrap;

    @media screen and (min-width: 750px) {
      /* offset button padding to show a round button in a collapsed state */
      margin-inline: calc(var(--padding-sm) * -1);
      padding-inline: var(--padding-xs);
    }
  }

  .quick-add__button .add-to-cart-text--added {
    position: relative;
    grid-row: 1 / span 1;
    grid-column: 1 / span 1;
    justify-self: end;
    line-height: 1;

    @media screen and (min-width: 750px) {
      width: 0;
    }
  }

  .quick-add__button .add-to-cart-text__content {
    /* width: 0;
    opacity: 0;
    transform: translateX(1em); */
    /* transition: width var(--animation-speed) ease-in-out, opacity var(--animation-speed) ease-in-out,
      transform var(--animation-speed) ease-in-out; */
    interpolate-size: allow-keywords;
    width: fit-content;
    /* will-change: width, opacity, transform; */
  }

  .quick-add__button .add-to-cart-text {
      gap: var(--gap-2xs);
  }

  @container (min-width: 99px) {
    .quick-add[stay-visible] .add-to-cart-text,
    .quick-add__button:is(:focus, :hover) .add-to-cart-text {
      gap: var(--gap-2xs);

      @media screen and (min-width: 750px) {
        /* offset button padding to show a round button in a collapsed state */
        margin-inline: 0;
        padding-inline: 0;
      }
    }

    /* .quick-add[stay-visible] .add-to-cart-text__content,
    .quick-add__button:is(:focus, :hover) .add-to-cart-text__content {
      width: fit-content;
      opacity: 1;
      transform: translateX(0);
    } */
  }

  .quick-add__button.atc-added .add-to-cart-text {
    opacity: 0;
  }

  .quick-add__button.atc-added .add-to-cart-text--added {
    opacity: 1;
    width: auto;

    @supports (width: calc-size(auto, size)) {
      width: calc-size(auto, size);
    }
  }

  .quick-add__button.atc-added .add-to-cart-text {
    animation-name: atc-fade-out;
  }

  .quick-add__button.atc-added .add-to-cart-text--added {
    animation-name: atc-fade-in;
  }

  .quick-add__product-form-component {
    height: 100%;
  }

  .quick-add__product-form-component .shopify-product-form {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    container-type: inline-size;
    height: 100%;
  }

  .quick-add-modal .product-media {
    width: 100%;
    height: 100%;
  }

  .quick-add-modal deferred-media {
    display: none;
  }

  .quick-add-modal .media-gallery--carousel slideshow-component {
    --cursor: default;
  }

  @keyframes atc-fade-in {
    from {
      opacity: 0;
      transform: translateX(1em);
      position: absolute;
    }

    to {
      opacity: 1;
      transform: translateX(0);
      position: inherit;
    }
  }

  @keyframes atc-fade-out {
    from {
      opacity: 1;
      transform: translateX(0);
      position: inherit;
    }

    to {
      opacity: 0;
      transform: translateX(-1em);
      position: absolute;
    }
  }

  /* Alt design variant - compact button with maroon background */
  .quick-add__button--alt {
    position: static;
    display: grid;
    width: auto;
    padding: 8px;
    border-radius: 100px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    white-space: nowrap;
    background-color: #521827;
    color: #ece2d8;
    border: none;
    box-shadow: none;
    pointer-events: all;
    line-height: 1.3;
  }

  .quick-add__button--alt:hover {
    background-color: #370A16;
  }

  .quick-add__button--alt .add-to-cart-text {
    gap: 0;
    margin-inline: 0;
    padding-inline: 0;
  }

  .quick-add__button--alt .add-to-cart-text__content {
    width: auto;
    opacity: 1;
    color: #ece2d8;
    font-size: 10px;
  }

  .quick-add__button--alt .add-to-cart-icon {
    display: none;
  }
/* END_SNIPPET:quick-add */

/* START_SNIPPET:resource-card (INDEX:276) */
.resource-card {
    --resource-card-secondary-image-opacity: 0;
    --resource-card-primary-image-opacity: calc(1 - var(--resource-card-secondary-image-opacity));

    display: flex;
    flex-direction: column;
    row-gap: var(--padding-xs);
    position: relative;
    text-decoration: none;
    height: 100%;
    opacity: 0;
    animation: fadeIn var(--animation-speed-medium) var(--animation-timing-fade-in) forwards;
  }

  .resource-card__link {
    position: absolute;
    inset: 0;
    z-index: 1;
  }

  .resource-card__content {
    display: flex;
    flex-direction: column;
    color: var(--color-foreground);
    gap: var(--padding-3xs);

    .price {
      font-weight: 500;
    }
  }

  .resource-card[data-resource-type='article'] .resource-card__content,
  .resource-card[data-resource-type='page'] .resource-card__content {
    gap: var(--padding-xs);
  }

  .resource-card__image {
    aspect-ratio: var(--resource-card-aspect-ratio, auto);
    object-fit: cover;
    border-radius: var(--resource-card-corner-radius);
    opacity: var(--resource-card-primary-image-opacity);
  }

  .resource-card__image--secondary {
    position: absolute;
    top: 0;
    opacity: var(--resource-card-secondary-image-opacity);
    border-radius: var(--resource-card-corner-radius);
  }

  .resource-card__media:empty {
    display: none;
  }

  .resource-card__media {
    position: relative;
  }

  .resource-card__discount-badge {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 100;
    pointer-events: none;
  }

  .resource-card__discount-badge-icon {
    display: block;
    width: 75px;
    height: 75px;
    object-fit: contain;
  }

  .resource-card__image-placeholder {
    padding: var(--padding-sm);
    font-size: var(--font-size--lg);
    line-height: var(--line-height--display-loose);
    word-break: break-word;
    background-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
    aspect-ratio: var(--resource-card-aspect-ratio, auto);
    border-radius: var(--resource-card-corner-radius);
    color: var(--color-foreground);
  }

  .resource-card__title {
    margin-block: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    line-height: 1.3;
  }

  .resource-card__title.paragraph {
    line-height: 1.3;
  }

  .resource-card--overlay {
    height: 100%;

    &::before {
      content: '';
      position: absolute;
      inset: 50% 0 0;
      background: var(--gradient-image-overlay);
      border-radius: var(--resource-card-corner-radius);
      pointer-events: none;
      z-index: var(--layer-flat);
    }
  }

  .resource-card--overlay .resource-card__image {
    height: 100%;
  }

  .resource-card--overlay .resource-card__content {
    position: absolute;
    inset: auto 0 0;
    padding: var(--padding-lg) var(--padding-lg) var(--padding-sm);
    z-index: var(--layer-raised);
  }

  .resource-card--overlay .resource-card__title {
    color: var(--color-white);
  }

  /* Collection images */
  .resource-card__image-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--gap-2xs);
  }

  .resource-card__collection-image {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: calc(var(--card-corner-radius) - (var(--padding-xs) / 2));
  }

  .resource-card__subtext {
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
    margin-block-start: 0;
  }

  .resource-card__subtext.paragraph {
    font-size: var(--font-size--body-sm);
    line-height: var(--line-height--body-tight);
    color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
  }

  .resource-card:has(.resource-card__image--secondary) {
    &:hover,
    &:focus {
      --resource-card-secondary-image-opacity: 1;
    }
  }
/* END_SNIPPET:resource-card */

/* START_SNIPPET:search-modal (INDEX:280) */
/* Search modal style */
  .search-modal {
    --search-border-radius: var(--style-border-radius-popover);
    --search-border-width: var(--style-border-width);
  }

  .search-modal__button {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .search-modal__content {
    /* Approx set the top so when the content is at max height, the modal is centered */
    --modal-top-margin: calc(50dvh - var(--modal-max-height) / 2 - 2rem);
    --modal-width: 66dvw;

    padding: 0;
    border: var(--style-border-popover);

    @media screen and (min-width: 750px) {
      width: var(--modal-width);
      margin-block-start: var(--modal-top-margin);
      overflow: hidden;
    }
  }

  /* Hide the default dialog backdrop on small screens */
  @media screen and (max-width: 749px) {
    .search-modal__content::backdrop {
      display: none;
    }
  }

  .dialog-modal[open].search-modal__content {
    transform-origin: bottom center;
    animation: search-element-slide-in-bottom 300ms var(--ease-out-quad) forwards;
    border-radius: var(--search-border-radius);
    box-shadow: var(--shadow-popover);

    @media screen and (max-width: 749px) {
      border-radius: 0;
    }
  }

  .dialog-modal.search-modal__content.dialog-closing {
    animation: search-element-slide-out-bottom 200ms var(--ease-out-quad) forwards;
  }

  .search-modal__content[open] {
    display: flex;
  }

  .search-modal__content :is(.predictive-search-dropdown, .predictive-search-form__content-wrapper) {
    position: relative;
  }

  /* Predictive search header tweaks for small screens */
  @media screen and (max-width: 749px) {
    .dialog-modal
      .predictive-search-form__header:has(
        .predictive-search__reset-button:not(.predictive-search__reset-button[hidden])
      )::before {
      content: '';
      position: absolute;
      right: calc(var(--padding-sm) + var(--minimum-touch-target));
      top: 0;
      bottom: 0;
      width: var(--border-width-sm);
      background-color: var(--color-border);
    }

    .dialog-modal
      .predictive-search-form__header:has(
        .predictive-search__reset-button:not(.predictive-search__reset-button[hidden])
      )
      > .predictive-search__close-modal-button {
      &::before {
        content: none;
      }
    }
  }
/* END_SNIPPET:search-modal */

/* START_SNIPPET:search (INDEX:281) */
.search-action {
    --search-border-radius: var(--style-border-radius-inputs);
    --search-border-width: var(--style-border-width-inputs);

    display: flex;
  }

  .header__column--center .search-action {
    width: auto;
    flex-grow: 1;
  }

  :is(.header__column--left, .header__column--center) .search-action {
    @media screen and (min-width: 750px) {
      margin-inline: calc(var(--padding-lg) * -1);
    }
  }

  .header__column--right .search-action {
    @media screen and (min-width: 750px) {
      margin-inline: calc(var(--gap-md) * -1) calc(var(--gap-xs) * -1);
    }
  }

  .search-action .svg-wrapper svg {
    @media screen and (max-width: 749px) {
      height: 31px;
      width: auto;
    }
  }
/* END_SNIPPET:search */

/* START_SNIPPET:section (INDEX:282) */
.section-wrapper {
    --section-height-offset: 0px;
  }

  .section[data-shopify-visual-preview] {
    min-height: var(--section-preview-height);
    padding-top: 0;
  }

  .section[data-shopify-visual-preview] .custom-section-background {
    display: none;
  }

  body:has(> #header-group > .header-section > #header-component[transparent]):not(
      :has(> #header-group > .header-section + .shopify-section)
    )
    > main
    > .section-wrapper:first-child {
    --section-height-offset: var(--header-group-height, 0);
  }

  .custom-section-background {
    grid-column: 1 / -1;
  }

  .custom-section-content {
    z-index: var(--layer-flat);
  }

  /* Responsive visibility classes */
  .hide-desktop {
    display: none !important;
  }

  .hide-mobile {
    display: grid !important;
  }

  @media (max-width: 750px) {
    .hide-mobile {
      display: none !important;
    }

    .hide-desktop {
      display: grid !important;
    }
  }
/* END_SNIPPET:section */

/* START_SNIPPET:sorting (INDEX:290) */
.sorting-filter__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-inline: var(--drawer-padding) 0;
    padding-block: var(--padding-sm);
    margin-inline-end: var(--margin-md);
    position: relative;
  }

  .sorting-filter__container .facets__label {
    font-size: var(--font-h4--size);
  }

  .sorting-filter__select-wrapper {
    display: flex;
    position: relative;
    border-radius: var(--variant-picker-button-radius);
    align-items: center;
    overflow: clip;
    padding: var(--padding-2xs) var(--padding-xs);
  }

  .sorting-filter__select-wrapper:has(:focus-visible) {
    outline: var(--focus-outline-width) solid currentcolor;
    outline-offset: var(--focus-outline-offset);
  }

  .sorting-filter__select-wrapper:has(:focus-visible) .sorting-filter__select {
    outline: none;
  }

  .sorting-filter__container .sorting-filter__select {
    appearance: none;
    border: 0;
    margin: 0;
    cursor: pointer;
    width: 100%;
    padding-inline-end: var(--icon-size-2xs);
    text-align: right;

    /* Needed for Safari */
    text-align-last: right;
  }

  .sorting-filter__select .icon {
    position: absolute;
    right: var(--padding-md);
    top: 50%;
    transform: translateY(-50%);
    width: var(--icon-size-2xs);
    height: var(--icon-size-2xs);
    pointer-events: none;
  }

  .sorting-filter {
    @media screen and (min-width: 750px) {
      z-index: var(--facets-upper-z-index);
    }
  }

  .sorting-filter__options {
    display: flex;
    right: 0;
    flex-direction: column;
    gap: var(--margin-3xs);
    padding: calc(var(--drawer-padding) / 2);
    color: var(--color-foreground);
    overflow-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;

    &::-webkit-scrollbar {
      display: none;
    }
  }

  .sorting-filter__option {
    cursor: pointer;
    display: grid;
    grid-template-columns: var(--icon-size-sm) 1fr;
    gap: var(--margin-2xs);
    min-width: 180px;
    padding: var(--padding-2xs) calc(var(--drawer-padding) / 2) var(--padding-2xs) var(--padding-2xs);

    &:hover {
      border-radius: calc(var(--style-border-radius-popover) / 2);
      background-color: rgb(var(--color-foreground-rgb) / var(--opacity-8));
    }

    &:focus {
      border-radius: calc(var(--style-border-radius-popover) / 2);
    }
  }

  .sorting-filter__input {
    display: none;

    &:checked + .sorting-filter__checkmark + .sorting-filter__label {
      font-weight: 500;
    }
  }

  .sorting-filter__checkmark {
    visibility: hidden;
  }

  *:checked ~ .sorting-filter__checkmark {
    visibility: visible;
  }

  .sorting-filter__label {
    cursor: pointer;
    pointer-events: none;
  }

  .facets-toggle--no-filters .sorting-filter__select-wrapper {
    @media screen and (max-width: 749px) {
      padding-inline-start: 0;
    }
  }

  .facets-mobile-wrapper .sorting-filter .facets__panel {
    padding-inline: 0;
    position: relative;
  }

  .facets-mobile-wrapper .sorting-filter .facets__status {
    display: none;
  }

  .facets-mobile-wrapper:has(> :nth-child(2)) .sorting-filter .sorting-filter__options {
    left: 0;
    right: unset;
  }

  .facets-mobile-wrapper .sorting-filter .facets__label {
    margin-inline-end: var(--margin-2xs);
    font-size: var(--font-paragraph--size);
    color: var(--color-foreground-muted);
  }

  .facets-mobile-wrapper .sorting-filter__options {
    border-radius: var(--style-border-radius-popover);
    position: absolute;
    top: 0;
    right: 0;
    width: max-content;
    min-width: var(--facets-panel-min-width);
    max-width: var(--facets-panel-width);
    max-height: var(--facets-panel-height);
    z-index: var(--facets-upper-z-index);
    box-shadow: var(--shadow-popover);
    border: var(--style-border-popover);
    background-color: var(--color-background);
    overflow-y: hidden;
    padding: var(--padding-sm);
    gap: var(--gap-sm);
  }

  .facets-toggle .sorting-filter__container {
    @media screen and (max-width: 749px) {
      padding: 0;
    }
  }

  .facets-toggle .sorting-filter__container .facets__label {
    @media screen and (max-width: 749px) {
      display: none;
    }
  }

  .facets-toggle .sorting-filter::before {
    @media screen and (max-width: 749px) {
      display: none;
    }
  }

  .facets--drawer .sorting-filter {
    @media screen and (min-width: 750px) {
      display: none;
    }
  }

  .sorting-filter__options {
    block-size: 0;
    overflow-y: clip;
    opacity: 0;
    interpolate-size: allow-keywords;
    transition: content-visibility var(--animation-speed-slow) allow-discrete,
      padding-block var(--animation-speed-slow) var(--animation-easing),
      opacity var(--animation-speed-slow) var(--animation-easing),
      block-size var(--animation-speed-slow) var(--animation-easing);
  }

  details[open] .sorting-filter__options {
    opacity: 1;
    block-size: auto;

    @starting-style {
      block-size: 0;
      opacity: 0;
      overflow-y: clip;
    }

    &:focus-within {
      overflow-y: visible;
    }
  }
/* END_SNIPPET:sorting */

/* START_SNIPPET:subscription-widget (INDEX:296) */
.stayai-subscription-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: calc(100% + 24px);
    margin: -14px -12px 12px;
    padding: 6px 12px;
    background: #291406;
    color: #f2efe9;
    font-family: var(--font-kennerley-small-caps-bold);
    font-size: 11px;
    line-height: 1.3;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .stayai-subscription-header[hidden] {
    display: none;
  }

  .stayai-subscription-header__prefix[hidden] {
    display: none;
  }

  .stayai-purchase-label__subtext {
    display: block;
    font-family: var(--font-kennerley);
    font-size: 12px;
    line-height: 1.3;
    text-transform: none;
  }

  .stayai-welcome-kit {
    margin-top: 6px;
    padding-top: 12px;
    border-top: 1px solid #dad2c8;
  }

  .stayai-welcome-kit__heading {
    margin: 0 0 10px;
    font-family: var(--font-kennerley-small-caps-bold);
    font-size: 11px;
    line-height: 1.3;
    letter-spacing: 0.03em;
    text-transform: uppercase;
  }

  .stayai-welcome-kit__items {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 12px;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .stayai-welcome-kit__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    width: 72px;
    text-align: start;
  }

  .stayai-welcome-kit[hidden],
  .stayai-welcome-kit__item[hidden] {
    display: none;
  }

  .stayai-welcome-kit__label {
    font-family: var(--font-kennerley);
    font-size: 11px;
    line-height: 1.3;
    text-align: start;
    font-weight: 600;
  }

  .stayai-welcome-kit__image {
    display: block;
    width: 100%;
    max-width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 4px;
    background: #f2efe9;
  }

  .stayai-welcome-kit__price,
  .stayai-welcome-kit__title {
    font-family: var(--font-kennerley);
    font-size: 11px;
    line-height: 1.3;
  }

  .stayai-welcome-kit__price {
    text-decoration: line-through;
  }

  .stayai-purchase-label--subscription:has(.stayai-plan-dropdown.is-open) {
    z-index: 4;
  }

  .stayai-plan-dropdown {
    --stayai-plan-dropdown-bg: #f2efe9;
    --stayai-plan-dropdown-text: #291406;
    position: relative;
    z-index: 3;
    margin-top: 8px;
    width: max-content;
    max-width: 100%;
    flex: 1 1 100%;
  }

  .stayai-plan-dropdown__select {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    pointer-events: none;
  }

  .stayai-plan-dropdown__button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: max-content;
    min-width: 220px;
    max-width: 100%;
    padding: 8px 12px;
    border: 1px solid currentColor;
    border-radius: 4px;
    background: transparent;
    color: inherit;
    font-family: var(--font-kennerley);
    font-size: 14px;
    line-height: 1.3;
    text-align: left;
    cursor: pointer;
  }

  .stayai-plan-dropdown__button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
  }

  .stayai-plan-dropdown__caret {
    display: flex;
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    transition: transform 0.2s ease;
  }

  .stayai-plan-dropdown__caret svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  .stayai-plan-dropdown.is-open .stayai-plan-dropdown__caret {
    transform: rotate(180deg);
  }

  .stayai-plan-dropdown__list {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    min-width: 100%;
    margin: 0;
    padding: 6px 0;
    border: 1px solid var(--stayai-plan-dropdown-text);
    border-radius: 4px;
    background: var(--stayai-plan-dropdown-bg);
    color: var(--stayai-plan-dropdown-text);
    box-shadow: 0 8px 20px rgb(41 20 6 / 0.12);
    z-index: 5;
  }

  .stayai-plan-dropdown__option {
    display: block;
    width: 100%;
    padding: 8px 12px;
    border: 0;
    background: transparent;
    color: inherit;
    font-family: var(--font-kennerley);
    font-size: 14px;
    line-height: 1.3;
    text-align: left;
    cursor: pointer;
  }

  .stayai-plan-dropdown__option:hover,
  .stayai-plan-dropdown__option.is-selected {
    background: var(--stayai-plan-dropdown-text);
    color: var(--stayai-plan-dropdown-bg);
  }

  .stayai-plan-dropdown__option:focus-visible {
    outline: 2px solid var(--stayai-plan-dropdown-text);
    outline-offset: -2px;
  }
/* END_SNIPPET:subscription-widget */

/* START_SNIPPET:text (INDEX:300) */
:root {
    --text-align-default: left;
  }

  /* Fallback to attribute selectors for backwards compatibility (desktop only) */
  @media screen and (min-width: 750px) {
    [style*='--horizontal-alignment: center'] .text-block {
      --text-align-default: center;
    }

    [style*='--horizontal-alignment: flex-end'] .text-block {
      --text-align-default: right;
    }

    [style*='--horizontal-alignment: flex-start'] > .text-block {
      --text-align-default: left;
    }

    [style*='--horizontal-alignment: center'] > .text-block {
      --text-align-default: center;
    }

    [style*='--horizontal-alignment: flex-end'] > .text-block {
      --text-align-default: right;
    }
  }

  .text-block {
    width: var(--width);
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: var(--horizontal-alignment);
    /* Inherits --text-align-default from parent layout-panel-flex if set via layout-panel-style */
    /* Falls back to attribute-based detection (desktop only) or default left */
  }

  .text-block > * {
    width: var(--width);
    max-width: var(--max-width, 100%);
    /* Block's own --text-align takes precedence over parent's --text-align-default */
    text-align: var(--text-align, var(--text-align-default));
    text-wrap: var(--text-wrap);
  }

  /* Ensure text blocks with explicit alignment override parent alignment */
  .text-block[style*='--text-align:'] > *,
  .text-block[style*='--text-align: left'] > *,
  .text-block[style*='--text-align: center'] > *,
  .text-block[style*='--text-align: right'] > * {
    text-align: var(--text-align) !important;
  }

  @media screen and (max-width: 749px) {
    .text-block {
      align-items: var(--horizontal-alignment-mobile, var(--horizontal-alignment));
      /* Use mobile text-align variable if available, otherwise fallback to desktop */
      --text-align-default: var(--text-align-default-mobile, var(--text-align-default, left));
    }
    /* On mobile, mobile alignment takes precedence over desktop alignment */
    .text-block > * {
      text-align: var(--text-align-mobile, var(--text-align, var(--text-align-default))) !important;
    }
    /* More specific rule for blocks that have mobile alignment explicitly set */
    .text-block[style*='--text-align-mobile:'] > * {
      text-align: var(--text-align-mobile) !important;
    }
  }

  .text-block:not(.text-block--full-width).rte,
  .text-block:not(.text-block--full-width).paragraph {
    /* Safari doesn't support pretty, so fallback to balance */
    text-wrap: balance;
    text-wrap: pretty;
  }

  .text-block:not(.text-block--full-width):is(.h1, .h2, .h3, .h4, .h5, .h6) {
    text-wrap: balance;
  }

  /* Hide underline unless text is using paragraph styles. */
  .text-block:is(.h1, .h2, .h3, .h4, .h5, .h6) a {
    text-decoration-color: transparent;
  }

  .text-block h1,
  .text-block.h1 > * {
    margin-block: var(--font-h1--spacing);
  }

  .text-block h2,
  .text-block.h2 > * {
    margin-block: var(--font-h2--spacing);
  }

  .text-block h3,
  .text-block.h3 > * {
    margin-block: var(--font-h3--spacing);
  }

  .text-block h4,
  .text-block.h4 > * {
    margin-block: var(--font-h4--spacing);
  }

  .text-block h5,
  .text-block.h5 > * {
    margin-block: var(--font-h5--spacing);
  }

  .text-block h6,
  .text-block.h6 > * {
    margin-block: var(--font-h6--spacing);
  }

  .text-block p,
  .text-block.p > * {
    margin-block: var(--font-paragraph--spacing);
  }

  .text-block > *:first-child {
    margin-block-start: 0;
  }

  .text-block > *:last-child {
    margin-block-end: 0;
  }

  .text-block--align-center,
  .text-block--align-center > * {
    margin-inline: auto;
  }

  .text-block--align-right,
  .text-block--align-right > * {
    margin-inline-start: auto;
  }

  .text-block--background {
    background-color: var(--text-background-color);
    border-radius: var(--text-corner-radius);

    /* To avoid text being cropped when using a border radius we add a minimum padding. */
    padding-block-start: max(var(--text-padding), var(--padding-block-start, 0));
    padding-block-end: max(var(--text-padding), var(--padding-block-end, 0));
    padding-inline-start: max(var(--text-padding), var(--padding-inline-start, 0));
    padding-inline-end: max(var(--text-padding), var(--padding-inline-end, 0));
  }

  .custom-color,
  .custom-color > :is(h1, h2, h3, h4, h5, h6, p, *) {
    color: var(--color);
  }
/* END_SNIPPET:text */

/* START_SNIPPET:variant-main-picker (INDEX:310) */
.variant-picker {
    width: 100%;
  }

  .variant-picker__form {
    display: flex;
    flex-direction: column;
    gap: var(--padding-lg);
    width: 100%;
  }

  .variant-picker[data-shopify-visual-preview] {
    min-width: 300px;
    padding-inline-start: max(4px, var(--padding-inline-start));
  }

  .variant-option {
    --options-border-radius: var(--variant-picker-button-radius);
    --options-border-width: var(--variant-picker-button-border-width);
    --variant-option-padding-inline: var(--padding-md);
  }

  .variant-option--swatches {
    --options-border-radius: var(--variant-picker-swatch-radius);

    width: 100%;
  }

  .variant-option--swatches-disabled {
    pointer-events: none;
    cursor: not-allowed;
  }

  .variant-option--swatches > overflow-list {
    justify-content: var(--product-swatches-alignment);

    @media (max-width: 749px) {
      justify-content: var(--product-swatches-alignment-mobile);
    }
  }

  .variant-option--buttons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-sm);
    margin: 0;
    padding: 0;
    border: none;
  }

  .variant-option--buttons legend {
    padding: 0;
    margin-block-end: var(--margin-xs);
  }

  .variant-option__swatch-value {
    padding-inline-start: var(--padding-xs);
    color: rgb(var(--color-foreground-rgb) / var(--opacity-70));
  }

  .variant-option__button-label {
    --variant-picker-stroke-color: var(--color-dark-brown);

    display: flex;
    flex: 0 0 calc(3ch + 1.3em);
    align-items: center;
    position: relative;
    padding-block: var(--padding-sm);
    padding-inline: var(--padding-lg);
    border: var(--style-border-width) solid var(--color-dark-brown);
    border-radius: 5px;
    border-width: var(--options-border-width);
    overflow: clip;
    justify-content: center;
    min-height: calc(3ch + 1.3em);
    min-width: fit-content;
    white-space: nowrap;
    background-color: transparent;
    color: var(--color-primary);
    transition: background-color var(--animation-speed) var(--animation-easing),
      border-color var(--animation-speed) var(--animation-easing);

    &:hover {
      background-color: var(--color-variant-hover-background);
      border-color: var(--color-variant-hover-border);
      color: var(--color-variant-hover-text);
    }

    @media screen and (min-width: 750px) {
      padding: var(--padding-xs) var(--variant-option-padding-inline);
    }
  }

  .variant-option__button-label__text {
    text-align: left;
    text-wrap: auto;
  }

  .variant-option--trope-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 50vw));
    gap: 10px;
    width: 100%;
    margin-inline: auto;
  }

  .variant-picker:has(.variant-option--trope-cards),
  .variant-picker:has(.variant-option--trope-cards) .variant-picker__form {
    margin-inline: auto;
  }

  .variant-option--trope-cards legend {
    grid-column: 1 / -1;
    margin-block-end: 16px;
    font-family: var(--font-kennerley-small-caps-bold);
    font-size: 0.875rem;
    letter-spacing: 0.01em;
  }

  .variant-option__button-label--trope-card {
    display: block;
    width: 100%;
    height: auto;
    min-width: 0;
    min-height: 0;
    padding: 10px 15px !important;
    border: 1px solid var(--color-dark-brown);
    border-radius: 5px;
    color: #a2978e;
    white-space: normal;
  }

  .variant-option__trope-card {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    min-height: 54px;
    align-items: center;
    gap: 10px;
  }

  .variant-option__trope-thumbnail {
    display: block;
    overflow: hidden;
    width: 54px;
    height: 54px;
    border-radius: 10px;
    background: rgb(var(--color-foreground-rgb) / 0.06);
  }

  .variant-option__trope-thumbnail :is(img, svg) {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .variant-option__trope-title {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
  }

  .variant-option__trope-title-image {
    display: block;
    width: 100%;
    max-width: 180px;
    margin-top: 0;
    height: 55px;
    background-color: currentcolor;
    -webkit-mask-image: var(--trope-title-image);
    mask-image: var(--trope-title-image);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
  }

  .variant-option__trope-title-text {
    font-family: var(--font-kennerley-swash);
    font-size: clamp(1.15rem, 2vw, 1.6rem);
    line-height: 0.9;
    text-align: center;
    text-wrap: balance;
  }

  .variant-option--trope-cards .variant-option__button-label--trope-card:hover {
    background: #e7e2d7;
  }

  .variant-option--trope-cards .variant-option__button-label--trope-card:has(:checked) {
    color: #291406;
    background: #e7e2d7;
    border-color: #291406;
    outline: none;
  }

  @media screen and (max-width: 479px) {
    .variant-option--trope-cards {
      grid-template-columns: 1fr;
    }
  }

  .variant-option--equal-width-buttons {
    --variant-min-width: clamp(44px, calc(var(--variant-option-padding-inline) * 2 + var(--variant-ch)), 100%);

    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(var(--variant-min-width), 1fr));

    .variant-option__button-label {
      min-width: var(--variant-min-width);
    }

    .variant-option__button-label__text {
      text-align: center;
      text-wrap: balance;
    }
  }

  .variant-option__button-label:has(:focus-visible) {
    --variant-picker-stroke-color: var(--color-foreground);

    border-color: var(--color-foreground);
    outline: var(--focus-outline-width) solid var(--color-foreground);
    outline-offset: var(--focus-outline-offset);
  }

  .variant-option__button-label--has-swatch {
    --focus-outline-radius: var(--variant-picker-swatch-radius);

    padding: 0;
    border: none;
    display: block;
    flex-basis: auto;
    min-height: auto;
  }

  .variant-option__button-label:hover {
    background-color: var(--product-highlight-color, var(--color-light-blue));
  }
  .variant-option__button-label:has(:checked) {
    color: var(--color-selected-variant-text);
    background-color: var(--product-highlight-color, var(--color-light-blue));
    border-color: var(--color-selected-variant-border);
    transition: background-color var(--animation-speed) var(--animation-easing),
      border-color var(--animation-speed) var(--animation-easing);

    &:hover {
      background-color: var(--product-highlight-color, var(--color-light-blue));
      border-color: var(--color-selected-variant-hover-border);
      color: var(--color-selected-variant-hover-text);
    }
  }

  .variant-option__button-label:has([data-option-available='false']) {
    color: rgb(var(--color-variant-text-rgb) / var(--opacity-60));
  }

  .facets__inputs-list--swatches-grid .variant-option__button-label--has-swatch:hover .swatch {
    --focus-outline: var(--focus-outline-width) solid rgb(var(--color-foreground-rgb) / var(--opacity-35-55));

    outline: var(--focus-outline);
    outline-offset: var(--focus-outline-offset);
  }

  .facets__inputs-list--swatches-grid .variant-option__button-label:has(:focus-visible) .swatch {
    --focus-outline: var(--focus-outline-width) solid currentcolor;

    outline: var(--focus-outline);
    outline-offset: var(--focus-outline-offset);
  }

  .facets__inputs-list--swatches-grid .variant-option__button-label:has(:focus-visible) {
    outline: none;
  }

  .facets__inputs-list--swatches-grid .variant-option__button-label--has-swatch:hover {
    outline: none;
  }

  .variant-option__button-label--has-swatch:hover {
    outline: var(--focus-outline-width) solid rgb(var(--color-foreground-rgb) / var(--opacity-35-55));
    outline-offset: var(--focus-outline-offset);
  }

  .facets__inputs-list--swatches-grid .variant-option__button-label--has-swatch:has(:checked) {
    --focus-outline: none;
  }

  .facets__inputs-list--swatches-grid .variant-option__button-label--has-swatch:has(:checked) .swatch {
    outline: var(--focus-outline);
    outline-offset: var(--focus-outline-offset);
  }

  .variant-option__button-label--has-swatch:has(:checked) {
    --focus-outline: var(--focus-outline-width) solid var(--color-foreground);

    outline: var(--focus-outline);
    outline-offset: var(--focus-outline-offset);
  }

  /* This triggers iOS < 16.4. The outline bug is not recognized as a lack of @supports */
  @supports not (background-color: rgb(from red 150 g b / alpha)) {
    /** There is a bug in safari < 16.4 that causes the outline to not follow the elements border radius. This is a workaround. **/
    .variant-option__button-label--has-swatch:has(:checked),
    .variant-option__button-label:has(:focus-visible) .swatch,
    .facets__inputs-list--swatches-grid .variant-option__button-label--has-swatch:hover .swatch {
      outline: none;
      position: relative;
      overflow: visible;
    }

    .variant-option__button-label--has-swatch:has(:checked)::after,
    .variant-option__button-label:has(:focus-visible) .swatch::after,
    .facets__inputs-list--swatches-grid .variant-option__button-label--has-swatch:hover .swatch::after {
      content: '';
      position: absolute;
      inset: calc(-1 * var(--focus-outline-offset));
      border: var(--focus-outline);
      border-radius: var(--focus-outline-radius, 50%);
      background-color: transparent;
      display: inherit;
    }
  }

  .variant-option__button-label:has([data-option-available='false']):has(:checked) {
    --variant-picker-stroke-color: rgb(var(--color-variant-text-rgb) / var(--opacity-60));

    background-color: inherit;
    color: rgb(var(--color-variant-text-rgb) / var(--opacity-60));
    border-color: var(--color-selected-variant-border);
  }

  .variant-option__button-label input,
  .variant-option--images input {
    /* remove the checkbox from the page flow */
    position: absolute;

    /* set the dimensions to match those of the label */
    inset: 0;

    /* hide it */
    opacity: 0;
    margin: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
  }

  .variant-option__button-label svg {
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
    pointer-events: none;
    stroke-width: var(--style-border-width);
    stroke: var(--variant-picker-stroke-color);
  }

  .variant-option__select-wrapper {
    display: flex;
    position: relative;
    border: var(--style-border-width-inputs) solid var(--color-border);
    border-radius: var(--style-border-radius-inputs);
    align-items: center;
    margin-top: var(--margin-2xs);
    overflow: clip;
    transition: background-color var(--animation-speed) var(--animation-easing),
      border-color var(--animation-speed) var(--animation-easing);
  }

  .variant-option__select-wrapper:has(.swatch) {
    --variant-picker-swatch-width: 20px;
    --variant-picker-swatch-height: 20px;
  }

  .variant-option__select-wrapper:hover {
    border-color: var(--color-variant-hover-border);
  }

  .variant-option__select:focus-visible {
    outline: var(--focus-outline-width) solid currentcolor;
    outline-offset: var(--focus-outline-offset);
  }

  .variant-option__select {
    padding-block: var(--padding-md);
    padding-inline: var(--padding-lg) calc(var(--padding-lg) + var(--icon-size-2xs));
    appearance: none;
    border: 0;
    width: 100%;
    margin: 0;
    cursor: pointer;
  }

  .variant-option__select-wrapper .icon {
    position: absolute;
    right: var(--padding-md);
    top: 50%;
    transform: translateY(-50%);
    width: var(--icon-size-2xs);
    height: var(--icon-size-2xs);
    pointer-events: none;
  }

  .variant-option__select--has-swatch {
    padding-inline-start: calc((2 * var(--padding-sm)) + var(--variant-picker-swatch-width));
  }

  .variant-option__select-wrapper .swatch {
    position: absolute;
    top: 50%;
    left: var(--padding-md);
    transform: translateY(-50%);
  }

  .variant-picker--center,
  .variant-picker--center .variant-option {
    text-align: center;
    align-items: center;
    justify-content: center;
    width: 100%;
  }

  .variant-picker--right,
  .variant-picker--right .variant-option {
    text-align: right;
    justify-content: right;
  }

  .variant-option--buttons:has(.variant-option__save-badge:not([hidden])) {
    padding-block-end: 14px;
    overflow: visible;
  }

  .variant-option__button-label:has(.variant-option__save-badge:not([hidden])) {
    overflow: visible;
  }

  .variant-option__save-badge {
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 1;
    transform: translate(-50%, 50%);
    padding: 4px 10px;
    border-radius: 2rem;
    background: #291406;
    color: #f2efe9;
    font-family: var(--font-kennerley-small-caps-bold);
    font-size: 12px;
    line-height: 1.3;
    letter-spacing: 0.03em;
    /* text-transform: uppercase; */
    white-space: nowrap;
    pointer-events: none;
  }

  .variant-option__save-badge-amount {
    font-family: var(--font-kennerley-bold);
    font-weight: 700;
    font-style: normal;
    font-synthesis: none;
  }
/* END_SNIPPET:variant-main-picker */

/* START_SNIPPET:vh-benefit-badges (INDEX:315) */
/* ===== NIM-3069 benefit badges: DESIGN TOKENS (restyle here only) ===== */
  .vh-bb,
  .vh-bb-merch {
    --vh-bb-font-sc: var(--font-kennerley-small-caps-bold, 'LTC Kennerley Small Caps Bold'), Georgia, serif;
    --vh-bb-font-text: var(--font-kennerley, 'LTC Kennerley Pro Regular'), Georgia, serif;
    --vh-bb-font-italic: var(--font-kennerley-italic, 'LTC Kennerley Pro Italic'), Georgia, serif;
    --vh-bb-ink: #291406;
    --vh-bb-accent: #d28132;
    --vh-bb-gap: 4px;
    --vh-bb-row-min-h: 0px;

    /* benefit pill (colour comes from the vh_benefit record as --vh-bb-c) */
    --vh-bb-ben-default: #8b7660;
    --vh-bb-ben-size: 12.5px;
    --vh-bb-ben-pad: 3px 9px;
    --vh-bb-ben-radius: 999px;
    --vh-bb-ben-tint: 14%;
    --vh-bb-ben-ink-mix: 72%;
    --vh-bb-ben-icon: 14px;
    --vh-bb-multi-bg: #fbf6ee;
    --vh-bb-multi-border: #d9b48a;

    /* attribute */
    --vh-bb-attr-size: 12px;
    --vh-bb-attr-pad: 2px 6px;
    --vh-bb-attr-radius: 4px;
    --vh-bb-attr-border: #cdbfa8;
    --vh-bb-attr-ink: #5b4632;

    /* onset */
    --vh-bb-onset-size: 15px;

    /* merchandising tag */
    --vh-bb-merch-bg: #370a16;
    --vh-bb-merch-ink: #ece2d8;
    --vh-bb-merch-size: 12px;
    --vh-bb-merch-pad: 4px 8px 3px;
    --vh-bb-merch-radius: 0;
    --vh-bb-merch-inset: 8px;
  }
  @media screen and (min-width: 750px) {
    .vh-bb,
    .vh-bb-merch {
      --vh-bb-gap: 6px;
      --vh-bb-ben-size: 14px;
      --vh-bb-ben-pad: 4px 11px;
      --vh-bb-attr-size: 13.5px;
      --vh-bb-attr-pad: 3px 8px;
      --vh-bb-merch-size: 14px;
      --vh-bb-merch-pad: 5px 10px 4px;
      --vh-bb-merch-inset: 12px;
    }
  }
  .vh-bb--pdp {
    --vh-bb-ben-size: 17px;
    --vh-bb-ben-pad: 6px 16px;
    --vh-bb-ben-icon: 20px;
    --vh-bb-attr-size: 14px;
    --vh-bb-gap: 8px 12px;
    --vh-bb-margin: 4px 0 0;
  }
  .vh-bb--cart {
    --vh-bb-margin: 6px 0;
  }
  /* ===== end tokens ===== */

  .vh-bb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--vh-bb-gap);
    min-height: var(--vh-bb-row-min-h);
    margin: var(--vh-bb-margin, 0);
    color: var(--vh-bb-ink);
  }
  .vh-bb-ic {
    width: 1em;
    height: 1em;
    flex: none;
  }
  .vh-bb-icon {
    width: var(--vh-bb-ben-icon);
    height: var(--vh-bb-ben-icon);
    object-fit: contain;
    flex: none;
  }

  .vh-bb-ben {
    --vh-bb-c: var(--vh-bb-ben-default);
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: var(--vh-bb-ben-pad);
    border: 1px solid var(--vh-bb-c);
    border-radius: var(--vh-bb-ben-radius);
    background: color-mix(in srgb, var(--vh-bb-c) var(--vh-bb-ben-tint), #fff);
    color: color-mix(in srgb, var(--vh-bb-c) var(--vh-bb-ben-ink-mix), #000);
    font-family: var(--vh-bb-font-sc);
    font-size: var(--vh-bb-ben-size);
    line-height: 1.1;
    white-space: nowrap;
  }
  .vh-bb-ben--multi {
    flex-wrap: wrap;
    white-space: normal;
    row-gap: 2px;
    background: var(--vh-bb-multi-bg);
    border-color: var(--vh-bb-multi-border);
    color: var(--vh-bb-ink);
  }
  .vh-bb-seg {
    --vh-bb-c: var(--vh-bb-ben-default);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    color: color-mix(in srgb, var(--vh-bb-c) var(--vh-bb-ben-ink-mix), #000);
  }
  .vh-bb-plus {
    opacity: 0.6;
    font-family: var(--vh-bb-font-text);
  }

  .vh-bb-attr {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: var(--vh-bb-attr-pad);
    border: 1px solid var(--vh-bb-attr-border);
    border-radius: var(--vh-bb-attr-radius);
    color: var(--vh-bb-attr-ink);
    font-family: var(--vh-bb-font-text);
    font-size: var(--vh-bb-attr-size);
    line-height: 1.1;
    white-space: nowrap;
  }
  .vh-bb-attr .vh-bb-ic {
    width: 0.85em;
    height: 0.85em;
  }

  .vh-bb-onset {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: var(--vh-bb-font-italic);
    font-size: var(--vh-bb-onset-size);
    white-space: nowrap;
  }
  .vh-bb-onset .vh-bb-ic {
    color: var(--vh-bb-accent);
  }

  .vh-bb-merch {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: var(--vh-bb-merch-pad);
    border-radius: var(--vh-bb-merch-radius);
    background: var(--vh-bb-merch-bg);
    color: var(--vh-bb-merch-ink);
    font-family: var(--vh-bb-font-sc);
    font-size: var(--vh-bb-merch-size);
    letter-spacing: 0.03em;
    line-height: 1;
  }
  .vh-bb-merch .vh-bb-ic {
    width: 0.8em;
    height: 0.8em;
  }
  .vh-bb-merch--corner {
    position: absolute;
    top: var(--vh-bb-merch-inset);
    left: var(--vh-bb-merch-inset);
    z-index: 2;
    max-width: calc(100% - 2 * var(--vh-bb-merch-inset));
  }
/* END_SNIPPET:vh-benefit-badges */

/* START_SNIPPET:vh-benefit-card (INDEX:316) */
/* ===== NIM-3069 benefit product card: DESIGN TOKENS (restyle here only) ===== */
  .vh-bc {
    --vh-bc-ink: #291406;
    --vh-bc-muted: #5b4632;
    --vh-bc-faint: #8b7660;
    --vh-bc-accent: #d28132;
    --vh-bc-frame-bg: #ede3d0;
    --vh-bc-frame-line: #d28132;
    --vh-bc-frame-radius: 10px;
    --vh-bc-frame-pad: 7px;
    --vh-bc-frame-line-inset: 4px;
    --vh-bc-img-radius: 6px;
    --vh-bc-img-ratio: 4 / 5;
    --vh-bc-img-bg: #2a1a10;
    --vh-bc-gap: 9px;
    --vh-bc-font-title: var(--font-kennerley-bold, 'LTC Kennerley Pro Bold'), Georgia, serif;
    --vh-bc-font-text: var(--font-kennerley, 'LTC Kennerley Pro Regular'), Georgia, serif;
    --vh-bc-font-btn: var(--font-shango-gothic-medium, 'Shango Gothic'), sans-serif;
    --vh-bc-font-script: var(--font-mrs-saint-delafield, 'Mrs Saint Delafield'), cursive;
    --vh-bc-title-size: 16.5px;
    --vh-bc-desc-size: 13px;
    --vh-bc-price-size: 16px;
    --vh-bc-rating-size: 12px;
    --vh-bc-btn-bg: #d28132;
    --vh-bc-btn-ink: #fff;
    --vh-bc-btn-h: 40px;
    --vh-bc-btn-size: 13.5px;
    --vh-bc-btn-radius: 38px;
    --vh-bc-hl-bg: #f6e3c8;
    --vh-bc-hl-size: 26px;
  }
  @media screen and (min-width: 750px) {
    .vh-bc {
      --vh-bc-frame-radius: 14px;
      --vh-bc-frame-pad: 12px;
      --vh-bc-frame-line-inset: 7px;
      --vh-bc-img-radius: 8px;
      --vh-bc-gap: 14px;
      --vh-bc-title-size: 22px;
      --vh-bc-desc-size: 16px;
      --vh-bc-price-size: 19px;
      --vh-bc-rating-size: 13px;
      --vh-bc-btn-h: 42px;
      --vh-bc-btn-size: 15px;
      --vh-bc-hl-size: 34px;
    }
  }
  /* ===== end tokens ===== */

  .vh-bc {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--vh-bc-gap);
    min-width: 0;
    color: var(--vh-bc-ink);
    font-family: var(--vh-bc-font-text);
  }
  .vh-bc__frame {
    position: relative;
    padding: var(--vh-bc-frame-pad);
    border-radius: var(--vh-bc-frame-radius);
    background: var(--vh-bc-frame-bg);
  }
  .vh-bc__frame::before {
    content: '';
    position: absolute;
    inset: var(--vh-bc-frame-line-inset);
    border: 1px solid var(--vh-bc-frame-line);
    border-radius: calc(var(--vh-bc-frame-radius) - var(--vh-bc-frame-line-inset) + 2px);
    pointer-events: none;
  }
  .vh-bc__media {
    position: relative;
    display: block;
    aspect-ratio: var(--vh-bc-img-ratio);
    overflow: hidden;
    border-radius: var(--vh-bc-img-radius);
    background: var(--vh-bc-img-bg);
  }
  .vh-bc__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .vh-bc .vh-bb-merch--corner {
    top: calc(var(--vh-bc-frame-pad) + var(--vh-bb-merch-inset));
    left: calc(var(--vh-bc-frame-pad) + var(--vh-bb-merch-inset));
  }
  .vh-bc .vh-bb {
    flex-direction: column;
    align-items: flex-start;
  }
  @media screen and (min-width: 750px) {
    .vh-bc .vh-bb {
      flex-direction: row;
      align-items: center;
    }
  }
  .vh-bc__title {
    margin: 0;
    font-family: var(--vh-bc-font-title);
    font-weight: 700;
    font-size: var(--vh-bc-title-size);
    line-height: 1.15;
    letter-spacing: -0.01em;
    text-transform: none;
    color: inherit;
  }
  .vh-bc__title a {
    color: inherit;
    text-decoration: none;
  }
  .vh-bc__desc {
    margin: 0;
    font-size: var(--vh-bc-desc-size);
    line-height: 1.3;
    color: var(--vh-bc-muted);
  }
  .vh-bc__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    margin-top: auto;
  }
  @media screen and (min-width: 750px) {
    .vh-bc__meta {
      flex-direction: row;
      justify-content: space-between;
      align-items: baseline;
      gap: 10px;
    }
  }
  .vh-bc__rating {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    font-size: var(--vh-bc-rating-size);
    color: var(--vh-bc-muted);
  }
  .vh-bc__stars {
    letter-spacing: 1px;
    white-space: nowrap;
    background: linear-gradient(90deg, var(--vh-bc-accent) var(--vh-bc-pct, 100%), rgb(34 31 25 / 0.22) var(--vh-bc-pct, 100%));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }
  .vh-bc__price {
    font-family: var(--vh-bc-font-title);
    font-weight: 700;
    font-size: var(--vh-bc-price-size);
  }
  .vh-bc__price s {
    margin-right: 6px;
    font-family: var(--vh-bc-font-text);
    font-weight: 400;
    font-size: 0.85em;
    color: var(--vh-bc-faint);
  }
  .vh-bc__form {
    margin: 0;
  }
  .vh-bc__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: var(--vh-bc-btn-h);
    padding: 0 10px;
    border: 0;
    border-radius: var(--vh-bc-btn-radius);
    background: var(--vh-bc-btn-bg);
    color: var(--vh-bc-btn-ink);
    font-family: var(--vh-bc-font-btn);
    font-size: var(--vh-bc-btn-size);
    text-transform: uppercase;
    letter-spacing: -0.01em;
    cursor: pointer;
  }
  .vh-bc__btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
  }
  .vh-bc__btn:focus-visible,
  .vh-bc__title a:focus-visible {
    outline: 2px solid var(--vh-bc-ink);
    outline-offset: 2px;
  }

  .vh-bc--highlight .vh-bc__frame {
    background: var(--vh-bc-hl-bg);
    box-shadow: 0 0 0 2px var(--vh-bc-accent), 0 10px 28px rgb(210 129 50 / 0.28);
  }
  .vh-bc__highlight {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 3;
    transform: translate(-50%, -50%);
    padding: 4px 18px 2px;
    border-radius: 30px;
    background: var(--vh-bc-accent);
    color: #fff;
    font-family: var(--vh-bc-font-script);
    font-size: var(--vh-bc-hl-size);
    line-height: 1;
    white-space: nowrap;
  }
/* END_SNIPPET:vh-benefit-card */

/* START_SNIPPET:vh-pdp-lower-base (INDEX:321) */
/* NIM-2961: shared base for the Velvet Hammer PDP lower sections.
   Every selector is scoped under .vh-pdp-lower. Section-specific rules live in each section's own stylesheet.
   Fonts are the theme's brand type variables (never a mockup font). Colors are the mockup tokens, scoped here. */
.vh-pdp-lower {
  --vh-ink: #1c1119;
  --vh-velvet: #fbf9f5;
  --vh-velvet-2: #e9e2d6;
  --vh-parchment: #221f19;
  --vh-parchment-dim: #5f574d;
  --vh-cream: #f2efe9;
  --vh-burg: #5c1f2e;
  --vh-burg-2: #7a2c3d;
  --vh-gold: #b08a3e;
  --vh-gold-soft: #8e6c2a;
  --vh-gold-on-dark: #d4b36a;
  --vh-gold-wash: #f5ecd9;
  --vh-moss: #486645;
  --vh-gold-text: #7a5c1f;
  --vh-violet: #4b3470;
  --vh-light: #f6eee4;
  --vh-light-2: #f2e6d6;
  --vh-muted-dark: #cdb9a9;
  --vh-line: rgba(34, 31, 25, 0.16);
  --vh-display: var(--font-h2--family, var(--font-shango-gothic-medium, sans-serif));
  --vh-italic: var(--font-kennerley-italic, Georgia, serif);
  --vh-body: var(--font-paragraph--family, var(--font-kennerley, Georgia, serif));

  position: relative;
  box-sizing: border-box;
  padding-block: 52px;
  background: var(--vh-cream);
  color: var(--vh-parchment);
  font-family: var(--vh-body);
  font-size: 1.0625rem;
  line-height: 1.5;
  overflow-wrap: break-word;
}

.vh-pdp-lower *,
.vh-pdp-lower *::before,
.vh-pdp-lower *::after {
  box-sizing: border-box;
}

.vh-pdp-lower h2,
.vh-pdp-lower h3 {
  margin: 0;
  font-family: var(--vh-display);
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.1;
  text-wrap: balance;
  color: inherit;
}

.vh-pdp-lower h2 {
  font-size: clamp(1.75rem, 5.6vw, 2.75rem);
}

.vh-pdp-lower h3 {
  font-size: 1.3rem;
  line-height: 1.2;
}

.vh-pdp-lower em {
  font-family: var(--vh-italic);
  font-style: italic;
  color: var(--vh-burg);
}

.vh-pdp-lower p {
  margin: 0;
}

.vh-pdp-lower sup {
  font-size: 0.6em;
  line-height: 0;
  color: var(--vh-parchment-dim);
  font-style: normal;
}

.vh-pdp-lower__wrap {
  width: 100%;
  max-width: 1120px;
  margin-inline: auto;
  padding-inline: 20px;
}

.vh-pdp-lower__eyebrow {
  display: block;
  font-family: var(--vh-display);
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--vh-gold-text);
}

.vh-pdp-lower__head {
  display: grid;
  gap: 8px;
  margin-bottom: 20px;
  max-width: 40ch;
}

.vh-pdp-lower__head p {
  color: var(--vh-parchment-dim);
}

.vh-pdp-lower__disc {
  margin-top: 18px;
  font-size: 0.78rem;
  max-width: 70ch;
  color: var(--vh-parchment-dim);
}

.vh-pdp-lower__stars {
  color: var(--vh-gold-text);
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.vh-pdp-lower__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 52px;
  padding: 14px 28px;
  border: 0;
  border-radius: 999px;
  background: var(--vh-burg);
  color: var(--vh-light);
  font-family: var(--vh-display);
  font-size: 1rem;
  letter-spacing: 0.02em;
  text-decoration: none;
  cursor: pointer;
}

.vh-pdp-lower__btn:hover {
  background: var(--vh-burg-2);
}

.vh-pdp-lower__btn[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Accordion (details), shared by science and FAQ */
.vh-pdp-lower__acc {
  border-top: 1px solid var(--vh-line);
}

.vh-pdp-lower__acc details {
  border-bottom: 1px solid var(--vh-line);
}

.vh-pdp-lower__acc summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-block: 15px;
  list-style: none;
  cursor: pointer;
  font-size: 1.05rem;
}

.vh-pdp-lower__acc summary::-webkit-details-marker {
  display: none;
}

.vh-pdp-lower__acc summary::after {
  content: '+';
  flex: 0 0 auto;
  font-family: var(--vh-display);
  font-size: 1.4rem;
  line-height: 1;
  color: var(--vh-burg);
}

.vh-pdp-lower__acc details[open] summary::after {
  content: '\2013';
}

.vh-pdp-lower__acc-body {
  display: grid;
  gap: 8px;
  max-width: 60ch;
  padding-bottom: 16px;
  color: var(--vh-parchment-dim);
  font-size: 0.98rem;
}

.vh-pdp-lower__acc-body b,
.vh-pdp-lower__acc-body strong {
  color: var(--vh-parchment);
}

.vh-pdp-lower a:focus-visible,
.vh-pdp-lower button:focus-visible,
.vh-pdp-lower summary:focus-visible,
.vh-pdp-lower [tabindex]:focus-visible {
  outline: 2px solid var(--vh-gold-soft);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .vh-pdp-lower * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

@media (min-width: 800px) {
  .vh-pdp-lower {
    padding-block: 84px;
  }
}
/* END_SNIPPET:vh-pdp-lower-base */

/* START_SNIPPET:vh-pdp-sticky-atc (INDEX:322) */
.vh-pdp-sticky {
    --vh-ink: #1c1119;
    --vh-velvet: #fbf9f5;
    --vh-parchment: #221f19;
    --vh-parchment-dim: #6e655b;
    --vh-burg: #5c1f2e;
    --vh-burg-2: #7a2c3d;
    --vh-light: #f6eee4;
    --vh-line: rgb(34 31 25 / 0.12);
    --vh-body: var(--font-kennerley), Georgia, serif;
    --vh-bold: var(--font-kennerley-bold), Georgia, serif;

    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 50;
    display: none;
    transform: translateY(110%);
    visibility: hidden;
    transition: transform 0.28s ease, visibility 0s linear 0.28s;
    pointer-events: none;
    color: var(--vh-parchment);
    font-family: var(--font-kennerley), Georgia, serif;
  }

  .vh-pdp-sticky.is-visible {
    transform: none;
    visibility: visible;
    transition: transform 0.28s ease, visibility 0s;
    pointer-events: auto;
  }

  @media (max-width: 799px) {
    .vh-pdp-sticky {
      display: block;
    }

    /* Keep the last content clear of the pinned bar. */
    body:has(.vh-pdp-sticky) {
      padding-block-end: calc(76px + env(safe-area-inset-bottom, 0px));
    }
  }

  .vh-pdp-sticky__in {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
    background: rgb(251 249 245 / 0.97);
    border-top: 1px solid var(--vh-line);
    box-shadow: 0 -10px 30px rgb(28 17 25 / 0.12);
    backdrop-filter: blur(8px);
  }

  .vh-pdp-sticky__img {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    object-fit: cover;
  }

  .vh-pdp-sticky__text {
    display: block;
    flex: 1;
    min-width: 0;
    font-size: 13px;
    line-height: 1.3;
  }

  .vh-pdp-sticky__text b {
    display: block;
    overflow: hidden;
    font-family: var(--font-kennerley-bold), Georgia, serif;
    font-size: 15px;
    font-weight: 400;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .vh-pdp-sticky__text span {
    display: block;
    overflow: hidden;
    color: var(--vh-parchment-dim);
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .vh-pdp-sticky__btn {
    flex: 0 0 auto;
    min-height: 46px;
    padding: 10px 18px;
    border: 0;
    border-radius: 999px;
    background: var(--vh-burg);
    color: var(--vh-light);
    font-family: var(--font-kennerley-bold), Georgia, serif;
    font-size: 15px;
    letter-spacing: 0.02em;
    white-space: nowrap;
    cursor: pointer;
  }

  .vh-pdp-sticky__btn:hover:not(:disabled) {
    background: var(--vh-burg-2);
  }

  .vh-pdp-sticky__btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
  }

  .vh-pdp-sticky__btn:focus-visible {
    outline: 2px solid #8e6c2a;
    outline-offset: 3px;
  }

  @media (prefers-reduced-motion: reduce) {
    .vh-pdp-sticky,
    .vh-pdp-sticky.is-visible {
      transition: none;
    }
  }
/* END_SNIPPET:vh-pdp-sticky-atc */

/* START_SNIPPET:video (INDEX:327) */
.video-interaction-hint {
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: var(--layer-flat);
  }

  .video-interaction-hint:hover {
    opacity: 1;
  }
/* END_SNIPPET:video */