.refer-slideshow, .topbar-section,
.countdown-timer-section, .multicolumn-with-icons,
.refer-collection-list, .image-and-text-overlay, .refer-scrolling-text,
.refer-rich-text, .refer-shop-the-look {

  /* :root { */
  --color-background: var(--color-base-background);
  --color-background-2: var(--color-base-background);
  --color-foreground: var(--color-base-text);
  --color-border: var(--color-foreground)/ 0.1;
  --color-border-dark: var(--color-foreground)/ 0.4;
  --color-border-light: var(--color-foreground)/ 0.06;
  --color-highlight: var(--color-base-highlight);
  --color-button-background: var(--color-base-button);
  --color-button-gradient: var(--color-base-button-gradient);
  --color-button-border: var(--color-base-button);
  --color-button-text: var(--color-base-button-text);
  --opacity-025: 0.025;
  --opacity-045: 0.045;
  --opacity-115: 0.115;
  --opacity-600: 0.6;
  --font-normal: 400;
  --font-medium: 500;
  --font-bold: 700;

  --animation-nav: 0.5s cubic-bezier(0.6, 0, 0.4, 1);
  --animation-primary: 0.5s cubic-bezier(0.3, 1, 0.3, 1);
  --animation-smooth: 0.7s cubic-bezier(0.7, 0, 0.3, 1);
  --animation-fast: 0.3s cubic-bezier(0.7, 0, 0.3, 1);
  --animation-short: 0.2s cubic-bezier(0.7, 0, 0.3, 1);

  --fluid-2xl-to-4xl: clamp(var(--text-2xl), 0.6307rem + 1.3636vw, var(--text-4xl));
  --fluid-xl-to-3xl: clamp(var(--text-xl), 0.4966rem + 1.1818vw, var(--text-3xl));
  --fluid-lg-to-2xl: clamp(var(--text-lg), 0.9722rem + 0.4444vw, var(--text-2xl));
  --fluid-base-to-xl: clamp(var(--text-base), 0.873rem + 0.3175vw, var(--text-xl));
  --fluid-base-to-2xl: clamp(var(--text-base), 0.746rem + 0.6349vw, var(--text-2xl));
  --fluid-sm-to-lg: clamp(var(--text-sm), 0.748rem + 0.3174vw, var(--text-lg));
  --fluid-sm-to-base: clamp(var(--text-sm), 0.8115rem + 0.1587vw, var(--text-base));
  --fluid-xs-to-sm: clamp(var(--text-xs), 0.7297rem + 0.1013vw, var(--text-sm));

  --border-radius: clamp(var(--sp-4), 1.578vw, var(--sp-7d5));
  --border-radius-medium: calc(clamp(1em, 1.7vw, 1.7em)*1.2);
  --border-radius-small: calc(clamp(1em, 1.7vw, 1.7em)*0.5);
  --rounded-full: 9999px;
  --input-height: var(--sp-13);
  --input-padding-inline: var(--sp-6d5);
  --transform-logical: 1;
  --transform-origin-start: left;
  --transform-origin-end: right;

  --text-h0: var(--sp-16);
  --text-h1: var(--sp-9);
  --text-h2: var(--sp-6);
  --text-h3: var(--sp-5);
  --text-h4: var(--sp-4d5);
  --text-h5: var(--sp-4);
  --text-h6: var(--sp-4d5);
  --title-sm: clamp(var(--text-2xl), 2.526vw, var(--text-5xl));
  --title-md: clamp(var(--sp-8), 3.368vw, var(--sp-16));
  --title-lg: clamp(var(--sp-10), 3.368vw, var(--sp-16));
  --title-xl: clamp(var(--sp-12), 7.813vw, var(--sp-20));

  --color-red-200: 254 202 202;
  --color-red-300: 252 165 165;
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-ring-inset: inset;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgba(59, 130, 246, .5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;

  --screen-height: 100vh;
  --topbar-height: 0px;
  --header-height: 0px;
  --ratio-percent: 56.25%;
  /* } */

  @media screen and (min-width: 768px) {
    /* :root { */
      --text-h1: var(--sp-12);
      --text-h2: var(--sp-7d5);
      --text-h3: var(--sp-6);
      --text-h4: var(--sp-5d5);
      --text-h5: var(--sp-4d5);
      --text-h6: var(--sp-4);
    /* } */
  }

  @media screen and (min-width: 1024px) {
    /* :root { */
      --title-lg: clamp(var(--sp-12), 4.73vw, var(--sp-23));
      --title-xl: clamp(var(--sp-20), 6.737vw, var(--sp-32));
      --text-h1: var(--sp-14);
      --text-h2: var(--sp-9);
      --text-h3: var(--sp-7d5);
      --text-h4: var(--sp-6);
      --text-h5: var(--sp-5);
    /* } */
  }

  /*! photoswipe */

  .pswp {
    --pswp-bg: rgb(var(--color-background));
    --pswp-placeholder-bg: rgb(var(--color-placeholder));
    --pswp-root-z-index: 100000;
    --pswp-preloader-color: rgb(var(--color-foreground));
    --pswp-preloader-color-secondary: rgb(var(--color-foreground));
    --pswp-icon-color: rgb(var(--color-foreground));
    --pswp-icon-color-secondary: rgb(var(--color-foreground));
    --pswp-icon-stroke-color: rgb(var(--color-foreground));
    --pswp-icon-stroke-width: 2px;
    --pswp-error-text-color: var(--pswp-icon-color);
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    contain: layout style size;
    display: none;
    width: 100%;
    height: 100%;
    opacity: .003;
    position: fixed;
    inset-block-start: 0;
    inset-inline-start: 0;
    touch-action: none;
    z-index: var(--pswp-root-z-index)
  }

  .pswp,
  .pswp:focus {
    outline: 0
  }

  .pswp * {
    box-sizing: border-box
  }

  .pswp img {
    max-width: none
  }

  .pswp--open {
    display: block
  }

  .pswp,
  .pswp__bg {
    transform: translateZ(0);
  }

  .pswp__bg {
    background: var(--pswp-bg);
    opacity: .005
  }

  .pswp__bg:empty {
    display: block;
  }

  .pswp,
  .pswp__scroll-wrap {
    overflow: hidden
  }

  .pswp__bg,
  .pswp__container,
  .pswp__content,
  .pswp__img,
  .pswp__item,
  .pswp__scroll-wrap,
  .pswp__zoom-wrap {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }

  .pswp__img,
  .pswp__zoom-wrap {
    height: auto;
    width: auto
  }

  .pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
    cursor: zoom-in
  }

  .pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
    cursor: move;
    cursor: grab
  }

  .pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
    cursor: grabbing
  }

  .pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
  .pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,
  .pswp__img {
    cursor: zoom-out
  }

  .pswp__button,
  .pswp__container,
  .pswp__counter,
  .pswp__img {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
  }

  .pswp__item {
    overflow: hidden;
    z-index: 1
  }

  .pswp__hidden {
    display: none !important
  }

  .pswp__content {
    pointer-events: none
  }

  .pswp__content>* {
    pointer-events: auto
  }

  .pswp__error-msg-container {
    display: grid
  }

  .pswp__error-msg {
    color: var(--pswp-error-text-color);
    font-size: 1em;
    line-height: 1;
    margin: auto
  }

  .pswp .pswp__hide-on-close {
    opacity: .005;
    pointer-events: none;
    transition: opacity var(--pswp-transition-duration) cubic-bezier(.4, 0, .22, 1);
    z-index: 10
  }

  .pswp--ui-visible .pswp__hide-on-close {
    opacity: 1;
    pointer-events: auto
  }

  .pswp__button {
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    backdrop-filter: blur(12px);
    background-color: rgb(var(--color-background)/ 0.6);
    border: 1px solid rgb(var(--color-border));
    border-radius: var(--rounded-full);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    cursor: pointer;
    display: block;
    height: var(--sp-12);
    margin: 0;
    opacity: 1;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: var(--sp-12)
  }

  @media screen and (min-width: 768px) {
    .pswp__button {
      height: var(--sp-15);
      width: var(--sp-15)
    }
  }

  button.pswp__button {
    -webkit-touch-callout: none;
    -webkit-appearance: none;
    background-color: rgb(var(--color-background)/ 0.6);
  }

  .pswp__button:disabled {
    cursor: auto;
    opacity: .3
  }

  .pswp__button .pswp__icn {
    --tw-translate-x: -50%;
    --tw-translate-y: -50%;
    fill: var(--pswp-icon-color);
    color: var(--pswp-icon-color-secondary);
    width: var(--sp-6);
    height: var(--sp-6);
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    transform: translate(calc(var(--tw-translate-x) * var(--transform-logical)), var(--tw-translate-y)) scaleX(calc(var(--tw-scale-x) * var(--transform-logical))) scaleY(var(--tw-scale-y));
  }

  @media screen and (min-width: 768px) {
    .pswp__button .pswp__icn {
      height: var(--sp-7d5);
      width: var(--sp-7d5)
    }
  }

  .pswp__button--zoom .pswp__icn {
    height: var(--sp-5);
    width: var(--sp-5)
  }

  @media screen and (min-width: 768px) {
    .pswp__button--zoom .pswp__icn {
      height: var(--sp-6);
      width: var(--sp-6)
    }
  }

  .pswp__icn-shadow {
    stroke: var(--pswp-icon-stroke-color);
    stroke-width: var(--pswp-icon-stroke-width);
    fill: none
  }

  .pswp__icn:focus {
    outline: 0
  }

  .pswp__img--with-bg,
  div.pswp__img--placeholder {
    background: var(--pswp-placeholder-bg)
  }

  .pswp__top-bar {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: var(--sp-12);
    justify-content: flex-end;
    padding-inline: var(--sp-5);
    position: absolute;
    inset-block-start: var(--sp-5);
    inset-inline-start: 0;
    z-index: 10
  }

  @media screen and (min-width: 768px) {
    .pswp__top-bar {
      height: var(--sp-15)
    }
  }

  .pswp__top-bar {
    pointer-events: none !important
  }

  .pswp__top-bar>* {
    pointer-events: auto;
  }

  .pswp__button--close {
    -webkit-margin-start: var(--sp-2);
    margin-inline-start: var(--sp-2)
  }

  .pswp__button--arrow {
    color: rgb(var(--color-foreground));
    width: var(--sp-12);
    height: var(--sp-12);
    position: absolute;
    inset-block-start: auto;
    inset-block-end: var(--sp-5);
  }

  @media screen and (min-width: 768px) {
    .pswp__button--arrow {
      --tw-translate-y: -50%;
      width: var(--sp-15);
      height: var(--sp-15);
      inset-block-start: 50%;
      transform: translate(var(--tw-translate-x), var(--tw-translate-y));
    }
  }

  .pswp__button--arrow:disabled {
    cursor: default;
    display: none
  }

  .pswp__button--arrow .pswp__icn {
    fill: transparent
  }

  .pswp--one-slide .pswp__button--arrow {
    display: none
  }

  .pswp--touch .pswp__button--arrow {
    visibility: hidden
  }

  .pswp--has_mouse .pswp__button--arrow {
    visibility: visible
  }

  .pswp__button--arrow--prev {
    inset-inline-start: var(--sp-6);
    inset-inline-end: auto
  }

  .pswp__button--arrow--next {
    inset-inline-end: var(--sp-6)
  }

  .pswp__button--arrow--next .pswp__icn {
    --tw-scale-x: -1;
  }

  .pswp__button--zoom {
    display: none
  }

  .pswp--zoom-allowed .pswp__button--zoom {
    display: block
  }

  .pswp--zoomed-in .pswp__zoom-icn-bar-v {
    display: none
  }

  .pswp__preloader {
    width: 50px;
    height: 60px;
    margin-inline-end: auto;
    overflow: hidden;
    position: relative;
  }

  .pswp__preloader .pswp__icn {
    animation: pswp-clockwise .6s linear infinite;
    opacity: 0;
    transition: opacity .2s linear
  }

  .pswp__preloader--active .pswp__icn {
    opacity: .85
  }

  @keyframes pswp-clockwise {
    0% {
      transform: rotate(0deg)
    }

    to {
      transform: rotate(1turn)
    }
  }

  .pswp__counter {
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-backdrop-blur: blur(12px);
    align-items: center;
    backdrop-filter: blur(12px);
    background-color: rgb(var(--color-background)/ 0.6);
    border: 1px solid rgb(var(--color-border));
    border-radius: var(--rounded-full);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    display: flex;
    font-size: var(--text-sm);
    height: var(--sp-12);
    justify-content: center;
    line-height: 1.6;
    margin: 0;
    opacity: 1;
    padding-block: 0;
    padding-inline: var(--sp-6);
    position: relative
  }

  @media screen and (min-width: 768px) {
    .pswp__counter {
      font-size: var(--text-base);
      height: var(--sp-15);
      line-height: 1.6;
      padding-inline: var(--sp-8);
    }
  }

  .pswp--one-slide .pswp__counter {
    display: none
  }

  .pswp__video-container {
    background-color: var(--pswp-placeholder-bg);
  }

  .pswp__video-container> :is(video, iframe) {
    width: 100%;
    height: 100%;
  }

  .pswp__video-container> :is(model-viewer) {
    display: block;
    width: 800px;
    height: 800px;
    max-width: 100%;
    max-height: 100%;
  }

  .pswp__video-container .deferred-media :is(.shopify-model-viewer-ui, model-viewer),
  .pswp__video-container .deferred-media :is(.shopify-model-viewer-ui, model-viewer)~.play-button {
    display: none;
  }

  .pswp__video-container .play-button {
    width: var(--sp-10);
    height: var(--sp-10);
    inset-inline-end: var(--sp-4);
    inset-block-start: var(--sp-4);
    background-color: rgb(var(--color-background));
  }

  .pswp__video-container .play-button .icon {
    width: var(--sp-4);
    height: var(--sp-4);
  }

  @media screen and (min-width: 1024px) {
    .pswp__video-container .play-button {
      width: var(--sp-14);
      height: var(--sp-14);
    }

    .pswp__video-container .play-button .icon {
      width: var(--sp-5);
      height: var(--sp-5);
    }
  }

  /*! flickity */

  .flickity-enabled {
    position: relative
  }

  .flickity-enabled:focus {
    outline: none
  }

  .flickity-viewport {
    height: 100%;
    overflow: hidden;
    position: relative
  }

  .flickity-slider {
    position: absolute;
    height: 100%;
    width: 100%
  }

  .flickity-enabled.is-draggable {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    user-select: none
  }

  .flickity-enabled.is-draggable .flickity-viewport {
    cursor: move;
    cursor: grab
  }

  .flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
    cursor: grabbing
  }

  .flickity-slider .flickity-cell {
    position: absolute;
    left: 0;
  }

  .flickity-rtl .flickity-cell {
    left: unset;
    right: 0;
  }

  .flickity-button {
    background: hsla(0, 0%, 100%, .75);
    border: none;
    color: #333;
    position: absolute
  }

  .flickity-button:hover {
    background: #fff;
    cursor: pointer
  }

  .flickity-button:focus {
    box-shadow: 0 0 0 5px #19f;
    outline: none
  }

  .flickity-button:active {
    opacity: .6
  }

  .flickity-button:disabled {
    cursor: auto;
    opacity: .3;
    pointer-events: none
  }

  .flickity-button-icon {
    fill: currentColor
  }

  .flickity-prev-next-button {
    border-radius: 50%;
    height: 44px;
    width: 44px;
    inset-block-start: 50%;
    transform: translateY(-50%);
  }

  .flickity-prev-next-button.previous {
    inset-inline-start: 10px
  }

  .flickity-prev-next-button.next {
    inset-inline-end: 10px
  }

  .flickity-prev-next-button .flickity-button-icon {
    height: 60%;
    width: 60%;
    position: absolute;
    inset-block-start: 20%;
    inset-inline-start: 20%;
  }

  .flickity-page-dots {
    padding: 0;
    margin: 0;
    margin-block-start: var(--sp-6);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    list-style: none;
  }

  .flickity-rtl .flickity-page-dots {
    direction: rtl
  }

  .flickity-page-dot {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--sp-6);
    height: var(--sp-6);
    border-radius: var(--rounded-full);
    transition: box-shadow var(--animation-primary);
  }

  .flickity-page-dot:before {
    content: '';
    display: block;
    width: 5px;
    height: 5px;
    background-color: rgb(var(--color-foreground));
    border-radius: var(--rounded-full);
    transition: var(--animation-primary);
    transition-property: background-color, box-shadow;
  }

  .flickity-page-dot.is-selected:before,
  .flickity-page-dot[aria-current=true]:before {
    width: 5px;
    height: 5px;
    background-color: transparent;
    box-shadow: 0 0 0 2px rgb(var(--color-foreground));
  }

  .flickity-enabled.is-fade .flickity-slider>* {
    pointer-events: none;
    z-index: 0;
  }

  .flickity-enabled.is-fade .flickity-slider>.is-selected {
    pointer-events: auto;
    z-index: 1;
  }

  .indicators[hidden] {
    display: none;
  }

  .indicators .button {
    --color-button-background: var(--color-foreground);
    --color-button-text: var(--color-background);
    --color-button-border: var(--color-foreground);
    --buttons-border-width: 1px;
    --buttons-radius: var(--rounded-full);
    --buttons-width: var(--sp-12);
    padding: 0;
    box-shadow: none;
    height: var(--buttons-width);
    width: var(--buttons-width);
  }

  @media screen and (min-width: 1280px) {
    .indicators .button {
      --buttons-width: var(--sp-14);
    }
  }

  .indicators .button[hidden] {
    display: none;
  }

  .indicators .button[disabled] {
    opacity: .3;
    pointer-events: none;
  }

  .indicators--small .button {
    --buttons-width: var(--sp-9);
  }

  .slider .indicators {
    gap: clamp(var(--sp-4), 2.105vw, var(--sp-10));
    transition: opacity var(--animation-primary);
  }

  .slider .indicators:before,
  .slider .indicators:after {
    content: '';
  }

  .slider .indicators .button:first-child {
    margin-inline-end: auto;
  }

  .slider .indicators .button:last-child {
    margin-inline-start: auto;
  }

  .slider .indicators .button {
    opacity: 0.7;
  }

  .slider .indicators .button[disabled] {
    opacity: 0;
  }

  @media screen and (pointer: fine) {
    .slider:hover .indicators {
      opacity: 1;
    }
  }

  /*! base */

  @keyframes fade-in {
    0% {
      opacity: 0
    }

    to {
      opacity: 1
    }
  }

  @keyframes fade-out {
    0% {
      opacity: 1
    }

    to {
      opacity: 0
    }
  }

  @keyframes appear-down {
    0% {
      opacity: 0;
      transform: translateY(-1rem)
    }

    to {
      opacity: 1;
      transform: translateY(0)
    }
  }

  @keyframes appear-up {
    0% {
      opacity: 0;
      transform: translateY(1rem)
    }

    to {
      opacity: 1;
      transform: translateY(0)
    }
  }

  *,
  :after,
  :before {
    box-sizing: border-box
  }

  html {
    touch-action: manipulation;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    font-feature-settings: normal
  }

  .no-js:not(html) {
    display: none !important;
  }

  html.no-js .no-js:not(html) {
    display: block !important;
  }

  html.no-js .no-js-hidden {
    display: none !important;
  }

  body {
    background-color: var(--color-background);
    color: var(--color-foreground);
    font-family: var(--font-body-family);
    font-style: var(--font-body-style);
    font-weight: var(--font-body-weight);
    font-size: var(--text-base);
    line-height: var(--font-body-line-height);
    letter-spacing: var(--font-body-letter-spacing);
    overflow-x: hidden;
    line-height: inherit;
    margin: 0;
  }

  hr {
    color: inherit;
    height: 0;
    border-block-end: 0;
    border-block-start: 1px solid rgb(var(--color-border));
  }

  abbr:where([title]) {
    text-decoration: underline dotted
  }

  blockquote,
  .heading,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .h0,
  .h1,
  .h2,
  .h3,
  .h4,
  .h5,
  .h6 {
    font-family: var(--font-heading-family);
    font-style: var(--font-heading-style);
    font-weight: var(--font-heading-weight);
    letter-spacing: var(--font-heading-letter-spacing);
    line-height: var(--font-heading-line-height);
    text-transform: var(--font-heading-text-transform);
    color: rgb(var(--color-foreground));
    word-break: break-word;
  }

  .h0 {
    font-size: var(--text-h0);
    line-height: 1
  }

  .h1,
  .rte h1:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
    font-size: var(--text-h1);
    line-height: 1.1
  }

  .h2,
  .rte h2:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
    font-size: var(--text-h2);
    line-height: 1.3
  }

  .h3,
  .rte h3:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
    font-size: var(--text-h3);
    line-height: 1.4
  }

  .h4,
  .rte h4:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
    font-size: var(--text-h4);
    line-height: 1.4
  }

  .h5,
  .rte h5:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
    font-size: var(--text-h5);
    line-height: 1.5
  }

  .h6,
  .rte h6:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
    font-size: var(--text-h6);
    line-height: 1.5
  }

  @media screen and (max-width: 1023px) {

    .h2,
    .rte h2:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
      line-height: 1.1
    }

    .h3,
    .rte h3:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
      line-height: 1.3
    }
  }

  @media screen and (min-width: 768px) {

    .h1,
    .rte h1:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
      line-height: 1
    }
  }

  .rte blockquote,
  .rte blockquote p {
    font-size: var(--text-h2);
    line-height: 1.3;
  }

  .rte blockquote {
    position: relative;
    --quote-icon-width: 48px;
    --quote-icon-height: 48px;
  }

  a {
    color: inherit;
    text-decoration: inherit
  }

  b,
  strong {
    font-weight: bolder
  }

  code,
  kbd,
  pre,
  samp {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
    font-size: 1em
  }

  small {
    font-size: 80%
  }

  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
  }

  sub {
    inset-block-end: -.25em
  }

  sup {
    inset-block-start: -.5em
  }

  table {
    border-collapse: collapse;
    border-color: inherit;
    text-indent: 0
  }

  button,
  input,
  optgroup,
  select,
  textarea {
    color: inherit;
    font-family: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    border: none;
    margin: 0;
    padding: 0
  }

  button,
  select {
    text-transform: none
  }

  [type=button],
  [type=reset],
  [type=submit],
  button {
    appearance: button;
    background-color: transparent;
    background-image: none
  }

  :-moz-focusring {
    outline: auto
  }

  :-moz-ui-invalid {
    box-shadow: none
  }

  progress {
    vertical-align: baseline
  }

  ::-webkit-inner-spin-button,
  ::-webkit-outer-spin-button {
    height: auto
  }

  [type=search] {
    appearance: textfield;
    outline-offset: -2px
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none
  }

  ::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
  }

  summary {
    display: list-item
  }

  blockquote,
  dd,
  dl,
  figure,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  hr,
  p,
  pre {
    margin: 0
  }

  fieldset {
    margin: 0
  }

  fieldset,
  legend {
    padding: 0
  }

  menu,
  ol,
  ul {
    list-style: none;
    margin: 0;
    padding: 0
  }

  textarea {
    resize: vertical
  }

  [role=button],
  button {
    cursor: pointer
  }

  :disabled {
    cursor: default
  }

  audio,
  canvas,
  embed,
  iframe,
  img,
  object,
  svg,
  video {
    display: block;
    vertical-align: middle
  }

  img,
  video {
    height: auto;
    max-width: 100%
  }

  :focus:not(:focus-visible) {
    outline: none;
  }

  .sr-only {
    clip: rect(0, 0, 0, 0);
    border-width: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px
  }

  .pointer-events-none {
    pointer-events: none
  }

  .pointer-events-auto {
    pointer-events: auto
  }

  .visible {
    visibility: visible
  }

  .static {
    position: static
  }

  .fixed {
    position: fixed
  }

  .absolute {
    position: absolute
  }

  .relative {
    position: relative
  }

  .sticky {
    position: sticky
  }

  .box-border {
    box-sizing: border-box
  }

  .cursor-default {
    cursor: default
  }

  .cursor-pointer {
    cursor: pointer
  }

  .table-cell {
    display: table-cell;
  }

  .block {
    display: block
  }

  .inline-block {
    display: inline-block
  }

  .inline {
    display: inline
  }

  .flex {
    display: flex
  }

  .inline-flex {
    display: inline-flex
  }

  .flex-auto {
    flex: 0 0 auto;
  }

  .grid {
    display: grid
  }

  .contents {
    display: contents
  }

  .hidden,
  [hidden] {
    display: none
  }

  .overflow-hidden {
    overflow: hidden
  }

  .overflow-visible {
    overflow: visible
  }

  .p-0 {
    padding: 0
  }

  .py-0 {
    padding-block: 0;
  }

  .px-0 {
    padding-inline: 0;
  }

  .rounded-full {
    border-radius: var(--rounded-full)
  }

  .uppercase {
    text-transform: uppercase
  }

  .normal-case {
    text-transform: none
  }

  .text-left {
    text-align: start
  }

  .text-center {
    text-align: center
  }

  .text-right {
    text-align: end
  }

  .text-8xl {
    font-size: var(--text-8xl);
    line-height: 1.6
  }

  .text-6xl {
    font-size: var(--text-6xl);
    line-height: 1.6
  }

  .text-3xl {
    font-size: var(--text-3xl);
    line-height: 1.6
  }

  .text-2xl {
    font-size: var(--text-2xl);
    line-height: 1.6
  }

  .text-xl {
    font-size: var(--text-xl);
    line-height: 1.6
  }

  .text-lg {
    font-size: var(--text-lg);
    line-height: 1.6
  }

  .text-base {
    font-size: var(--text-base);
    line-height: 1.6
  }

  .text-2sm {
    font-size: var(--text-2sm);
    line-height: 1.6
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: 1.6
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: 1.6
  }

  .text-3xs {
    font-size: var(--text-3xs);
  }

  .text-sm-base {
    font-size: var(--fluid-sm-to-base);
  }

  .text-sm-lg {
    font-size: var(--fluid-sm-to-lg);
  }

  .text-base-xl {
    font-size: var(--fluid-base-to-xl);
  }

  .text-base-2xl {
    font-size: var(--fluid-base-to-2xl);
  }

  .text-lg-2xl {
    font-size: var(--fluid-lg-to-2xl);
  }

  .text-xl-3xl {
    font-size: var(--fluid-xl-to-3xl);
  }

  .font-bold {
    font-weight: var(--font-bold)
  }

  .font-medium {
    font-weight: var(--font-medium)
  }

  .font-normal {
    font-weight: var(--font-normal)
  }

  .italic {
    font-style: italic
  }

  .not-italic {
    font-style: normal
  }

  .list-none {
    list-style-type: none
  }

  .list-disc {
    list-style-type: disc
  }

  .list-decimal {
    list-style-type: decimal
  }

  .list-disc,
  .list-decimal {
    list-style-position: inside
  }

  .top-0 {
    inset-block-start: 0;
  }

  .top-100 {
    inset-block-start: 100%;
  }

  .left-0 {
    inset-inline-start: 0;
  }

  .left-100 {
    inset-inline-start: 100%;
  }

  .bottom-0 {
    inset-block-end: 0;
  }

  .bottom-100 {
    inset-block-end: 100%;
  }

  .right-0 {
    inset-inline-end: 0;
  }

  .right-100 {
    inset-inline-end: 100%;
  }

  .h-auto {
    height: auto
  }

  .h-full {
    height: 100%
  }

  .h-screen {
    height: 100vh
  }

  .w-auto {
    width: auto
  }

  .w-full {
    width: 100%
  }

  .w-screen {
    width: 100vw
  }

  .z-1 {
    z-index: 1
  }

  .z-2 {
    z-index: 2
  }

  .z-3 {
    z-index: 3
  }

  .z-10 {
    z-index: 10
  }

  .z-20 {
    z-index: 20
  }

  .z-25 {
    z-index: 25
  }

  .z-30 {
    z-index: 30
  }

  .z-35 {
    z-index: 35
  }

  .z-100 {
    z-index: 100
  }

  .max-w-full {
    max-width: 100%
  }

  .visible {
    visibility: visible
  }

  .invisible {
    visibility: hidden
  }

  .opacity-0 {
    opacity: 0
  }

  .transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
  }

  @keyframes spin {
    to {
      transform: rotate(1turn)
    }
  }

  .animate-spin {
    animation: spin 1s linear infinite
  }

  @keyframes rotator {
    0% {
      transform: rotate(0)
    }

    to {
      transform: rotate(270deg)
    }
  }

  .animate-rotator {
    animation: rotator 1.4s infinite linear
  }

  .select-none {
    user-select: none
  }

  .resize {
    resize: both
  }

  .col-span-6 {
    grid-column: span 6/span 6
  }

  .col-span-full {
    grid-column: 1/-1
  }

  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr))
  }

  .flex-row {
    flex-direction: row;
  }

  .flex-row-reverse {
    flex-direction: row-reverse;
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-col-reverse {
    flex-direction: column-reverse;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .flex-nowrap {
    flex-wrap: nowrap;
  }

  .items-start {
    align-items: flex-start;
  }

  .items-end {
    align-items: flex-end;
  }

  .items-center {
    align-items: center;
  }

  .items-baseline {
    align-items: baseline
  }

  .justify-start {
    justify-content: flex-start;
  }

  .justify-end {
    justify-content: flex-end;
  }

  .justify-center {
    justify-content: center;
  }

  .justify-between {
    justify-content: space-between;
  }

  .place-self-end {
    place-self: end
  }

  .justify-self-start {
    justify-self: flex-start
  }

  .justify-self-end {
    justify-self: flex-end
  }

  .justify-self-center {
    justify-self: center
  }

  .align-self-start {
    align-self: flex-start
  }

  .align-self-end {
    align-self: flex-end
  }

  .align-self-center {
    align-self: center
  }

  .shrink {
    flex-shrink: 1
  }

  .shrink-0 {
    flex-shrink: 0
  }

  .grow {
    flex-grow: 1
  }

  .grow-0 {
    flex-grow: 0
  }

  .gap-0 {
    gap: 0
  }

  .gap-0d5 {
    gap: var(--sp-0d5)
  }

  .gap-1 {
    gap: var(--sp-1)
  }

  .gap-1d5 {
    gap: var(--sp-1d5)
  }

  .gap-2 {
    gap: var(--sp-2)
  }

  .gap-2d5 {
    gap: var(--sp-2d5)
  }

  .gap-3 {
    gap: var(--sp-3)
  }

  .gap-3d5 {
    gap: var(--sp-3d5)
  }

  .gap-4 {
    gap: var(--sp-4)
  }

  .gap-4d5 {
    gap: var(--sp-4d5)
  }

  .gap-5 {
    gap: var(--sp-5)
  }

  .gap-5d5 {
    gap: var(--sp-5d5)
  }

  .gap-6 {
    gap: var(--sp-6)
  }

  .gap-7 {
    gap: var(--sp-7)
  }

  .gap-7d5 {
    gap: var(--sp-7d5)
  }

  .gap-8 {
    gap: var(--sp-8)
  }

  .gap-9 {
    gap: var(--sp-9)
  }

  .gap-10 {
    gap: var(--sp-10)
  }

  .gap-12 {
    gap: var(--sp-12)
  }

  .gap-14 {
    gap: var(--sp-14)
  }

  @media screen and (min-width: 640px) {
    .sm\:hidden {
      display: none
    }

    .sm\:block {
      display: block
    }

    .sm\:flex {
      display: flex
    }

    .sm\:flex-row {
      flex-direction: row;
    }

    .sm\:text-base {
      font-size: var(--text-base);
      line-height: 1.6
    }

    .sm\:text-sm {
      font-size: var(--text-sm);
      line-height: 1.6
    }

    .sm\:relative {
      position: relative;
    }
  }

  @media screen and (min-width: 768px) {
    .md\:left-0 {
      inset-inline-start: 0;
    }

    .md\:right-0 {
      inset-inline-end: 0;
    }

    .md\:overflow-hidden {
      overflow: hidden
    }

    .md\:overflow-visible {
      overflow: visible
    }

    .md\:text-left {
      text-align: start
    }

    .md\:text-center {
      text-align: center
    }

    .md\:text-right {
      text-align: end
    }

    .md\:table-cell {
      display: table-cell;
    }

    .md\:block {
      display: block
    }

    .md\:inline-block {
      display: inline-block
    }

    .md\:inline {
      display: inline
    }

    .md\:flex {
      display: flex
    }

    .md\:inline-flex {
      display: inline-flex
    }

    .md\:grid {
      display: grid
    }

    .md\:hidden {
      display: none;
    }

    .md\:col-span-5 {
      grid-column: span 5/span 5
    }

    .md\:col-span-6 {
      grid-column: span 6/span 6
    }

    .md\:col-span-7 {
      grid-column: span 7/span 7
    }

    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .md\:grid-cols-12 {
      grid-template-columns: repeat(12, minmax(0, 1fr))
    }

    .md\:text-base {
      font-size: var(--text-base);
      line-height: 1.6
    }

    .md\:flex-row {
      flex-direction: row;
    }

    .md\:flex-row-reverse {
      flex-direction: row-reverse;
    }

    .md\:flex-col {
      flex-direction: column;
    }

    .md\:flex-col-reverse {
      flex-direction: column-reverse;
    }

    .md\:flex-wrap {
      flex-wrap: wrap;
    }

    .md\:flex-nowrap {
      flex-wrap: nowrap;
    }

    .md\:items-start {
      align-items: flex-start;
    }

    .md\:items-end {
      align-items: flex-end;
    }

    .md\:items-center {
      align-items: center;
    }

    .md\:justify-start {
      justify-content: flex-start;
    }

    .md\:justify-end {
      justify-content: flex-end;
    }

    .md\:justify-center {
      justify-content: center;
    }

    .md\:justify-between {
      justify-content: space-between;
    }

    .md\:shrink {
      flex-shrink: 1
    }

    .md\:grow {
      flex-grow: 1
    }

    .md\:grow-0 {
      flex-grow: 0
    }

    .md\:gap-0 {
      gap: 0
    }

    .md\:gap-1 {
      gap: var(--sp-1)
    }

    .md\:gap-1d5 {
      gap: var(--sp-1d5)
    }

    .md\:gap-2 {
      gap: var(--sp-2)
    }

    .md\:gap-3 {
      gap: var(--sp-3)
    }

    .md\:gap-4 {
      gap: var(--sp-4)
    }

    .md\:gap-5 {
      gap: var(--sp-5)
    }

    .md\:gap-6 {
      gap: var(--sp-6)
    }

    .md\:gap-7 {
      gap: var(--sp-7)
    }

    .md\:gap-7d5 {
      gap: var(--sp-7d5)
    }

    .md\:gap-8 {
      gap: var(--sp-8)
    }

    .md\:gap-9 {
      gap: var(--sp-9)
    }

    .md\:gap-10 {
      gap: var(--sp-10)
    }

    .md\:gap-12 {
      gap: var(--sp-12)
    }

    .md\:gap-14 {
      gap: var(--sp-14)
    }

    .md\:text-3xl {
      font-size: var(--text-3xl);
      line-height: 1.6
    }

    .md\:text-2xl {
      font-size: var(--text-2xl);
      line-height: 1.6
    }

    .md\:text-xl {
      font-size: var(--text-xl);
      line-height: 1.6
    }

    .md\:text-lg {
      font-size: var(--text-lg);
      line-height: 1.6
    }

    .md\:text-base {
      font-size: var(--text-base);
      line-height: 1.6
    }

    .md\:text-sm {
      font-size: var(--text-sm);
      line-height: 1.6
    }

    .md\:text-xs {
      font-size: var(--text-xs);
      line-height: 1.6
    }

    .md\:font-bold {
      font-weight: var(--font-bold)
    }

    .md\:font-medium {
      font-weight: var(--font-medium)
    }

    .md\:opacity-0 {
      opacity: 0
    }
  }

  @media screen and (min-width: 1024px) {
    .lg\:left-0 {
      inset-inline-start: 0;
    }

    .lg\:right-0 {
      inset-inline-end: 0;
    }

    .lg\:overflow-hidden {
      overflow: hidden
    }

    .lg\:overflow-visible {
      overflow: visible
    }

    .lg\:text-left {
      text-align: start
    }

    .lg\:text-center {
      text-align: center
    }

    .lg\:text-right {
      text-align: end
    }

    .lg\:table-cell {
      display: table-cell;
    }

    .lg\:block {
      display: block
    }

    .lg\:inline-block {
      display: inline-block
    }

    .lg\:inline {
      display: inline
    }

    .lg\:flex {
      display: flex
    }

    .lg\:inline-flex {
      display: inline-flex
    }

    .lg\:grid {
      display: grid
    }

    .lg\:hidden {
      display: none;
    }

    .lg\:flex-row {
      flex-direction: row;
    }

    .lg\:flex-row-reverse {
      flex-direction: row-reverse;
    }

    .lg\:flex-col {
      flex-direction: column;
    }

    .lg\:flex-col-reverse {
      flex-direction: column-reverse;
    }

    .lg\:flex-wrap {
      flex-wrap: wrap;
    }

    .lg\:flex-nowrap {
      flex-wrap: nowrap;
    }

    .lg\:items-start {
      align-items: flex-start;
    }

    .lg\:items-end {
      align-items: flex-end;
    }

    .lg\:items-center {
      align-items: center;
    }

    .lg\:justify-start {
      justify-content: flex-start;
    }

    .lg\:justify-end {
      justify-content: flex-end;
    }

    .lg\:justify-center {
      justify-content: center;
    }

    .lg\:justify-between {
      justify-content: space-between;
    }

    .lg\:shrink {
      flex-shrink: 1
    }

    .lg\:grow {
      flex-grow: 1
    }

    .lg\:grow-0 {
      flex-grow: 0
    }

    .lg\:gap-0 {
      gap: 0
    }

    .lg\:gap-1 {
      gap: var(--sp-1)
    }

    .lg\:gap-1d5 {
      gap: var(--sp-1d5)
    }

    .lg\:gap-2 {
      gap: var(--sp-2)
    }

    .lg\:gap-3 {
      gap: var(--sp-3)
    }

    .lg\:gap-4 {
      gap: var(--sp-4)
    }

    .lg\:gap-5 {
      gap: var(--sp-5)
    }

    .lg\:gap-6 {
      gap: var(--sp-6)
    }

    .lg\:gap-7 {
      gap: var(--sp-7)
    }

    .lg\:gap-7d5 {
      gap: var(--sp-7d5)
    }

    .lg\:gap-8 {
      gap: var(--sp-8)
    }

    .lg\:gap-9 {
      gap: var(--sp-9)
    }

    .lg\:gap-10 {
      gap: var(--sp-10)
    }

    .lg\:gap-12 {
      gap: var(--sp-12)
    }

    .lg\:gap-14 {
      gap: var(--sp-14)
    }

    .lg\:text-3xl {
      font-size: var(--text-3xl);
      line-height: 1.6
    }

    .lg\:text-2xl {
      font-size: var(--text-2xl);
      line-height: 1.6
    }

    .lg\:text-xl {
      font-size: var(--text-xl);
      line-height: 1.6
    }

    .lg\:text-lg {
      font-size: var(--text-lg);
      line-height: 1.6
    }

    .lg\:text-base {
      font-size: var(--text-base);
      line-height: 1.6
    }

    .lg\:text-sm {
      font-size: var(--text-sm);
      line-height: 1.6
    }

    .lg\:text-xs {
      font-size: var(--text-xs);
      line-height: 1.6
    }

    .lg\:font-bold {
      font-weight: var(--font-bold);
    }

    .lg\:font-medium {
      font-weight: var(--font-medium);
    }

    .lg\:font-heading {
      font-weight: var(--font-heading-weight);
    }

    .lg\:opacity-0 {
      opacity: 0;
    }
  }

  @media screen and (min-width: 1280px) {
    .xl\:left-0 {
      inset-inline-start: 0;
    }

    .xl\:right-0 {
      inset-inline-end: 0;
    }

    .xl\:overflow-hidden {
      overflow: hidden
    }

    .xl\:overflow-visible {
      overflow: visible
    }

    .xl\:text-left {
      text-align: start
    }

    .xl\:text-center {
      text-align: center
    }

    .xl\:text-right {
      text-align: end
    }

    .xl\:table-cell {
      display: table-cell;
    }

    .xl\:block {
      display: block
    }

    .xl\:inline-block {
      display: inline-block
    }

    .xl\:inline {
      display: inline
    }

    .xl\:flex {
      display: flex
    }

    .xl\:inline-flex {
      display: inline-flex
    }

    .xl\:grid {
      display: grid
    }

    .xl\:hidden {
      display: none;
    }

    .xl\:flex-row {
      flex-direction: row;
    }

    .xl\:flex-row-reverse {
      flex-direction: row-reverse;
    }

    .xl\:flex-col {
      flex-direction: column;
    }

    .xl\:flex-col-reverse {
      flex-direction: column-reverse;
    }

    .xl\:flex-wrap {
      flex-wrap: wrap;
    }

    .xl\:flex-nowrap {
      flex-wrap: nowrap;
    }

    .xl\:items-start {
      align-items: flex-start;
    }

    .xl\:items-end {
      align-items: flex-end;
    }

    .xl\:items-center {
      align-items: center;
    }

    .xl\:justify-start {
      justify-content: flex-start;
    }

    .xl\:justify-end {
      justify-content: flex-end;
    }

    .xl\:justify-center {
      justify-content: center;
    }

    .xl\:justify-between {
      justify-content: space-between;
    }

    .xl\:shrink {
      flex-shrink: 1
    }

    .xl\:grow {
      flex-grow: 1
    }

    .xl\:grow-0 {
      flex-grow: 0
    }

    .xl\:gap-0 {
      gap: 0
    }

    .xl\:gap-1 {
      gap: var(--sp-1)
    }

    .xl\:gap-1d5 {
      gap: var(--sp-1d5)
    }

    .xl\:gap-2 {
      gap: var(--sp-2)
    }

    .xl\:gap-3 {
      gap: var(--sp-3)
    }

    .xl\:gap-4 {
      gap: var(--sp-4)
    }

    .xl\:gap-5 {
      gap: var(--sp-5)
    }

    .xl\:gap-6 {
      gap: var(--sp-6)
    }

    .xl\:gap-7 {
      gap: var(--sp-7)
    }

    .xl\:gap-7d5 {
      gap: var(--sp-7d5)
    }

    .xl\:gap-8 {
      gap: var(--sp-8)
    }

    .xl\:gap-9 {
      gap: var(--sp-9)
    }

    .xl\:gap-10 {
      gap: var(--sp-10)
    }

    .xl\:gap-12 {
      gap: var(--sp-12)
    }

    .xl\:gap-14 {
      gap: var(--sp-14)
    }

    .xl\:text-3xl {
      font-size: var(--text-3xl);
      line-height: 1.6
    }

    .xl\:text-2xl {
      font-size: var(--text-2xl);
      line-height: 1.6
    }

    .xl\:text-xl {
      font-size: var(--text-xl);
      line-height: 1.6
    }

    .xl\:text-lg {
      font-size: var(--text-lg);
      line-height: 1.6
    }

    .xl\:text-base {
      font-size: var(--text-base);
      line-height: 1.6
    }

    .xl\:text-sm {
      font-size: var(--text-sm);
      line-height: 1.6
    }

    .xl\:text-xs {
      font-size: var(--text-xs);
      line-height: 1.6
    }

    .xl\:font-bold {
      font-weight: var(--font-bold)
    }

    .xl\:font-medium {
      font-weight: var(--font-medium)
    }

    .xl\:opacity-0 {
      opacity: 0
    }
  }

  .leading-none {
    line-height: 1
  }

  .leading-tight {
    line-height: 1.25
  }

  .leading-normal {
    line-height: 1.6
  }

  .tracking-none {
    letter-spacing: 0;
  }

  .tracking-tighter {
    letter-spacing: -.05em
  }

  .tracking-tight {
    letter-spacing: -.025em
  }

  .tracking-wide {
    letter-spacing: .025em
  }

  .tracking-wider {
    letter-spacing: .05em
  }

  .tracking-widest {
    letter-spacing: .1em
  }

  .tracking-heading {
    letter-spacing: -.04em
  }

  .whitespace-nowrap {
    white-space: nowrap
  }

  a:empty,
  ul:empty,
  dl:empty,
  div:empty,
  section:empty,
  article:empty,
  p:empty,
  h1:empty,
  h2:empty,
  h3:empty,
  h4:empty,
  h5:empty,
  h6:empty {
    display: none;
  }

  /*! rte */

  .rte :where(p):not(:where([class~=not-rte] *)) {
    margin-block: var(--sp-4)
  }

  @media screen and (min-width: 1024px) {
    .rte :where(p):not(:where([class~=not-rte] *)) {
      margin-block: var(--sp-5)
    }
  }

  @media screen and (min-width: 1280px) {
    .rte :where(p):not(:where([class~=not-rte] *)) {
      margin-block: var(--sp-4d5)
    }
  }

  .rte :where(.rte>:first-child):not(:where([class~=not-rte] *)) {
    margin-block-start: 0
  }

  .rte :where(.rte>:last-child):not(:where([class~=not-rte] *)) {
    margin-block-end: 0
  }

  .rte :where(.h0, .h1, h1):not(:where([class~=not-rte] *)) {
    margin-block-end: var(--sp-8d5);
    margin-block-start: 0
  }

  @media screen and (min-width: 1024px) {
    .rte :where(.h0, .h1, h1):not(:where([class~=not-rte] *)) {
      margin-block-end: var(--sp-10)
    }
  }

  @media screen and (min-width: 1280px) {
    .rte :where(.h0, .h1, h1):not(:where([class~=not-rte] *)) {
      margin-block-end: var(--sp-12)
    }
  }

  .rte :where(.h2, h2):not(:where([class~=not-rte] *)) {
    margin-block-end: var(--sp-6);
    margin-block-start: var(--sp-12)
  }

  @media screen and (min-width: 1280px) {
    .rte :where(.h2, h2):not(:where([class~=not-rte] *)) {
      margin-block-end: var(--sp-8d5);
      margin-block-start: var(--sp-14)
    }
  }

  .rte :where(.h3, h3):not(:where([class~=not-rte] *)) {
    margin-block-end: var(--sp-3);
    margin-block-start: var(--sp-8)
  }

  @media screen and (min-width: 1024px) {
    .rte :where(.h3, h3):not(:where([class~=not-rte] *)) {
      margin-block-end: var(--sp-4);
      margin-block-start: var(--sp-10)
    }
  }

  @media screen and (min-width: 1280px) {
    .rte :where(.h3, h3):not(:where([class~=not-rte] *)) {
      margin-block-end: var(--sp-5);
      margin-block-start: var(--sp-12)
    }
  }

  .rte :where(.h4, h4):not(:where([class~=not-rte] *)) {
    margin-block-end: var(--sp-3);
    margin-block-start: var(--sp-10)
  }

  @media screen and (min-width: 1024px) {
    .rte :where(.h4, h4):not(:where([class~=not-rte] *)) {
      margin-block-end: var(--sp-2d5);
      margin-block-start: var(--sp-10)
    }
  }

  @media screen and (min-width: 1280px) {
    .rte :where(.h4, h4):not(:where([class~=not-rte] *)) {
      margin-block-end: var(--sp-3d5);
      margin-block-start: var(--sp-10d5)
    }
  }

  .rte :where(hr):not(:where([class~=not-rte] *)) {
    margin-block: var(--sp-10)
  }

  @media screen and (min-width: 1024px) {
    .rte :where(hr):not(:where([class~=not-rte] *)) {
      margin-block: var(--sp-12)
    }
  }

  @media screen and (min-width: 1536px) {
    .rte :where(hr):not(:where([class~=not-rte] *)) {
      margin-block: var(--sp-14)
    }
  }

  .rte :where(h2+*, h3+*, h4+*, hr+*):not(:where([class~=not-rte] *)) {
    margin-block-start: 0
  }

  .rte :where(img):not(:where([class~=not-rte] *)) {
    margin-block: var(--sp-12)
  }

  .rte :where(video):not(:where([class~=not-rte] *)) {
    margin-block: var(--sp-12)
  }

  .rte :where(figure):not(:where([class~=not-rte] *)) {
    margin-block: var(--sp-8)
  }

  @media screen and (min-width: 1024px) {
    .rte :where(figure):not(:where([class~=not-rte] *)) {
      margin-block: var(--sp-12)
    }
  }

  .rte :where(figure>*):not(:where([class~=not-rte] *)) {
    margin-block: 0
  }

  .rte :where(figcaption):not(:where([class~=not-rte] *)) {
    color: rgb(var(--color-foreground)/.7);
    font-size: var(--text-sm);
    font-style: italic;
    line-height: 1.375;
    margin-block-start: var(--sp-4d5)
  }

  .rte :where(figcaption a):not(:where([class~=not-rte] *)) {
    color: rgb(var(--color-foreground))
  }

  .rte :where(ul):not(:where([class~=not-rte] *)) {
    list-style-type: disc
  }

  .rte :where(ul):not(:where([class~=not-rte] *)) ::marker {
    color: rgb(var(--color-foreground)/ 0.25)
  }

  .rte :where(ul):not(:where([class~=not-rte] *))::marker {
    color: rgb(var(--color-foreground)/ 0.25)
  }

  .rte :where(ul, ol):not(:where([class~=not-rte] *)) {
    margin-block: var(--sp-5);
    padding-inline-start: var(--sp-7)
  }

  @media screen and (min-width: 1024px) {
    .rte :where(ul, ol):not(:where([class~=not-rte] *)) {
      margin-block: var(--sp-6);
      padding-inline-start: var(--sp-8)
    }
  }

  .rte :where(li):not(:where([class~=not-rte] *)) {
    margin-block-start: var(--sp-2)
  }

  @media screen and (min-width: 1024px) {
    .rte :where(li):not(:where([class~=not-rte] *)) {
      margin-block-start: var(--sp-2d5)
    }
  }

  @media screen and (min-width: 1536px) {
    .rte :where(li):not(:where([class~=not-rte] *)) {
      margin-block-start: var(--sp-3)
    }
  }

  .rte :where(ul>li, ol>li):not(:where([class~=not-rte] *)) {
    padding-inline-start: var(--sp-1d5)
  }

  @media screen and (min-width: 1024px) {
    .rte :where(ul>li, ol>li):not(:where([class~=not-rte] *)) {
      padding-inline-start: var(--sp-2)
    }
  }

  .rte :where(.rte>ul>li>:first-child, .rte>ol>li>:first-child):not(:where([class~=not-rte] *)) {
    margin-block-start: var(--sp-5d5)
  }

  .rte :where(.rte>ul>li>:last-child, .rte>ol>li>:last-child):not(:where([class~=not-rte] *)) {
    margin-block-end: var(--sp-5d5)
  }

  .rte :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~=not-rte] *)) {
    margin-block: var(--sp-5)
  }

  @media screen and (min-width: 1024px) {
    .rte :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~=not-rte] *)) {
      margin-block: var(--sp-4)
    }
  }

  .rte :where(blockquote):not(:where([class~=not-rte] *)) {
    display: block;
    margin-block: var(--sp-8);
    padding-block-start: var(--sp-20);
    text-align: center
  }

  @media screen and (min-width: 1024px) {
    .rte :where(blockquote):not(:where([class~=not-rte] *)) {
      margin-block: var(--sp-12);
    }
  }

  .rte :where(blockquote):not(:where([class~=not-rte] *)):before {
    content: '';
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 54 54'%3E%3Cpath d='M41.625 47.25a12.375 12.375 0 1 0 0-24.75c-.357 0-.706.024-1.055.054a35.775 35.775 0 0 1 5.384-15.208A1.126 1.126 0 0 0 45 5.625h-2.25a1.125 1.125 0 0 0-.816.35c-5.785 6.086-12.684 16.04-12.684 28.9A12.39 12.39 0 0 0 41.625 47.25Zm-29.25 0a12.375 12.375 0 1 0 0-24.75c-.357 0-.707.024-1.055.054a35.775 35.775 0 0 1 5.384-15.208 1.126 1.126 0 0 0-.954-1.721H13.5a1.125 1.125 0 0 0-.816.35C6.9 12.06 0 22.015 0 34.875A12.39 12.39 0 0 0 12.375 47.25Z' fill='currentColor'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 54 54'%3E%3Cpath d='M41.625 47.25a12.375 12.375 0 1 0 0-24.75c-.357 0-.706.024-1.055.054a35.775 35.775 0 0 1 5.384-15.208A1.126 1.126 0 0 0 45 5.625h-2.25a1.125 1.125 0 0 0-.816.35c-5.785 6.086-12.684 16.04-12.684 28.9A12.39 12.39 0 0 0 41.625 47.25Zm-29.25 0a12.375 12.375 0 1 0 0-24.75c-.357 0-.707.024-1.055.054a35.775 35.775 0 0 1 5.384-15.208 1.126 1.126 0 0 0-.954-1.721H13.5a1.125 1.125 0 0 0-.816.35C6.9 12.06 0 22.015 0 34.875A12.39 12.39 0 0 0 12.375 47.25Z' fill='currentColor'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: var(--quote-icon-width) var(--quote-icon-height);
    mask-size: var(--quote-icon-width) var(--quote-icon-height);
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 50%;
    transform: translateX(calc(-50% * var(--transform-logical)));
    width: var(--quote-icon-width);
    height: var(--quote-icon-height);
    background-color: currentColor;
  }

  .rte :where(blockquote>*):not(:where([class~=not-rte] *)) {
    margin-block: 0;
  }

  .rte :where(blockquote cite):not(:where([class~=not-rte] *)) {
    display: block;
    font-size: var(--text-base);
    font-weight: var(--font-medium);
    letter-spacing: 0;
    line-height: 1.6;
    margin-block-start: var(--sp-8d5)
  }

  @media screen and (min-width: 1280px) {
    .rte :where(blockquote cite):not(:where([class~=not-rte] *)) {
      font-size: var(--text-lg);
      line-height: 1.6
    }
  }

  .page-width {
    margin: 0 auto;
    padding-inline: var(--page-padding);
  }

  @media screen and (min-width: 1536px) {
    .page-width--full {
      --page-padding: var(--sp-12);
    }
  }

  .spacing-section {
    min-height: var(--spacing-height-mobile);
  }

  @media screen and (min-width: 768px) {
    .spacing-section {
      min-height: var(--spacing-height-desktop);
    }
  }

  @media screen and (min-width: 1024px) {
    .page-width--narrow {
      --page-padding: var(--sp-12);
      max-width: 70rem;
    }
  }

  summary {
    list-style-type: none
  }

  .scroll-area {
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none
  }

  .scroll-area::-webkit-scrollbar {
    display: none
  }

  .icon {
    stroke-width: var(--icon-weight);
    width: var(--sp-5d5);
    height: var(--sp-5d5);
  }

  .icon-2xs {
    width: var(--sp-3);
    height: var(--sp-3);
  }

  .icon-xs {
    width: var(--sp-4);
    height: var(--sp-4);
  }

  .icon-sm {
    width: var(--sp-5);
    height: var(--sp-5);
  }

  .icon-lg {
    width: var(--sp-6);
    height: var(--sp-6);
  }

  .icon-light {
    stroke-width: calc(var(--icon-weight) - 0.3px);
  }

  .icon .fill {
    stroke: none;
    fill: rgb(var(--color-foreground)/ 0.1);
  }

  .icon-rotator .path {
    stroke-dasharray: 280;
    stroke-dashoffset: 0;
    transform-origin: center;
    animation: dash 1.4s infinite ease;
  }

  .stroke-1 {
    stroke-width: 1
  }

  .stroke-2 {
    stroke-width: 2
  }

  @keyframes dash {
    0% {
      stroke-dashoffset: 280
    }

    50% {
      stroke-dashoffset: 75;
      transform: rotate(135deg)
    }

    to {
      stroke-dashoffset: 280;
      transform: rotate(450deg)
    }
  }

  [role=main] .shopify-section {
    --section-is-first: 0;
    position: relative
  }

  [role=main] .shopify-section:not(.contents) {
    display: flow-root
  }

  [role=main] .shopify-section:empty {
    display: none
  }

  [role=main] .shopify-section:first-child {
    --section-is-first: 1
  }

  .js [role=main] .shopify-section:last-child {
    border-end-end-radius: var(--border-radius);
    border-end-start-radius: var(--border-radius);
    position: relative;
  }

  .js [role=main] .shopify-section:last-child .section:before {
    height: 100%;
  }

  .no-js .loading-bar {
    display: none;
  }

  .loading-bar {
    background-color: rgb(var(--color-foreground));
    z-index: 50
  }

  .loading-bar .icon {
    color: rgb(var(--color-background));
    inset-block-end: var(--gap-padding);
    inset-inline-end: var(--gap-padding);
  }

  .page-container {
    background-color: rgb(var(--color-background));
  }

  .skip-link:focus {
    clip: auto;
    width: auto;
    height: auto;
    margin: 0;
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-background));
    padding: 10px;
    opacity: 1;
    z-index: 10000;
    transition: none;
  }

  *:focus {
    outline: 0;
    box-shadow: none;
  }

  *:focus-visible {
    outline: 2px solid rgb(var(--color-keyboard-focus));
    outline-offset: 3px;
  }

  /*! button */

  .button,
  .shopify-challenge__button,
  button.shopify-payment-button__button--unbranded,
  .shopify-payment-button [role=button],
  .additional-checkout-buttons [role=button],
  .additional-checkout-buttons iframe,
  #shopify-product-reviews .spr-summary-actions-newreview {
    --shadow-horizontal-offset: var(--buttons-shadow-horizontal-offset);
    --shadow-vertical-offset: var(--buttons-shadow-vertical-offset);
    --shadow-opacity: var(--buttons-shadow-opacity);
    --border-opacity: var(--buttons-border-opacity);
  }

  .shopify-payment-button__button--branded {
    z-index: auto;
  }

  .additional-checkout-buttons iframe {
    box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) rgb(var(--color-shadow)/ var(--shadow-opacity));
  }

  .button,
  .shopify-challenge__button,
  button.shopify-payment-button__button--unbranded,
  #shopify-product-reviews .spr-summary-actions-newreview {
    cursor: pointer;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    line-height: 1;
    font-weight: var(--font-medium);
    font-family: var(--font-navigation-family);
    font-size: var(--font-button-size);
    text-transform: var(--font-button-text-transform);
    padding: clamp(var(--sp-4d5), 1.2vw, var(--sp-5d5)) clamp(var(--sp-6d5), 1.473vw, var(--sp-7d5));
    color: rgb(var(--color-button-text));
    background: var(--color-button-gradient);
    background-color: rgb(var(--color-button-background));
    border-radius: var(--buttons-radius);
    box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) rgb(var(--color-shadow)/ var(--shadow-opacity));
    max-height: 3.75rem;
    height: auto;
  }

  button.shopify-payment-button__button--unbranded,
  #shopify-product-reviews .spr-summary-actions-newreview {
    min-width: var(--sp-48);
  }

  .button:after,
  .shopify-challenge__button:after,
  button.shopify-payment-button__button--unbranded:after,
  #shopify-product-reviews .spr-summary-actions-newreview:after {
    content: '';
    pointer-events: none;
    position: absolute;
    inset: 0;
    border-radius: var(--buttons-radius);
    border: var(--buttons-border-width) solid rgb(var(--color-button-border)/ var(--border-opacity));
  }

  .button.icon-with-text .btn-text {
    align-items: center;
    display: flex;
    gap: 0.75rem;
  }

  @media screen and (max-width: 767px) {
    .button.icon-with-text .icon-arrow-right {
      width: var(--sp-4d5);
      height: var(--sp-4d5);
    }
  }

  .button .btn-text {
    color: currentColor;
  }

  .button .btn-fill {
    display: block;
    border-radius: 50%;
    width: 150%;
    height: 200%;
    inset-block-start: -50%;
    inset-inline-start: -25%;
    position: absolute;
    transform: translate3d(0, -76%, 0);
  }

  .button--primary .btn-fill {
    background-color: rgb(var(--color-button-text));
  }

  .button--secondary .btn-fill {
    background: var(--color-button-gradient);
    background-color: rgb(var(--color-button-background));
  }

  .button[disabled],
  button.shopify-payment-button__button--unbranded[disabled] {
    opacity: 0.6;
    cursor: not-allowed;
  }

  .button[disabled] .btn-fill {
    display: none;
  }

  .button--fixed {
    min-width: var(--sp-48);
  }

  .button--sm {
    padding: clamp(var(--sp-3), 1.2vw, var(--sp-4)) clamp(var(--sp-5), 1.473vw, var(--sp-6));
  }

  .button--lg {
    padding: clamp(var(--sp-6), 1.2vw, var(--sp-7)) clamp(var(--sp-8), 1.473vw, var(--sp-9));
    max-height: 4.25rem;
  }

  .button--small {
    font-size: var(--text-sm);
    padding: clamp(var(--sp-2), .526vw, var(--sp-2d5)) clamp(var(--sp-3), .842vw, var(--sp-4));
  }

  .button--small.icon-with-text {
    font-size: var(--fluid-xs-to-sm);
  }

  .button--small.icon-with-text .btn-text {
    gap: var(--sp-2);
  }

  .button--small.icon-with-text .btn-text .icon {
    width: var(--sp-4);
    height: var(--sp-4);
  }

  input.button--primary {
    border: var(--buttons-border-width) solid rgb(var(--color-button-border)/ var(--border-opacity));
  }

  button.shopify-payment-button__button--unbranded,
  .button--secondary {
    color: rgb(var(--color-button-background));
    background: none;
    backdrop-filter: blur(12px);
  }

  .button--close {
    --shadow-opacity: 0;
    --border-opacity: 0.1;
    --color-button-background: var(--color-foreground);
    --color-button-text: var(--color-background);
    --color-button-border: var(--color-foreground);
    --buttons-border-width: 1px;
    --buttons-radius: var(--rounded-full);
    padding: 0;
  }

  .button--close .icon:first-child {
    --tw-rotate: 0deg;
    transform: rotate(var(--tw-rotate));
  }

  .button--blur {
    --button-backdrop-blur: blur(12px);
  }

  .button--blur .btn-fill {
    background-color: rgb(var(--color-overlay)/ 0.6);
  }

  @media screen and (pointer: fine) {
    .button,
    .shopify-challenge__button,
    button.shopify-payment-button__button--unbranded,
    #shopify-product-reviews .spr-summary-actions-newreview {
      --button-transition: box-shadow var(--animation-primary), opacity var(--animation-fast);
      transition: var(--button-transition);
    }

    button.shopify-payment-button__button--unbranded,
    #shopify-product-reviews .spr-summary-actions-newreview {
      transition-property: box-shadow, color, background-color;
    }

    .button:after,
    .shopify-challenge__button:after,
    button.shopify-payment-button__button--unbranded:after,
    #shopify-product-reviews .spr-summary-actions-newreview:after {
      transition: border var(--animation-primary);
    }

    .button .btn-text {
      transition: color var(--animation-primary);
      transition-delay: 0.1s;
    }

    .button .btn-fill {
      transition: background-color var(--animation-primary);
    }

    input.button--primary {
      transition-property: color, background, border;
    }

    .button--close .icon:first-child {
      transition: transform var(--animation-primary), opacity var(--animation-fast);
    }

    .button--close:hover .icon:first-child {
      --tw-rotate: 90deg;
    }

    .button--blur {
      --button-transition: box-shadow var(--animation-primary), background-color var(--animation-primary) 0.2s, backdrop-filter var(--animation-primary) 0.2s;
    }

    [data-button_hover=standard] .button:not([disabled]) .btn-fill {
      display: block;
    }

    .js [data-button_hover=standard] .button--primary:hover:not([disabled], .self-button),
    .js [data-button_hover=standard] .button--secondary:hover:not([disabled], .self-button),
    .js [data-button_hover=standard] .shopify-payment-button__button--unbranded:hover:not([disabled]),
    .js [data-button_hover=standard] #shopify-product-reviews .spr-summary-actions-newreview:hover {
      --shadow-horizontal-offset: 0;
      --shadow-vertical-offset: 0;
    }

    .js [data-button_hover=standard] #shopify-product-reviews .spr-summary-actions-newreview:hover {
      color: rgb(var(--color-button-background));
      background: none;
    }

    .js [data-button_hover=standard] .button--primary:hover:not([disabled], .self-button) {
      color: rgb(var(--color-button-background));
    }

    .js [data-button_hover=standard] input.button--primary:hover:not([disabled], .self-button) {
      background: none;
    }

    .js [data-button_hover=standard] .button--secondary:hover:not([disabled], .self-button),
    .js [data-button_hover=standard] .shopify-payment-button__button--unbranded:hover:not([disabled]) {
      color: rgb(var(--color-button-text));
    }

    .js [data-button_hover=standard] .shopify-payment-button__button--unbranded:hover:not([disabled]) {
      background-color: rgb(var(--color-button-background));
    }

    .js [data-button_hover=standard] .button--blur:hover:not([disabled], .self-button) {
      --color-button-border: var(--color-foreground);
      background: none;
      background-color: transparent;
      color: rgb(var(--color-foreground));
      backdrop-filter: var(--button-backdrop-blur);
    }

    .js [data-button_hover=none] .shopify-payment-button__button--unbranded:hover:not([disabled]) {
      background-color: transparent;
    }
  }

  @media screen and (hover: none) {
    .js .shopify-payment-button__button--unbranded:hover:not([disabled]) {
      background: none;
    }
  }

  .btn-text {
    position: relative;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    z-index: 1
  }

  .btn-loader {
    position: absolute;
    inset: 0;
    opacity: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--sp-2);
    pointer-events: none;
  }

  .btn-loader span {
    width: 5px;
    height: 5px;
    border-radius: var(--rounded-full);
    background: currentColor;
  }

  .mouse-cursor {
    --tw-translate-x: -50%;
    --tw-translate-y: -60%;
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-background));
    transform: translate(calc(var(--tw-translate-x) * var(--transform-logical)), var(--tw-translate-y));
    inset-block-start: var(--y);
    inset-inline-start: var(--x);
  }

  .mouse-cursor,
  .mouse-cursor .icon {
    width: 0;
    height: 0;
    transition: width var(--animation-fast), height var(--animation-fast);
  }

  html:not(.touch) .mouse-cursor.active {
    height: clamp(var(--sp-16), 4.21vw, var(--sp-20));
    width: clamp(var(--sp-16), 4.21vw, var(--sp-20))
  }

  html:not(.touch) .mouse-cursor.active .icon {
    height: clamp(var(--sp-5), 1.68vw, var(--sp-8));
    width: clamp(var(--sp-5), 1.68vw, var(--sp-8))
  }

  html:not(.touch) .mouse-cursor.active.pressed {
    height: calc(clamp(var(--sp-16), 4.21vw, var(--sp-20))*1.5);
    width: calc(clamp(var(--sp-16), 4.21vw, var(--sp-20))*1.5)
  }

  html:not(.touch) .mouse-cursor.active.pressed .icon {
    height: calc(clamp(var(--sp-5), 1.68vw, var(--sp-8))*1.5);
    width: calc(clamp(var(--sp-5), 1.68vw, var(--sp-8))*1.5)
  }

  .title-wrapper {
    margin-block-end: clamp(var(--sp-8), 2.526vw, var(--sp-12));
  }

  .title-wrapper-lg {
    margin-block-end: var(--sp-16);
  }

  @media screen and (min-width: 1024px) {
    .title-wrapper-lg {
      margin-block-end: var(--sp-28);
    }
  }

  @media screen and (max-width: 767px) {
    .title-wrapper .button {
      max-height: 2.75rem;
      font-size: var(--text-xs);
      padding: var(--sp-3d5) var(--sp-4);
    }

    .title-wrapper .button.icon-with-text .btn-text {
      gap: 6px;
    }

    .title-wrapper .button.icon-with-text .icon {
      width: var(--sp-4);
      height: var(--sp-4);
    }
  }

  .title-wrapper>:is(.heading, p) {
    flex: 0 0 auto;
  }

  .title-wrapper .heading+.rte {
    margin-block-start: var(--sp-2);
  }

  .title-sm {
    font-size: var(--title-sm);
  }

  .title-sm2x {
    font-size: calc(2 * var(--title-sm));
  }

  .title-md {
    font-size: var(--title-md);
  }

  .title-md2x {
    font-size: calc(2 * var(--title-md));
  }

  .title-lg {
    font-size: var(--title-lg);
  }

  .title-lg2x {
    font-size: calc(2 * var(--title-lg));
  }

  .title-xl {
    font-size: var(--title-xl);
  }

  .title-xl2x {
    font-size: calc(2 * var(--title-xl));
  }

  /*! media */

  .image-fit {
    max-width: 100%;
    width: var(--image-max-width-mobile);
  }

  @media screen and (min-width: 768px) {
    .image-fit {
      width: var(--image-max-width);
    }
  }

  .media {
    background-color: rgb(var(--color-placeholder));
  }

  .media--transparent:not(.loading) {
    background-color: transparent;
  }

  .media>img {
    backface-visibility: hidden;
    object-fit: cover;
    object-position: center center;
  }

  @media screen and (pointer: fine) {
    .media>img {
      transition: var(--animation-primary);
      transition-property: opacity, transform;
    }
  }

  .media[easing]>img {
    transition: none;
  }

  .media>.mobile\:img+:is(img, svg) {
    display: none;
  }

  .media--contain>img {
    object-fit: contain;
  }

  .media--rounded {
    border-radius: 50%;
  }

  .media--rounded>:is(img, svg, video-media),
  .media--square>:is(img, svg, video-media),
  .aspect-square {
    aspect-ratio: 1 / 1;
  }

  .media--portrait>:is(img, svg, video-media),
  .aspect-portrait {
    aspect-ratio: 4 / 5;
  }

  .media--landscape>:is(img, svg, video-media),
  .aspect-landscape {
    aspect-ratio: 4 / 3;
  }

  .media--wide>:is(img, svg, video-media),
  .aspect-wide {
    aspect-ratio: 16 / 9;
  }

  .media--height>:is(img, svg, video-media) {
    inset: 0;
    position: absolute;
    max-width: 100%;
    width: 100%;
    height: 100%;
  }

  .media--400px {
    height: 260px
  }

  .media--450px {
    height: 292.5px
  }

  .media--500px {
    height: 325px
  }

  .media--550px {
    height: 357.5px
  }

  .media--600px {
    height: 390px
  }

  .media--650px {
    height: 422.5px
  }

  .media--700px {
    height: 455px
  }

  .media--750px {
    height: 487.5px
  }

  .media--850px {
    height: 552.5px
  }

  .media--900px {
    height: 585px
  }

  .media--100vh {
    height: 100vh
  }

  @media screen and (min-width: 768px) {
    .media>.mobile\:img {
      display: none;
    }

    .media>.mobile\:img+:is(img, svg) {
      display: block;
    }

    .media--400px {
      height: 340px
    }

    .media--450px {
      height: 382.5px
    }

    .media--500px {
      height: 425px
    }

    .media--550px {
      height: 567.5px
    }

    .media--600px {
      height: 510px
    }

    .media--650px {
      height: 552.5px
    }

    .media--700px {
      height: 595px
    }

    .media--750px {
      height: 637.5px
    }

    .media--850px {
      height: 722.5px
    }

    .media--900px {
      height: 765px
    }
  }

  @media screen and (min-width: 1536px) {
    .media--400px {
      height: 400px
    }

    .media--450px {
      height: 450px
    }

    .media--500px {
      height: 500px
    }

    .media--550px {
      height: 550px
    }

    .media--600px {
      height: 600px
    }

    .media--650px {
      height: 650px
    }

    .media--700px {
      height: 700px
    }

    .media--750px {
      height: 750px
    }

    .media--850px {
      height: 850px
    }

    .media--900px {
      height: 900px
    }
  }

  @media screen and (max-width: 767px) {
    .mobile\:media--200px {
      height: 200px
    }

    .mobile\:media--250px {
      height: 250px
    }

    .mobile\:media--300px {
      height: 300px
    }

    .mobile\:media--400px {
      height: 400px
    }

    .mobile\:media--500px {
      height: 500px
    }

    .mobile\:media--600px {
      height: 600px
    }

    .mobile\:media--100vh {
      height: 90vh
    }

    .mobile\:media--rounded>:is(img, svg, video-media),
    .mobile\:media--square>:is(img, svg, video-media),
    .mobile\:aspect-square {
      aspect-ratio: 1 / 1;
    }

    .mobile\:media--portrait>:is(img, svg, video-media),
    .mobile\:aspect-portrait {
      aspect-ratio: 4 / 5;
    }

    .mobile\:media--landscape>:is(img, svg, video-media),
    .mobile\:aspect-landscape {
      aspect-ratio: 4 / 3;
    }

    .mobile\:media--wide>:is(img, svg, video-media),
    .mobile\:aspect-wide {
      aspect-ratio: 16 / 9;
    }
  }

  svg.placeholder {
    background-color: rgb(var(--color-base-text)/ 0.3);
    fill: rgb(var(--color-base-text)/ 0.7);
    color: rgb(var(--color-base-text)/ 0.7);
    display: block;
    width: 100%;
    height: 100%;
  }

  .placeholder-svg {
    filter: grayscale(1);
  }

  /*! table */

  table {
    overflow: hidden;
    box-shadow: 0 0 0 1px rgb(var(--color-border-light));
    border-radius: var(--rounded-block);
  }

  table th,
  table td {
    width: auto;
    text-align: start;
    line-height: 1.6;
    font-size: var(--text-lg);
    padding: var(--sp-6) var(--sp-7d5);
  }

  thead th {
    font-weight: var(--font-medium);
    background-color: rgb(var(--color-foreground)/ var(--opacity-025));
  }

  tfoot tr:not(:last-child) td {
    padding-block: var(--sp-1);
  }

  tfoot tr:first-child td {
    padding-block-start: var(--sp-6);
  }

  tbody tr,
  tfoot tr:first-child {
    border-block-start: 1px solid rgb(var(--color-border-light));
  }

  /*! inputs */

  .field {
    --border-opacity: var(--inputs-border-opacity);
    position: relative;
    text-align: start
  }

  .input,
  .select,
  .textarea {
    appearance: none;
    text-align: start;
    width: 100%;
    height: var(--input-height);
    font-size: var(--text-sm);
    line-height: 1.25;
    padding-inline: var(--input-padding-inline);
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-foreground)/ var(--opacity-025));
    border: var(--inputs-border-width) solid rgb(var(--color-foreground)/ var(--border-opacity));
    border-radius: var(--inputs-radius);
    transition: var(--animation-primary);
    transition-property: border-color, background-color;
  }

  @media screen and (min-width: 768px) {

    .input,
    .select,
    .textarea {
      font-size: var(--text-base);
      line-height: 1.6
    }
  }

  .select option {
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-background));
  }

  .input--fill {
    border-style: none
  }

  .input:focus,
  .select:focus-visible,
  .textarea:focus {
    box-shadow: none;
    border-color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-foreground)/ var(--opacity-045));
    outline: none;
  }

  .input.is-floating,
  .select.is-floating {
    height: calc(var(--input-height) + var(--sp-2d5))
  }

  .input.is-floating::-moz-placeholder,
  .select.is-floating::-moz-placeholder {
    color: transparent
  }

  .input.is-floating::placeholder,
  .select.is-floating::placeholder {
    color: transparent
  }

  .input.is-floating,
  .select.is-floating {
    padding-block-start: var(--sp-4)
  }

  .textarea.is-floating {
    padding-block-end: var(--sp-2);
    padding-block-start: var(--sp-8)
  }

  .textarea {
    height: auto;
    vertical-align: top
  }

  .label {
    display: block;
    margin-block-end: var(--sp-2d5);
    font-size: var(--text-sm);
    line-height: 1.6;
  }

  @media screen and (min-width: 768px) {
    .label {
      font-size: var(--text-base);
    }
  }

  .label.is-floating {
    position: absolute;
    inset-block-start: 0;
    display: flex;
    align-items: center;
    gap: var(--sp-2);
    pointer-events: none;
    inset-inline-start: 1px;
    opacity: 0.6;
    height: calc(var(--input-height) + var(--sp-2d5));
    margin-block-end: 0;
    margin-inline-start: var(--input-padding-inline);
    transform-origin: var(--transform-origin-start);
    transition: all var(--animation-primary);
  }

  .select[required]:valid~.label,
  .select[selected]~.label,
  :is(.input, .textarea):focus~.label,
  :is(.input, .textarea):not(:placeholder-shown)~.label,
  :is(.input, .textarea, .select):-webkit-autofill~.label {
    --tw-translate-y: calc(var(--sp-2d5) * -1);
    --tw-scale-x: .80;
    --tw-scale-y: .80;
    transform: translateY(var(--tw-translate-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
  }

  :is(.input, .textarea, .select):-webkit-autofill~.label {
    color: #000
  }

  @media screen and (min-width: 768px) {

    .select[required]:valid~.label,
    .select[selected]~.label,
    :is(.input, .textarea):focus~.label,
    :is(.input, .textarea):not(:placeholder-shown)~.label,
    :is(.input, .textarea, .select):-webkit-autofill~.label {
      --tw-scale-x: .70;
      --tw-scale-y: .70;
    }
  }

  .select~.icon,
  .input[type=date]~.icon {
    inset-block-start: calc(50% - 10px);
    inset-inline-end: var(--input-padding-inline);
  }

  .select~.icon {
    transform: scaleY(-1);
  }

  .self-submit-button {
    inset-block-start: 50%;
    inset-inline-end: var(--sp-4);
    transform: translateY(-50%);
    width: var(--sp-10);
    height: var(--sp-10);
  }

  .self-submit-button button {
    padding: 0;
    width: 100%;
    height: 100%;
    border-radius: var(--rounded-full);
  }

  input:is([type=checkbox], [type=radio]) {
    --active: rgb(var(--color-foreground));
    --active-inner: rgb(var(--color-background));
    --focus: 3px hsla(0, 0%, 9%, .1);
    --border: rgb(var(--color-border-dark));
    --border-radius: 5px;
    --border-hover: rgb(var(--color-foreground));
    --background: rgb(var(--color-background));
    --disabled: rgb(var(--color-border-light));
    --disabled-inner: rgb(var(--color-border));
    appearance: none;
    background: var(--b, var(--background));
    border: 1px solid var(--bc, var(--border));
    cursor: pointer;
    display: inline-block;
    height: 20px;
    margin: 0;
    outline: none;
    position: relative;
    transition: background-color .3s, border-color .3s, box-shadow .2s;
    vertical-align: top
  }

  input:is([type=checkbox], [type=radio]):focus-visible+label {
    outline: 2px solid rgb(var(--color-keyboard-focus));
    outline-offset: 3px;
  }

  input:is([type=checkbox], [type=radio]).sr-only {
    clip: rect(0, 0, 0, 0);
    border-width: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px
  }

  input:is([type=checkbox], [type=radio]):after {
    content: '';
    display: block;
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 0;
    transition: transform var(--d-t, .3s) var(--d-t-e, ease), opacity var(--d-o, .2s)
  }

  input:is([type=checkbox], [type=radio]):checked {
    --b: var(--active);
    --bc: var(--active);
    --d-o: 0.3s;
    --d-t: 0.6s;
    --d-t-e: cubic-bezier(0.2, 0.85, 0.32, 1.2)
  }

  input:is([type=checkbox], [type=radio]):is(:disabled, .disabled) {
    --b: var(--disabled);
    cursor: not-allowed;
    opacity: .9
  }

  input:is([type=checkbox], [type=radio]):is(:disabled, .disabled):checked {
    --b: var(--disabled-inner);
    --bc: var(--border)
  }

  input:is([type=checkbox], [type=radio]):is(:disabled, .disabled)+label {
    cursor: not-allowed
  }

  input:is([type=checkbox], [type=radio]):hover:not(:checked, :disabled, .disabled) {
    --bc: var(--border-hover)
  }

  input:is([type=checkbox], [type=radio]):focus {
    box-shadow: 0 0 0 var(--focus)
  }

  input:is([type=checkbox], [type=radio]):not(.switch) {
    flex: 0 0 auto;
    width: 20px
  }

  input:is([type=checkbox], [type=radio]):not(.switch):after {
    opacity: var(--o, 0)
  }

  input:is([type=checkbox], [type=radio]):not(.switch):checked {
    --o: 1
  }

  input:is([type=checkbox], [type=radio])+label {
    cursor: pointer;
    display: inline-block;
    vertical-align: top
  }

  input[type=radio]:not(.switch) {
    border-radius: var(--rounded-full)
  }

  input[type=checkbox]:not(.switch) {
    border-radius: var(--border-radius)
  }

  input[type=checkbox]:not(.switch):after {
    border: 1.5px solid var(--active-inner);
    border-inline-start: 0;
    border-block-start: 0;
    width: 4px;
    height: 8px;
    inset-inline-start: 7px;
    inset-block-start: 4px;
    transform: rotate(calc(var(--r, 20deg) * var(--transform-logical)));
  }

  input[type=checkbox]:not(.switch):checked {
    --r: 43deg
  }

  input[type=checkbox].switch {
    border-radius: 11px;
    width: 38px
  }

  input[type=checkbox].switch:after {
    background: var(--ab, var(--border));
    border-radius: 50%;
    width: 15px;
    height: 15px;
    inset-inline-start: 2px;
    inset-block-start: 1.5px;
    transform: translateX(calc(var(--x, 0) * var(--transform-logical)));
  }

  input[type=checkbox].switch:checked {
    --ab: var(--active-inner);
    --x: 17px;
  }

  input[type=checkbox].switch:is(:disabled, .disabled):not(:checked):after {
    opacity: .6
  }

  /*! color-swatch */

  .variant-picker *:focus-visible+.color-swatch {
    outline-offset: calc(2px + var(--swatch-offset) * 2);
  }

  .color-swatch {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    --tw-ring-inset: inset;
    --tw-ring-color: rgb(var(--color-foreground)/ var(--opacity-115));
    --swatch-radius: 0px;
    --swatch-offset: 3px;
    --swatch-size: var(--sp-7d5);
    --swatch-margin: calc(var(--swatch-offset)*2);
    background-color: var(--swatch-background);
    background-position: 50%;
    background-size: cover;
    width: var(--swatch-size);
    height: var(--swatch-size);
    border-radius: var(--swatch-radius);
    transition: outline-color var(--animation-fast);
  }

  .color-swatch:before {
    --tw-shadow: inset 1px 3px 0px rgb(var(--color-foreground)/ var(--opacity-115));
    --tw-shadow-colored: inset 1px 3px 0px var(--tw-shadow-color);
    border-radius: var(--swatch-radius);
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .color-swatch:after,
  .color-swatch:before {
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    content: '';
    position: absolute
  }

  .color-swatch:after {
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-shadow-colored: 0 0 0 2px var(--tw-shadow-color);
    --tw-shadow-color: rgb(var(--color-foreground));
    --tw-shadow: var(--tw-shadow-colored);
    border-radius: inherit;
    inset: calc(var(--swatch-offset) * -1);
    opacity: 0;
    transition: all var(--animation-short);
  }

  .color-swatch:after,
  :checked+.color-swatch:after {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate));
  }

  :checked+.color-swatch:after {
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    opacity: 1
  }

  .swatches input:is([type=checkbox], [type=radio]):is(:disabled, .disabled)+.color-swatch {
    --tw-ring-shadow: 0 0 #0000;
    background-color: var(--swatch-background)
  }

  .swatches input:is([type=checkbox], [type=radio]):is(:disabled, .disabled)+.color-swatch:before {
    background: linear-gradient(to bottom right, transparent calc(50% - 0.5px), rgb(var(--color-red-200)) calc(50% - 0.5px) calc(50% + 0.5px), transparent calc(50% + 0.5px));
  }

  .swatches input:is([type=checkbox], [type=radio]):is(:disabled, .disabled)+.color-swatch:after {
    --tw-shadow-color: rgb(var(--color-red-200));
  }

  .swatches input:is([type=checkbox], [type=radio]):is(:disabled, .disabled):not(:checked)+.color-swatch:after {
    --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
    inset: 1px;
    opacity: 1;
  }

  .color-swatch .tooltip {
    --tw-translate-x: -50%;
    --tw-scale-x: .75;
    --tw-scale-y: .75;
    background-color: rgb(var(--color-foreground));
    inset-block-end: calc(var(--swatch-size) + 15px);
    color: rgb(var(--color-background));
    padding: var(--sp-1d5) var(--sp-5);
    width: max-content;
  }

  .color-swatch .tooltip,
  .color-swatch .tooltip:after {
    position: absolute;
    inset-inline-start: 50%;
    transform: translate(calc(var(--tw-translate-x) * var(--transform-logical)), var(--tw-translate-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
  }

  .color-swatch .tooltip:after {
    --tw-translate-x: -50%;
    --tw-translate-y: 0;
    border-color: rgb(var(--color-foreground)) transparent;
    border-style: solid;
    border-width: 10px 10px 0;
    inset-block-end: -7px;
    content: '';
    display: block;
    width: 0
  }

  @media screen and (pointer: fine) {
    .color-swatch:hover .tooltip {
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      opacity: 1;
      transition: transform var(--animation-primary), opacity var(--animation-primary);
    }
  }

  .label-swatch {
    --swatch-offset: 0px;
    --swatch-margin: calc(var(--swatch-offset)*2);
    border-radius: var(--swatch-radius);
    padding: var(--sp-4) var(--sp-5);
    transition: all var(--animation-short);
  }

  .label-swatch:after {
    --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
    --tw-shadow-color: rgb(var(--color-border));
    --tw-shadow: var(--tw-shadow-colored);
    content: '';
    position: absolute;
    border-radius: inherit;
    inset: calc(var(--swatch-offset) * -1);
    transition: all var(--animation-short);
  }

  .label-swatch:after,
  :checked+.label-swatch:after {
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  :checked+.label-swatch:after {
    --tw-shadow-colored: 0 0 0 2px var(--tw-shadow-color);
    --tw-shadow-color: rgb(var(--color-foreground));
    --tw-shadow: var(--tw-shadow-colored)
  }

  .swatches input:is([type=checkbox], [type=radio]):is(:disabled, .disabled)+.label-swatch {
    background-color: rgb(var(--color-red-200)/ var(--opacity-115));
    color: rgb(var(--color-red-300))
  }

  .swatches input:is([type=checkbox], [type=radio]):is(:disabled, .disabled)+.label-swatch:after {
    --tw-shadow-color: rgb(var(--color-red-200));
  }

  .swatches input:is([type=checkbox], [type=radio]):is(:disabled, .disabled)+.label-swatch:before {
    content: '';
    z-index: -1;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom right, transparent calc(50% - 0.5px), rgb(var(--color-red-200)) calc(50% - 0.5px) calc(50% + 0.5px), transparent calc(50% + 0.5px));
  }

  @media screen and (pointer:fine) {
    .swatches input:is([type=checkbox], [type=radio]):not(:disabled, .disabled)+.label-swatch:hover:after {
      --tw-shadow-colored: 0 0 0 2px var(--tw-shadow-color);
      --tw-shadow-color: rgb(var(--color-foreground));
      --tw-shadow: var(--tw-shadow-colored);
      inset: 0
    }
  }

  .swatches--round .color-swatch {
    --swatch-radius: 9999px
  }

  .swatches--round-slight :is(.color-swatch, .label-swatch),
  .swatches--round .label-swatch,
  .swatches--variant .color-swatch {
    --swatch-radius: 5px
  }

  .variant-picker .swatches--variant .color-swatch {
    --swatch-size: clamp(var(--sp-10), 3.368vw, var(--sp-16));
  }

  .swatches--variant .color-swatch {
    --tw-ring-shadow: 0 0 #0000;
    --swatch-background: rgb(var(--color-foreground)/ var(--opacity-025));
    --swatch-size: clamp(var(--sp-10), 3.368vw, var(--sp-16));
  }

  .swatches--variant .color-swatch.with-image {
    background-color: rgb(var(--color-foreground)/ var(--opacity-025));
  }

  .swatches--variant .color-swatch:before {
    box-shadow: inset 0 0 0 2px transparent;
  }

  .swatches--variant .color-swatch:after {
    --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
    --tw-shadow-color: rgb(var(--color-border));
    --tw-shadow: var(--tw-shadow-colored);
    opacity: 1;
    inset: 0;
  }

  .swatches--variant :checked+.color-swatch:before {
    box-shadow: inset 0 0 0 2px rgb(var(--color-background));
  }

  .swatches--variant :checked+.color-swatch:after {
    --tw-shadow-colored: 0 0 0 2px var(--tw-shadow-color);
    --tw-shadow-color: rgb(var(--color-foreground));
    --tw-shadow: var(--tw-shadow-colored);
  }

  .swatches--variant input:is([type=checkbox], [type=radio]):is(:disabled, .disabled)+.color-swatch {
    background-color: rgb(var(--color-red-200)/ var(--opacity-115));
  }

  @media screen and (pointer:fine) {
    .swatches--variant input:is([type=checkbox], [type=radio]):not(:disabled, .disabled)+.color-swatch:hover:after {
      --tw-shadow-colored: 0 0 0 2px var(--tw-shadow-color);
      --tw-shadow-color: rgb(var(--color-foreground));
      --tw-shadow: var(--tw-shadow-colored);
    }
  }

  .swatches--variant .color-swatch~span {
    max-width: clamp(var(--sp-10), 3.368vw, var(--sp-16));
  }

  .swatches--variant .color-swatch .count {
    background-color: rgb(var(--color-background));
    color: rgb(var(--color-foreground));
    border: 1px solid rgb(var(--color-border));
    height: var(--sp-5d5);
    min-width: var(--sp-5d5);
    padding-inline: var(--sp-1);
    inset-inline-end: calc(-1 * var(--sp-2));
    inset-block-start: calc(-1 * var(--sp-2));
  }

  .swatches--variant :checked+.color-swatch .count {
    background-color: rgb(var(--color-foreground));
    color: rgb(var(--color-background));
    border-color: rgb(var(--color-foreground));
  }

  /*! price-range */

  .price-range {
    padding-block-start: var(--sp-2)
  }

  .input-wrapper .prefix {
    opacity: .6;
    inset-inline-start: var(--sp-5);
  }

  [data-rounded-input=square] .input-wrapper .input {
    border-radius: 0;
  }

  .input-wrapper .input {
    appearance: textfield;
    padding: var(--sp-4) var(--sp-5);
    padding-inline-start: var(--sp-8);
    height: auto;
    line-height: 1;
    text-align: end;
    border-radius: var(--rounded-full);
  }

  .input-wrapper .input::-moz-placeholder {
    opacity: 0.6;
  }

  .input-wrapper .input::placeholder {
    opacity: 0.6;
  }

  .input-wrapper .input:focus {
    outline: 2px solid transparent;
    outline-offset: 2px
  }

  .input-wrapper .input::-webkit-inner-spin-button,
  .input-wrapper .input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
  }

  .range-wrapper {
    --range-min: 0%;
    --range-max: 100%;
    background: linear-gradient(to var(--transform-origin-end), rgb(var(--color-border)) var(--range-min), rgb(var(--color-foreground)) var(--range-min), rgb(var(--color-foreground)) var(--range-max), rgb(var(--color-border)) var(--range-max));
    border-radius: .125rem;
    height: 4px;
  }

  .range {
    appearance: none;
    background: none;
  }

  .range::-webkit-slider-thumb {
    -webkit-margin-before: -6px;
    -webkit-appearance: none;
    background-color: rgb(var(--color-background));
    border: 2px solid rgb(var(--color-foreground));
    border-radius: 100%;
    box-shadow: none;
    cursor: pointer;
    height: 16px;
    margin-block-start: -6px;
    position: relative;
    width: 16px;
    z-index: 1
  }

  .range::-webkit-slider-runnable-track {
    background-color: rgb(var(--color-background));
    border: none;
    border-radius: 2px;
    cursor: pointer;
    height: 4px;
    width: 100%
  }

  .range::-moz-range-thumb {
    background-color: rgb(var(--color-background));
    border: 2px solid rgb(var(--color-foreground));
    border-radius: 100%;
    cursor: pointer;
    height: 12px;
    width: 12px
  }

  .range::-moz-range-progress,
  .range::-moz-range-track {
    border: none;
    border-radius: 2px;
    cursor: pointer;
    height: 4px;
    width: 100%
  }

  .range::-moz-range-progress {
    background-color: rgb(var(--color-foreground))
  }

  .range::-moz-range-track {
    background-color: rgb(var(--border-color))
  }

  @media not screen and (pointer:fine) {
    .range::-webkit-slider-thumb {
      height: 20px;
      margin-block-start: -9px;
      width: 20px
    }

    .range::-moz-range-thumb {
      height: 16px;
      width: 16px
    }
  }

  .range-wrapper .range {
    height: 4px;
    vertical-align: top
  }

  .range-wrapper .range::-webkit-slider-runnable-track {
    background: none
  }

  .range-wrapper .range::-webkit-slider-thumb {
    pointer-events: auto
  }

  .range-wrapper .range::-moz-range-progress,
  .range-wrapper .range::-moz-range-track {
    background: none
  }

  .range-wrapper .range::-moz-range-thumb {
    pointer-events: auto
  }

  /*! details-summary */

  .details {
    border-block-end: 1px solid rgb(var(--color-border-light));
    box-sizing: content-box
  }

  .details summary::-webkit-details-marker {
    display: none
  }

  .details .details__summary {
    padding-block: clamp(var(--sp-5), 1.473vw, var(--sp-7));
  }

  .details .details__summary>.icon {
    --tw-scale-y: -1;
    width: var(--sp-5);
    height: var(--sp-5);
    transform: scaleY(var(--tw-scale-y)) rotate(var(--tw-rotate));
    transition: transform var(--animation-primary);
  }

  .details[aria-expanded=true] .details__summary>.icon {
    --tw-scale-y: 1;
  }

  .details .details__helptext {
    max-height: 0;
    transition: max-height var(--animation-primary);
  }

  .details[open] .details__helptext {
    max-height: calc(var(--text-sm) * 1.6);
    transition-duration: 0s;
  }

  .details .details__content:after {
    content: '';
    display: block;
    pointer-events: none;
    padding-block-end: var(--sp-7)
  }

  .details:last-child .details__content:after {
    content: none;
  }

  .details :is(.list, .swatches) li label {
    display: flex;
  }

  .details:first-child .details__summary,
  .details[hidden]+.details .details__summary {
    padding-block-start: 0
  }

  .details:last-child {
    border-block-end-width: 0
  }

  .details:last-child .details__content {
    padding-block-end: 0
  }

  /*! links */

  .reversed-link,
  .rte a {
    --reversed-link-gap: min(100%, 1.35em);
    background: linear-gradient(to var(--transform-origin-end), currentColor, currentColor) 0 var(--reversed-link-gap)/0 1px no-repeat;
    background-position-x: var(--transform-origin-end);
    transition: background-size var(--animation-primary)
  }

  @media screen and (pointer: fine) {

    .reversed-link:not([aria-disabled]):hover,
    .rte a:hover {
      background-position-x: var(--transform-origin-start);
      background-size: 100% 1px
    }
  }

  .link,
  .rte a:not(.button, .reversed-link) {
    background: linear-gradient(currentColor, currentColor) 0 min(100%, 1.35em)/100% 1px no-repeat;
    background-position-x: var(--transform-origin-start);
    position: relative;
    text-decoration-line: none;
    transition: background-size var(--animation-primary), color .3s var(--animation-primary)
  }

  @media screen and (pointer: fine) {
    :is(.link, .rte a:not(.button, .reversed-link)):hover {
      background-position-x: var(--transform-origin-end);
      background-size: 0 1px
    }

    .text-opacity :is(.link, .rte a:not(.button, .reversed-link)):hover {
      color: rgb(var(--color-foreground))
    }
  }

  .text-opacity {
    color: rgb(var(--color-foreground)/ 0.6)
  }

  ol {
    list-style-type: decimal
  }

  /*! corners */

  .corner {
    width: var(--border-radius);
    height: var(--border-radius);
    color: rgb(var(--color-background));
    transform: rotate(var(--tw-rotate)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
  }

  @media screen and (pointer: fine) {
    .corner {
      transition: all var(--animation-nav);
    }
  }

  .corner path:last-child {
    stroke-width: 0.225em;
    stroke: rgb(var(--color-foreground)/ var(--opacity-115));
    opacity: 0;
    transition: opacity var(--animation-nav);
  }

  .corner.top {
    inset-block-end: 100%;
  }

  .corner.bottom {
    inset-block-start: 100%;
  }

  .corner.left {
    left: 0;
  }

  .corner.right {
    right: 0;
  }

  .corner.bottom.right {
    --tw-scale-x: -1;
  }

  .corner.top.left {
    --tw-rotate: -90deg;
  }

  .corner.top.right {
    --tw-scale-y: -1;
    --tw-rotate: -90deg;
  }

  .cutout {
    z-index: -1;
    height: 1px;
    background-color: rgb(var(--color-foreground)/ var(--opacity-115));
    transition: opacity var(--animation-nav)
  }

  /*! sections */

  .section {
    position: relative;
    color: rgb(var(--color-foreground));
    background: var(--gradient-background);
    background-color: rgb(var(--color-background));
  }

  .section:before {
    content: '';
    pointer-events: none;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: var(--gradient-background);
    background-color: rgb(var(--color-background));
  }

  .js [role=main] .shopify-section .section:before,
  .js .shopify-section-group-header-group .section:before {
    height: calc(100% + var(--border-radius));
  }

  .js .shopify-section-group-header-group .section.header:before,
  .js .shopify-section-group-header-group .section.section--last-rounded:before,
  .js .shopify-section-group-header-group .section.section--next-rounded.header:before {
    height: 100%;
  }

  .js .shopify-section-group-header-group .section.section--next-rounded:before {
    height: calc(100% + var(--border-radius));
  }

  .js .shopify-section-group-header-group .section.section--first-rounded {
    border-start-end-radius: 0;
    border-start-start-radius: 0;
  }

  .section--padding {
    padding-block-start: calc(var(--section-padding-top) * 0.75);
    padding-block-end: calc(var(--section-padding-bottom) * 0.75);
  }

  @media screen and (min-width: 768px) {
    .section--padding {
      padding-block-start: var(--section-padding-top);
      padding-block-end: var(--section-padding-bottom);
    }
  }

  .section--rounded {
    border-start-end-radius: var(--border-radius);
    border-start-start-radius: var(--border-radius);
  }

  .js .section--rounded:before {
    height: calc(100% + var(--border-radius));
    border-start-end-radius: var(--border-radius);
    border-start-start-radius: var(--border-radius);
  }

  .footer-group .section--next-rounded,
  .footer-group .section--next-rounded:before,
  .footer-group .section--next-rounded :is(.banner__map, .banner__media) {
    border-end-end-radius: var(--border-radius);
    border-end-start-radius: var(--border-radius);
  }

  .section--divider:after {
    content: '';
    inset-block-start: 0;
    inset-inline-start: 0;
    position: absolute;
    width: 100%;
    border-block-start: 1px solid rgb(var(--color-border));
  }

  .section--plain {
    background-image: none;
    background-color: rgb(var(--color-base-background));
  }

  .section--plain:before {
    background-image: none;
    background-color: rgb(var(--color-base-background));
  }

  /*! header */

  .header-section {
    --header-items-gap: 0.75rem;
    --header-nav-gap: clamp(1rem, 2vw, 24px);
  }

  @media screen and (min-width: 1024px) {
    .header-section {
      --header-items-gap: 2em;
      --header-nav-gap: 2em;
    }
  }

  @media screen and (min-width: 1400px) {
    .header-section {
      --header-items-gap: 2.5em;
      --header-nav-gap: 2.5em
    }
  }

  .header {
    --animation-nav-delay: 0.1s;
    --header-grid-template: "logo icons" /minmax(0, 1fr) auto;
    --header-background-opacity: 1;
    --header-logo-opacity: 1;
    column-gap: var(--header-items-gap);
    grid-template: var(--header-grid-template);
    background: none;
  }

  .header[is=sticky-header] {
    transition: var(--animation-nav);
    transition-property: opacity, transform, padding-block;
  }

  .header-section .header:before {
    content: '';
    z-index: 1;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background-color: rgb(var(--color-background));
    opacity: var(--header-background-opacity);
  }

  @media screen and (pointer: fine) {
    .header-section .header:before {
      transition: opacity var(--animation-nav) var(--animation-nav-delay)
    }

    :is(.topbar-section, .timer-section)+.header-section .header:before {
      transition-property: opacity, border-radius;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .header,
    .topbar {
      --animation-nav: 0s;
      --animation-nav-delay: 0s;
    }

    .header-section .header~.overlay,
    .header .header__menu>ul .menu__item .btn-text:after {
      transition: none;
    }
  }

  :is(.header--left-center, .header--center) .list-menu {
    justify-content: center;
  }

  @media screen and (min-width: 1024px) {
    .menu-drawer-button {
      display: none;
    }

    .header--left {
      --header-grid-template: "logo navigation icons" /auto minmax(0, 1fr) auto;
    }

    .header--left-center {
      --header-grid-template: "logo navigation icons" /minmax(0, 1fr) fit-content(70%) minmax(0, 1fr);
    }

    .header--left-drawer {
      --header-grid-template: "logo icons" /minmax(0, 1fr) auto;
    }

    .header--left-drawer .header__navigation {
      display: none;
    }

    .header--left-drawer .menu-drawer-button {
      display: flex;
    }

    .header--center-left {
      --header-grid-template: "navigation logo icons" /minmax(0, 1fr) auto minmax(0, 1fr);
    }

    .header--center-split {
      --header-grid-template: "tools navigation logo navigation-split icons" /130px minmax(0, 1fr) auto minmax(0, 1fr) 130px;
    }

    .header--center-split .header__icons--start {
      display: flex;
    }

    .header--center-split .header__icons--end .search-drawer-button {
      display: none;
    }

    .header--center {
      --header-grid-template: "tools logo icons" "navigation navigation navigation" /minmax(0, 1fr) auto minmax(0, 1fr);
    }

    .header--center .header__icons--start {
      display: flex;
    }

    .header--center .header__icons--end .search-drawer-button {
      display: none;
    }

    .header--center .header__navigation {
      z-index: 1;
      max-height: var(--header-nav-height);
      transition: var(--animation-nav);
      transition-property: max-height, padding-block, opacity, color;
    }

    .header-scrolled .header--center .header__navigation:not(.active) {
      max-height: 0;
      opacity: 0;
    }

    .header-section:not(.header-scrolled) .header--center .header__navigation,
    .header-scrolled .header--center .header__navigation.active {
      padding-block-start: calc(var(--section-padding-bottom) / 2);
    }

    .header-section:not(.header-scrolled) .header--center .menu-toggle-button {
      display: none;
    }

    .header--center-drawer {
      --header-grid-template: "tools logo icons" /minmax(0, 1fr) auto minmax(0, 1fr);
    }

    .header--center-drawer .header__icons--start {
      display: flex;
    }

    .header--center-drawer .header__icons--start .menu-drawer-button {
      display: block;
    }

    .header--center-drawer .header__icons--start .search-drawer-button,
    .header--center-drawer .header__navigation {
      display: none;
    }
  }

  @media screen and (max-width: 1023px) {
    .mobile\:header--center {
      --header-grid-template: "tools logo icons" /minmax(0, 1fr) auto minmax(0, 1fr);
    }

    .mobile\:header--center .header__icons--start {
      display: flex;
    }

    .mobile\:header--center .header__icons--start .search-drawer-button,
    .mobile\:header--center .header__icons--end .menu-drawer-button {
      display: none;
    }

    .mobile\:header--center .header__logo {
      text-align: center;
      margin-inline: auto;
    }
  }

  .header__logo {
    grid-area: logo;
    max-width: max-content;
  }

  @media screen and (max-width: 1023px) {
    .header__logo {
      max-width: calc(100vw - var(--sp-48) - var(--scrollbar-width, 0px));
      text-align: center;
      margin-inline: auto;
    }
  }

  @media screen and (max-width: 1023px) {
    .header__logo {
      max-width: calc(100% - calc(var(--sp-6) * 4) - calc(var(--header-items-gap) * 2));
      text-align: start;
      margin-inline-end: auto;
    }
  }

  @media screen and (pointer: fine) {
    .header__logo :is(a, img) {
      transition: opacity var(--animation-nav) var(--animation-nav-delay);
    }

    .header__logo a.h3 {
      transition-property: color;
    }
  }

  .header__logo a,
  .header__logo a:hover {
    color: inherit;
    text-decoration: none;
  }

  .header__logo .has-white-logo .logo {
    opacity: var(--header-logo-opacity);
  }

  .header__logo .white-logo {
    opacity: calc(1 - var(--header-logo-opacity));
  }

  .header__navigation {
    grid-area: navigation;
    transition: color var(--animation-nav) var(--animation-nav-delay)
  }

  .header__navigation--split {
    grid-area: navigation-split;
  }

  .header__icons {
    grid-area: icons;
  }

  .header__icons--start {
    display: none;
    grid-area: tools;
  }

  .header__buttons {
    margin-inline: calc(var(--sp-2d5) * -1);
  }

  @media screen and (pointer: fine) {
    .header__buttons {
      transition: color var(--animation-nav) var(--animation-nav-delay)
    }
  }

  .header__buttons>:is(a, button) {
    width: 2.75rem;
    height: 2.75rem;
  }

  .header__buttons .menu-drawer-button .icon {
    width: var(--sp-6);
    height: var(--sp-6);
  }

  .header__menu>ul {
    column-gap: var(--header-nav-gap)
  }

  .header__menu>ul summary:focus-visible magnet-element {
    outline: 2px solid rgb(var(--color-keyboard-focus));
    outline-offset: 3px;
  }

  .header__menu>ul summary::-webkit-details-marker {
    display: none;
  }

  .header__menu>ul .menu__item {
    height: var(--sp-12);
    font-family: var(--font-navigation-family);
    font-size: var(--font-navigation-size);
    text-transform: var(--font-navigation-text-transform);
  }

  .header__menu>ul.with-dot .menu__item .btn-text:after {
    --tw-translate-x: -50%;
    --tw-translate-y: -50%;
    --tw-scale-x: 0;
    --tw-scale-y: 0;
    content: '';
    background-color: currentColor;
    border-radius: 50%;
    display: block;
    width: var(--sp-1d5);
    height: var(--sp-1d5);
    inset-inline-start: 50%;
    inset-block-end: -.5em;
    position: absolute;
    transition: transform var(--animation-fast);
    transform: translate(calc(var(--tw-translate-x) * var(--transform-logical)), var(--tw-translate-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
  }

  .header__menu>ul li[aria-controls] .menu__item:hover .btn-text:after,
  .header__menu>ul li[aria-expanded=true] .menu__item .btn-text:after,
  .header__menu>ul.with-dot summary[open] .menu__item .btn-text:after {
    --tw-scale-x: 1;
    --tw-scale-y: 1
  }

  .header__menu>ul .menu__item .btn-text {
    gap: var(--sp-2);
  }

  .header__menu>ul .menu__item .icon {
    width: var(--sp-2d5);
    height: var(--sp-2d5);
  }

  .header__menu>ul.with-block {
    gap: 0;
  }

  .header__menu>ul.with-block.gap-1 {
    gap: var(--sp-1);
  }

  .header__menu>ul.with-block .menu__item {
    overflow: hidden;
    height: var(--sp-10d5);
    padding-inline: var(--sp-5);
    border-radius: var(--rounded-full);
  }

  .header__menu>ul.with-block .menu__item .icon {
    transform: scaleY(var(--tw-scale-y));
    transition: transform var(--animation-primary);
  }

  .header__menu>ul.with-block .menu__item [data-text] {
    transition: var(--animation-primary);
    transition-property: transform, opacity;
  }

  .header__menu>ul.with-block .menu__item .btn-duplicate {
    --tw-scale: 0.6;
    --tw-translate-y: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-inline: var(--sp-5);
    border-radius: var(--rounded-full);
    color: rgb(var(--color-background));
    background-color: rgb(var(--color-foreground));
    transition: transform var(--animation-primary);
    transform: translateY(var(--tw-translate-y)) scale(var(--tw-scale));
  }

  .header__menu>ul.with-block>li>details>summary[open] .menu__item .btn-duplicate {
    --tw-scale: 1;
    --tw-translate-y: 0%;
  }

  .header__menu>ul.with-block>li>details>summary[open] .menu__item [data-text] {
    opacity: 0;
    transform: translateY(-10%) scale(0.6);
  }

  .header__menu>ul.with-block>li>details>summary[open] .menu__item .icon {
    --tw-scale-y: -1
  }

  @media screen and (pointer: fine) {
    .header__menu>ul.with-block>li:hover .menu__item .btn-duplicate {
      --tw-scale: 1;
      --tw-translate-y: 0%;
    }

    .header__menu>ul.with-block>li:hover .menu__item [data-text] {
      opacity: 0;
      transform: translateY(-10%) scale(0.6);
    }
  }

  .header .dropdown {
    padding-block-start: calc(var(--header-height) - 1px);
  }

  @media screen and (min-width: 768px) {
    .header-scrolled .dropdown {
      padding-block-start: calc(var(--header-height) - 1px - calc(var(--section-padding-top) * 25/100) - calc(var(--section-padding-bottom) * 25/100));
    }
  }

  /*! header-sticky */

  .header-scrolled .header__corner path:first-child {
    fill: rgb(var(--color-background));
  }

  .header-scrolled .header__corner path:last-child,
  .header-scrolled .header__cutout {
    opacity: 1;
  }

  .header-scrolled .header {
    padding-block-start: calc(var(--section-padding-top) * 0.75);
    padding-block-end: calc(var(--section-padding-bottom) * 0.75);
  }

  .header-section.header-scrolled .header:before {
    border-radius: 0;
  }

  .header-sticky {
    z-index: 20;
    position: sticky;
    inset-block-start: 0;
  }

  /*! header-transparent */

  .header-transparent .header {
    position: absolute;
    inset-block-start: auto;
  }

  .header-transparent.header-scrolled .header {
    position: fixed;
    inset-block-start: 0;
  }

  .header-transparent:not(.header-scrolled) .header {
    --header-background-opacity: 0;
    --header-logo-opacity: 0;
    color: rgb(var(--color-transparent));
  }

  .header-section:not(.header-scrolled) .header:not(.section--next-rounded) .header__corner,
  .header-section:not(.header-scrolled).header-transparent .header__corner {
    color: transparent;
    width: 0;
    height: 0;
  }

  .header-section:not(.header-scrolled) .header:not(.section--next-rounded) .header__corner.left,
  .header-section:not(.header-scrolled).header-transparent .header__corner.left {
    --tw-translate-x: calc(var(--border-radius) * -1)
  }

  .header-section:not(.header-scrolled) .header:not(.section--next-rounded) .header__corner.right,
  .header-section:not(.header-scrolled).header-transparent .header__corner.right {
    --tw-translate-x: var(--border-radius)
  }

  .header-hidden[data-sticky-type=on-scroll-up] {
    pointer-events: none;
  }

  .header-hidden .header[is=sticky-header][data-sticky-type=on-scroll-up] {
    transform: translateY(calc(-100% - var(--border-radius)));
  }

  .header-transparent.no-animate {
    --animation-nav: none;
    --animation-nav-delay: 0s;
  }

  @supports selector(:has(> *)) {
    .js :has(.shopify-section:first-child [allow-transparent-header]) .header-section:not(.header-transparent) .header {
      --animation-nav: none;
      --animation-nav-delay: 0s;
      --header-background-opacity: 0;
      --header-logo-opacity: 0;
      position: absolute;
      color: rgb(var(--color-transparent));
    }

    .no-js :has(.shopify-section:first-child [allow-transparent-header]) .header__corner,
    .js :has(.shopify-section:first-child [allow-transparent-header]) .header-section:not(.header-transparent) .header__corner {
      color: transparent;
      width: 0;
      height: 0;
    }

    .no-js :has(.shopify-section:first-child [allow-transparent-header]) .header__corner.left {
      --tw-translate-x: calc(var(--border-radius) * -1)
    }

    .no-js :has(.shopify-section:first-child [allow-transparent-header]) .header__corner.right {
      --tw-translate-x: var(--border-radius)
    }

    .no-js :is(.topbar-section, .timer-section)+.header-section :is(.mega-menu, .mega-menu__container) {
      border-start-start-radius: 0;
      border-start-end-radius: 0;
    }
  }

  /*! countdown-condensed */

  .countdown-condensed {
    font-size: var(--text-2sm);
  }

  @media screen and (min-width: 1536px) {
    .countdown-condensed {
      font-size: var(--text-sm);
    }
  }

  @media screen and (min-width: 768px) {
    .countdown-condensed {
      gap: min(1.5vw, 3.5rem);
    }
  }

  .countdown-condensed .countdown__timer {
    --countdown-gap: var(--sp-7);
  }

  .countdown-condensed .countdown__item {
    position: relative;
    gap: var(--sp-1);
  }

  .countdown-condensed .countdown__item p {
    position: static;
  }

  .countdown-condensed .countdown__item p:after {
    font-size: inherit;
    color: inherit;
    inset-block-start: 50%;
    transform: translateX(calc(50% * var(--transform-logical))) translateY(-50%);
  }

  .countdown-condensed .countdown__item span {
    font-size: var(--text-2xs);
    font-weight: 400;
  }

  .countdown-condensed .countdown__timer:is(.heading, .body) .countdown__item p {
    font-weight: var(--font-medium);
  }

  .countdown-condensed .countdown__timer[data-compact=true] {
    --countdown-gap: var(--sp-4);
  }

  .countdown-condensed .countdown__timer[data-compact=true] .countdown__item p:after {
    inset-block-start: unset;
    transform: translateX(calc(50% * var(--transform-logical)));
  }

  @media screen and (max-width: 767px) {
    .countdown-condensed .countdown__timer[data-compact] {
      --countdown-gap: var(--sp-4);
    }
    
    .countdown-condensed .countdown__timer[data-compact] .countdown__item p {
      position: relative;
    }
    
    .countdown-condensed .countdown__timer[data-compact] .countdown__item p:after {
      inset-block-start: unset;
      transform: translateX(calc(50% * var(--transform-logical)));
    }
  }

  /*! announcement-bar */

  .topbar-section {
    color: rgb(var(--color-foreground));
    background: var(--gradient-background);
    background-color: rgb(var(--color-background));
    height: var(--topbar-height);
    font-size: var(--text-2sm);
    transition: height var(--animation-nav);
  }

  @media screen and (min-width: 1536px) {
    .topbar-section {
      font-size: var(--text-sm);
    }
  }

  .topbar {
    --topbar-grid-template: "announcement" /auto;
    grid-template: var(--topbar-grid-template);
    gap: min(1.5vw, 3.5rem);
  }

  @media screen and (min-width: 1024px) {
    .topbar--center {
      --topbar-grid-template: "socials announcement localization" /minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr)
    }

    .topbar--center.topbar--inverted {
      --topbar-grid-template: "localization announcement socials" /minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr)
    }

    .topbar--start {
      --topbar-grid-template: "announcement socials localization" /minmax(0, 1fr) auto auto
    }

    .topbar--start.topbar--inverted {
      --topbar-grid-template: "announcement localization socials" /minmax(0, 1fr) auto auto
    }

    .topbar--end {
      --topbar-grid-template: "socials localization announcement" /auto auto minmax(0, 1fr)
    }

    .topbar--end.topbar--inverted {
      --topbar-grid-template: "localization socials announcement" /auto auto minmax(0, 1fr)
    }

    .topbar--center:not(.topbar--inverted) .localization,
    .topbar--center.topbar--inverted .social-icons,
    .topbar--start:not(.topbar--inverted) .localization,
    .topbar--start.topbar--inverted .social-icons {
      justify-content: flex-end;
    }

    .topbar--inverted .localization__item .dropdown.left-0 {
      inset-inline-start: unset;
      inset-inline-end: 0;
    }

    .topbar--inverted .localization__item .dropdown.right-0 {
      inset-inline-end: unset;
      inset-inline-start: 0;
    }

    .topbar--only {
      --topbar-grid-template: "announcement" /minmax(0, 1fr)
    }
  }

  .topbar .social-icons {
    grid-area: socials
  }

  .topbar .refer-announcement-bar {
    grid-area: announcement
  }

  .topbar .localization {
    gap: min(1.5vw, 3.5rem)
  }

  .topbar .localization {
    grid-area: localization
  }

  .topbar .localization__item+.localization__item .dropdown {
    inset-inline-end: 0;
    margin-inline-start: 0;
  }

  .topbar .dropdown {
    min-width: 140px;
    margin-inline-start: calc(var(--sp-8) * -1);
  }

  .topbar .dropdown__container {
    padding-block-start: var(--sp-5);
    padding-block-end: var(--sp-8);
  }

  .topbar .dropdown__nav {
    margin-inline-end: 5px;
    max-height: 200px;
    -webkit-overflow-scrolling: touch;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scroll-snap-type: y mandatory;
    scrollbar-width: none
  }

  .topbar .dropdown__nav::-webkit-scrollbar {
    -webkit-appearance: none;
    background-clip: padding-box;
    background-color: transparent;
    border-radius: var(--rounded-full);
    width: 3px
  }

  .topbar .dropdown__nav::-webkit-scrollbar-thumb {
    background-clip: padding-box;
    background-color: rgb(var(--color-foreground)/ 0.2);
    border-radius: var(--rounded-full)
  }

  .topbar .dropdown__nav li {
    padding-inline: var(--sp-7);
  }

  .topbar .dropdown__nav .active {
    opacity: 0.4;
    pointer-events: none;
  }

  @media screen and (min-width: 1280px) {
    .topbar .dropdown {
      margin-inline-start: var(--sp-0d5);
    }
  }

  @media screen and (min-width: 1024px) {
    .refer-announcement-bar {
      max-width: 56rem
    }

    .refer-announcement-bar.without-nav {
      max-width: unset;
    }

    .refer-announcement-bar.without-nav :is(.flickity-slider, .announcement__slide) {
      transform: none !important;
    }

    .refer-announcement-bar.without-nav .announcement__slide {
      width: 100%;
    }

    .refer-announcement-bar.without-nav.lg\:justify-center .announcement__slide {
      justify-content: center;
    }

    .refer-announcement-bar.without-nav.lg\:justify-end .announcement__slide {
      justify-content: flex-end;
    }
  }

  .refer-announcement-bar .flickity-viewport {
    width: 100%;
    height: 100% !important;
  }

  .refer-announcement-bar .fader {
    padding-inline: var(--sp-3d5);
  }

  .refer-announcement-bar .fader.left {
    order: -1;
    margin-inline-start: calc(var(--sp-3d5) * -1)
  }

  .refer-announcement-bar .fader.right {
    margin-inline-end: calc(var(--sp-3d5) * -1)
  }

  @media screen and (min-width: 1280px) {
    .announcement__slides.flickity {
      max-width: 28rem;
      min-width: 28rem
    }
  }

  .refer-announcement-bar .slideshow-control:focus {
    width: auto;
    height: auto;
    inset-block-start: 50%;
    transform: translateY(-50%);
    inset-inline-start: auto;
    inset-inline-end: 0;
    border-radius: 0;
    background: none;
    color: rgb(var(--color-foreground));
  }

  .refer-announcement-bar .slideshow-control .icon {
    width: var(--sp-3);
    height: var(--sp-3);
  }

  .no-js .refer-announcement-bar .fader,
  .no-js .announcement__slide {
    display: none;
  }

  .no-js .announcement__slide:first-child {
    display: flex;
  }

  .announcement__slides>.announcement__slide~.announcement__slide {
    display: none;
  }

  [loaded] .announcement__content {
    transition: var(--animation-smooth);
    transition-property: opacity, transform;
  }

  .announcement__slide[aria-hidden] .announcement__content {
    opacity: 0;
    transform: translateY(100%);
  }

  .no-js .announcement__content {
    transition: none;
  }

  @media (prefers-reduced-motion: reduce) {
    .flickity-enabled .announcement__content {
      transform: translateY(0);
    }
  }

  @media screen and (min-width: 1280px) {
    .localization__item .icon-language {
      width: var(--sp-4d5);
      height: var(--sp-4d5);
    }
  }

  .localization__item .icon-chevron-down {
    transform: scaleY(var(--tw-scale-y));
    transition: transform var(--animation-primary);
  }

  .localization__item[aria-expanded=true] .icon-chevron-down {
    --tw-scale-y: -1;
  }

  /*! drawer */

  .modal-scrollbar-measure {
    display: block;
    position: absolute;
    inset-block-start: -100rem;
    width: 5rem;
    height: 5rem;
    overflow: scroll;
  }

  .has-modal-opening,
  .has-modal-open {
    overflow: hidden;
    padding-inline-end: var(--scrollbar-width);
  }

  html.touch .has-modal-open {
    touch-action: none
  }

  .drawer {
    --color-foreground: var(--color-drawer-text);
    --color-background: var(--color-drawer-background);
    --color-overlay: var(--color-drawer-overlay);
    --color-button-background: var(--color-drawer-button-background);
    --color-button-gradient: var(--color-drawer-button-gradient);
    --color-button-border: var(--color-drawer-button-background);
    --color-button-text: var(--color-drawer-button-text);
    --color-border: var(--color-foreground)/ 0.1;
    --color-border-dark: var(--color-foreground)/ 0.4;
    --color-border-light: var(--color-foreground)/ 0.06;
  }

  .drawer .overlay {
    cursor: none;
    transition: .8s cubic-bezier(.7, 0, .2, 1);
    transition-property: opacity, visibility, background-color;
  }

  .drawer--start .overlay {
    background: linear-gradient(to var(--transform-origin-start), rgb(var(--color-overlay)/ 0.2) 20%, rgb(var(--color-overlay)/ 0.5) 60%)
  }

  .drawer--end .overlay {
    background: linear-gradient(to var(--transform-origin-end), rgb(var(--color-overlay)/ 0.2) 20%, rgb(var(--color-overlay)/ 0.5) 60%)
  }

  @media screen and (min-width: 1280px) {
    .drawer--start .overlay {
      background: linear-gradient(to var(--transform-origin-start), rgb(var(--color-overlay)/ 0.2) 40%, rgb(var(--color-overlay)/ 0.5) 80%)
    }

    .drawer--end .overlay {
      background: linear-gradient(to var(--transform-origin-end), rgb(var(--color-overlay)/ 0.2) 40%, rgb(var(--color-overlay)/ 0.5) 80%)
    }
  }

  .drawer__header {
    border-block-end: 1px solid rgb(var(--color-border-light));
    padding: var(--sp-8) var(--sp-5) var(--sp-6);
    transition: var(--animation-primary) .1s;
    transition-property: opacity, visibility;
  }

  @media screen and (min-width: 1024px) {
    .drawer__header {
      padding-inline: var(--sp-12)
    }
  }

  @media screen and (min-width: 1536px) {
    .drawer__header {
      padding-block-end: var(--sp-8);
      padding-block-start: var(--sp-10)
    }
  }

  .drawer__close {
    height: var(--sp-12);
    width: var(--sp-12);
    margin-inline-start: auto;
  }

  .drawer__close .icon+.icon {
    transition: var(--animation-fast);
    transition-property: opacity, visibility;
  }

  .drawer.loading .drawer__close {
    --border-opacity: 0;
  }

  .drawer.loading .drawer__close .icon:first-child {
    opacity: 0;
  }

  .drawer.loading .drawer__close .icon+.icon {
    opacity: 1;
    visibility: visible;
    transition-delay: 0.1s;
  }

  .drawer__content {
    overflow-x: hidden;
    overflow-y: auto;
    transition: var(--animation-primary) .1s;
    transition-property: opacity, visibility;
  }

  .drawer__inner {
    max-width: 36rem;
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-background));
    transform: translateX(calc(var(--tw-translate-x) * var(--transform-logical)));
  }

  .drawer--start .drawer__inner {
    --tw-translate-x: -100%;
    inset-inline-start: 0;
  }

  [data-rounded-block=round] .drawer--start .drawer__inner {
    border-end-end-radius: var(--sp-8d5);
    border-start-end-radius: var(--sp-8d5);
  }

  .drawer--end .drawer__inner {
    --tw-translate-x: 100%;
    inset-inline-end: 0;
  }

  [data-rounded-block=round] .drawer--end .drawer__inner {
    border-end-start-radius: var(--sp-8d5);
    border-start-start-radius: var(--sp-8d5);
  }

  .loaded .drawer__inner {
    transition: transform .6s cubic-bezier(.7, 0, .2, 1)
  }

  .drawer[open] {
    pointer-events: auto
  }

  .drawer[active]>.drawer__inner {
    --tw-translate-x: 0;
  }

  .drawer[active]>.drawer__inner>:is(.drawer__content, .drawer__header) {
    opacity: 1;
    visibility: visible;
    transition: var(--animation-primary) .35s;
    transition-property: opacity, visibility;
  }

  .drawer[active]>.overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .loaded .drawer[open=immediate]>.drawer__inner,
  .drawer[open=immediate]>.overlay,
  .drawer[open=immediate]>.drawer__inner>:is(.drawer__content, .drawer__header) {
    transition: none;
    opacity: 1;
    visibility: visible;
  }

  @media screen and (max-width: 639px) {
    html.js .drawer .overlay {
      background: none
    }

    html.js .drawer__header:before {
      --tw-translate-x: -50%;
      content: '';
      background-color: rgb(var(--color-border));
      border-radius: var(--rounded-full);
      height: var(--sp-1);
      width: var(--sp-12);
      position: absolute;
      inset-block-start: var(--sp-2d5);
      inset-inline-start: 50%;
      transform: translateX(calc(var(--tw-translate-x) * var(--transform-logical)));
    }

    html.js .drawer__close {
      clip: rect(0, 0, 0, 0);
      border-width: 0;
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      white-space: nowrap;
      width: 1px;
    }

    html.js .drawer .drawer__inner {
      border-end-end-radius: 0;
      border-end-start-radius: 0;
      border-start-end-radius: var(--sp-5);
      border-start-start-radius: var(--sp-5);
      height: 100%;
      width: 100%;
      max-height: calc(100% - 60px);
      max-width: none;
      inset-block-start: auto;
      inset-block-end: 0;
      transform: translate3d(0, 100%, 0);
    }

    html.js .drawer[active]>.drawer__inner {
      transform: translateZ(0)
    }

    html.js .drawer[active]>.overlay {
      background: none;
      background-color: rgb(var(--color-overlay)/ 0.7);
      transform: translateZ(0)
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .loaded .drawer__inner {
      transition: opacity var(--animation-primary);
    }

    .drawer .overlay {
      transition: var(--animation-primary);
      transition-property: opacity, visibility;
    }

    .drawer__inner {
      opacity: 0;
    }

    :is(.drawer--start, .drawer--end) .drawer__inner {
      transform: translateZ(0)
    }

    .drawer[active]>.drawer__inner {
      opacity: 1;
    }

    .drawer[active]>.drawer__inner>:is(.drawer__content, .drawer__header) {
      transition-delay: 0s;
    }
  }

  /*! modal */

  .x-modal .overlay {
    background: rgb(var(--color-overlay)/ 0.7);
  }

  .x-modal .drawer__scrollable>* {
    padding-block-end: var(--sp-9)
  }

  .x-modal .drawer__scrollable>:last-child {
    padding-block-end: 0
  }

  @media screen and (min-width: 640px) {
    .x-modal:not([hidden]) {
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .x-modal .drawer__header {
      border-block-end: 0;
      padding-block-end: 0;
    }

    .x-modal .drawer__inner {
      position: static;
      height: auto;
      max-height: 90vh;
      max-width: 60rem;
      margin-inline: var(--gap-padding);
      transform: scale(0.8);
      opacity: 0;
      border-radius: var(--rounded-block);
    }

    .x-modal[active]>.drawer__inner {
      opacity: 1;
      transform: scale(1);
    }

    .loaded .x-modal .drawer__inner {
      transition-property: transform, opacity;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .x-modal .drawer__inner {
      transform: scale(1);
    }
  }

  .x-modal table {
    width: 100%;
    table-layout: fixed;
  }

  /*! search-drawer */

  .search-drawer .drawer__scrollable {
    padding-block-end: 0;
  }

  .search-drawer .drawer__scrollable .drawer__sticky {
    padding-block-start: 0;
  }

  .search__recommendation {
    padding-block-end: var(--sp-8);
  }

  .search__form[results] .search__recommendation {
    display: none;
  }

  .search__form[results] .search__results {
    display: flex;
  }

  .search__results {
    display: none;
  }

  .search__results mark {
    background-color: transparent;
    color: rgb(var(--color-foreground)/ 0.4);
  }

  .search__field {
    --input-height: var(--sp-15);
    --input-padding-inline: var(--sp-5);
  }

  @media screen and (min-width: 1024px) {
    .search__field {
      --input-padding-inline: var(--sp-7);
    }
  }

  .search__field .input {
    font-size: var(--text-base);
    line-height: 1;
    font-weight: var(--font-medium);
  }

  @media screen and (min-width: 768px) {
    .search__field .input {
      font-size: var(--text-lg);
    }
  }

  .search__field .input::-webkit-search-cancel-button,
  .search__field .input::-webkit-search-decoration {
    display: none;
  }

  .search__field .clear {
    inset-inline-end: var(--input-padding-inline);
    transition: opacity .2s;
  }

  .search__field .input:not(:placeholder-shown)~.clear {
    opacity: 1;
  }

  .search__field .input:not(:-moz-placeholder-shown)~.clear {
    opacity: 1
  }

  .search__field .clear span,
  .search__field .clear .icon {
    transition: var(--animation-fast);
    transition-property: opacity, visibility;
  }

  .search__form[loading] .search__field .clear span {
    opacity: 0;
  }

  .search__form[loading] .search__field .clear .icon {
    opacity: 1;
    visibility: visible;
    transition-delay: 0.1s;
  }

  .js .search__field .typed:not([hidden])~* {
    opacity: 0;
  }

  .search__field .typed {
    cursor: text;
    padding-inline-start: var(--input-padding-inline);
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-foreground)/ var(--opacity-025));
    border: var(--inputs-border-width) solid rgb(var(--color-foreground)/ var(--border-opacity));
    border-radius: var(--inputs-radius);
    transition: var(--animation-primary);
    transition-property: border-color, background-color;
  }

  .search__field .typed .blink {
    animation: blink 0.7s infinite;
  }

  @keyframes blink {

    0%,
    100% {
      opacity: 1;
    }

    50% {
      opacity: 0;
    }
  }

  @media screen and (pointer: fine) {

    .search__field:hover .input,
    .search__field:hover .typed {
      box-shadow: none;
      border-color: rgb(var(--color-foreground));
      background-color: rgb(var(--color-foreground)/ var(--opacity-045));
      outline: none;
    }
  }

  .search__heading {
    padding-block-end: var(--sp-2);
    color: rgb(var(--color-foreground)/ 0.5);
    border-block-end: 1px solid rgb(var(--color-border-light));
  }

  .search-drawer .horizontal-product {
    padding-block-end: var(--sp-4d5);
  }

  .search-drawer .horizontal-product+.horizontal-product {
    padding-block-start: 0;
    border-block-start: 0;
  }

  .no-js .search__field .typed {
    display: none;
  }

  /*! cart-drawer */

  .cart-drawer .modal .close {
    width: var(--sp-12);
    height: var(--sp-12);
  }

  @media screen and (min-width: 640px) {
    .cart-drawer .modal .close {
      position: static;
      width: auto;
      height: auto;
    }
  }

  .drawer__empty {
    max-width: var(--sp-72)
  }

  .search__empty {
    padding-block: var(--sp-8);
  }

  @media screen and (min-width: 1024px) {
    .drawer__empty {
      margin-block: auto;
    }

    .search__empty .drawer__empty {
      transform: translateY(calc(var(--sp-8) * -1));
    }
  }

  .drawer__empty-text {
    font-size: clamp(var(--sp-5), 1.4063rem + .5vw, var(--sp-8));
  }

  .drawer__empty-collections a {
    padding: var(--sp-3) var(--sp-5);
    background-color: rgb(var(--color-foreground)/ var(--opacity-025));
    transition: background-color var(--animation-primary)
  }

  [data-rounded-block=round] .drawer__empty-collections a {
    border-radius: var(--sp-3);
  }

  @media screen and (pointer: fine) {
    .drawer__empty-collections .icon {
      transition: transform var(--animation-primary)
    }

    .drawer__empty-collections a:hover {
      background-color: rgb(var(--color-foreground)/ var(--opacity-045));
    }

    .drawer__empty-collections a:hover .icon {
      --tw-translate-x: calc(var(--sp-1) * var(--transform-logical));
    }
  }

  .drawer__empty-collections img {
    max-width: var(--sp-8d5);
  }

  .drawer__empty .icon-xxxl {
    width: var(--sp-12);
    height: var(--sp-12);
  }

  .drawer__tabs {
    transition: all var(--animation-primary);
    transition-delay: .1s
  }

  .drawer__tab {
    line-height: 1.6;
    opacity: .2;
    transition: opacity var(--animation-primary)
  }

  .drawer__tab .count {
    inset-block-start: calc(var(--sp-0d5) * -1);
    inset-inline-start: calc(100% + var(--sp-1));
  }

  @media screen and (pointer: fine) {
    .drawer__tab:hover {
      opacity: 1
    }
  }

  .drawer__tab[aria-expanded=true] {
    opacity: 1;
    pointer-events: none
  }

  .drawer__panel {
    height: 0;
  }

  .drawer__panel[open] {
    flex: 1;
    height: 100%;
    opacity: 1;
    transition: opacity var(--animation-primary)
  }

  .drawer__scrollable {
    overflow-x: hidden;
    overflow-y: auto;
    padding: var(--sp-6) var(--sp-5)
  }

  @media screen and (min-width: 1024px) {
    .drawer__scrollable {
      padding: var(--sp-8) var(--sp-12)
    }
  }

  @media screen and (min-width: 1536px) {
    .drawer__scrollable {
      padding-block: var(--sp-11);
    }
  }

  .drawer__scrollable {
    scroll-behavior: smooth;
    scroll-snap-type: y mandatory;
    scrollbar-color: auto;
    scrollbar-width: thin
  }

  .drawer__scrollable::-webkit-scrollbar {
    -webkit-appearance: none;
    background-clip: padding-box;
    background-color: transparent;
    border-radius: var(--rounded-full);
    width: var(--sp-1d5)
  }

  .drawer__scrollable::-webkit-scrollbar-thumb {
    background-clip: padding-box;
    background-color: rgb(var(--color-foreground)/ 0.2);
    border-radius: var(--rounded-full)
  }

  .drawer__scrollable .item {
    background-color: rgb(229 229 229);
    height: 100px;
    margin-block-end: var(--sp-3);
    width: 100%
  }

  .drawer__scrollable .drawer__sticky {
    margin-block-start: auto;
    padding-block: var(--sp-6);
  }

  .drawer__footer {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .drawer__footer-top {
    border-block-start: 1px solid rgb(var(--color-border-light));
    padding-block: var(--sp-3);
  }

  @media screen and (min-width: 768px) {
    .drawer__footer-top {
      padding-block: var(--sp-4);
    }
  }

  .drawer__footer-top>button+button {
    border-inline-start: 1px solid rgb(var(--color-border));
  }

  .drawer__footer-bottom {
    background-color: rgb(var(--color-foreground)/ var(--opacity-045));
    padding: clamp(var(--sp-6), 2.315vw, var(--sp-12)) var(--sp-5)
  }

  @media screen and (min-width: 1024px) {
    .drawer__footer-bottom {
      padding-inline: var(--sp-12);
    }
  }

  .drawer__footer-bottom :is(.tax-note, .totals__subtotal) {
    line-height: 1.375
  }

  .drawer__footer-bottom .discounts {
    padding-block-end: var(--sp-4);
    border-block-end: 1px solid rgb(var(--color-border));
  }

  .drawer .modal {
    transition: all .3s ease;
    z-index: 3
  }

  .drawer .modal .fixed-modal {
    background: linear-gradient(to bottom, rgb(var(--color-drawer-overlay)/ 0.1) 30%, rgb(var(--color-drawer-overlay)/ 0.3) 80%);
    cursor: none;
    transition: opacity .6s cubic-bezier(.7, 0, .2, 1);
  }

  .drawer .modal__container {
    --tw-translate-y: 100%;
    background-color: rgb(var(--color-background));
    transform: translateY(var(--tw-translate-y));
    transition: transform .6s cubic-bezier(.7, 0, .2, 1);
    max-height: calc(100% - 60px);
  }

  [data-rounded-block=round] .drawer .modal__container {
    border-start-start-radius: var(--sp-8d5);
  }

  .drawer .modal__header {
    padding: var(--sp-8) var(--sp-5) var(--sp-2);
  }

  @media screen and (min-width: 1024px) {
    .drawer .modal__header {
      padding: var(--sp-8) var(--sp-12) var(--sp-3)
    }
  }

  .drawer .modal__content {
    padding: var(--sp-2) var(--sp-5) var(--sp-6)
  }

  @media screen and (min-width: 1024px) {
    .drawer .modal__content {
      padding: var(--sp-3) var(--sp-12) var(--sp-10)
    }
  }

  .drawer .modal[active] {
    transition-delay: 0s;
    visibility: visible
  }

  .drawer .modal[active] .fixed-modal {
    opacity: 1
  }

  .drawer .modal[active] .modal__container {
    --tw-translate-y: 0;
  }

  .horizontal-product:last-child {
    padding-block-end: 0
  }

  .horizontal-product {
    --cart-item-media-width: var(--sp-20);
    padding-block-end: var(--sp-4)
  }

  .horizontal-product+.horizontal-product {
    padding-block-start: var(--sp-4);
    border-block-start: 1px solid rgb(var(--color-border-light));
  }

  @media screen and (min-width: 768px) {
    .horizontal-product {
      padding-block-end: var(--sp-6)
    }

    .horizontal-product+.horizontal-product {
      padding-block-start: var(--sp-6)
    }
  }

  @media screen and (min-width: 768px) {
    .horizontal-product {
      --cart-item-media-width: var(--sp-24)
    }
  }

  .horizontal-product__media {
    width: var(--cart-item-media-width);
  }

  [data-rounded-block=round] .horizontal-product__media {
    border-radius: var(--sp-2);
  }

  .horizontal-product__media img {
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  @media screen and (pointer: fine) {
    .horizontal-product__media:hover img {
      --tw-scale-x: 1.05;
      --tw-scale-y: 1.05;
    }
  }

  .horizontal-product__details>.grid:last-child {
    margin-block-start: auto;
  }

  .horizontal-product__details :is(.price__sale, .price__regular) {
    font-size: inherit;
  }

  .horizontal-product__details .discounts .badge {
    padding: var(--sp-2) var(--sp-3d5);
    font-size: var(--text-xs);
  }

  .horizontal-product__quantity {
    margin-inline-start: auto
  }

  .horizontal-product__quantity .loader:not([hidden])~.link {
    visibility: hidden;
  }

  .cart-quantity {
    height: var(--sp-10);
    width: var(--sp-14)
  }

  @media screen and (min-width: 768px) {
    .cart-quantity {
      height: var(--sp-12);
    }
  }

  @media screen and (min-width: 1024px) {
    .cart-quantity {
      width: var(--sp-18)
    }
  }

  .cart-quantity .quantity__input {
    appearance: none;
    font-size: inherit;
    text-align: center;
    height: 100%;
    width: 100%;
    padding-inline: var(--sp-1)
  }

  [data-rounded-block=round] .cart-quantity .quantity__input {
    border-radius: var(--sp-2);
  }

  @media screen and (min-width: 1024px) {
    .cart-quantity .quantity__input {
      padding-inline-end: var(--sp-3)
    }
  }

  .cart-quantity .quantity__input::-webkit-inner-spin-button,
  .cart-quantity .quantity__input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
  }

  .cart-quantity .quantity__input:focus {
    appearance: none;
    outline: 2px solid transparent;
    outline-offset: 2px
  }

  .cart-quantity .quantity__buttons {
    width: var(--sp-6)
  }

  .cart-quantity .quantity__button {
    height: var(--sp-6);
    padding-inline-end: var(--sp-3);
  }

  .cart-quantity .quantity__button[name=plus] {
    padding-block-end: var(--sp-1)
  }

  .cart-quantity .quantity__button[name=minus] {
    padding-block-start: var(--sp-1)
  }

  .cart-quantity .quantity__button .icon {
    width: var(--sp-2);
    height: var(--sp-2);
  }

  .horizontal-product__quantity .cart-quantity+div {
    margin-block-start: auto;
  }

  /*! gift-wrapping */

  .cart-drawer .gift-wrapping {
    padding: var(--sp-5);
    border: 1px solid rgb(var(--color-border-light));
  }

  [data-rounded-block=round] .cart-drawer .gift-wrapping {
    border-radius: var(--border-radius-small);
  }

  .gift-wrapping .loader:not([hidden])~input {
    visibility: hidden;
  }

  /*! free-shipping-bar */

  [data-rounded-block=square] .free-shipping-bar progress-bar {
    border-radius: 0;
  }

  .free-shipping-bar progress-bar {
    height: var(--sp-1d5);
    background-color: rgb(var(--color-border-light));
  }

  .free-shipping-bar progress-bar:before {
    --tw-scale-x: 0;
    content: '';
    background-color: currentColor;
    border-radius: inherit;
    display: block;
    height: inherit;
    transform: scaleX(var(--tw-scale-x));
    transform-origin: var(--transform-origin-start);
    transition: transform var(--animation-smooth) .1s;
  }

  .cart-drawer[active] .free-shipping-bar progress-bar:before {
    --tw-scale-x: var(--progress);
  }

  @media screen and (max-width: 639px) {
    html.js .cart-drawer .drawer__header {
      border-start-start-radius: var(--sp-6)
    }

    html.js .cart-drawer .drawer__scrollable {
      height: auto
    }

    html.js .cart-drawer .modal .fixed-modal {
      background: none;
      background-color: rgb(var(--color-overlay)/ 0.35)
    }

    html.js .cart-drawer .modal__container {
      border-start-end-radius: var(--sp-6);
      border-start-start-radius: var(--sp-6)
    }
  }

  /*! product-complementary */

  .no-js .complementary-products {
    display: none;
  }

  .recommend__title {
    border-block-end: 1px solid rgb(var(--color-border-light));
    padding-block-end: var(--sp-1d5)
  }

  .complementary-products .horizontal-products {
    margin-inline: calc(var(--page-padding) * -1);
  }

  .complementary-products .horizontal-products:empty {
    display: block;
    margin-inline: 0;
  }

  .complementary-products .horizontal-products:empty:before {
    content: '';
    display: block;
    width: 100%;
    height: var(--sp-20);
    background-image: linear-gradient(100deg, rgb(var(--color-foreground)/ var(--opacity-045)) 40%, rgb(var(--color-foreground)/ var(--opacity-115)) 63%, rgb(var(--color-foreground)/ var(--opacity-045)) 79%);
    animation: placeholder-shimmer 1.3s linear infinite;
    background-size: 400% 100%;
    border-radius: var(--sp-2);
  }

  [data-rounded-block=round] .horizontal-products:empty:before {
    border-radius: var(--sp-2);
  }

  @keyframes placeholder-shimmer {
    0% {
      background-position: -150% 0;
    }

    to {
      background-position: 150% 0;
    }
  }

  .complementary-products .horizontal-products>.horizontal-product {
    display: none;
  }

  .complementary-products .horizontal-products>.horizontal-product:first-child {
    display: flex;
  }

  .complementary-products .horizontal-products.flickity .horizontal-product {
    margin-inline-end: var(--sp-10);
  }

  .complementary-products .horizontal-products .horizontal-product {
    padding-inline: var(--page-padding);
    padding-block: 0;
    border-block-start: 0;
  }

  .cart__recent:empty {
    position: relative;
    display: block;
  }

  .cart__recent:empty:before,
  .cart__recent:empty:after {
    content: '';
    display: block;
    position: absolute;
    inset-block-start: var(--sp-6);
    inset-inline-start: 50%;
    margin-block-start: -1.5px;
    margin-inline-start: max(-30px, -20%);
    width: min(60px, 40%);
    height: 3px;
    background-color: rgb(var(--color-foreground));
  }

  .cart__recent:empty:before {
    background-color: rgb(var(--color-border));
  }

  .cart__recent:empty:after {
    animation: preloading 1.2s infinite ease;
  }

  @media screen and (min-width: 1024px) {
    .complementary-products .horizontal-products {
      margin-inline: 0;
    }

    .complementary-products .horizontal-products .horizontal-product {
      padding-inline: 0;
    }

    .cart__recent:empty:before,
    .cart__recent:empty:after {
      inset-block-start: 50%;
    }
  }

  .cart__recent[hidden] {
    display: none;
  }

  /*! menu-drawer */

  .menu-drawer summary::-webkit-details-marker {
    display: none;
  }

  .modal[open] .listbox li {
    --tw-translate-x: 0;
    opacity: 1;
  }

  .modal .listbox li {
    --tw-translate-x: calc(var(--sp-3) * -1);
    transform: translateX(calc(var(--tw-translate-x) * var(--transform-logical)));
    transition: transform .6s cubic-bezier(.075, .82, .165, 1), opacity .6s cubic-bezier(.19, 1, .22, 1);
    transition-delay: .5s;
  }

  .modal .listbox li:first-child {
    transition-delay: .3s
  }

  .modal .listbox li:nth-child(2) {
    transition-delay: .4s
  }

  .modal .listbox li:nth-child(3) {
    transition-delay: .5s
  }

  .modal .listbox li:nth-child(4) {
    transition-delay: .6s
  }

  .modal .listbox li:nth-child(5) {
    transition-delay: .7s
  }

  .modal .listbox li:nth-child(6) {
    transition-delay: .8s
  }

  .modal .listbox li:nth-child(7) {
    transition-delay: .9s
  }

  .modal .listbox li:nth-child(8) {
    transition-delay: 1s
  }

  .modal .listbox li:nth-child(9) {
    transition-delay: 1.1s
  }

  .modal .listbox li:nth-child(10) {
    transition-delay: 1.2s
  }

  .modal .listbox li:nth-child(11) {
    transition-delay: 1.3s
  }

  .modal .listbox li:nth-child(12) {
    transition-delay: 1.4s
  }

  .modal .listbox li:nth-child(13) {
    transition-delay: 1.5s
  }

  .modal .listbox li:nth-child(14) {
    transition-delay: 1.6s
  }

  .modal .listbox li:nth-child(15) {
    transition-delay: 1.7s
  }

  .modal .listbox .active {
    opacity: .4;
    pointer-events: none;
  }

  .modal .modal__scrollable {
    -webkit-overflow-scrolling: touch;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scroll-snap-type: y mandatory;
    scrollbar-width: none
  }

  .modal .modal__scrollable::-webkit-scrollbar {
    -webkit-appearance: none;
    background-clip: padding-box;
    background-color: transparent;
    border-radius: var(--rounded-full);
    width: 3px
  }

  .modal .modal__scrollable::-webkit-scrollbar-thumb {
    background-clip: padding-box;
    background-color: rgb(var(--color-foreground)/ 0.2);
    border-radius: var(--rounded-full)
  }

  [data-rounded-block=round] .menu-drawer .modal__container {
    border-start-end-radius: var(--sp-6);
    border-start-start-radius: var(--sp-6);
  }

  .menu-drawer .modal__content {
    padding: var(--sp-10);
  }

  .menu-drawer .modal .close {
    width: var(--sp-12);
    height: var(--sp-12);
  }

  .menu-drawer .drawer__header {
    padding: var(--sp-8) var(--sp-5) var(--sp-4);
    border-block-end: 0;
  }

  .menu-drawer .drawer__footer-top {
    padding-block: var(--sp-2d5);
  }

  .menu-drawer .drawer__footer-top>button {
    padding: var(--sp-0d5) var(--sp-5);
  }

  @media screen and (min-width: 768px) {
    .menu-drawer .drawer__footer-top>button {
      width: 50%;
    }
  }

  .menu-drawer .drawer__footer-top .btn-text .icon:first-child {
    width: var(--sp-4d5);
  }

  @media screen and (max-width: 767px) {
    .menu-drawer .drawer__footer-top>button .btn-text {
      line-height: normal;
      display: inline-block;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
    }
  }

  .menu-drawer .drawer__footer-bottom {
    padding: var(--sp-5);
  }

  .menu-drawer .drawer__footer-bottom .button {
    font-size: var(--text-sm);
    padding-block: var(--sp-2d5);
    padding-inline: var(--sp-5);
  }

  .menu-drawer .drawer__scrollable {
    padding-inline: 0;
    padding-block: var(--sp-3) var(--sp-10);
    max-height: calc(100% - var(--sp-12));
  }

  .menu-drawer .drawer__scrollable.active {
    overflow: unset;
  }

  @media screen and (min-width: 768px) {
    .menu-drawer .drawer__menu {
      padding-block-start: var(--sp-6);
    }
  }

  .drawer__menu li {
    padding-inline-start: var(--sp-5);
  }

  .drawer__menu summary:after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: var(--sp-7);
    opacity: 0.4;
    transform: rotate(calc(45deg * var(--transform-logical))) translateY(-50%);
    border-block-start: 1.5px solid currentColor;
    border-inline-end: 1.5px solid currentColor;
  }

  .drawer__menu-item {
    padding-block: var(--sp-2d5);
    transition: transform var(--animation-primary);
  }

  .drawer__submenu {
    background-color: rgb(var(--color-background));
    inset-inline-start: 100%;
    transition: inset var(--animation-primary);
  }

  .drawer__submenu>button {
    height: 50px;
    border-block-end: 1px solid rgb(var(--color-border-light));
    padding-inline-start: var(--sp-5);
    color: rgb(var(--color-foreground)/ 0.4);
  }

  .drawer__submenu>button:before {
    content: '';
    display: block;
    border-inline-start: 2px solid currentColor;
    border-block-start: 2px solid currentColor;
    width: var(--sp-2);
    height: var(--sp-2);
    transform: rotate(calc(-45deg * var(--transform-logical)));
  }

  .drawer__submenu>button:focus-visible {
    outline-offset: -3px;
  }

  details.active>.drawer__submenu {
    inset-inline-start: 0;
  }

  details[open]>.drawer__submenu {
    z-index: 3;
  }

  details.active .drawer__menu-item {
    --tw-translate-x: 0;
    opacity: 1;
  }

  :is(.drawer__menu, .drawer__submenu).active>li>a,
  :is(.drawer__menu, .drawer__submenu).active>li>details>summary {
    transform: translateX(calc(-30% * var(--transform-logical)));
  }

  li+.drawer__promotions {
    padding-block-start: var(--sp-4);
  }

  .drawer__promotions {
    padding-block-start: var(--sp-2);
    padding-inline-end: var(--sp-5);
  }

  .drawer__promotions .mega-menu__list {
    --header-nav-gap: var(--sp-3);
    padding-block: 0;
  }

  .drawer__promotions .mega-menu__item {
    --tw-translate-x: calc(var(--sp-10) * -1);
    max-width: 100%;
    padding-inline-start: 0;
    transition: transform .6s cubic-bezier(.075, .82, .165, 1), opacity .6s cubic-bezier(.19, 1, .22, 1);
  }

  details.active .drawer__promotions .mega-menu__item,
  .drawer__promotions .media-card__text {
    --tw-translate-x: 0;
    opacity: 1;
  }

  .drawer__promotions .media-card--overlap .media-card__content {
    padding-inline: var(--sp-4);
    padding-block-end: var(--sp-3d5);
  }

  @media screen and (max-width: 639px) {
    html.js .menu-drawer .modal .fixed-modal {
      background: none;
      background-color: rgb(var(--color-overlay)/ 0.35)
    }
  }

  /*! dropdown-menu */

  .header~.overlay {
    z-index: -1;
    inset: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgb(var(--color-drawer-overlay)/ 0.1) 40%, rgb(var(--color-drawer-overlay)/ 0.5) 80%);
    transition: .8s cubic-bezier(.7, 0, .2, 1);
    transition-property: opacity, visibility;
  }

  .has-dropdown-menu .header~.overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0.1s;
    cursor: none;
  }

  .has-dropdown-menu .header-transparent:not(.header-scrolled) .header {
    --animation-nav-delay: 0s;
    --header-background-opacity: 1;
    --header-logo-opacity: 1;
    color: rgb(var(--color-foreground));
  }

  .has-dropdown-menu .header-section:not(.header-scrolled) .header__corner {
    --tw-translate-x: 0;
    width: var(--border-radius);
    height: var(--border-radius);
    color: rgb(var(--color-background));
  }

  .dropdown {
    --border-radius: clamp(var(--sp-4), 1.052vw, var(--sp-5));
    margin-inline-start: calc(var(--sp-8) * -1);
    min-width: 250px;
    width: max-content;
    transition: padding var(--animation-nav);
  }

  .dropdown__container {
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-background));
    padding-block-start: var(--sp-6);
    padding-block-end: var(--sp-10);
  }

  [data-rounded-block=round] .dropdown__container {
    border-end-start-radius: var(--border-radius);
    border-end-end-radius: var(--border-radius);
  }

  .dropdown[open] {
    pointer-events: auto;
  }

  .dropdown__nav li {
    --tw-translate-x: 20%;
    transform: translateX(calc(var(--tw-translate-x) * var(--transform-logical)));
    transition: transform 1s cubic-bezier(.075, .82, .165, 1), opacity 1s cubic-bezier(.19, 1, .22, 1);
    transition-delay: 0.2s;
  }

  .dropdown__nav li>:is(details, p) {
    padding-inline: var(--sp-8);
  }

  .dropdown[open] .dropdown__nav>li {
    --tw-translate-x: 0;
    opacity: 1;
    transition-delay: 1.2s;
  }

  .dropdown[open] .dropdown__nav li:first-child {
    transition-delay: 0.3s
  }

  .dropdown[open] .dropdown__nav li:nth-child(2) {
    transition-delay: 0.4s
  }

  .dropdown[open] .dropdown__nav li:nth-child(3) {
    transition-delay: 0.5s
  }

  .dropdown[open] .dropdown__nav li:nth-child(4) {
    transition-delay: 0.6s
  }

  .dropdown[open] .dropdown__nav li:nth-child(5) {
    transition-delay: 0.7s
  }

  .dropdown[open] .dropdown__nav li:nth-child(6) {
    transition-delay: 0.8s
  }

  .dropdown[open] .dropdown__nav li:nth-child(7) {
    transition-delay: 0.9s
  }

  .dropdown[open] .dropdown__nav li:nth-child(8) {
    transition-delay: 1s
  }

  .dropdown[open] .dropdown__nav li:nth-child(9) {
    transition-delay: 1.1s
  }

  .dropdown__nav a {
    line-height: 1.5;
  }

  .dropdown__corner {
    inset-block-start: 0;
  }

  .dropdown__corner.top.left {
    --tw-scale-x: -1;
    --tw-rotate: 0;
    left: calc(var(--border-radius) * -1);
  }

  .dropdown__corner.top.right {
    --tw-scale-y: 1;
    --tw-rotate: 0;
    right: calc(var(--border-radius) * -1);
  }

  .dropdown .dropdown {
    margin-inline-start: 0;
    margin-block-start: calc(var(--sp-5) * -1);
    padding-inline-start: var(--sp-1);
    padding-block-start: 0;
    transform: translateX(calc(var(--tw-translate-x) * var(--transform-logical)));
    transition: opacity var(--animation-fast), transform var(--animation-primary);
  }

  .dropdown .dropdown .dropdown__container {
    --tw-translate-y: 0;
    padding-block: var(--sp-6);
  }

  [data-rounded-block=round] .dropdown .dropdown .dropdown__container {
    border-radius: var(--border-radius);
  }

  .dropdown.should-reverse .dropdown {
    inset-inline-start: auto;
    inset-inline-end: 100%;
    padding-inline-start: 0;
    padding-inline-end: var(--sp-1);
  }

  .dropdown__nav li[aria-controls]:hover>.dropdown {
    --tw-translate-x: 0;
    opacity: 1;
    pointer-events: auto;
  }

  @media (prefers-reduced-motion: reduce) {
    .header-transparent:not(.header-scrolled) .dropdown {
      transition-delay: 0s;
    }

    .dropdown {
      transition: var(--animation-nav);
      transition-property: opacity, padding;
    }

    .dropdown__container {
      --tw-translate-y: 0;
    }

    .dropdown__nav li {
      --tw-translate-x: 0;
      opacity: 1;
    }
  }

  /*! no-js */

  .no-js details[is=details-dropdown]>.dropdown,
  .no-js details[is=details-mega]>.mega-menu {
    inset-block-start: 100%;
  }

  .no-js details[is=details-dropdown][open]>.dropdown,
  .no-js details[is=details-mega][open]>.mega-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .no-js details[is=details-mega]>.mega-menu .mega-menu__container {
    visibility: visible;
    transform: translateY(0px);
  }

  .no-js :is(details[is=details-dropdown], details[is=details-mega])[open]>summary .menu__item [data-text] {
    opacity: 0;
    transform: translateY(-10%) scale(.6);
  }

  .no-js :is(details[is=details-dropdown], details[is=details-mega])[open]>summary .menu__item .btn-duplicate {
    --tw-scale: 1;
    --tw-translate-y: 0%;
  }

  .no-js .dropdown .dropdown__nav li,
  .no-js .mega-menu .mega-menu__nav li {
    --tw-translate-x: 0;
    opacity: 1;
  }

  .no-js .mega-menu .mega-menu__item {
    --tw-translate-y: 0;
    --tw-translate-x: 0;
    opacity: 1;
  }

  /*! mega-menu */

  .has-dropdown-menu.with-mega .header :is(.header__corner, .cutout) {
    opacity: 0;
  }

  @media screen and (min-width: 768px) {
    .header-scrolled .mega-menu__container {
      padding-block-start: calc(var(--header-height) - calc(var(--section-padding-top) * 25/100) - calc(var(--section-padding-bottom) * 25/100) - 1px)
    }
  }

  .header.section--rounded:not(.section--first-rounded) .mega-menu,
  .header.section--rounded:not(.section--first-rounded) .mega-menu__container {
    border-start-start-radius: var(--border-radius);
    border-start-end-radius: var(--border-radius);
  }

  [data-rounded-block=round] .mega-menu {
    border-end-start-radius: var(--border-radius);
    border-end-end-radius: var(--border-radius);
  }

  .mega-menu__container {
    background-color: rgb(var(--color-background));
    padding-block-start: calc(var(--header-height) - 1px);
    transition: padding var(--animation-nav);
  }

  [data-rounded-block=round] .mega-menu__container {
    border-end-start-radius: var(--border-radius);
    border-end-end-radius: var(--border-radius);
  }

  .mega-menu[open] {
    pointer-events: auto;
  }

  .mega-menu__list {
    --header-nav-gap: clamp(var(--sp-4), 1.263vw, var(--sp-6));
    gap: var(--header-nav-gap);
    padding-block-start: var(--sp-3);
    padding-block-end: var(--sp-14);
  }

  .mega-menu__item {
    --tw-translate-y: 0;
    --tw-translate-x: 25%;
    flex: calc(20% - var(--header-nav-gap) * 5 / 6);
    max-width: calc(25% - var(--header-nav-gap) * 4 / 5);
    color: rgb(var(--color-foreground));
    transform: translate(calc(var(--tw-translate-x) * var(--transform-logical)), var(--tw-translate-y));
    transition: transform 1.5s cubic-bezier(.075, .82, .165, 1), opacity .9s cubic-bezier(.19, 1, .22, 1);
  }

  .mega-menu__item--nav {
    flex: calc(50% - var(--header-nav-gap) / 2);
    max-width: calc(50% - var(--header-nav-gap) / 2);
    align-content: space-between;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    padding-inline-end: var(--sp-5);
  }

  @media screen and (min-width: 1280px) {
    .mega-menu__item--nav {
      padding-inline-end: var(--sp-10);
      padding-block-start: var(--sp-6);
    }
  }

  .mega-menu__item--full {
    flex: 100%;
    max-width: 100%;
  }

  .mega-menu[open] .mega-menu__item {
    --tw-translate-y: 0;
    --tw-translate-x: 0;
    opacity: 1;
  }

  .mega-menu__item:first-child {
    transition-delay: .3s
  }

  .mega-menu__item:first-child .media-card__text {
    transition-delay: .45s
  }

  .mega-menu__item:nth-child(2) {
    transition-delay: .4s
  }

  .mega-menu__item:nth-child(2) .media-card__text {
    transition-delay: .55s
  }

  .mega-menu__item:nth-child(3) {
    transition-delay: .5s
  }

  .mega-menu__item:nth-child(3) .media-card__text {
    transition-delay: .65s
  }

  .mega-menu__item:nth-child(4) {
    transition-delay: .6s
  }

  .mega-menu__item:nth-child(4) .media-card__text {
    transition-delay: .75s
  }

  .mega-menu__item:nth-child(5) {
    transition-delay: .7s
  }

  .mega-menu__item:nth-child(5) .media-card__text {
    transition-delay: .85s
  }

  .media-card {
    background-color: rgb(var(--color-placeholder));
    border-radius: var(--card-radius);
  }

  .media-card--standard {
    background-color: transparent;
  }

  .media-card--standard .media {
    border-radius: var(--card-radius);
  }

  .media-card--overlap .media-card__link .media:not(.loading):after {
    content: '';
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(var(--color-overlay)/ var(--overlay-opacity));
  }

  .media-card__link .media img {
    height: 100%;
    transition: transform var(--animation-primary);
    backface-visibility: hidden;
  }

  .media-card__content {
    --card-content-padding: clamp(var(--sp-4), 1.263vw, var(--sp-6)) clamp(var(--sp-4), 2.105vw, var(--sp-10)) clamp(var(--sp-4), 2.105vw, var(--sp-10));
    padding: var(--card-content-padding);
    color: rgb(var(--color-foreground));
  }

  .media-card__content.text-center {
    justify-content: center;
  }

  .media-card__content.text-center>.icon {
    display: none;
  }

  .media-card--standard .media-card__content {
    padding-inline: 0;
  }

  .media-card--overlap .media-card__content {
    position: absolute;
    inset-block-end: 0;
    inset-inline-start: 0;
    padding-block-start: 0;
    padding-block-end: var(--sp-5);
    padding-inline: var(--sp-6);
  }

  @media screen and (min-width: 1536px) {
    .media-card--overlap .media-card__content {
      padding-block-end: var(--sp-7);
      padding-inline: var(--sp-10);
    }
  }

  .media-card--overlap .media {
    height: 100%;
  }

  .media-card__text {
    --tw-translate-y: 0;
    /* --tw-translate-x: 25%; */
    transform: translate(calc(var(--tw-translate-x) * var(--transform-logical)), var(--tw-translate-y));
    transition: transform 2s cubic-bezier(.075, .82, .165, 1), opacity 1s cubic-bezier(.19, 1, .22, 1);
  }

  .mega-menu[open] .media-card__text {
    --tw-translate-y: 0;
    --tw-translate-x: 0;
    opacity: 1;
  }

  .media-card__text .heading {
    --reversed-link-gap: min(100%, 1.35em);
  }

  .media-card__text .count {
    inset-block-start: calc(var(--sp-0d5) * -1);
    inset-inline-start: calc(100% + 0.3em);
  }

  .media-card__content .icon {
    transition: transform var(--animation-primary)
  }

  .media-card__link .media img {
    transform: scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  @media screen and (min-width: 1280px) {
    .media-card__content .icon {
      width: var(--sp-5);
      height: var(--sp-5);
    }
  }

  @media screen and (pointer: fine) {
    .media-card__link:hover .media img {
      --tw-scale-x: 1.05;
      --tw-scale-y: 1.05;
    }

    .media-card__link:hover .media-card__content .icon {
      --tw-rotate: calc(90deg * var(--transform-logical));
    }

    .media-card__link:hover .media-card__text .heading {
      background-position-x: var(--transform-origin-start);
      background-size: 100% 1.35px
    }
  }

  .media-card__link:focus-visible .media-card__text {
    outline: 2px solid rgb(var(--color-keyboard-focus));
    outline-offset: 3px;
  }

  .media-card__text p {
    margin-block-start: var(--sp-1);
  }

  @media screen and (min-width: 1536px) {
    .media-card__text p {
      font-size: var(--text-sm);
      line-height: 1.25
    }
  }

  .mega-menu__nav {
    --header-nav-gap: clamp(var(--sp-5), 6.5vw, var(--sp-32));
    column-gap: var(--header-nav-gap);
    row-gap: clamp(var(--sp-5), 2.315vw, var(--sp-11));
  }

  .mega-menu__nav.grid {
    grid-auto-flow: column;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: auto auto;
  }

  .mega-menu__nav--more.grid {
    grid-template-rows: auto auto auto;
  }

  .mega-menu__nav.flex>li {
    flex: calc(20% - var(--header-nav-gap) * 4 / 5);
    max-width: calc(20% - var(--header-nav-gap) * 4 / 5);
  }

  .mega-menu__nav>li {
    --tw-translate-x: 25%;
    transform: translateX(calc(var(--tw-translate-x) * var(--transform-logical)));
    transition: transform 2s cubic-bezier(.075, .82, .165, 1), opacity 1s cubic-bezier(.19, 1, .22, 1);
  }

  .mega-menu__nav>li:is(:nth-child(1), :nth-child(2)) {
    transition-delay: .5s;
  }

  .mega-menu__nav>li:is(:nth-child(3), :nth-child(4)) {
    transition-delay: .65s;
  }

  .mega-menu__nav>li:is(:nth-child(5), :nth-child(6)) {
    transition-delay: .75s;
  }

  .mega-menu__nav--more>li:is(:nth-child(1), :nth-child(2), :nth-child(3)) {
    transition-delay: .5s;
  }

  .mega-menu__nav--more>li:is(:nth-child(4), :nth-child(5), :nth-child(6)) {
    transition-delay: .65s;
  }

  .mega-menu__nav--more>li:is(:nth-child(7), :nth-child(8), :nth-child(9)) {
    transition-delay: .75s;
  }

  .mega-menu[open] .mega-menu__nav>li {
    --tw-translate-x: 0;
    opacity: 1;
  }

  .mega-menu__nav .media {
    margin-block-end: var(--sp-4);
  }

  .mega-menu__nav ul {
    margin-block-start: var(--sp-3);
  }

  .mega-menu__nav ul a {
    line-height: 1.5;
  }

  .mega-menu__footer {
    margin-block-start: var(--sp-7);
  }

  .mega-menu__footer:before {
    --tw-scale-x: 0;
    content: '';
    background-color: rgb(var(--color-foreground));
    position: absolute;
    height: 1px;
    inset-inline: 0;
    inset-block-start: 0;
    transform: scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform-origin: center var(--transform-origin-start);
    transition: transform 1s cubic-bezier(.215, .61, .355, 1);
    transition-delay: .5s;
  }

  .mega-menu[open] .mega-menu__footer:before {
    --tw-scale-x: 1;
  }

  .mega-menu__footer a {
    padding-block-start: var(--sp-3);
  }

  @media screen and (min-width: 1280px) {
    .mega-menu__footer a {
      padding-block-start: var(--sp-5);
      padding-block-end: var(--sp-4);
    }
  }

  @media screen and (pointer: fine) {
    .mega-menu__footer a:hover .reversed-link {
      background-position-x: var(--transform-origin-start);
      background-size: 100% 1.5px;
    }

    .mega-menu__footer .icon {
      transform: rotate(var(--tw-rotate)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
      transition: transform var(--animation-primary)
    }

    .mega-menu__footer a:hover .icon {
      --tw-rotate: calc(90deg * var(--transform-logical));
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .mega-menu__container {
      --tw-translate-y: 0;
      opacity: 0;
      transition: var(--animation-nav);
      transition-property: opacity, padding;
    }

    .mega-menu[open] .mega-menu__container {
      opacity: 1;
    }

    .mega-menu__item,
    .media-card__text {
      --tw-translate-y: 0;
      --tw-translate-x: 0;
      opacity: 1;
    }

    .mega-menu__nav>li {
      --tw-translate-x: 0;
      opacity: 1;
    }

    .mega-menu__footer:before {
      --tw-scale-x: 1;
    }
  }

  /*! footer */

  @media screen and (min-width: 768px) {
    .footer-group {
      position: absolute;
      z-index: -1;
    }
  }

  .js .footer-group .section--rounded:before {
    inset-block-start: auto;
    inset-block-end: 0;
    border-start-end-radius: 0;
    border-start-start-radius: 0;
  }

  .footer-overlay {
    opacity: 0.8;
    height: var(--section-padding-top);
    background-image: linear-gradient(to bottom, rgb(var(--color-background)), rgb(var(--color-background)/0));
  }

  .footer {
    color: rgb(var(--color-foreground));
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  @media screen and (min-width: 1280px) {
    .footer {
      grid-template-columns: repeat(2, minmax(0, 1fr))
    }
  }

  @media screen and (min-width: 768px) {
    .footer__left {
      gap: clamp(var(--sp-20), 8.421vw, var(--sp-40))
    }
  }

  @media screen and (min-width: 1280px) {
    .footer__left {
      border-inline-end: 1px solid rgb(var(--color-foreground)/ var(--opacity-115));
    }
  }

  .footer__logo img {
    max-width: calc(var(--image-width) * 0.75);
    max-height: calc(var(--image-height) * 0.75);
  }

  @media screen and (min-width: 1024px) {
    .footer__logo img {
      max-width: var(--image-width);
      max-height: var(--image-height);
    }
  }

  .footer__accordions .details {
    border: 0 solid rgb(var(--color-foreground)/ var(--opacity-115));
    border-block-start-width: 1px;
    border-inline-end-width: 1px;
    border-inline-start-width: 1px;
    padding-inline: var(--sp-5)
  }

  @media screen and (min-width: 768px) {
    .footer__accordions .details {
      border-width: 0;
      padding-inline: 0
    }
  }

  @media screen and (max-width: 767px) {
    .footer__accordions .no-details {
      order: 13;
      margin-block-start: var(--sp-7);
    }
  }

  @media screen and (min-width: 768px) and (max-width: 1023px) {
    .footer__accordions .details {
      width: calc(25% - var(--sp-12) * 4 / 5);
    }

    .footer__accordions .no-details {
      width: calc(50% - var(--sp-12) 2 / 3);
    }
  }

  @media screen and (min-width: 1024px) and (max-width: 1279px) {
    .footer__accordions .no-details {
      width: calc(33.33% - var(--sp-12) * 3 / 4);
    }
  }

  .footer__accordions .details .details__summary {
    padding-block: var(--sp-5);
  }

  @media screen and (min-width: 768px) {
    .footer__accordions .details .details__summary {
      padding-block-start: 0;
      pointer-events: none
    }
  }

  @media screen and (min-width: 768px) {
    .footer__accordions .details .details__summary svg {
      display: none
    }
  }

  .footer__accordions .details__summary+.details__content:before {
    content: '';
    display: block;
    pointer-events: none;
    padding-block-start: var(--sp-2)
  }

  .footer__accordions .details:first-of-type {
    border-block-end-width: 0;
  }

  [data-rounded-block=round] .footer__accordions .details:first-of-type {
    border-start-end-radius: var(--sp-2);
    border-start-start-radius: var(--sp-2)
  }

  @media screen and (min-width: 768px) {
    .footer__accordions .details:first-of-type {
      border-radius: 0
    }
  }

  .footer__accordions .details:last-of-type {
    border-block-end-width: 1px;
  }

  [data-rounded-block=round] .footer__accordions .details:last-of-type {
    border-end-end-radius: var(--sp-2);
    border-end-start-radius: var(--sp-2)
  }

  @media screen and (min-width: 768px) {
    .footer__accordions .details:last-of-type {
      border-block-end-width: 0;
      border-radius: 0
    }
  }

  .footer__accordions .details:last-of-type .details__content:after {
    content: '';
    display: block;
    padding-block-end: var(--sp-7)
  }

  .footer__contact {
    font-size: clamp(var(--text-xl), 1.578vw, var(--text-3xl));
  }

  .footer__right {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    align-content: space-between;
    border-block-start: 1px solid rgb(var(--color-foreground)/ var(--opacity-115));
    margin-block-start: var(--sp-10);
    padding-block-start: var(--sp-14)
  }

  @media screen and (min-width: 768px) {
    .footer__right {
      grid-template-columns: repeat(5, minmax(0, 1fr))
    }
  }

  @media screen and (min-width: 1280px) {
    .footer__right {
      grid-template-columns: repeat(1, minmax(0, 1fr));
      column-gap: 0;
      border-block-start-width: 0;
      margin-block-start: 0;
      padding-block: 0;
      padding-inline: clamp(var(--sp-10), 8.421vw, var(--sp-40));
    }
  }

  .follow-on-shop {
    grid-column: span 2/span 2
  }

  .social_platform:before {
    content: '';
    position: absolute;
    inset: calc(var(--sp-2d5) * -1);
  }

  .footer__socials {
    align-self: flex-end;
    grid-column: span 2/span 2
  }

  .footer__newsletter {
    grid-column: span 3/span 3
  }

  @media screen and (min-width: 768px) {
    .footer__newsletter .h3 {
      font-size: clamp(var(--text-2xl), 2.526vw, var(--text-5xl))
    }
  }

  .newsletter-form {
    max-width: 28rem
  }

  .newsletter-form .alert {
    border-radius: var(--rounded-full);
  }

  .newsletter-form .field .input {
    box-shadow: none;
    background-color: rgb(var(--color-foreground)/ var(--opacity-045));
    color: rgb(var(--color-foreground));
  }

  .newsletter-form .field .input:focus {
    background-color: rgb(var(--color-foreground)/ var(--opacity-115));
  }

  .newsletter-form .field .input:-webkit-autofill {
    transition: background-color 9999s;
    -webkit-text-fill-color: rgb(var(--color-foreground));
  }

  /*! footer-copyright */

  .footer-copyright {
    --color-button-text: var(--color-background);
    --color-button-border: var(--color-foreground);
    --color-button-background: var(--color-foreground);
    font-size: var(--text-2sm);
    color: rgb(var(--color-foreground));
    padding-block: clamp(var(--sp-7), 1.789vw, var(--sp-8d5));
  }

  @media screen and (min-width: 1024px) {
    .footer-copyright {
      font-size: var(--text-sm)
    }
  }

  .footer-copyright .credits {
    order: 3;
  }

  @media screen and (min-width: 1024px) {
    .footer-copyright .credits {
      order: 1;
      text-align: start
    }
  }

  .footer-copyright .credits ul {
    margin-block-start: var(--sp-4);
    margin-block-end: 0;
    padding-inline-start: 0;
    list-style: none;
  }

  .footer-copyright .credits li {
    margin-block-start: 0;
    padding-inline-start: 0;
  }

  .footer-copyright .localization {
    gap: clamp(var(--sp-2), .842vw, var(--sp-4));
    order: 1
  }

  @media screen and (min-width: 1024px) {
    .footer-copyright .localization {
      order: 2
    }
  }

  .footer-copyright .localization__form .icon {
    inset-inline-start: var(--sp-5);
  }

  .footer-copyright .localization__form .icon~.icon {
    inset-inline-start: auto;
    inset-inline-end: var(--sp-5);
  }

  .footer-copyright .localization__item {
    appearance: none;
    border: 1px solid rgb(var(--color-foreground)/ var(--opacity-045));
    background-color: rgb(var(--color-background));
    padding-block: var(--sp-3d5);
    padding-inline: var(--sp-12);
    border-radius: var(--buttons-radius);
  }

  .js .footer-copyright .localization__item {
    width: calc(var(--width) + var(--sp-12) + var(--sp-12) + var(--sp-1));
  }

  .footer-copyright .payment-icons {
    order: 2
  }

  @media screen and (min-width: 1024px) {
    .footer-copyright .payment-icons {
      order: 3
    }
  }

  .footer-copyright .payment-icons svg {
    width: var(--sp-8)
  }

  @media screen and (min-width: 1280px) {
    .footer-copyright .payment-icons svg {
      width: var(--sp-10)
    }
  }

  .footer-copyright .payment-icons--gray svg {
    filter: grayscale(1)
  }

  /*! breadcrumb */

  .breadcrumb {
    font-size: 0;
  }

  .breadcrumb ul {
    font-size: clamp(var(--text-2sm), 1.2vw, var(--text-base));
  }

  .breadcrumb :is(ul, li) {
    gap: clamp(var(--sp-3), 0.947vw, var(--sp-4d5));
  }

  .breadcrumb li+li:before {
    --tw-translate-y: 5%;
    --tw-rotate: 25deg;
    content: '';
    width: 1px;
    height: 60%;
    background-color: rgb(var(--color-border));
    transform: translateY(var(--tw-translate-y)) rotate(var(--tw-rotate));
  }

  .breadcrumb .icon {
    width: clamp(1rem, 3vw, 1.25rem);
    height: clamp(1rem, 3vw, 1.25rem);
    transition: fill var(--animation-fast);
  }

  @media screen and (pointer: fine) {
    .breadcrumb a:hover .icon {
      fill: currentColor;
    }
  }

  /*! marquee */

  @keyframes scrolling-left {
    0% {
      transform: translate3d(calc(-100% * var(--transform-logical)), 0, 0);
      visibility: visible;
    }

    100% {
      transform: translate3d(calc(-200% * var(--transform-logical)), 0, 0);
    }
  }

  @keyframes scrolling-right {
    0% {
      transform: translate3d(calc(-200% * var(--transform-logical)), 0, 0);
      visibility: visible;
    }

    100% {
      transform: translate3d(calc(-100% * var(--transform-logical)), 0, 0);
    }
  }

  .marquee.animate {
    animation-name: scrolling-left;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    animation-duration: var(--duration);
    animation-play-state: running;
    width: max-content;
  }

  @media (prefers-reduced-motion: reduce) {
    .marquee.animate {
      animation: none;
    }
  }

  /*! scrolling-text */

  .no-js .scrolling-text {
    justify-content: center;
  }

  .scrolling-text {
    --grid-gap: calc(var(--section-grid-gap)/2);
  }

  .scrolling-text .marquee {
    padding-inline: calc(var(--grid-gap)/2);
  }

  .scrolling-text .marquee,
  .scrolling-text__item {
    gap: var(--grid-gap);
  }

  .scrolling-text--right .marquee.animate {
    animation-name: scrolling-right;
  }

  @media (prefers-reduced-motion: reduce) {
    .scrolling-text--right .marquee.animate {
      animation: none;
    }
  }

  .scrolling-text__item.with-text:after {
    content: '';
    display: block;
    width: var(--sp-5);
    height: var(--sp-5);
    border: 1px solid currentColor;
    border-radius: var(--rounded-full);
  }

  .scrolling-text__item.with-text {
    font-size: max(12px, calc(var(--font-size)*0.6));
  }

  .scrolling-text__item.with-stencil {
    -webkit-text-stroke: 0.01em currentColor;
    -webkit-text-fill-color: transparent;
  }

  .scrolling-text__item.with-media>:is(img, svg) {
    max-width: 100%;
    width: auto;
    height: calc(var(--image-height)*0.75);
  }

  @media screen and (pointer: fine) {
    .scrolling-text:hover .marquee {
      animation-play-state: paused;
    }
  }

  .scrolling-text.paused .marquee {
    animation-play-state: paused;
  }

  @media screen and (min-width: 1024px) {
    .scrolling-text {
      --grid-gap: var(--section-grid-gap);
    }

    .scrolling-text__item.with-text {
      font-size: calc(var(--font-size)*0.75);
    }

    .scrolling-text__item.with-media>:is(img, svg) {
      height: var(--image-height);
    }
  }

  @media screen and (min-width: 1280px) {
    .scrolling-text__item.with-text {
      font-size: var(--font-size);
    }
  }

  .scrolling-wrapper {
    --logical: -1;
    padding-block-start: calc(var(--section-padding-top) * 0.75);
    padding-block-end: calc(var(--section-padding-bottom) * 0.75);
    transform: rotate(calc(357deg * var(--logical) * var(--transform-logical)));
  }

  .scrolling-wrapper.with-right {
    --logical: 1;
  }

  .scrolling-wrapper:before {
    content: '';
    z-index: -1;
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: -5%;
    width: 110%;
    height: 100%;
    background: var(--gradient-background);
    background-color: rgb(var(--color-background));
  }

  .scrolling-wrapper+.scrolling-wrapper {
    margin-block-start: -1%;
    transform: rotate(calc(3deg * var(--logical) * var(--transform-logical)));
    filter: grayscale(1);
    opacity: 0.25;
  }

  .scrolling-text-section {
    overflow: hidden;
  }

  @media screen and (min-width: 768px) {
    .scrolling-text-section {
      overflow: unset;
    }

    .scrolling-wrapper {
      padding-block-start: var(--section-padding-top);
      padding-block-end: var(--section-padding-bottom);
    }
  }

  @supports (overflow: clip) {
    .scrolling-text-section {
      overflow-x: clip;
      overflow-y: visible;
    }
  }

  /*! logo-list */

  .logo-list,
  .logo-bar {
    --grid-gap: calc(var(--section-grid-gap)/2);
  }

  .logo-bar {
    column-gap: var(--grid-gap);
    row-gap: calc(var(--grid-gap)/2);
  }

  .logo-list .logo-bar {
    flex: 0 0 auto;
    width: max-content;
    margin-inline-end: var(--grid-gap);
  }

  .logo-list .flickity-viewport {
    flex: 1 1 auto;
  }

  .logo__media>:is(img, svg) {
    max-width: 100%;
    width: auto;
    height: calc(var(--image-height)*0.75);
  }

  @media screen and (min-width: 1024px) {

    .logo-list,
    .logo-bar {
      --grid-gap: var(--section-grid-gap);
    }

    .logo__media>:is(img, svg) {
      height: var(--image-height);
    }
  }

  html.touch .logo-list .logo-bar {
    margin-inline-end: 0;
    padding-inline: calc(var(--grid-gap)/2);
  }

  html.touch .logo-bar.animate {
    animation-name: scrolling-left;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    animation-duration: var(--duration);
    animation-play-state: running;
    width: max-content;
  }

  @media (prefers-reduced-motion: reduce) {
    html.touch .logo-bar.animate {
      animation: none;
    }
  }

  html.touch .logo-list--right .logo-bar.animate {
    animation-name: scrolling-right;
  }

  @media (prefers-reduced-motion: reduce) {
    html.touch .logo-list--right .logo-bar.animate {
      animation: none;
    }
  }

  /*! banner */

  .text-left .split-words {
    justify-content: flex-start;
  }

  .text-center .split-words {
    justify-content: center;
  }

  .text-right .split-words {
    justify-content: flex-end;
  }

  @media screen and (min-width: 768px) {
    .md\:text-left .split-words {
      justify-content: flex-start;
    }

    .md\:text-center .split-words {
      justify-content: center;
    }

    .md\:text-right .split-words {
      justify-content: flex-end;
    }
  }

  @media screen and (min-width: 1024px) {
    .lg\:text-left .split-words {
      justify-content: flex-start;
    }

    .lg\:text-center .split-words {
      justify-content: center;
    }

    .lg\:text-right .split-words {
      justify-content: flex-end;
    }
  }

  .split-words {
    gap: 0 0.2em;
  }

  .split-words .single-word {
    line-height: 1;
    margin: -0.1em -0.05em;
    overflow: hidden;
    white-space: nowrap;
    padding: 0.08em 0.05em;
  }

  .subtext-sm {
    font-size: var(--fluid-sm-to-base);
  }

  .subtext-md {
    font-size: clamp(var(--text-base), 1.052vw, var(--text-xl));
  }

  .subtext-lg {
    font-size: var(--fluid-base-to-xl);
  }

  .subtext-xl {
    font-size: var(--fluid-base-to-2xl);
  }

  .subtext-custom {
    line-height: normal;
    font-size: calc(var(--subtext-size) * 0.75);
  }

  @media screen and (min-width: 768px) {
    .subtext-custom {
      font-size: var(--subtext-size);
    }
  }

  .subtitle-sm {
    font-size: var(--fluid-xs-to-sm);
  }

  .subtitle-md {
    font-size: clamp(var(--text-sm), .947vw, var(--text-lg));
  }

  .subtitle-lg {
    font-size: var(--fluid-base-to-xl);
  }

  .banner__text--colored {
    color: rgb(var(--color-highlight));
  }

  .banner {
    color: rgb(var(--color-foreground));
  }

  .banner__overlay {
    z-index: 0;
    background-color: rgb(var(--color-overlay)/ var(--overlay-opacity));
  }

  .banner__overlay~.banner__content {
    --color-background: var(--color-overlay);
  }

  .banner__content .media--transparent.loading {
    background-color: transparent;
  }

  .banner__media .banner__image~.banner__image {
    visibility: hidden;
  }

  @media screen and (min-width: 768px) {
    .banner__media .banner__image {
      visibility: hidden;
    }

    .banner__media .banner__image:last-child {
      visibility: visible;
    }
  }

  .banner__media svg.banner__image {
    width: 100%;
  }

  .banner__box {
    word-wrap: break-word;
    height: fit-content;
    padding-block: clamp(var(--sp-10), 3.368vw, var(--sp-16));
  }

  @media screen and (min-width: 768px) {
    .banner__box {
      width: auto;
      min-width: 45rem;
      max-width: 64rem;
    }

    .banner__box--small,
    .banner__box--medium {
      min-width: auto;
    }

    .banner__box--small {
      max-width: 32rem;
    }

    .banner__box--medium {
      max-width: 42rem;
    }
  }

  @media screen and (min-width: 1280px) {
    .banner__box--small {
      max-width: 40rem;
    }

    .banner__box--medium {
      max-width: 58rem;
    }

    .banner__box--large {
      max-width: 64rem;
    }
  }

  @media screen and (min-width: 1920px) {
    .banner__box--medium {
      max-width: 64rem;
    }

    .banner__box--large {
      max-width: 72rem;
    }
  }

  .banner__box.w-full {
    width: 100%;
    max-width: 100%;
  }

  .banner__box>*+*:not(.spacing-section) {
    margin-block-start: var(--sp-5);
  }

  .banner__box>:is(.link, .button) {
    margin-inline-end: var(--sp-4);
  }

  .banner__title+*,
  .banner__box>:last-child:is(.button, .social-icons) {
    margin-block-start: var(--sp-10);
  }

  .banner__box .rte :is(b, strong) {
    font-weight: var(--font-medium);
  }

  .banner__subheading {
    font-weight: 400;
    letter-spacing: 0.25em;
  }

  .banner .marquee {
    opacity: .025;
    pointer-events: none;
  }

  .banner.with-map .alert {
    margin-inline: var(--gap-padding);
    margin-block-end: var(--sp-4);
  }

  .page-width .banner.with-map .alert {
    margin-inline: 0;
  }

  .js .section:not(.section--next-rounded) :is(.banner__overlay, .banner__map, .banner__media) {
    height: calc(100% + var(--border-radius));
  }

  [role=main] .shopify-section:last-child .section :is(.banner__overlay, .scrolled-images, .banner__map, .banner__media) {
    height: 100%;
  }

  [role=main] .shopify-section:last-child .video-hero video-media .play-button {
    inset-block-end: var(--sp-5);
  }

  .js .section--rounded :is(.banner__map, .banner__media, .banner__overlay, .video-hero) {
    border-start-end-radius: var(--border-radius);
    border-start-start-radius: var(--border-radius);
  }

  @media screen and (min-width: 768px) {
    .banner.media--adapt,
    .image-with-text__image.media--adapt {
      height: 0;
      padding-block-end: var(--ratio-percent);
    }

    .banner.media--adapt .media--height>img:first-child,
    .image-with-text__image.media--adapt .media--height>img:first-child {
      position: static;
    }

    .banner.media--adapt .media--height>img:first-child~video,
    .image-with-text__image.media--adapt .media--height>img:first-child~video {
      position: absolute;
      inset-block-start: 0;
      inset-inline-start: 0;
    }

    .banner.media--adapt .banner__media,
    .image-with-text__image.media--adapt>.media {
      position: absolute;
      inset: 0;
      width: 100%;
    }
  }

  @media screen and (max-width: 767px) {
    .banner:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt),
    .image-with-text__image:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt) {
      height: 0;
      padding-block-end: var(--ratio-percent);
    }

    .banner:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt) .media--height>img,
    .image-with-text__image:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt) .media--height>img {
      position: static;
    }

    .banner:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt) .media--height>img:first-child~video,
    .image-with-text__image:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt) .media--height>img~video {
      position: absolute;
      inset-block-start: 0;
      inset-inline-start: 0;
    }

    .banner:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt) .banner__media,
    .image-with-text__image:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt)>.media {
      position: absolute;
      inset: 0;
      width: 100%;
    }
  }

  /*! map */

  .banner table {
    width: 100%;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
  }

  .banner table tr {
    border: none;
  }

  .banner table td {
    border: none;
    padding: 0;
    padding-block-end: var(--sp-1d5);
    font-size: inherit;
    text-align: start;
  }

  .banner table td:last-child {
    text-align: end;
  }

  .banner.with-map .banner__box {
    min-width: unset;
    max-width: 100%;
    background: var(--gradient-background);
    background-color: rgb(var(--color-background));
    padding: clamp(var(--sp-6), 2.105vw, var(--sp-10));
    border-radius: var(--rounded-block);
  }

  .banner.with-map .banner__subheading {
    border-block-end: 1px solid rgb(var(--color-border));
    margin-block-start: var(--sp-6);
    padding-block-end: var(--sp-3);
    letter-spacing: 0.15em;
  }

  @media screen and (min-width: 768px) {
    .banner.with-map .banner__box {
      max-width: 26rem;
    }
  }

  @media screen and (max-width: 767px) {
    .mobile\:banner--image_first.with-map .banner__content {
      z-index: auto;
      position: relative;
      padding-block-start: var(--sp-10);
      background: var(--gradient-background);
      background-color: rgb(var(--color-background));
    }

    .js .section--rounded .mobile\:banner--image_first.with-map .banner__content {
      border-start-end-radius: var(--border-radius);
      border-start-start-radius: var(--border-radius);
    }

    .mobile\:banner--image_first.with-map .banner__box {
      width: 100%;
      padding: 0;
      background: none;
    }
  }

  .no-js .banner.with-map .banner__media {
    opacity: 1;
  }

  .no-js .banner.with-map .banner__map {
    display: none;
  }

  /*! scrolled-images */

  .js .scrolled-images {
    height: calc(100% + var(--border-radius));
  }

  [data-rounded-block=round] .scrolled-images {
    border-radius: var(--border-radius) var(--border-radius) 0 0;
  }

  .scrolled-images svg.placeholder {
    background-color: rgb(var(--color-foreground)/ 0.3);
    fill: rgb(var(--color-foreground));
    color: rgb(var(--color-foreground));
  }

  .scrolled-images__main {
    --tiles-height: 52vw;
    --tileswrap-height: calc(var(--tiles-height)*3.5);
    transform: translate(calc(-50% * var(--transform-logical)), -50%) rotate(calc(50deg * var(--transform-logical)));
    inset-inline-start: 55%;
    height: var(--tileswrap-height);
  }

  @media screen and (min-width: 768px) {
    .scrolled-images__main {
      --tileswrap-height: calc(var(--tiles-height)*2);
      inset-block-start: 20%;
      inset-inline-start: 60%;
    }
  }

  @media screen and (min-width: 1024px) {
    .scrolled-images__main {
      --tileswrap-height: calc(var(--tiles-height)*1.8);
      inset-block-start: 50%;
    }
  }

  .scrolled-images__row {
    display: flex;
  }

  .scrolled-images__row:first-child {
    opacity: .3;
  }

  .scrolled-images__row:nth-child(2) {
    opacity: .2;
  }

  .scrolled-images__row:nth-child(3) {
    opacity: .1;
  }

  .scrolled-images__item {
    --tile-margin: 1vw;
    background-position: 50% 50%;
    background-size: cover;
    flex: none;
    transform: rotate(calc(-90deg * var(--transform-logical)));
    margin: var(--tile-margin);
    height: calc(var(--tileswrap-height)/4 - var(--tile-margin)*4/2);
    width: calc(var(--tileswrap-height)/4 - var(--tile-margin)*4/2);
  }

  [data-rounded-block=round] .scrolled-images__item {
    border-radius: 1rem;
  }

  .facets__scroll {
    height: fit-content;
  }

  .collection__description {
    margin-block-end: clamp(var(--sp-10), 2.526vw, var(--sp-12));
  }

  .facet-wrapper>.button,
  .sort-wrapper>.button {
    height: clamp(var(--sp-14), 3vw, var(--sp-15));
    text-transform: none;
  }

  .facet-wrapper {
    padding-inline-end: clamp(1rem, 2vw, 2.3rem);
  }

  .facet-wrapper .count {
    width: var(--sp-6);
    height: var(--sp-6);
    color: rgb(var(--color-button-text));
    background-color: rgb(var(--color-button-background));
    transition: var(--animation-primary) .1s;
    transition-property: color, background-color;
  }

  @media screen and (pointer: fine) {
    .facet-wrapper .button:hover .count {
      color: rgb(var(--color-button-background));
      background-color: rgb(var(--color-button-text));
    }
  }

  .facet-wrapper>.button[is=filters-toogle][aria-expanded=false] .btn-text,
  .facet-wrapper>.button[is=filters-toogle][aria-expanded=true] .btn-duplicate {
    display: none;
  }

  .facet-wrapper>.button[is=filters-toogle][aria-expanded=false] .btn-duplicate {
    display: flex;
  }

  .collection__content {
    --facets-width: clamp(300px, 20vw, 390px);
    --facets-gap: var(--grid-gap);
    gap: var(--facets-gap);
  }

  @media screen and (min-width: 1280px) {
    .collection__content {
      margin-block-start: clamp(var(--sp-4), 2.947vw, var(--sp-14));
    }

    .collection__content #FacetFiltersContainer {
      flex: var(--facets-width) 0 0;
    }
  }

  .with-drawer .collection__content {
    --facets-width: 0px;
    --facets-gap: 0px;
    grid-template-columns: repeat(1, minmax(0, 1fr))
  }

  .facet-sorting {
    margin-inline-start: auto;
  }

  /*! empty-state */

  .empty-state {
    margin-block: var(--sp-12);
  }

  @media screen and (min-width: 768px) {
    .empty-state {
      margin-block: var(--sp-32);
    }
  }

  .empty-state p.heading {
    font-size: clamp(var(--sp-5), 1.4063rem + .5vw, var(--sp-8));
  }

  .empty-state .button {
    margin-inline: auto;
    width: auto;
  }

  .empty-state .icon-xxxl {
    width: var(--sp-15);
    height: var(--sp-15);
  }

  .empty-state .icon-xxxs {
    width: var(--sp-3d5);
    height: var(--sp-3d5);
  }

  /*! facet-drawer */

  .facet-drawer .facet-form {
    padding-block-end: var(--sp-7);
    border-block-end: 1px solid rgb(var(--color-border));
  }

  .facet-drawer .drawer__scrollable {
    padding-block-end: 0;
  }

  .facet-drawer facet-count:before {
    content: '(';
  }

  .facet-drawer facet-count:after {
    content: ')';
  }

  /*! subcollections */

  .subcollections li+li:before {
    --tw-translate-y: 5%;
    --tw-rotate: 25deg;
    content: '';
    background-color: currentColor;
    height: 40%;
    width: 1px;
    inset-block-start: 30%;
    inset-inline-start: 0;
    opacity: .3;
    position: absolute;
    transform: translateY(var(--tw-translate-y)) rotate(var(--tw-rotate));
  }

  .subcollections li:first-child .subcollection {
    padding-inline-start: 0;
  }

  .subcollection {
    font-weight: var(--font-medium);
    height: var(--sp-10);
    opacity: 0.3;
    padding-inline: clamp(var(--sp-5), 1.368vw, var(--sp-6d5));
    transition: opacity var(--animation-primary);
  }

  .subcollection .btn-text {
    height: auto;
  }

  .subcollection .btn-text:after {
    --tw-translate-x: -50%;
    --tw-translate-y: -50%;
    --tw-scale-x: 0;
    content: '';
    background-color: currentColor;
    display: block;
    height: 2px;
    width: 100%;
    inset-block-end: -.15em;
    inset-inline-start: 50%;
    position: absolute;
    transform: translate(calc(var(--tw-translate-x) * var(--transform-logical)), var(--tw-translate-y)) scaleX(var(--tw-scale-x));
    transition: transform var(--animation-fast);
  }

  .active .subcollection {
    opacity: 1;
  }

  .active .subcollection .btn-text:after {
    --tw-scale-x: 1;
  }

  @media screen and (pointer: fine) {
    .subcollection.with-thumbnail .btn-text:before {
      --tw-scale-x: .5;
      --tw-scale-y: .5;
      --tw-absolute-x: calc(clamp(1rem, 1.2vw, 1.2rem) * -1);
      --tw-absolute-y: calc(clamp(2rem, 1.5vw, 2.5rem) * -1);
      content: '';
      opacity: 0;
      backdrop-filter: blur(8px);
      background-color: rgb(var(--color-background)/ 0.6);
      border-radius: var(--rounded-full);
      z-index: -1;
      position: absolute;
      inset-block: var(--tw-absolute-x);
      inset-inline: var(--tw-absolute-y);
      transform: scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
      transition: transform var(--animation-primary)
    }

    .subcollection:hover {
      opacity: 1;
    }

    .subcollection.with-thumbnail:hover .btn-text:before {
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      opacity: 1;
    }
  }

  .subcollection .count {
    inset-block-start: calc(var(--sp-1) * -1);
    inset-inline-start: calc(100% + .2em);
  }

  .subcollection .btn-reveal {
    --tw-width: clamp(250px, 14vw, 350px);
    height: var(--tw-width);
    width: var(--tw-width);
    inset-block-start: 50%;
    inset-inline-start: 50%;
    margin-block-start: calc(var(--tw-width)/-2);
    margin-inline-start: calc(var(--tw-width)/-2);
    z-index: -1;
    background-position: 50% 50%;
    background-size: cover
  }

  @media screen and (pointer: fine) {
    .subcollections:hover .subcollection {
      opacity: 0.3;
    }

    .subcollections:hover .subcollection .btn-text:after {
      --tw-scale-x: 0;
    }

    .subcollections .subcollection:hover {
      opacity: 1;
      z-index: 1;
    }

    .subcollections .active .subcollection:hover .btn-text:after {
      --tw-scale-x: 0;
    }
  }

  /*! sorting */

  .sort-wrapper {
    --facet-button-width: 180px;
    --facet-listbox-height: 450px;
    min-width: 180px;
    width: calc(var(--facet-button-width) + calc(clamp(var(--sp-6d5), 1.473vw, var(--sp-7d5)) * 2) + var(--sp-5) + var(--sp-1d5) + calc(var(--buttons-border-width) * 2));
    height: clamp(var(--sp-14), 3.263vw, var(--sp-15));
  }

  .sort-by {
    position: absolute;
    width: 100%;
    height: 100%;
    max-height: unset;
    inset-block-start: 0;
    inset-inline-end: 0;
  }

  .sort-selection,
  .sort-title {
    transition: opacity var(--animation-fast);
  }

  .sort-title {
    inset-block-start: var(--sp-3);
  }

  .sort-close {
    background-color: currentColor;
    width: var(--sp-1d5);
    height: var(--sp-1d5);
    transition: width var(--animation-primary), height var(--animation-primary), background-color ease-in-out .3s;
  }

  .sort-close .icon {
    --tw-rotate: 0deg;
    --tw-scale-x: 0;
    --tw-scale-y: 0;
    transform: rotate(var(--tw-rotate)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transition: transform var(--animation-primary);
  }

  .sort-listbox {
    width: calc(320px - calc(clamp(var(--sp-6d5), 1.473vw, var(--sp-7d5)) * 2) - calc(var(--buttons-border-width) * 2));
    inset-block-start: var(--sp-16);
    transition: var(--animation-primary);
    transition-property: opacity, visibility;
  }

  .sort-listbox li {
    transition: opacity .7s ease-out;
  }

  .sort-listbox input[type=radio]+label {
    transition: opacity var(--animation-primary)
  }

  .sort-listbox input[type=radio]+label:before {
    --tw-translate-y: -50%;
    background-color: currentColor;
    border-radius: var(--rounded-full);
    content: '';
    opacity: 0;
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: 0;
    width: 0;
    height: 0;
    transform: translateY(var(--tw-translate-y));
    transition: all var(--animation-primary);
  }

  @media screen and (pointer: fine) {
    .sort-by {
      --button-transition: box-shadow var(--animation-primary), width var(--animation-primary), height var(--animation-primary);
      transition: var(--animation-primary);
      transition-property: box-shadow, width, height;
    }
  }

  .sort-by[open] {
    --shadow-horizontal-offset: 0;
    --shadow-vertical-offset: 0;
    pointer-events: auto;
    cursor: default;
    width: 320px;
    height: calc(var(--facet-listbox-height) + var(--sp-10) + calc(clamp(var(--sp-4), 1.052vw, var(--sp-5)) * 4) + calc(var(--buttons-border-width) * 2));
  }

  .sort-by[open],
  .sort-by[open]:after {
    border-radius: var(--sp-8);
  }

  [data-rounded-button=square] .sort-by[open],
  [data-rounded-button=square] .sort-by[open]:after {
    border-radius: 0;
  }

  .sort-by[open],
  .sort-by[open] .btn-fill,
  .sort-by[open] .btn-text {
    transform: none !important;
    display: block !important;
  }

  .sort-by[open] .btn-fill {
    pointer-events: none;
  }

  .sort-by[open] .btn-text {
    pointer-events: auto;
    align-items: flex-start;
    color: rgb(var(--color-button-text));
    width: 100%;
  }

  .sort-by[open] .sort-header {
    justify-content: space-between;
  }

  .sort-by[open] .sort-selection {
    opacity: 0;
    visibility: hidden;
  }

  .sort-by[open] .sort-title {
    opacity: .4;
  }

  .sort-by[open] .sort-close {
    color: rgb(var(--color-button-background));
    background-color: rgb(var(--color-button-text));
    cursor: pointer;
    height: var(--sp-10);
    width: var(--sp-10);
  }

  .sort-by[open] .sort-close .icon {
    --tw-rotate: -90deg;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
  }

  .sort-by[open] .sort-listbox,
  .sort-by[open] .sort-listbox li {
    opacity: 1;
    visibility: visible
  }

  .sort-by[open] .sort-listbox input[type=radio]:checked+label {
    pointer-events: none;
    opacity: .4;
  }

  .sort-by[open] .sort-listbox input[type=radio]:checked+label:before {
    opacity: 1;
    height: var(--sp-1d5);
    width: var(--sp-1d5);
  }

  .sort-by[open] .sort-listbox li:first-child {
    transition-delay: .06s
  }

  .sort-by[open] .sort-listbox li:nth-child(2) {
    transition-delay: .11s
  }

  .sort-by[open] .sort-listbox li:nth-child(3) {
    transition-delay: .16s
  }

  .sort-by[open] .sort-listbox li:nth-child(4) {
    transition-delay: .21s
  }

  .sort-by[open] .sort-listbox li:nth-child(5) {
    transition-delay: .26s
  }

  .sort-by[open] .sort-listbox li:nth-child(6) {
    transition-delay: .31s
  }

  .sort-by[open] .sort-listbox li:nth-child(7) {
    transition-delay: .36s
  }

  .sort-by[open] .sort-listbox li:nth-child(8) {
    transition-delay: .41s
  }

  .sort-by[open] .sort-listbox li:nth-child(9) {
    transition-delay: .46s
  }

  /*! facet-sticky */

  .facet-sticky {
    inset-block-end: var(--sp-8);
  }

  .facet-sticky .count {
    width: var(--sp-6);
    height: var(--sp-6);
    color: rgb(var(--color-button-background));
    background-color: rgb(var(--color-button-text));
    transition: var(--animation-primary) .1s;
    transition-property: color, background-color;
  }

  @media screen and (pointer: fine) {
    .facet-sticky .button:hover .count {
      color: rgb(var(--color-button-text));
      background-color: rgb(var(--color-button-background));
    }
  }

  .facet-drawer .select-sort-by {
    border-block-end: 0;
    padding-block-end: var(--sp-3);
  }

  /*! card-grid */

  .card-grid {
    --card-grid-per-row: 2;
    --card-grid-template: auto-flow dense/repeat(var(--card-grid-per-row), minmax(0, 1fr));
    --card-grid-gap: var(--sp-3);
    grid: var(--card-grid-template);
    gap: var(--card-grid-gap);
  }

  @media screen and (max-width: 639px) {
    .mobile\:card-grid--1 {
      --card-grid-per-row: 1;
    }

    .collection .mobile\:card-grid--1 .card {
      grid-column: 1/-1;
    }
  }

  @media screen and (min-width: 768px) {
    .card-grid {
      --card-grid-per-row: 3;
      --card-grid-gap: clamp(var(--sp-4), 1.263vw, var(--sp-6));
    }

    .card-grid--1 {
      --card-grid-per-row: 1
    }

    .card-grid--2 {
      --card-grid-per-row: 2
    }
  }

  @media screen and (min-width: 1280px) {
    .card-grid--3 {
      --card-grid-per-row: 3
    }

    .card-grid--4,
    .card-grid--5 {
      --card-grid-per-row: 4
    }
  }

  @media screen and (min-width: 1536px) {
    .card-grid--5 {
      --card-grid-per-row: 5
    }
  }

  .card-grid .media-card--overlap {
    --color-foreground: 255 255 255;
    --color-overlay: 0 0 0;
    --overlay-opacity: 0.3;
  }

  .card-grid .media-card__text {
    --tw-translate-x: 0;
  }

  @media screen and (min-width: 1280px) {
    .collection.with-sidebar :is(.card-grid--4, .card-grid--5) {
      --card-grid-per-row: 3;
    }
  }

  @media screen and (min-width: 1536px) {
    .collection.with-sidebar .card-grid--5 {
      --card-grid-per-row: 4;
    }
  }

  /*! card-product */

  .product-card {
    --shadow-horizontal-offset: var(--card-shadow-horizontal-offset);
    --shadow-vertical-offset: var(--card-shadow-vertical-offset);
    --shadow-opacity: var(--card-shadow-opacity);
    --border-opacity: var(--card-border-opacity);
    --product-card-quick-view-inset: var(--sp-4);
    background-color: rgb(var(--color-placeholder));
    border-radius: var(--card-radius);
    align-content: flex-start;
    border: var(--card-border-width) solid rgb(var(--color-foreground)/ var(--border-opacity));
    box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) rgb(var(--color-shadow)/ var(--shadow-opacity));
  }

  .product-card__media {
    border-start-start-radius: var(--card-radius);
    border-start-end-radius: var(--card-radius);
  }

  .product-card__media video-media .deferred-poster {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .product-card__media video-media .deferred-poster .play-button {
    position: static;
  }

  .product-card__media video-media[playing] .deferred-poster .play-button {
    opacity: 0;
  }

  @media screen and (pointer: fine) {
    .product-card__media:hover video-media[playing] .deferred-poster .play-button {
      opacity: 1;
    }

    .product-card__media video-media>img {
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      transform: scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
      transition: var(--animation-primary);
      transition-property: opacity, visibility, transform;
    }

    .product-card__media:hover video-media>img {
      --tw-scale-x: 1.05;
      --tw-scale-y: 1.05;
    }
  }

  .product-card__rating {
    backdrop-filter: blur(12px);
    background-color: rgb(var(--color-background)/ 0.75);
    padding: var(--sp-1d5) var(--sp-2d5);
    font-size: clamp(var(--text-2xs), .684vw, var(--text-2sm));
    inset-block-start: var(--sp-3);
    inset-inline-end: var(--sp-3);
  }

  .product-card__rating .icon {
    color: rgb(var(--color-rating));
    width: var(--sp-3);
    height: var(--sp-3);
  }

  @media screen and (min-width: 768px) {
    .product-card__rating {
      padding: var(--sp-2d5) var(--sp-4);
      inset-block-start: var(--sp-5);
      inset-inline-end: var(--sp-5);
    }

    .product-card__rating .icon {
      width: var(--sp-3d5);
      height: var(--sp-3d5);
    }
  }

  .product-card__content {
    --card-content-padding: clamp(var(--sp-4), 1.263vw, var(--sp-6)) clamp(var(--sp-4), 2.105vw, var(--sp-10)) clamp(var(--sp-4), 2.105vw, var(--sp-10));
    grid-template-columns: minmax(0, 1fr);
    padding: var(--card-content-padding)
  }

  .product-card__top {
    padding-block-end: var(--sp-2)
  }

  .product-card__top .caption {
    color: rgb(var(--color-foreground)/ 0.6);
    font-size: clamp(var(--text-3xs), .579vw, var(--text-2xs));
  }

  .product-card__title {
    font-family: var(--font-product-family);
    font-size: var(--font-product-size);
    text-transform: var(--font-product-text-transform);
  }

  .product-card__content.text-center .product-card__details {
    display: grid;
  }

  .product-card__content.text-center :is(.price, .unit-price, .product-card__bottom) {
    justify-content: center;
  }

  .product-card__content.text-center .price {
    align-items: center;
  }

  .product-card__content.text-center .price__sale {
    place-self: center;
  }

  .product-card__content.text-right .product-card__details {
    flex-direction: row-reverse;
  }

  .product-card__content.text-right .product-card__bottom {
    justify-content: flex-end;
  }

  .product-card__bottom {
    margin-block-start: var(--sp-4)
  }

  .product-card__bottom .color-swatch {
    --swatch-size: var(--sp-3);
  }

  .product-card__bottom .swatches--variant .color-swatch {
    --swatch-size: var(--sp-6);
  }

  @media screen and (min-width: 768px) {
    .product-card__bottom .color-swatch {
      --swatch-size: var(--sp-4)
    }

    .product-card__bottom .swatches--variant .color-swatch {
      --swatch-size: var(--sp-8);
    }
  }

  .product-card--standard {
    background-color: transparent;
  }

  .product-card--standard .product-card__media,
  .product-card--standard .product-card__media .media,
  .product-card--standard .product-card__media .flickity-viewport {
    border-radius: var(--card-radius);
    backface-visibility: hidden;
  }

  .product-card--standard:not(.product-card--thickness) .product-card__content {
    padding-inline: 0;
  }

  @media screen and (min-width: 768px) {
    .product-card__carousel>.media {
      position: absolute;
    }

    .product-card__carousel.flickity-enabled .flickity-viewport {
      cursor: unset;
      height: 100% !important;
    }

    .product-card__carousel .flickity-page-dots {
      --tw-translate-y: var(--sp-2d5);
      --tw-translate-x: -50%;
      position: absolute;
      inset-block-end: calc(var(--sp-3d5) * -1);
      inset-inline-start: 50%;
      visibility: hidden;
      opacity: 0;
      margin: 0;
      border-radius: var(--rounded-full);
      background-color: rgb(var(--color-placeholder));
      transform: translate(calc(var(--tw-translate-x) * var(--transform-logical)), var(--tw-translate-y));
      transition: var(--animation-primary);
      transition-property: opacity, visibility, transform;
      pointer-events: none;
      height: var(--sp-6);
      padding-inline: var(--sp-4);
      width: auto;
    }

    .product-card__carousel .flickity-page-dots {
      --tw-translate-y: var(--sp-3);
      height: var(--sp-7);
    }

    .product-card--standard .product-card__carousel .flickity-page-dots {
      background-color: rgb(var(--color-background));
    }

    .product-card__carousel .flickity-page-dot:first-child {
      display: none;
    }

    .product-card__carousel.without-dots .flickity-page-dots {
      display: none;
    }

    .js .product-card__carousel~img {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
    }

    .no-js .product-card__carousel {
      display: none;
    }
  }

  @media screen and (pointer: fine) {
    .product-card__carousel {
      transition: opacity var(--animation-primary);
    }

    .product-card__carousel:hover .flickity-page-dots {
      --tw-translate-y: 0;
      opacity: 1;
      visibility: visible;
    }

    .product-card__media>.media>img {
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      transform: scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }

    .product-card__media:hover>.media>img {
      --tw-scale-x: 1.05;
      --tw-scale-y: 1.05;
    }
  }

  @media screen and (max-width: 767px) {
    .product-card__media>.media {
      overflow: hidden;
    }
  }

  .product-card.no-media {
    align-content: center;
    background-color: rgb(var(--color-placeholder));
  }

  .product-card.no-media .product-card__content {
    text-align: center;
  }

  .product-card.no-media .product-card__details {
    display: grid;
    gap: var(--sp-4);
  }

  .product-card.no-media .price {
    justify-content: center;
    flex-direction: row;
  }

  /*! product-promotion */

  .product-card--promo {
    grid-column: span 2;
  }

  @media screen and (min-width: 768px) {
    .product-card--promo {
      grid-column: span var(--card-column-size);
    }
  }

  .product-card--promo .product-card__media:after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: rgb(var(--color-overlay)/ var(--overlay-opacity));
    border-radius: var(--card-radius);
  }

  .product-card--promo .product-card__content {
    --card-content-padding: clamp(var(--sp-6), 2.105vw, var(--sp-10));
  }

  @media screen and (min-width: 768px) {
    .product-card--promo {
      --card-content-padding: clamp(var(--sp-6), 2.105vw, var(--sp-10)) var(--sp-20);
    }

    .product-card--promo .product-card__media {
      position: absolute;
    }

    .product-card--promo .product-card__media.without-content {
      position: relative;
      min-height: 200px;
    }

    .product-card--promo .product-card__content {
      position: relative;
    }
  }

  .promo-box>*+* {
    margin-block-start: var(--sp-8);
  }

  @media screen and (min-width: 1280px) {
    .promo-title {
      font-size: calc(var(--fluid-2xl-to-4xl) * var(--card-column-size));
    }

    .promo-box {
      max-width: calc(100% / var(--card-column-size) * 1.5);
    }

    .product-card--promo .product-card__content {
      padding-block: max(calc(var(--card-content-padding) * var(--card-column-size) * 0.75), var(--card-content-padding));
      padding-inline: max(calc(var(--card-content-padding) * var(--card-column-size) * 0.5), var(--card-content-padding));
    }
  }

  .promo-title,
  .promo-subtitle {
    color: rgb(var(--color-foreground));
  }

  .promo-img {
    max-width: 30px;
  }

  @media screen and (min-width: 768px) {
    .promo-img {
      max-width: 40px;
    }
  }

  /*! countdown-timer */

  .product-card__countdown {
    --countdown-gap: var(--sp-3);
    inset-inline-end: 0;
    inset-block-end: var(--sp-7);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y));
  }

  .product-card__countdown .button {
    --color-button-background: var(--color-sale-tag);
    --color-button-text: var(--color-sale-tag-text);
    --buttons-border-width: 0px;
    width: auto;
    height: auto;
    padding-block: clamp(var(--sp-3), 0.842vw, var(--sp-4));
    padding-inline: clamp(var(--sp-5d5), 1.368vw, var(--sp-6d5));
  }

  .product-card__countdown .countdown__item p:after {
    font-size: inherit;
    color: inherit;
    font-weight: 700;
  }

  @media screen and (max-width: 767px) {
    .product-card__countdown {
      inset-inline-end: var(--sp-3);
      inset-block-end: var(--sp-3);
    }
  }

  @media screen and (pointer: fine) {
    .product-card__countdown {
      --tw-translate-y: var(--sp-2);
      transition: var(--animation-primary);
      transition-property: opacity, transform;
    }

    .product-card:hover .quick-add~.product-card__countdown {
      --tw-translate-y: var(--sp-2);
      opacity: 0;
    }
  }

  /*! quick-add */

  .quick-add {
    inset-inline-end: 0;
    inset-block-end: var(--sp-7);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y));
  }

  .quick-add .button {
    width: auto;
    height: auto;
    padding-block: clamp(var(--sp-3), 0.842vw, var(--sp-4));
    padding-inline: clamp(var(--sp-5d5), 1.368vw, var(--sp-6d5));
  }

  .quick-add .button:focus-visible {
    opacity: 1;
  }

  .quick-add .button .icon {
    width: var(--sp-4d5);
    height: var(--sp-4d5);
  }

  .quick-add .button[aria-disabled] {
    cursor: progress;
  }

  .quick-add .button[disabled] {
    background-color: rgb(var(--color-button-text));
  }

  .button.loading:before {
    content: '';
    z-index: 1;
    position: absolute;
    width: min(50px, 34%);
    height: 2px;
    inset-inline-start: 50%;
    inset-block-start: 50%;
    margin-block-start: -1px;
    margin-inline-start: max(-25px, -17%);
    background-color: rgb(var(--color-button-text));
    animation: preloading 1.2s infinite ease;
  }

  .button.loading .btn-text {
    opacity: 0;
  }

  @media screen and (max-width: 767px) {
    .quick-add {
      inset-inline-end: 0;
      inset-block-end: 0;
      padding-inline: var(--sp-3);
      padding-block-end: var(--sp-3);
    }

    .quick-add .btn-loader {
      gap: var(--sp-1d5);
    }

    .quick-add .btn-loader span {
      width: 4px;
      height: 4px;
    }

    .quick-add .button {
      height: var(--sp-10);
    }

    .quick-add .button:not([disabled]) {
      padding: 0;
      width: var(--sp-10);
    }
  }

  @media screen and (pointer: fine) {
    .quick-add {
      --tw-translate-y: var(--sp-2);
      transition: var(--animation-primary);
      transition-property: opacity, transform;
    }

    .product-card:hover .quick-add {
      --tw-translate-y: 0;
    }

    .product-card:hover .quick-add .button {
      opacity: 1;
    }
  }

  /*! quick-view */

  .no-js .quick-view__button {
    display: none;
  }

  .quick-view__button {
    --shadow-opacity: 0;
    --border-opacity: 0.1;
    --color-button-background: var(--color-foreground);
    --color-button-text: var(--color-background);
    --color-button-border: var(--color-foreground);
    --buttons-border-width: 1px;
    --buttons-radius: var(--rounded-full);
    padding: 0;
    height: var(--sp-12);
    width: var(--sp-12);
    background-color: rgb(var(--color-button-text));
    position: absolute;
    inset-block-start: var(--sp-4);
    inset-inline-end: var(--sp-4);
  }

  @media screen and (pointer: fine) {
    .product-card:hover .quick-view__button {
      opacity: 1;
    }

    .quick-view__button~.product-card__rating {
      transition: opacity var(--animation-fast);
    }

    .js .product-card:hover .quick-view__button~.product-card__rating {
      opacity: 0;
    }
  }

  .quick-view__button:focus-visible {
    opacity: 1;
  }

  .quick-view__button:focus-visible~.product-card__rating {
    opacity: 0;
  }

  .quick-view__button+.quick-view {
    display: none !important;
  }

  .quick-view__content {
    height: 48rem;
  }

  .quick-view__content:empty {
    z-index: 1;
    position: relative;
    display: block;
    background-color: rgb(var(--color-background));
  }

  .quick-view__content:empty:before,
  .quick-view__content:empty:after {
    content: '';
    display: block;
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    margin-block-start: -1.5px;
    margin-inline-start: max(-30px, -20%);
    width: min(60px, 40%);
    height: 3px;
    background-color: rgb(var(--color-foreground));
  }

  .quick-view__content:empty:before {
    background-color: rgb(var(--color-border));
  }

  .quick-view__content:empty:after {
    animation: preloading 1.2s infinite ease;
  }

  .quick-view .drawer__header {
    border-block-end: 0;
    padding-block-end: var(--sp-2);
  }

  .quick-view .drawer__close {
    position: absolute;
    inset-block-start: var(--sp-7);
    inset-inline-end: var(--sp-7);
    background-color: rgb(var(--color-button-text));
    transition: opacity var(--animation-primary);
    transition-delay: 0.6s;
  }

  .quick-view[active] .drawer__close {
    opacity: 1;
  }

  .quick-view .product__media-container .slider {
    border-radius: 0;
  }

  .quick-view .product__media-container .slider.magnify {
    z-index: 1;
  }

  .quick-view .product__media {
    border-radius: 0;
  }

  .quick-view .product__media>img {
    height: 100%;
  }

  .quick-view .product__thumbnails-list {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
  }

  .quick-view button.product__thumbnail:not([hidden]) {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--sp-6);
    height: var(--sp-6);
    border-radius: var(--rounded-full);
    transition: box-shadow var(--animation-primary);
    background-color: transparent;
  }

  .quick-view button.product__thumbnail[aria-current]:before {
    content: '';
    display: block;
    width: 5px;
    height: 5px;
    margin: 0;
    inset: unset;
    background-color: rgb(var(--color-foreground));
    border-radius: var(--rounded-full);
    transition: var(--animation-primary);
    transition-property: background-color, box-shadow;
  }

  .quick-view button.product__thumbnail[aria-current=true]:before {
    width: 5px;
    height: 5px;
    background-color: transparent;
    box-shadow: 0 0 0 2px rgb(var(--color-foreground));
  }

  .quick-view button.product__thumbnail[aria-current]:after {
    content: none;
  }

  .quick-view button.product__thumbnail img {
    visibility: hidden;
    position: absolute;
  }

  .quick-view button.product__thumbnail .play-button {
    clip: rect(0,0,0,0);
    border-width: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }

  .quick-view .product__more:focus-visible {
    outline-offset: -3px;
  }

  @media screen and (max-width: 1023px) {
    .quick-view .product__info {
      padding-inline: var(--page-padding);
    }

    .quick-view [data-shopify-xr] {
      margin-inline: auto;
      max-width: calc(100% - calc(2 * var(--page-padding)));
    }
  }

  @media screen and (min-width: 640px) {
    .quick-view .product__gallery button:is([is=media-lightbox-button], [is=media-hover-button]) {
      inset-inline-end: auto;
      inset-inline-start: var(--sp-4);
    }

    .quick-view .drawer__inner {
      max-width: 80rem;
    }

    .quick-view .drawer__header {
      padding: 0;
    }
  }

  @media screen and (min-width: 1024px) {
    .quick-view .product {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 0;
    }

    .quick-view__content {
      overflow: hidden;
    }

    .quick-view .product,
    .quick-view .product__content,
    .quick-view .product__info,
    .quick-view .product__gallery,
    .quick-view .product__media-container,
    .quick-view .product__media-list,
    .quick-view .product__media {
      height: 100%;
    }

    .quick-view .product__media-list {
      position: absolute;
      inset: 0;
    }

    .quick-view .product__thumbnails-list {
      position: absolute;
      inset-block-end: var(--sp-7);
      inset-inline-start: 50%;
      height: var(--sp-8);
      width: auto;
      margin-block-start: 0;
      padding-inline: var(--sp-4);
      border-radius: var(--rounded-full);
      background-color: rgb(var(--color-background));
      border: 1px solid rgb(var(--color-foreground)/ var(--opacity-045));
      transform: translateX(calc(-50% * var(--transform-logical)));
    }

    .quick-view .product__gallery {
      border-inline-end: 1px solid rgb(var(--color-foreground)/ var(--opacity-045));
    }

    .quick-view .product__info.with-read-more {
      padding-block-end: calc(var(--sp-8) + var(--sp-4) + var(--sp-6) * 2);
    }

    .quick-view .product__info {
      scroll-behavior: smooth;
      scroll-snap-type: y mandatory;
      scrollbar-color: auto;
      scrollbar-width: thin;
      overflow-x: hidden;
      overflow-y: auto;
      padding-block: var(--sp-8);
      padding-inline: var(--grid-gap);
    }

    .quick-view .product__info::-webkit-scrollbar {
      -webkit-appearance: none;
      background-clip: padding-box;
      background-color: transparent;
      border-radius: var(--rounded-full);
      width: var(--sp-1d5)
    }

    .quick-view .product__info::-webkit-scrollbar-thumb {
      background-clip: padding-box;
      background-color: rgb(var(--color-foreground)/ 0.2);
      border-radius: var(--rounded-full)
    }

    .quick-view .product__more {
      padding-block: var(--sp-6);
      padding-inline: var(--grid-gap);
      border-block-start: 1px solid rgb(var(--color-foreground)/ var(--opacity-045));
      background-color: rgb(var(--color-background)/ 0.7);
      backdrop-filter: blur(12px);
    }
  }


  @media screen and (min-width: 1280px) {
    .quick-view .product {
      --product-grid: auto / minmax(0, 1fr) minmax(0, 1fr);
    }
  }

  @media screen and (min-width: 1536px) {
    .quick-view .product__info {
      padding-block: var(--sp-11);
    }
  }

  /*! badge */

  .badges {
    --badge-padding: clamp(var(--sp-6), 2.105vw, var(--sp-10));
    inset-block-start: var(--sp-3);
    inset-inline-start: var(--sp-3);
  }

  @media screen and (min-width: 768px) {
    .badges {
      inset-block-start: var(--sp-5);
      inset-inline-start: var(--sp-5);
    }
  }

  .badge {
    --badge-background: rgb(var(--color-foreground));
    --badge-foreground: rgb(var(--color-background));
    background-color: var(--badge-background);
    color: var(--badge-foreground);
    padding: var(--sp-1d5) var(--sp-2d5);
    font-size: var(--text-2xs);
    width: max-content;
  }

  @media screen and (min-width: 768px) {
    .badge {
      padding: var(--sp-2d5) var(--sp-4);
      font-size: var(--text-sm);
    }

    .discounts .badge {
      padding-block: var(--sp-2);
    }
  }

  .badge.badge--onsale {
    --badge-background: rgb(var(--color-sale-tag));
    --badge-foreground: rgb(var(--color-sale-tag-text));
  }

  .badge.badge--highlight {
    --badge-background: rgb(var(--color-sale-tag)/ 0.1);
    --badge-foreground: rgb(var(--color-sale-tag));
  }

  /*! price */

  .price__regular {
    color: rgb(var(--color-price));
    font-size: var(--fluid-sm-to-base);
  }

  .price__regular small {
    font-weight: 400;
  }

  .price--on-sale .price__regular {
    color: rgb(var(--color-sale-price));
    font-weight: var(--font-medium);
  }

  .unit-price,
  .price__sale {
    color: rgb(var(--color-price)/ 0.6);
    font-size: var(--fluid-xs-to-sm);
  }

  .price__sale:before {
    content: '';
    position: absolute;
    inset-block-start: 50%;
    width: 100%;
    transform: rotate(-15deg);
    border-block-end: 1px solid red;
  }

  /*! pagination */

  .pagination .page {
    height: var(--sp-10);
    width: var(--sp-10);
  }

  @media screen and (min-width: 768px) {
    .pagination .page {
      height: var(--sp-12);
      width: var(--sp-12);
    }
  }

  .pagination .page.current {
    background-color: rgb(var(--color-foreground));
    color: rgb(var(--color-background));
  }

  /*! active-facets */

  .active-facets {
    margin-block-end: var(--sp-7);
  }

  @media screen and (min-width: 1280px) {
    .active-facets {
      margin-block-end: 0;
      margin-block-start: clamp(var(--sp-4), 1.684vw, var(--sp-8))
    }
  }

  .active-facets .color-swatch {
    --swatch-radius: 9999px;
    --swatch-size: var(--sp-3);
    --swatch-offset: 1.5px
  }

  @media screen and (min-width: 1280px) {
    .active-facets .color-swatch {
      --swatch-offset: 2px;
      --swatch-size: var(--sp-4)
    }
  }

  .active-facets .color-swatch:before {
    --tw-shadow: inset 1px 2px 0px rgb(var(--color-foreground)/ var(--opacity-115));
  }

  .active-facets>.facet-clear-all {
    margin-inline-start: var(--sp-2)
  }

  @media screen and (min-width: 1024px) {
    .active-facets>.facet-clear-all {
      margin-inline-start: var(--sp-4)
    }
  }

  .removable-facet {
    background-color: rgb(var(--color-foreground)/ var(--opacity-025));
    color: rgb(var(--color-foreground));
    padding: var(--sp-3) var(--sp-3d5)
  }

  @media screen and (min-width: 768px) {
    .removable-facet {
      padding: var(--sp-3) var(--sp-4d5)
    }
  }

  @media screen and (min-width: 1024px) {
    .removable-facet {
      line-height: 1.6
    }
  }

  @media screen and (min-width: 1280px) {
    .removable-facet {
      padding: var(--sp-3d5) var(--sp-5)
    }
  }

  .removable-facet>a:before {
    content: '';
    position: absolute;
    inset: calc(var(--sp-3) * -1);
  }

  .removable-facet .icon {
    width: var(--sp-2);
    height: var(--sp-2);
  }

  @media screen and (min-width: 1024px) {
    .removable-facet .icon {
      width: var(--sp-2d5);
      height: var(--sp-2d5);
    }
  }

  /*! multicolumn */

  .multicolumn {
    --card-grid-gap: var(--sp-10) var(--sp-4);
  }

  @media screen and (min-width: 1024px) {
    .multicolumn {
      --card-grid-gap: clamp(40px, 3.5vw, 60px);
    }
  }

  .multicolumn .media {
    border-radius: var(--rounded-block);
  }

  @media screen and (pointer: fine) {
    .multicolumn .media[href] img {
      transform: scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }

    .multicolumn .media[href]:hover img {
      --tw-scale-x: 1.05;
      --tw-scale-y: 1.05;
    }
  }

  .multicolumn-card.with-border {
    border-radius: var(--rounded-block);
    border: 1px solid rgb(var(--color-border-light));
  }

  .multicolumn-card.with-border .multicolumn-card__info {
    padding-inline: var(--sp-5);
    padding-block: var(--sp-2) var(--sp-6);
  }

  @media screen and (min-width: 1024px) {
    .multicolumn-card.with-border .multicolumn-card__info {
      padding-inline: var(--sp-8d5);
      padding-block: var(--sp-5) var(--sp-11);
    }
  }

  /*! multicolumn-with-icons */

  .text-with-icons:after {
    content: 'flickity';
    display: none;
  }

  .column__icon.with-svg :is(svg, img) {
    display: inline-block;
    width: var(--sp-6);
    height: auto;
    fill: currentColor;
  }

  .column__title {
    font-size: clamp(var(--text-lg), 1.053vw, var(--text-xl));
  }

  .column__text {
    font-size: clamp(var(--text-2sm), .737vw, var(--text-sm));
  }

  .column__title+.column__text {
    padding-block-start: var(--sp-2);
  }

  .text-with-icons+* {
    margin-block-start: var(--sp-10);
  }

  @media screen and (min-width: 1024px) {
    .text-with-icons:after {
      content: none;
    }

    .text-with-icons {
      --multicolumn-template: repeat(4, minmax(0, 1fr));
      grid-template-columns: var(--multicolumn-template);
      row-gap: clamp(var(--sp-5), 2.105vw, var(--sp-10));
    }

    .text-with-icons.grid--2 {
      --multicolumn-template: repeat(2, minmax(0, 1fr));
    }

    .text-with-icons.grid--3 {
      --multicolumn-template: repeat(3, minmax(0, 1fr));
    }

    .text-with-icons .column {
      padding-inline: clamp(var(--sp-5), 2.105vw, var(--sp-10));
    }

    .text-with-icons .column:first-child {
      padding-inline-start: 0;
    }

    .text-with-icons .column:last-child {
      padding-inline-end: 0;
    }

    .text-with-icons .column+.column {
      border-inline-start: 1px solid rgb(var(--color-border));
    }

    .text-with-icons.grid--2 .column:nth-child(2n + 1),
    .text-with-icons.grid--3 .column:nth-child(3n + 1),
    .text-with-icons.grid--4 .column:nth-child(4n + 1) {
      padding-inline-start: 0;
      border-inline-start: 0;
    }
  }

  @media screen and (min-width: 1280px) {
    .text-with-icons.xl\:text-right .column {
      flex-direction: row-reverse;
    }

    .text-with-icons.xl\:text-center .column {
      flex-direction: column;
    }
  }

  @keyframes preloading {

    0%,
    44%,
    88.1%,
    to {
      transform-origin: var(--transform-origin-start)
    }

    0%,
    to,
    88% {
      transform: scaleX(0)
    }

    44.1%,
    88% {
      transform-origin: var(--transform-origin-end)
    }

    33%,
    44% {
      transform: scaleX(1)
    }
  }

  [data-lazy-image] .media.loading:before,
  [data-lazy-image] .media.loading:after {
    content: '';
    z-index: 1;
    position: absolute;
    width: min(50px, 34%);
    height: 2px;
    inset-inline-start: 50%;
    inset-block-start: 50%;
    margin-block-start: -1px;
    margin-inline-start: max(-25px, -17%);
    background-color: rgb(var(--color-base-text));
  }

  [data-lazy-image] .media.loading:before {
    background-color: rgb(var(--color-base-background));
  }

  [data-lazy-image] .media.loading:after {
    animation: preloading 1.2s infinite ease;
  }

  [data-lazy-image] .media.loading>img {
    opacity: 0;
  }

  /*! shopify-challenge, shopify-policy */

  .main-content .shopify-challenge__container,
  .main-content .shopify-policy__container {
    margin: 0 auto;
    max-width: var(--page-width);
    padding-inline: var(--page-padding);
  }

  .shopify-challenge__container,
  .shopify-policy__container {
    display: grid;
    gap: var(--sp-8);
    padding-block: var(--sp-16);
  }

  .shopify-challenge__message {
    font-size: var(--text-lg);
    line-height: 1.6
  }

  .shopify-challenge__container form {
    display: grid;
    gap: var(--sp-5);
  }

  .shopify-challenge__button {
    min-width: var(--sp-48);
  }

  @media screen and (min-width: 1024px) {
    .main-content .shopify-challenge__container,
    .main-content .shopify-policy__container {
      --page-padding: var(--sp-12);
      max-width: 70rem;
      padding-block: var(--sp-28);
    }

    .shopify-challenge__message {
      font-size: var(--text-2xl);
    }
  }

  /*! alert */

  .alert {
    padding: var(--sp-5);
  }

  [data-rounded-block=round] .alert {
    border-radius: var(--inputs-radius);
  }

  .alert--success {
    color: rgb(var(--color-success-text));
    background-color: rgb(var(--color-success-background));
  }

  .alert--error {
    color: rgb(var(--color-error-text));
    background-color: rgb(var(--color-error-background));
  }

  .alert--info {
    color: rgb(var(--color-info-text));
    background-color: rgb(var(--color-info-background));
  }

  /*! 404 */

  .page-404 {
    gap: var(--sp-23);
  }

  .page-404 .text-lg {
    line-height: 1.4;
  }

  .page-404 .button-group {
    max-width: 38rem;
    margin: 0 auto;
    width: 100%;
    padding-inline: var(--gap-padding);
  }

  @media screen and (min-width: 768px) {
    .page-404 {
      gap: var(--sp-14);
    }

    .page-404 .button-group .button {
      min-height: 3.75rem;
    }
  }

  /*! rich-text */

  .rich-text>*+*:not(.spacing-section) {
    margin-block-start: var(--sp-5);
  }

  .rich-text>:is(.link, .button) {
    margin-inline-end: var(--sp-4);
  }

  /*! contact-form */

  .contact,
  .contact.with-map>.flex {
    gap: var(--grid-gap);
  }

  .contact__fields .field {
    flex-grow: 1;
    flex-shrink: 0;
    width: 100%;
  }

  .contact__sidebar .subtitle {
    color: rgb(var(--color-foreground)/ .5);
  }

  .contact__sidebar .media img {
    max-width: calc(var(--image-width) * 0.75);
    max-height: calc(var(--image-height) * 0.75);
  }

  @media screen and (min-width: 1024px) {
    .contact__sidebar .media img {
      max-width: var(--image-width);
      max-height: var(--image-height);
    }
  }

  .contact.with-map .contact__sidebar>.flex {
    padding: var(--sp-7d5) var(--sp-6);
    border: 1px solid rgb(var(--color-border));
  }

  [data-rounded-block=round] .contact.with-map .contact__sidebar>.flex {
    border-radius: var(--border-radius-small);
  }

  @media screen and (min-width: 768px) {
    .page-width--narrow .contact__sidebar {
      column-gap: var(--sp-6);
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contact__fields .field {
      width: calc(50% - var(--sp-6) / 2);
    }

    .contact__fields .field--full {
      width: 100%;
    }
  }

  @media screen and (min-width: 1024px) {
    .page-width--narrow .contact {
      flex-direction: column;
    }

    .page-width--narrow .contact__sidebar {
      width: 100%;
    }

    .contact__sidebar {
      width: clamp(340px, 25vw, 430px);
    }

    .contact.with-map .contact__sidebar {
      width: 100%;
      grid: auto-flow dense/repeat(4, minmax(0, 1fr));
    }

    .contact.with-map .banner {
      height: 100%;
    }
  }

  @media screen and (min-width: 1280px) {
    .contact.with-map .contact__sidebar>.flex {
      padding: var(--sp-10);
    }
  }

  .contact.with-map .banner {
    border-radius: var(--rounded-block);
  }

  .contact.with-map .banner :is(.banner__map, .banner__media) {
    height: 100%;
  }

  /*! faq */

  .faqs.with-border {
    gap: var(--grid-gap);
  }

  .faqs.with-border .faq {
    padding: clamp(var(--sp-6), 2.315vw, var(--sp-12)) var(--sp-5);
    border: 1px solid rgb(var(--color-border));
    border-radius: var(--rounded-block);
  }

  @media screen and (min-width: 1536px) {
    .faq .details__summary .text-base {
      font-size: 1.375rem;
    }
  }

  .accordions {
    border-block: 1px solid rgb(var(--color-border));
  }

  .accordion+.accordion {
    border-block-start: 1px solid rgb(var(--color-border));
  }

  .accordion--text {
    padding-block: var(--sp-10);
  }

  .accordion .details .details__content {
    padding-block-end: var(--sp-8);
    margin-block-start: calc(var(--sp-2d5) * -1);
  }

  .accordion .details .details__summary {
    padding-block: var(--sp-7);
  }

  .accordion .details .details__summary>.icon {
    width: var(--sp-3);
    height: var(--sp-3);
  }

  .accordion .details[aria-expanded=true] .details__summary>.icon {
    --tw-scale-y: -1;
    --tw-rotate: 45deg;
  }

  @media screen and (min-width: 1024px) {
    .faqs.with-border .faq {
      padding-inline: var(--sp-12);
    }

    .accordion .details__content {
      max-width: 80%;
    }

    .accordion .details .details__summary {
      padding-block: var(--sp-8);
    }

    .accordion .details .details__summary>.icon {
      width: var(--sp-3d5);
      height: var(--sp-3d5);
    }
  }

  .accordion--text:first-child {
    padding-block-start: var(--sp-2);
  }

  .faqs.with-background {
    color: rgb(var(--color-foreground));
    background: var(--gradient-background);
    background-color: rgb(var(--color-background));
    border-radius: var(--rounded-block);
  }

  .faqs.with-background>:is(div, form) {
    padding: var(--sp-10);
  }

  .faqs.with-background>form {
    background-color: rgb(var(--color-foreground)/ 0.04);
  }

  .faqs.with-background .title-wrapper {
    margin-block-end: 0;
  }

  .faqs.with-background .title-wrapper .rte {
    padding: var(--sp-4) var(--sp-5);
    color: rgb(var(--color-foreground)/ 0.6);
    background-color: rgb(var(--color-foreground)/ 0.04);
  }

  [data-rounded-block=round] .faqs.with-background .title-wrapper .rte {
    border-radius: var(--sp-2d5);
  }

  .faqs.with-background .title-wrapper .rte a {
    color: rgb(var(--color-foreground));
  }

  .faqs .contact__sidebar>.flex {
    flex-direction: column;
    align-items: flex-start;
  }

  @media screen and (min-width: 640px) {
    .faqs .contact__sidebar>.flex {
      flex-direction: row;
      align-items: flex-end;
    }
  }

  @media screen and (min-width: 1024px) {
    .faqs .contact__sidebar>.flex {
      flex-direction: column;
      align-items: flex-start;
    }
  }

  @media screen and (min-width: 1280px) {
    .faqs.with-background .title-wrapper {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
    }

    .faqs.with-background .title-wrapper.md\:items-center {
      flex-direction: column;
      align-items: center;
    }

    .faqs.with-background .title-wrapper .rte {
      padding: var(--sp-5) var(--sp-7d5);
    }

    .faqs.with-background>:is(div, form) {
      padding: var(--sp-14);
    }
  }

  @media screen and (min-width: 1536px) {
    .faqs.with-background>:is(div, form) {
      padding: clamp(var(--sp-20), 6.737vw, var(--sp-32));
    }

    .faqs .contact__sidebar>.flex {
      flex-direction: row;
      align-items: flex-end;
    }
  }

  /*! share-buttons */

  @media screen and (max-width: 639px) {
    html.js .share-drawer .drawer__inner {
      height: auto;
    }

    html.js .quick-view .share-drawer .drawer__inner {
      height: 0;
    }
  }

  .share-buttons li+li {
    border-block-start: 1px solid rgb(var(--color-border));
  }

  .share-buttons a {
    padding: var(--sp-3d5) var(--sp-2d5);
  }

  .share-buttons li:first-child a {
    padding-block-start: 0;
  }

  .share-buttons li:last-child a {
    padding-block-end: 0;
  }

  .share-buttons .icon-facebook {
    fill: #3B5998;
  }

  .share-buttons .icon-twitter {
    fill: #00ACEE;
  }

  .share-buttons .icon-pinterest {
    fill: #E60023;
  }

  .share-buttons .icon-telegram {
    fill: #3390F7;
  }

  .share-buttons .icon-whatsapp {
    fill: #25d366;
  }

  /*! slider-element */

  .slider {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .slider::-webkit-scrollbar {
    height: 10px;
    width: 10px;
    display: none;
  }

  .no-js .slider {
    -ms-overflow-style: auto;
    scrollbar-width: auto;
  }

  .no-js .slider::-webkit-scrollbar {
    display: initial;
  }

  @media screen and (max-width: 1023px) {
    .slider--tablet {
      overflow-y: hidden;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      overscroll-behavior-x: contain;
      scroll-behavior: smooth;
      padding-inline: var(--page-padding);
      margin-inline: calc(var(--page-padding) * -1);
      scroll-padding-inline: var(--page-padding);
      padding-block-end: var(--card-shadow-vertical-offset);
    }

    .slider--tablet .card-grid {
      --slider-item-width: 36vw;
      --slider-grid: auto / auto-flow var(--slider-item-width);
      grid: var(--slider-grid);
    }
  }

  @media screen and (max-width: 639px) {
    .slider--tablet .mobile\:card-grid--1 {
      --slider-item-width: 74vw;
    }
  }

  @media screen and (min-width: 1024px) {
    .slider--desktop {
      overflow-y: hidden;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      overscroll-behavior-x: contain;
      scroll-behavior: smooth;
      padding-inline: var(--page-padding);
      margin-inline: calc(var(--page-padding) * -1);
      scroll-padding-inline: var(--page-padding);
      padding-block-end: var(--card-shadow-vertical-offset);
    }

    .slider--desktop .card-grid {
      --slider-item-width: calc(calc(var(--page-container) / var(--card-grid-per-row)) - var(--card-grid-gap) * calc(var(--card-grid-per-row) - 1) / var(--card-grid-per-row));
      --slider-grid: auto / auto-flow var(--slider-item-width);
      grid: var(--slider-grid);
    }
  }

  @media (prefers-reduced-motion) {
    .slider {
      scroll-behavior: auto;
    }
  }

  .slider .card {
    scroll-snap-align: start;
  }

  .slider+p {
    text-align: center;
    margin-block-start: clamp(var(--sp-8), 2.526vw, var(--sp-12));
  }

  /*! main-product */

  .product-title-sm {
    font-size: clamp(var(--text-xl), .4966rem + 1.1818vw, var(--text-3xl));
  }

  .product-title-md {
    font-size: clamp(var(--sp-10), 2.526vw, var(--sp-12));
  }

  .product-title-lg {
    font-size: clamp(var(--sp-8), 3.368vw, var(--sp-16));
  }

  @media screen and (max-width: 767px) {
    .mobile\:product-title-sm,
    .mobile\:product-title-sm .single-word,
    .mobile\:product-title-md,
    .mobile\:product-title-md .single-word,
    .mobile\:product-title-lg,
    .mobile\:product-title-lg .single-word {
      line-height: 1.25;
    }

    .mobile\:product-title-sm {
      font-size: var(--text-h3);
    }
    
    .mobile\:product-title-md {
      font-size: var(--text-h2);
    }
    
    .mobile\:product-title-lg {
      font-size: var(--text-h1);
    }
  }

  .rating .icon {
    fill: rgb(var(--color-rating));
  }

  .rating-star {
    --percent: calc((var(--rating) / var(--rating-max) + var(--rating-decimal) * var(--font-size) / (var(--rating-max) * (var(--letter-spacing) + var(--font-size)))) * 100%);
    --letter-spacing: 0;
    --font-size: 2;
  }

  .rating-star:before {
    content: "\2605\2605\2605\2605\2605";
    background: linear-gradient(calc(90deg * var(--transform-logical)), rgb(var(--color-rating)) var(--percent), rgb(var(--color-foreground)/ 0.15) var(--percent));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  .rating-count {
    padding-inline-start: var(--sp-2);
    border-inline-start: 1px solid rgb(var(--color-border));
  }

  noscript .product-form__input {
    margin-block-start: var(--sp-6);
  }

  .product-form__input {
    border: none;
  }

  .product-form__input .form__label {
    margin-block-end: var(--sp-3);
  }

  .product-form__input .form__label:empty {
    display: none;
  }

  .variant-picker .color-swatch {
    --swatch-size: var(--sp-8d5);
  }

  @media screen and (min-width: 1024px) {
    .product {
      grid-template-columns: minmax(0, 1fr) clamp(25rem, 30.26vw, 35rem);
      gap: var(--sp-10);
    }
  }

  @media screen and (min-width: 1280px) {
    .product {
      grid: var(--product-grid);
      gap: clamp(var(--sp-12), 4.73vw, var(--sp-23));
    }
  }

  @media screen and (min-width: 1536px) {
    .product--scroll {
      gap: var(--sp-15);
    }

    .featured-product.product--thumbnail {
      gap: var(--grid-gap);
      padding-inline: calc(var(--grid-gap) * 2);
    }
  }

  .product__info.sticky,
  .product__preview.sticky {
    inset-block-start: var(--sp-6) !important;
    transition: inset-block-start var(--animation-nav);
  }

  .header-sticky~.page-container .sticky:is(.product__info, .product__preview) {
    inset-block-start: calc(var(--header-height) + var(--sp-3)) !important;
  }

  .header-hidden[data-sticky-type=on-scroll-up]~.page-container .sticky:is(.product__info, .product__preview) {
    inset-block-start: var(--sp-6) !important;
  }

  .product__preview.sticky {
    --inset: 0px;
    height: calc(var(--screen-height) - var(--header-height) - var(--topbar-height) - var(--sp-5));
    transition-property: inset-block-start, height;
  }

  .header-scrolled~.page-container .product__preview.sticky {
    height: calc(var(--screen-height) - var(--inset) - var(--sp-10));
  }

  .header-hidden[data-sticky-type=on-scroll-up]~.page-container .product__preview.sticky {
    height: calc(var(--screen-height) - var(--sp-12));
  }

  .product__preview {
    max-height: var(--screen-height);
  }

  .product__preview .product__media,
  .product__preview .product__media>img {
    height: 100%;
  }

  @media screen and (min-width: 1280px) {
    .product--scroll .product__preview .play-button {
      width: var(--sp-14);
      height: var(--sp-14);
    }

    .product--scroll .product__preview .play-button .icon {
      width: var(--sp-5);
      height: var(--sp-5);
    }
  }

  .product.no-media {
    grid: none;
  }

  .product.no-media .product__info {
    width: 100%;
  }

  .product__info>*+* {
    margin-block-start: var(--sp-6);
  }

  .product__text {
    padding-block: var(--sp-2);
  }

  .product__breadcrumb {
    border-block-end: 1px solid rgb(var(--color-border));
    padding-block-end: var(--sp-3);
  }

  .product__vendor+.product__title,
  .product__sku+.product__title,
  .product__sku+.product__vendor,
  .product__vendor+.product__sku {
    margin-block-start: var(--sp-3);
  }

  .product__title+.product__rating {
    margin-block-start: var(--sp-5);
  }

  .product__price {
    font-size: var(--fluid-lg-to-2xl);
  }

  .product__price .price__regular {
    font-size: 100%;
  }

  .product__price :is(.price__sale, .unit-price) {
    font-size: 70%;
  }

  .product__tax {
    margin-block-start: var(--sp-1d5);
  }

  .product__title.with-price {
    display: grid;
    gap: var(--sp-5);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: flex-end;
    justify-content: space-between;
  }

  .product__title .product__price {
    align-self: flex-end;
  }

  .product__title .product__rating {
    place-self: end;
  }

  @media screen and (min-width: 1280px) {
    .product__title.with-price {
      grid-template-columns: auto auto;
    }

    .product__title.with-price h1 {
      grid-column: auto;
    }

    .product__title.with-price .price__sale {
      place-self: end;
    }

    .product__title .product__price {
      place-self: end;
    }

    .product__title .product__rating {
      grid-column: 1/-1;
      margin-block-start: var(--sp-1d5);
      place-self: auto;
    }
  }

  .product-form-wrapper {
    margin-block-start: var(--sp-8);
  }

  .quantity-selector {
    min-height: var(--input-height);
    border: 1px solid rgb(var(--color-border));
    border-radius: var(--buttons-radius);
  }

  .quantity-button {
    padding-inline: var(--sp-3);
  }

  .quantity-input {
    appearance: none;
    background-color: transparent;
    max-width: var(--sp-11);
  }

  .quantity-input:focus {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -moz-appearance: textfield;
    outline: 2px solid transparent;
    outline-offset: 2px
  }

  @media screen and (max-width: 639px) {
    .quantity-button .icon {
      width: var(--sp-4d5);
      height: var(--sp-4d5);
    }
  }

  @media screen and (min-width: 640px) {
    .product-form__submit,
    button.shopify-payment-button__button--unbranded,
    .shopify-payment-button__button--branded.shopify-payment-button__button--branded [role=button] {
      min-height: 3.75rem;
    }

    .quantity-input {
      max-width: var(--sp-12);
    }

    .quantity-button {
      padding-inline: var(--sp-4d5);
    }

    .quantity-button:first-of-type {
      padding-inline-end: var(--sp-2);
    }

    .quantity-button:last-of-type {
      padding-inline-start: var(--sp-2);
    }
  }

  @media screen and (min-width: 1024px) and (max-width: 1279px) {
    .product-form__buttons .quantity-input {
      max-width: var(--sp-10);
    }
  }

  button.shopify-payment-button__button--hidden {
    display: none;
  }

  [data-rounded-block=square] .product__inventory progress-bar {
    border-radius: 0;
  }

  .product__inventory progress-bar {
    height: var(--sp-1d5);
    background-color: rgb(var(--color-border-light));
  }

  .product__inventory progress-bar:before {
    content: '';
    background-color: currentColor;
    border-radius: inherit;
    display: block;
    height: inherit;
    width: var(--progress, 100%);
    transition: width var(--animation-smooth) .1s;
  }

  .product__inventory .accent-2:before {
    background: linear-gradient(325deg, #0064ff 0, #61f0f3 100%);
  }

  .product__inventory .accent-3:before {
    background: linear-gradient(325deg, #ff3484 0, #f1e04d 100%);
  }

  .product__inventory .accent-4:before {
    background: linear-gradient(325deg, #309fff 0, #b635ff 100%);
  }

  .product__inventory .accent-5:before {
    background: linear-gradient(325deg, #049cff 0, #35ee7a 100%);
  }

  .product__inventory .accent-6:before {
    background: linear-gradient(325deg, #00e166 0, #0066ec 100%);
  }

  .product__inventory .alert {
    border-radius: var(--rounded-full);
    padding-block: var(--sp-3d5);
    padding-inline: var(--sp-4d5) var(--sp-5);
  }

  .product__info .complementary-products {
    margin-block-start: var(--sp-8);
  }

  .recipient-form input[type=date]::-webkit-calendar-picker-indicator {
    color: transparent;
    background: none;
    position: absolute;
    inset-block-start: calc(50% - 10px);
    inset-inline-end: var(--input-padding-inline);
  }

  .social-sharing li {
    width: var(--sp-10);
    height: var(--sp-10);
  }

  .social-sharing .social-sharing__link {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .social-sharing .social-sharing__link .icon {
    width: var(--sp-4d5);
    height: var(--sp-4d5);
  }

  .help-list__item {
    padding-block: var(--sp-6);
    padding-inline: var(--sp-7d5);
    color: rgb(var(--color-foreground));
    background: var(--gradient-background);
    background-color: rgb(var(--color-background));
  }

  [data-rounded-block=round] .help-list__item {
    border-radius: var(--sp-4);
  }

  .help-list__item p:not(.h4) {
    margin-block-start: 0;
    margin-block-end: var(--sp-3);
  }

  .product__accordion {
    padding-inline: clamp(var(--sp-4d5), 1.2vw, var(--sp-5d5));
    margin-block-start: var(--sp-9);
    border-block: 1px solid rgb(var(--color-border));
  }

  .product__accordion:last-child {
    border-block-end-width: 1px;
  }

  .product__accordion+.product__accordion {
    border-block-start: 0;
    margin-block-start: 0;
  }

  .product__accordion .details__summary {
    padding-block: clamp(var(--sp-4d5), 1.2vw, var(--sp-5d5));
  }

  .product__accordion .details__summary>.icon {
    --tw-scale-y: 1;
    width: var(--sp-3);
    height: var(--sp-3);
  }

  .product__accordion[aria-expanded=true] .details__summary>.icon {
    --tw-rotate: 45deg;
  }

  .product__accordion .details__content,
  .product__accordion .details__content:last-child {
    padding-block-end: clamp(var(--sp-4d5), 1.2vw, var(--sp-5d5));
  }

  .product__accordion .details__content:after {
    content: none;
  }

  @media screen and (min-width: 1024px) {
    .product__accordion .details__summary>.icon {
      width: var(--sp-3d5);
      height: var(--sp-3d5);
    }
  }

  .product__more {
    padding: clamp(var(--sp-4d5), 1.2vw, var(--sp-5d5));
    margin-block-start: var(--sp-9);
    border-block: 1px solid rgb(var(--color-border));
  }

  .product__more+.product__accordion,
  .product__accordion+.product__more {
    border-block-start: 0;
    margin-block-start: 0;
  }

  .product__more>.icon {
    width: var(--sp-4d5);
    height: var(--sp-4d5);
  }

  .product__info>:not(.product__accordion)+:last-child:is(.product__more) {
    border-block-end: 0;
    padding-inline: 0;
  }

  .product__spinning {
    inset-inline-start: 50%;
    margin-inline-start: calc(var(--radius) * 2);
  }

  @media screen and (min-width: 1024px) {
    .product__spinning {
      inset-inline-start: 100%;
      margin-inline-start: var(--radius);
    }
  }

  @media screen and (min-width: 1536px) {
    .product__spinning {
      margin-inline-start: calc(var(--radius) * 3);
    }
  }

  .product__spinning .icon {
    width: clamp(var(--sp-6), 2.105vw, var(--sp-10));
    height: clamp(var(--sp-6), 2.105vw, var(--sp-10));
  }

  spinning-text {
    --inner-angle: calc((360 / var(--char-count)) * 1deg);
    --character-width: 1;
  }

  [data-gang-option]~[data-gang-default] {
    display: none;
  }

  @media (prefers-reduced-motion: no-preference) {
    .split-chars {
      animation: spin 12s infinite linear;
    }

    @keyframes spin {
      to {
        rotate: -360deg;
      }
    }
  }

  .split-char {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(calc(var(--transform-logical) * var(--inner-angle) * var(--char-index))) translateY(var(--radius));
  }

  .no-js .product__spinning {
    display: none;
  }

  @keyframes beat {

    0%,
    to {
      transform: scale(1)
    }

    50% {
      transform: scale(1.2)
    }
  }

  video-media,
  model-media {
    border-radius: inherit;
    aspect-ratio: var(--aspect-ratio);
  }

  @supports not (aspect-ratio: 1) {
    :is(video-media, model-media):before {
      content: '';
      padding-block-end: calc(100% / (var(--aspect-ratio)));
      display: block;
    }

    :is(video-media, model-media)>* {
      height: 100%;
      inset-block-start: 0;
      inset-inline-start: 0;
      position: absolute !important;
    }
  }

  video-media {
    --aspect-ratio: 16 / 9;
  }

  video-media[host] {
    align-items: center;
    display: grid;
  }

  video-media:not([playing]) {
    cursor: pointer;
  }

  video-media> :is(video, iframe, img, svg) {
    width: 100%;
    height: 100%;
    border: none;
    border-radius: inherit;
    transition: var(--animation-short);
    transition-property: opacity, visibility;
  }

  video-media>video[controls] {
    pointer-events: auto;
  }

  video-media> :is(img, svg) {
    object-fit: cover;
    object-position: center;
  }

  video-media>video:not(:-webkit-full-screen) {
    object-fit: cover;
    object-position: center;
  }

  video-media>video:not(:fullscreen) {
    object-fit: cover;
    object-position: center;
  }

  video-media> :is(iframe, img, svg) {
    position: absolute;
    inset: 0;
  }

  video-media:not([loaded])> :is(video, iframe),
  video-media[loaded]>img,
  video-media[loaded]>svg,
  video-media[loaded] .play-button {
    opacity: 0;
    visibility: hidden;
  }

  video-media[suspended]~* {
    pointer-events: none;
  }

  @media screen and (min-width: 1024px) {
    model-media[loaded]~* {
      pointer-events: none;
    }
  }

  .play-button {
    position: absolute;
    width: var(--sp-7);
    height: var(--sp-7);
    inset-inline-end: var(--sp-2);
    inset-block-start: var(--sp-2);
    transition: var(--animation-short);
    transition-property: opacity, visibility;
    background-color: rgb(var(--color-background));
  }

  @media screen and (pointer: fine) {
    :is(video-media, model-media) .play-button:hover>svg:first-child {
      animation: beat .6s infinite ease;
    }
  }

  .play-button .icon {
    width: var(--sp-3);
    height: var(--sp-3);
  }

  :is(.product__preview, .product__media-list) .play-button {
    width: var(--sp-10);
    height: var(--sp-10);
    inset-inline-end: var(--sp-4);
    inset-block-start: var(--sp-4);
  }

  :is(.product__preview, .product__media-list) .play-button[hidden] {
    display: none;
  }

  :is(.product__preview, .product__media-list) .play-button .icon {
    width: var(--sp-4);
    height: var(--sp-4);
  }

  :is(.product__preview, .product__media-list) .shopify-model-viewer-ui .shopify-model-viewer-ui__button--control,
  :is(.product__preview, .product__media-list) .shopify-model-viewer-ui .shopify-model-viewer-ui__control-icon {
    width: var(--sp-10);
    height: var(--sp-10);
  }

  :is(.product__preview, .product__media-list) .shopify-model-viewer-ui .shopify-model-viewer-ui__button--control:not(:last-child):after {
    width: 100%;
    inset-inline-end: 0;
  }

  [data-rounded-block=round] :is(.product__preview, .product__media-list) .shopify-model-viewer-ui .shopify-model-viewer-ui__controls-area {
    border-radius: var(--sp-1);
  }

  .product__media {
    background-color: rgb(var(--color-placeholder));
  }

  @media screen and (min-width: 1024px) {
    .product__media {
      border-radius: var(--card-radius);
    }
  }

  [data-shopify-xr-hidden] {
    display: none;
  }

  button:is([is=media-lightbox-button], [is=media-hover-button]) {
    cursor: zoom-in;
    border-radius: var(--rounded-block);
  }

  button:is([is=media-lightbox-button], [is=media-hover-button]):focus-visible {
    outline: none;
    box-shadow: inset 0 0 0 2px rgb(var(--color-keyboard-focus));
  }

  .product__media-container .slider {
    margin-inline: 0;
    padding-inline: 0;
    scroll-padding-inline: 0;
    border-radius: var(--rounded-block);
    transform: translateZ(0);
  }

  @media screen and (min-width: 1024px) {
    .product--thumbnail .product__media-container .indicators {
      display: flex;
      padding: var(--sp-6);
      transition: opacity var(--animation-primary);
    }

    .product--thumbnail .product__media-container .indicators .button {
      --border-opacity: 0.1;
      background-color: rgb(var(--color-button-text));
    }

    @media screen and (pointer: fine) {
      .product--thumbnail .product__media-container:hover .indicators {
        opacity: 1;
      }
    }
  }

  @media screen and (min-width: 767px) and (max-width: 1023px) {
    .slider .product__media {
      width: 75%;
      scroll-snap-align: center;
    }
  }

  @media screen and (min-width: 1280px) {
    .product--scroll .product__gallery {
      grid-template-columns: 1fr .55fr;
    }

    .product--scroll .product__media-list {
      grid-template-columns: repeat(1, minmax(0, 1fr));
    }
  }

  .product--thumbnail .product__media-list,
  .product--dots .product__media-list {
    margin-inline: 0;
    padding-inline: 0;
    scroll-padding-inline: 0;
  }

  @media screen and (min-width: 1024px) {
    .product--thumbnail .product__media-list,
    .product--dots .product__media-list {
      gap: 0;
    }

    .product--thumbnail .product__media-list .play-button,
    .product--thumbnail .shopify-model-viewer-ui .shopify-model-viewer-ui__button--poster {
      width: var(--sp-14);
      height: var(--sp-14);
    }

    .product--thumbnail .product__media-list .play-button .icon {
      width: var(--sp-5);
      height: var(--sp-5);
    }
  }

  .product--thumbnail .product__media-list .product__media {
    border-radius: 0;
  }

  .product__thumbnails-list {
    grid-auto-flow: column;
    overflow-x: scroll;
  }

  .product__thumbnail {
    width: var(--sp-23);
  }

  .product__thumbnail:after {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    --tw-ring-inset: inset;
    --tw-ring-color: transparent;
    content: '';
    inset: 0;
    position: absolute;
    pointer-events: none;
    transition: box-shadow var(--animation-fast);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .product__thumbnail[aria-current=true]:after {
    --tw-ring-color: rgb(var(--color-foreground));
  }

  [data-rounded-block=round] .product__thumbnail,
  [data-rounded-block=round] .product__thumbnail:after {
    border-radius: var(--sp-2d5);
  }

  @media screen and (min-width: 1280px) {
    .product__thumbnails--beside {
      order: -1;
      width: var(--sp-28);
    }

    .product__thumbnails--beside .product__thumbnails-list {
      grid-auto-flow: row;
      overflow-y: scroll;
      max-height: 630px;
    }

    .product__thumbnails--beside .product__thumbnail {
      width: 100%;
    }
  }

  @media screen and (max-width: 1023px) {
    .product__gallery--partial .slider .product__media {
      width: 75%;
    }

    .product__gallery button:is([is=media-lightbox-button], [is=media-hover-button]) {
      pointer-events: auto;
      width: var(--sp-10);
      height: var(--sp-10);
      inset: unset;
      inset-inline-end: var(--sp-4);
      inset-block-start: var(--sp-4);
      color: rgb(var(--color-foreground));
      background-color: rgb(var(--color-background)/ 0.7);
      border-radius: var(--rounded-full);
      backdrop-filter: blur(12px);
      border: 1px solid rgb(var(--color-border));
    }

    .product__thumbnail {
      width: var(--sp-15);
    }

    .product__thumbnails.with-dots,
    .product__thumbnails.with-dots .product__thumbnails-list {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0;
    }

    .product__thumbnails.with-dots .product__thumbnail:not([hidden]) {
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      width: var(--sp-6);
      height: var(--sp-6);
      border-radius: var(--rounded-full);
      transition: box-shadow var(--animation-primary);
      background-color: transparent;
    }

    .product__thumbnails.with-dots .product__thumbnail:after {
      content: none;
    }

    .product__thumbnails.with-dots .product__thumbnail:before {
      content: '';
      display: block;
      width: 5px;
      height: 5px;
      background-color: rgb(var(--color-foreground));
      border-radius: var(--rounded-full);
      transition: var(--animation-primary);
      transition-property: background-color, box-shadow;
    }

    .product__thumbnails.with-dots .product__thumbnail[aria-current=true]:before {
      width: 5px;
      height: 5px;
      background-color: transparent;
      box-shadow: 0 0 0 2px rgb(var(--color-foreground));
    }

    .product__thumbnails.with-dots .product__thumbnail :is(img, svg) {
      visibility: hidden;
      position: absolute;
    }

    .product__thumbnails.with-dots .product__thumbnail .play-button {
      clip: rect(0,0,0,0);
      border-width: 0;
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      white-space: nowrap;
      width: 1px;
    }
  }

  .product__media--variant:not(:first-child) {
    display: none;
  }

  .no-js .product--thumbnail .product__media-list .product__media:not(:first-child) {
    display: none;
  }

  .product--scroll .product__gallery.with-only1 {
    grid-template-columns: 1fr;
  }

  .product--scroll .product__gallery.with-only1 .product__preview.sticky {
    height: auto;
    max-height: unset;
  }

  .product--scroll .product__gallery.with-only1 .product__preview .product__media {
    height: auto;
  }

  :is(.product--scroll, .product--columns) .product__gallery.with-only1 .product__media-list {
    grid-template-columns: 1fr;
  }

  :is(.product--scroll, .product--columns) .product__gallery.with-only1 .product__media-list .product__media {
    width: 100%;
  }

  /*! image-with-text */

  .image-with-text.with-background {
    color: rgb(var(--color-foreground));
    background: var(--gradient-background-2);
    background-color: rgb(var(--color-background-2));
    border-radius: var(--rounded-block);
  }

  .image-with-text.with-background .image-with-text__image {
    min-height: 100%;
  }

  .image-with-text.with-background .image-with-text__image .media {
    border-radius: 0;
  }

  .image-with-text.with-background .rich-text {
    padding: var(--sp-10);
  }

  @media screen and (min-width: 1024px) {
    .image-with-text.with-background .rich-text {
      padding: var(--grid-gap);
    }
  }

  @media screen and (min-width: 1280px) {
    .image-with-text.with-background .image-with-text__item .rich-text {
      padding-inline: var(--sp-14);
    }
  }

  @media screen and (min-width: 1536px) {
    .image-with-text.with-background .image-with-text__item .rich-text {
      padding-inline: clamp(var(--sp-20), 6.737vw, var(--sp-32));
    }
  }

  .image-with-text .rich-text>*+*:not(.spacing-section) {
    margin-block-start: var(--sp-7d5);
  }

  .image-with-text__media.with-2nd-image {
    padding-inline: var(--page-padding);
  }

  .image-with-text__item .media:not(.media--rounded) {
    border-radius: var(--rounded-block);
  }

  .image-with-text__image-second {
    inset-block-start: 50%;
    width: 35%;
    transform: translateY(-50%);
  }

  .image-with-text__image-second .media {
    transform: rotate(calc(-4deg * var(--transform-logical)));
  }

  .image-with-text__image-second+.image-with-text__image-first {
    transform: rotate(calc(3deg * var(--transform-logical)));
    width: 75%;
    margin-inline-start: auto;
  }

  .image-with-text__media .aspect-adapt .placeholder {
    aspect-ratio: 5 / 6;
  }

  @media screen and (min-width: 1024px) {
    .image-with-text {
      gap: 0;
    }

    .image-with-text .rich-text>*+*:not(.spacing-section) {
      margin-block-start: var(--sp-10);
    }

    .image-with-text__item+.image-with-text__item .rich-text {
      padding-inline-start: var(--grid-gap);
    }

    .image-with-text__item {
      width: 35%;
    }

    .image-with-text__media.with-2nd-image {
      padding-inline: calc(var(--grid-gap)/2);
    }

    .image-with-text__image-second {
      width: 40%;
    }
  }

  @media screen and (min-width: 1536px) {
    .image-with-text__item:not(.lg\:grow-0) .image-with-text__media.with-2nd-image {
      padding-inline: var(--grid-gap);
    }

    .image-with-text__item+.image-with-text__item .rich-text {
      padding-inline: 15%;
    }

    .image-with-text__item+.image-with-text__item.lg\:grow-0 .rich-text {
      padding-inline-end: 0;
    }
  }

  /*! highlighted-text */

  @keyframes strokeAnimation {
    0% {
      stroke-dashoffset: 1;
      opacity: 0;
    }

    1% {
      opacity: 1;
    }

    100% {
      stroke-dashoffset: 0;
    }
  }

  .highlighted-text .icon {
    z-index: -1;
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    stroke: rgb(var(--color-highlight));
    transform: scaleX(var(--transform-logical));
  }

  .highlighted-text .icon-circle {
    width: 120%;
    height: 140%;
    inset-block-start: -20%;
    inset-inline-start: -10%;
  }

  .highlighted-text .icon-basic-underline {
    width: 100%;
    height: 30%;
    inset-block-start: auto;
    inset-block-end: -20%;
  }

  .highlighted-text .icon-sketch-underline {
    width: 100%;
    height: 60%;
    inset-block-start: auto;
    inset-block-end: -20%;
  }

  .highlighted-text .icon-squiggle-underline {
    width: 100%;
    height: 50%;
    inset-block-start: auto;
    inset-block-end: -30%;
  }

  .highlighted-text .icon-squiggle-underline-2 {
    width: 100%;
    height: 50%;
    inset-block-start: auto;
    inset-block-end: -35%;
  }

  .highlighted-text .icon path {
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    opacity: 0;
  }

  .highlighted-text.animate .icon path {
    opacity: 1;
    animation: strokeAnimation 1.3s cubic-bezier(0.65, 0, 0.35, 1) forwards;
  }

  .highlighted-text[data-style=text] {
    transition: color var(--animation-smooth);
  }

  .highlighted-text.animate[data-style=text] {
    color: rgb(var(--color-highlight));
  }

  .highlighted-text:is([data-style=full_text], [data-style=half_text], [data-style=underline]) {
    background-repeat: no-repeat;
    background-image: linear-gradient(to var(--transform-origin-end), rgb(var(--color-highlight)) 0, rgb(var(--color-background)) 100%), linear-gradient(to var(--transform-origin-end), rgb(var(--color-highlight)) 0, rgb(var(--color-background)) 100%);
    transition: background-size var(--animation-smooth);
  }

  .highlighted-text.with-gradient:is([data-style=full_text], [data-style=half_text], [data-style=underline]) {
    background-image: var(--gradient-highlight);
  }

  .highlighted-text[data-style=full_text] {
    background-position: var(--transform-origin-start) 70%;
    background-size: 0 80%;
  }

  .highlighted-text.animate[data-style=full_text] {
    background-size: 100% 80%;
  }

  .highlighted-text[data-style=half_text] {
    background-position: var(--transform-origin-start) 90%;
    background-size: 0 28%;
  }

  .highlighted-text.animate[data-style=half_text] {
    background-size: 100% 28%;
  }

  .highlighted-text[data-style=underline] {
    background-size: 0 3px, 0% 80%;
    background-position: var(--transform-origin-start) 90%, var(--transform-origin-start) 50%;
  }

  .highlighted-text.animate[data-style=underline] {
    background-size: 100% 3px, 0% 80%;
  }

  .highlighted-text[data-style=stencil] {
    -webkit-text-stroke: 0.02em currentColor;
    -webkit-text-fill-color: transparent;
  }

  @media screen and (-webkit-min-device-pixel-ratio: 0) {
    .js .highlighted-text.with-gradient[data-style=text] {
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-repeat: no-repeat;
      background-image: var(--gradient-highlight);
      background-position: var(--transform-origin-start) 100%;
      background-size: 0 100%;
      transition: background-size var(--animation-smooth);
      line-height: normal;
    }

    .js .highlighted-text.with-gradient.animate[data-style=text] {
      background-size: 100% 100%;
    }
  }

  /*! testimonials */

  .testimonials:after {
    content: 'flickity';
    display: none;
  }

  .testimonial blockquote {
    margin-block: 0;
  }

  .testimonial.with-none blockquote {
    padding-block-start: 0;
  }

  .testimonial.with-none blockquote:before {
    content: none;
  }

  .testimonial:is(.with-5-stars, .with-4-stars, .with-3-stars, .with-2-stars, .with-1-star) blockquote:before {
    -webkit-mask-image: none;
    mask-image: none;
    width: auto;
    height: auto;
    background-color: transparent
  }

  .testimonial.with-5-stars blockquote:before {
    content: '★★★★★';
  }

  .testimonial.with-4-stars blockquote:before {
    content: '★★★★';
  }

  .testimonial.with-3-stars blockquote:before {
    content: '★★★';
  }

  .testimonial.with-2-stars blockquote:before {
    content: '★★';
  }

  .testimonial.with-1-star blockquote:before {
    content: '★';
  }

  .testimonial figure {
    width: clamp(var(--sp-16), 4.21vw, var(--sp-20));
    margin-block-start: var(--sp-8d5);
  }

  .testimonial figure.media--adapt {
    width: auto;
  }

  .testimonial figure+cite {
    line-height: normal;
    margin-block-start: var(--sp-2d5);
  }

  .testimonials .flickity-page-dots {
    margin-block-start: clamp(var(--sp-6), 2.105vw, var(--sp-10));
  }

  .banner .testimonial :is(figure, cite) {
    opacity: 0.6;
  }

  .testimonials>.testimonial~.testimonial,
  .no-js .testimonials .testimonial:not(:first-child) {
    display: none;
  }

  /*! timeline */

  .slider .timeline {
    --slider-item-width: var(--page-container);
    --card-grid-gap: var(--sp-10);
  }

  .slider .timeline.with-only1 {
    --slider-item-width: var(--page-container);
  }

  .timeline__item {
    width: 100%;
  }

  .timeline__item>.flex {
    border-radius: var(--rounded-block);
    background-color: rgb(var(--color-foreground)/ 0.04);
  }

  .timeline__item:after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-color: rgb(var(--color-background)/ .8);
    transition: opacity var(--animation-primary);
  }

  .timeline__item.selected:after {
    opacity: 0;
  }

  @media (prefers-reduced-motion: reduce) {
    .timeline__item:after {
      content: none;
    }
  }

  .timeline__item-content {
    padding: var(--sp-7d5);
  }

  .timeline__item-content .button {
    margin-block-start: var(--sp-4d5);
  }

  .timeline__item-content .heading {
    padding-block-end: var(--sp-2);
  }

  .timeline-dots {
    width: max-content;
    min-width: 100%;
    margin-block-start: var(--sp-8);
    grid: auto / repeat(var(--section-blocks-count), minmax(0, 1fr));
  }

  .timeline-dots button {
    word-break: normal;
    transition: color var(--animation-primary);
  }

  .timeline-dots button[aria-current=false] {
    color: rgb(var(--color-foreground)/ 0.15);
  }

  .timeline-dots button:after {
    content: '';
    display: block;
    background-color: rgb(var(--color-foreground)/ 0.15);
    width: 100%;
    height: 1px;
    min-width: var(--sp-10);
  }

  @media screen and (min-width: 768px) {
    .timeline__item>.flex {
      gap: var(--grid-gap);
    }

    .timeline__item-content {
      padding-inline-start: 0;
      padding-inline-end: var(--grid-gap);
      padding-block: var(--grid-gap);
    }

    .timeline-dots button:after {
      min-width: var(--sp-24);
    }
  }

  @media screen and (min-width: 1024px) {
    .timeline__item>.flex {
      gap: var(--sp-18);
    }

    .timeline__item-content {
      padding-inline-end: var(--sp-18);
      padding-block: var(--sp-24);
    }

    .timeline__item-content .heading {
      padding-block-end: var(--sp-4d5);
    }

    .timeline-dots button:after {
      min-width: unset;
    }
  }

  @media screen and (min-width: 1280px) {
    .slider .timeline {
      --slider-item-width: calc(var(--page-container) * 0.85);
    }

    .timeline-dots button {
      font-size: var(--fluid-base-to-2xl);
      letter-spacing: -0.025em;
    }

    .timeline-dots {
      margin-block-start: var(--sp-14);
    }
  }

  @media screen and (min-width: 1536px) {
    .slider .timeline {
      --slider-item-width: calc(var(--page-container) * 0.6667);
    }
  }

  .no-js .timeline__item:after {
    content: none;
  }

  /*! portfolio */

  .profile .title-wrapper {
    display: grid;
    margin-block-end: 0;
  }

  .profile .media {
    border-radius: var(--rounded-block);
  }

  .profile__content {
    padding: var(--sp-6);
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-background)/ 0.5);
    backdrop-filter: blur(12px);
  }

  [data-rounded-block=round] .profile__content {
    border-end-start-radius: var(--rounded-block);
    border-end-end-radius: var(--rounded-block);
  }

  .profile__button {
    width: var(--sp-8);
    height: var(--sp-8);
    color: rgb(var(--color-background));
    background-color: rgb(var(--color-foreground));
  }

  .profile__button .icon {
    --tw-rotate: 0deg;
    width: var(--sp-3);
    height: var(--sp-3);
    stroke-width: 2;
    transform: rotate(var(--tw-rotate));
    transition: transform var(--animation-primary), opacity var(--animation-fast);
  }

  .profile__content .icon .fill {
    fill: rgb(var(--color-foreground));
  }

  .profile__button[aria-expanded=true] .icon {
    --tw-rotate: 90deg;
  }

  @media screen and (pointer: fine) {
    .profile__button:hover .icon {
      --tw-rotate: 90deg;
    }
  }

  @media screen and (min-width: 768px) {
    .profile__content {
      padding: var(--sp-7d5);
    }

    .profile-modal[active]>.overlay {
      backdrop-filter: blur(12px);
    }
  }

  @media screen and (min-width: 1280px) {
    .profile .spacing-section {
      display: block;
      height: var(--sp-8);
    }

    .profile__content {
      padding: var(--sp-10);
    }

    .profile__button {
      width: var(--sp-10);
      height: var(--sp-10);
    }

    .profile__button .icon {
      width: var(--sp-3d5);
      height: var(--sp-3d5);
    }
  }

  /*! video-hero */

  .mobile\:deferred-media+.deferred-media {
    display: none;
  }

  @media screen and (min-width: 768px) {

    .mobile\:deferred-media,
    .mobile\:deferred-media[host] {
      display: none;
    }

    .mobile\:deferred-media+.deferred-media {
      display: block;
    }

    .mobile\:deferred-media+.deferred-media[host] {
      display: grid;
    }
  }

  .deferred-poster .play-button {
    width: var(--sp-10);
    height: var(--sp-10);
    inset-block-start: var(--sp-5);
    inset-inline-end: var(--sp-5);
    color: rgb(var(--color-base-text));
    background-color: rgb(var(--color-base-background));
    transition: var(--animation-short);
    transition-property: opacity, background-color, backdrop-filter;
  }

  @media screen and (min-width: 1024px) {
    .deferred-poster .play-button {
      width: var(--sp-12);
      height: var(--sp-12);
    }

    .deferred-poster .play-button .icon {
      width: var(--sp-4);
      height: var(--sp-4);
    }
  }

  video-media[playing] .deferred-poster .play-button {
    background-color: rgb(var(--color-base-background)/ .7);
    backdrop-filter: blur(12px);
  }

  video-media .deferred-poster .play-button {
    opacity: 1;
    visibility: visible;
  }

  video-media[playing] .deferred-poster .play-button .icon:first-child:not(:only-child),
  video-media:not([playing]) .deferred-poster .play-button .icon:last-child:not(:only-child) {
    display: none;
  }

  .video-hero video-media .play-button {
    inset-block-start: auto;
    inset-block-end: var(--sp-5);
    inset-inline-end: var(--sp-5);
  }

  .js .section:not(.section--next-rounded) .video-hero video-media .play-button {
    inset-block-end: calc(var(--sp-5) + var(--border-radius));
  }

  .video-hero__content {
    margin-block-start: -100vh;
  }

  .video-hero__content .banner__box {
    padding-block: 50vh 25vh;
  }

  .video-hero__content .banner__box>* {
    margin-block-start: 0;
    padding-block-end: 33vh;
  }

  /*! collage */

  .collage {
    gap: var(--grid-gap);
    overflow: hidden;
  }

  @supports (overflow: clip) {
    .collage {
      overflow-y: clip;
      overflow-x: visible;
    }
  }

  .collage .title-wrapper {
    display: grid;
    margin-block-end: 0;
  }

  .collage .title-wrapper>:is(p) {
    margin-block-start: var(--sp-3);
  }

  .collage__item {
    border-radius: var(--rounded-block);
  }

  .collage .banner .banner__overlay {
    height: 100%;
  }

  .collage .banner__box {
    padding: var(--sp-6);
    height: 100%;
    width: 100%;
    min-width: unset;
    max-width: unset;
  }

  .collage .banner__box p~p {
    margin-block-start: var(--sp-2d5);
  }

  .collage .banner__box p {
    display: inline-block;
    max-width: max(62%, var(--sp-32));
  }

  .collage .deferred-media~* {
    transition: var(--animation-short);
    transition-property: opacity, visibility;
  }

  .collage .deferred-media[playing]~* {
    opacity: 0;
    visibility: hidden;
  }

  @media screen and (max-width: 767px) {

    .collage-left,
    .collage-right {
      transform: translateY(0) !important;
    }
  }

  @media screen and (min-width: 1024px) {
    .collage {
      grid-template-columns: 1fr 2fr;
    }

    .collage.without-heading {
      grid-template-columns: 1fr;
    }

    .collage.with-richtext {
      grid-template-columns: 2fr 3fr;
    }

    .collage .banner__box {
      padding: var(--sp-10);
    }
  }

  @media screen and (min-width: 1024px) and (max-width: 1279px) {
    .collage .banner__box p {
      max-width: max(82%, var(--sp-32));
    }
  }

  @media screen and (min-width: 1280px) {
    .collage .title-wrapper {
      padding-inline-end: var(--grid-gap);
    }
  }

  @media screen and (min-width: 1536px) {
    .collage.with-richtext {
      gap: 0;
      grid-template-columns: 3fr 4fr;
    }

    .collage.with-richtext,
    .collage.with-richtext .title-wrapper,
    .collage.with-richtext .rich-text {
      padding-inline: var(--grid-gap);
    }
  }

  /*! featured-collections */

  .featured-collections .title-wrapper {
    margin-block-end: var(--sp-6);
  }

  .tab-list .scroll-area {
    overflow-y: auto;
  }

  .tab-list {
    margin-block-end: clamp(var(--sp-8), 2.526vw, var(--sp-12));
  }

  .tab__item {
    --buttons-border-width: 0;
  }

  .tab__item[disabled] {
    opacity: 1;
  }

  .tab__item.button--secondary {
    background-color: rgb(var(--color-foreground)/ var(--opacity-025));
  }

  .tab__item img {
    max-width: var(--sp-5d5);
  }

  @media screen and (max-width: 767px) {
    .tab-list .scroll-area {
      padding-inline: var(--page-padding);
      margin-inline: calc(var(--page-padding) * -1);
    }

    .tab__item {
      max-height: 2.75rem;
      font-size: var(--text-xs);
      padding: var(--sp-3d5) var(--sp-4);
    }
  }

  /*! countdown-timer */

  .countdown__timer {
    --countdown-gap: var(--sp-8);
    gap: var(--countdown-gap);
  }

  .countdown__timer:not([hidden])+.countdown__message {
    display: none;
  }

  .countdown__item {
    display: grid;
    gap: var(--sp-2);
  }

  .countdown__item span {
    line-height: normal;
    font-size: var(--text-xs);
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
  }

  .countdown__item p {
    position: relative;
    display: grid;
    align-items: center;
    line-height: 1;
    white-space: nowrap;
  }

  .countdown__timer.body .countdown__item p {
    font-weight: var(--font-body-weight);
    letter-spacing: var(--font-body-letter-spacing);
  }

  .countdown__timer.heading .countdown__item p {
    font-weight: var(--font-heading-weight);
    letter-spacing: var(--font-heading-letter-spacing);
  }

  .countdown__item p:after {
    content: ':';
    position: absolute;
    line-height: 1;
    font-size: var(--title-sm);
    inset-inline-end: calc(var(--countdown-gap) / -2);
    transform: translateX(calc(50% * var(--transform-logical)));
    color: rgb(var(--color-highlight));
  }

  .countdown__item:last-child p:after {
    content: none;
  }

  @media screen and (min-width: 1024px) {
    .countdown__timer {
      --countdown-gap: var(--sp-12);
    }
  }

  /*! image-comparison */

  .image-comparison {
    --percent: 50%;
    --button-touch: 44px;
    --button-line: 3px;
    --button-width: 28px;
    --button-height: 48px;
    --svg-width: 10px;
    border-radius: var(--rounded-block);
  }

  @media screen and (min-width: 1024px) {
    .image-comparison {
      --button-line: 4px;
      --button-width: 38px;
      --button-height: 64px;
      --svg-width: 12px;
    }
  }

  .js .image-comparison {
    --percent: 10%;
  }

  .js .image-comparison[animate] {
    --percent: 50%;
  }

  .image-comparison.animating .comparison__after {
    transition: clip-path var(--animation-smooth);
  }

  .image-comparison.animating .comparison__button {
    transition: var(--animation-smooth);
    transition-property: inset-block-start, inset-inline-start;
  }

  .image-comparison[data-layout=horizontal] .comparison__after {
    clip-path: inset(0px 0px 0px var(--percent));
  }

  .image-comparison[data-layout=vertical] .comparison__after {
    clip-path: inset(var(--percent) 0px 0px 0px);
  }

  .comparison__button {
    color: currentColor;
    background: none;
    border: none;
  }

  .image-comparison[data-layout=horizontal] .comparison__button {
    inset-block-start: 0;
    inset-inline-start: var(--percent);
    height: 100%;
    width: var(--button-touch);
    margin-inline-start: calc(var(--button-touch) / -2);
    cursor: col-resize;
  }

  .image-comparison[data-layout=vertical] .comparison__button {
    inset-inline-start: 0;
    inset-block-start: var(--percent);
    width: 100%;
    height: var(--button-touch);
    margin-block-start: calc(var(--button-touch) / -2);
    cursor: row-resize;
  }

  .comparison__button:before,
  .comparison__button:after {
    content: '';
    z-index: -1;
    position: absolute;
    background-color: rgb(var(--color-background));
  }

  .image-comparison[data-layout=horizontal] .comparison__button:before,
  .image-comparison[data-layout=horizontal] .comparison__button:after {
    width: var(--button-line);
    height: 50%;
    inset-inline-start: 50%;
    margin-inline-start: calc(var(--button-line) / -2);
  }

  .image-comparison[data-layout=vertical] .comparison__button:before,
  .image-comparison[data-layout=vertical] .comparison__button:after {
    width: 50%;
    height: var(--button-line);
    inset-block-start: 50%;
    margin-block-start: calc(var(--button-line) / -2);
  }

  .image-comparison[data-layout=horizontal] .comparison__button:before {
    inset-block-start: 0;
  }

  .image-comparison[data-layout=horizontal] .comparison__button:after {
    inset-block-end: 0;
  }

  .image-comparison[data-layout=vertical] .comparison__button:before {
    inset-inline-start: 0;
  }

  .image-comparison[data-layout=vertical] .comparison__button:after {
    inset-inline-end: 0;
  }

  .comparison__button span {
    inset-block-start: 50%;
    inset-inline-start: 50%;
    width: var(--button-width);
    height: var(--button-height);
    margin-inline-start: calc(var(--button-width) / -2);
    margin-block-start: calc(var(--button-height) / -2);
    border-radius: var(--rounded-full);
    background-color: rgb(var(--color-background));
  }

  .image-comparison[data-layout=vertical] .comparison__button span {
    transform: rotate(90deg);
  }

  .comparison__button svg {
    width: var(--svg-width);
  }

  .comparison__after .placeholder {
    background-color: rgb(var(--color-base-text)/ 0.7);
  }

  @media screen and (max-width: 767px) {
    .image-comparison:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt) {
      height: auto;
    }

    .image-comparison:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt) .media {
      height: 0;
      padding-block-end: var(--ratio-percent);
    }
  }

  @media screen and (min-width: 768px) {
    .image-comparison.media--adapt .media {
      height: 0;
      padding-block-end: var(--ratio-percent);
    }
  }

  .image-comparison.scrolling .comparison__box {
    opacity: 0;
  }

  .comparison__box {
    padding: clamp(var(--sp-5), 2.105vw, var(--sp-10));
    color: rgb(var(--color-foreground));
    transition: opacity var(--animation-primary);
  }

  .comparison__box--center {
    align-items: center;
  }

  .comparison__box--end {
    align-items: flex-end;
  }

  .image-comparison[data-layout=vertical] .comparison__box {
    text-align: start;
    align-items: flex-end;
  }

  .image-comparison[data-layout=vertical] .comparison__box--center {
    text-align: center;
  }

  .image-comparison[data-layout=vertical] .comparison__box--end {
    text-align: end;
  }

  .image-comparison[data-layout=vertical] .comparison__before .comparison__box {
    align-items: flex-start;
  }

  [data-lazy-image] .image-comparison[data-layout=horizontal] .media.loading:before,
  [data-lazy-image] .image-comparison[data-layout=horizontal] .media.loading:after {
    inset-inline-start: calc(var(--percent) / 2);
  }

  [data-lazy-image] .image-comparison[data-layout=horizontal] .comparison__after .media.loading:before,
  [data-lazy-image] .image-comparison[data-layout=horizontal] .comparison__after .media.loading:after {
    inset-inline-start: calc(calc(100% - var(--percent)) / 2 + var(--percent));
  }

  [data-lazy-image] .image-comparison[data-layout=vertical] .media.loading:before,
  [data-lazy-image] .image-comparison[data-layout=vertical] .media.loading:after {
    inset-block-start: calc(var(--percent) / 2);
  }

  [data-lazy-image] .image-comparison[data-layout=vertical] .comparison__after .media.loading:before,
  [data-lazy-image] .image-comparison[data-layout=vertical] .comparison__after .media.loading:after {
    inset-block-start: calc(calc(100% - var(--percent)) / 2 + var(--percent));
  }

  /*! lookbook */

  @keyframes hotspot {
    0% {
      transform: scale(1)
    }

    50% {
      transform: scale(0.9)
    }

    to {
      transform: scale(1)
    }
  }

  @keyframes hotspot-zoom-in {
    0% {
      opacity: 0;
      transform: scale(.8)
    }

    to {
      opacity: 1;
      transform: scale(1)
    }
  }

  @keyframes hotspot-zoom-out {
    0% {
      opacity: 1;
      transform: scale(1)
    }

    to {
      opacity: 0;
      transform: scale(.8)
    }
  }

  .page-width lookbook-element {
    border-radius: var(--rounded-block);
  }

  .js .section lookbook-element.banner :is(.banner__overlay, .banner__media) {
    height: 100%;
  }

  .hotspot {
    --hotspot-width: var(--sp-11);
    width: var(--hotspot-width);
    height: var(--hotspot-width);
    inset-inline-start: var(--hotspot-x);
    inset-block-start: var(--hotspot-y);
    margin-inline-start: calc(var(--hotspot-width)/ -2);
    margin-block-start: calc(var(--hotspot-width)/ -2);
  }

  .hotspot:before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: var(--rounded-full);
    background-color: rgb(var(--hotspot-color)/ 0.4);
    transition: box-shadow var(--animation-primary);
    animation: hotspot 2s ease infinite;
  }

  .hotspot:after {
    content: '';
    position: absolute;
    width: var(--sp-4);
    height: var(--sp-4);
    border-radius: var(--rounded-full);
    background-color: rgb(var(--hotspot-color));
    transition: transform var(--animation-primary);
  }

  @media screen and (pointer: fine) {
    .hotspot:hover:before {
      box-shadow: inset 0 0 0 var(--sp-0d5) rgb(var(--hotspot-color));
    }

    .hotspot:hover:after {
      transform: scale(1.7);
    }

    .hotspot:hover .hotspot__content {
      animation-name: hotspot-zoom-in;
    }
  }

  .hotspot[aria-current=true] {
    z-index: 2;
  }

  .hotspot[aria-current=true]:after,
  .hotspot.active:after {
    transform: scale(1.7);
  }

  .hotspot.active .hotspot__content {
    animation-name: hotspot-zoom-in;
  }

  .hotspot__content {
    padding: var(--sp-2);
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-background));
    border-radius: var(--sp-2d5);
    inset-block-start: calc(100% + var(--sp-6));
    opacity: 0;
    animation: hotspot-zoom-out 0.25s ease forwards;
  }

  .hotspot__content.with-left {
    inset-inline-start: 0;
  }

  .hotspot__content.with-right {
    inset-inline-end: 0;
  }

  .hotspot__content.with-bottom {
    inset-block-start: auto;
    inset-block-end: calc(100% + var(--sp-6));
  }

  .hotspot__content .rte {
    min-width: var(--sp-48);
    padding: var(--sp-2);
  }

  .hotspot__content .rte p {
    margin-block: 0;
  }

  .hotspot__content .icon {
    inset-block-end: 100%;
    inset-inline-start: 50%;
    transform: translateX(calc(-50% * var(--transform-logical)));
    fill: rgb(var(--color-background));
  }

  .hotspot__content.with-left .icon {
    inset-inline-start: var(--sp-8);
  }

  .hotspot__content.with-right .icon {
    inset-inline-start: auto;
    inset-inline-end: var(--sp-8);
  }

  .hotspot__content.with-bottom .icon {
    inset-block-end: auto;
    inset-block-start: 100%;
    transform: translateX(calc(-50% * var(--transform-logical))) scaleY(-1);
  }

  .hotspot__content .media {
    width: var(--sp-15);
    border-radius: var(--sp-2d5);
  }

  .hotspot__content :is(.unit-price, .price__sale, .price__regular) {
    font-size: inherit;
  }

  @media screen and (min-width: 1024px) {
    .hotspot {
      --hotspot-width: var(--sp-15);
    }

    .hotspot:after {
      width: var(--sp-5);
      height: var(--sp-5);
    }

    .hotspot__content .media {
      width: var(--sp-20);
    }
  }

  /*! shop-the-look */

  .shop-the-look .title-wrapper {
    margin-block-end: calc(clamp(var(--sp-8), 2.526vw, var(--sp-12)) - var(--sp-6));
  }

  .shop-the-look .title-wrapper>.grid {
    width: 100%;
  }

  .shop-the-look .banner .banner__media,
  .shop-the-look .banner .banner__overlay {
    border-radius: var(--rounded-block);
  }

  .shop-the-look .product-card {
    width: 100%;
  }

  @media screen and (max-width: 1023px) {
    .shop-the-look .product-card {
      gap: var(--sp-4);
      margin-inline-end: var(--sp-10);
      align-items: center;
      grid-template-columns: auto 1fr;
      background-color: transparent;
      border-radius: 0;
    }

    .shop-the-look .product-card.mobile\:with-quick-add {
      grid-template-columns: auto 1fr auto;
    }

    .shop-the-look .product-card__media {
      overflow: hidden;
      width: var(--sp-24);
      border-radius: var(--card-radius);
    }

    .shop-the-look .product-card__content {
      padding: 0;
    }

    .shop-the-look .product-card :is(.badges, .product-card__rating, .product-card__bottom, .quick-view__button, .quick-add) {
      display: none;
    }

    .shop-the-look .product-card__carousel {
      display: none;
    }

    .shop-the-look .product-card__carousel~img {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
    }
  }

  @media screen and (max-width: 767px) {
    .shop-the-look .product-card__media {
      width: var(--sp-20);
    }
  }

  @media screen and (min-width: 1024px) {
    .shop-the-look {
      grid-template: "title title" "lookbook carousel" /minmax(0, 2fr) minmax(0, 1fr);
      grid-column-gap: var(--grid-gap);
    }

    .shop-the-look lookbook-element {
      grid-area: lookbook;
    }

    .shop-the-look carousel-element {
      grid-area: carousel;
    }

    .shop-the-look .title-wrapper {
      grid-area: title;
    }
  }

  @media screen and (min-width: 1536px) {
    .shop-the-look {
      grid-template: "lookbook title" "lookbook carousel" /minmax(0, 2fr) minmax(0, 1fr);
      grid-template-rows: auto 1fr;
    }

    .shop-the-look carousel-element,
    .shop-the-look .title-wrapper {
      padding-inline: var(--grid-gap);
    }

    .shop-the-look .title-wrapper {
      text-align: start;
    }
  }

  .shop-the-look carousel-element>.product-card~.product-card,
  .no-js .shop-the-look carousel-element .product-card:not(:first-child) {
    display: none;
  }

  /*! slideshow */

  .page-width .slideshow {
    border-radius: var(--rounded-block);
    transform: translateZ(0);
    overflow: hidden;
  }

  .page-width .slideshow :is(.banner, .banner__overlay) {
    border-radius: 0;
  }

  .page-width .slideshow .banner {
    margin-inline-end: 0;
  }

  .page-width .slideshow+.page-width {
    padding-inline: 0;
  }

  .slideshow .flickity-viewport {
    height: 100%;
  }

  .slideshow>.banner~.banner {
    display: none;
  }

  .slideshow :is(.banner, .banner__overlay) {
    border-radius: var(--rounded-block);
  }

  .slideshow .banner {
    margin-inline-end: var(--sp-7d5);
    max-width: var(--page-container);
  }

  .slideshow .banner__overlay {
    background: linear-gradient(180deg, rgb(var(--color-overlay)/ var(--overlay-opacity)) 50%, rgb(var(--color-overlay)/ calc(var(--overlay-opacity) * 4)) 100%);
  }

  .slideshow-content {
    padding: var(--page-padding);
  }

  @media screen and (min-width: 1024px) {
    .slideshow-content {
      padding: var(--grid-gap);
    }
  }

  @media screen and (min-width: 1536px) {
    .slideshow-content {
      padding-inline: calc(var(--grid-gap) * 2);
    }
  }

  .slideshow-dots .icon {
    width: clamp(var(--sp-8), 2.105vw, var(--sp-10));
    height: clamp(var(--sp-8), 2.105vw, var(--sp-10));
  }

  @media screen and (min-width: 640px) {
    .slideshow-dots {
      margin-block-start: var(--sp-8);
      border-block-start: 1px solid rgb(var(--color-border));
    }

    .slideshow-dots .flickity-page-dots {
      justify-content: flex-start;
      margin-block-start: clamp(var(--sp-4), 2.105vw, var(--sp-10));
      margin-block-end: calc(var(--sp-1d5) * -1);
      margin-inline-start: calc(var(--sp-1d5) * -1);
    }
  }

  .slideshow-words .banner__box {
    padding-block: 0;
  }

  .slideshow-word:not([aria-current=true]) {
    display: none;
  }

  @media screen and (max-width: 639px) {
    .slideshow-word .split-words .single-word {
      white-space: unset;
    }
  }

  .slideshow-control:focus {
    clip: auto;
    color: rgb(var(--color-button-text));
    background: var(--color-button-gradient);
    background-color: rgb(var(--color-button-background));
    margin: 0;
    transition: none;
    z-index: 10000;
    width: var(--sp-12);
    height: var(--sp-12);
    inset-block-start: var(--sp-5);
    inset-inline-start: 50%;
    transform: translateX(calc(-50% * var(--transform-logical)));
  }

  .slideshow-control[paused] .slideshow-control__pause,
  .slideshow-control__play {
    display: none;
  }

  .slideshow-control[paused] .slideshow-control__play {
    display: block;
  }

  .slideshow-control .icon {
    width: var(--sp-4);
    height: var(--sp-4);
  }

  .slideshow:not(.flickity-enabled) .banner,
  .no-js .slideshow .banner {
    margin-inline: auto;
    position: relative;
  }

  .no-js .slideshow .banner:not(:first-child) {
    display: none;
  }

  [data-page-rendering] #MainContent .shopify-section+.shopify-section~.shopify-section {
    content-visibility: auto;
  }

  .shopify-design-mode[data-page-rendering] #MainContent .shopify-section+.shopify-section~.shopify-section,
  .no-js [data-page-rendering] #MainContent .shopify-section+.shopify-section~.shopify-section,
  .no-touch [data-page-rendering] #MainContent .shopify-section+.shopify-section~.shopify-section {
    content-visibility: visible;
  }

  /*! product-countdown */

  .product-countdown {
    padding: var(--sp-4) var(--sp-5);
    color: rgb(var(--color-foreground));
    background: var(--gradient-background);
    background-color: rgb(var(--color-background));
  }

  [data-rounded-block=round] .product-countdown {
    border-radius: var(--sp-2d5);
  }

  .product-countdown .icon-xl {
    width: var(--sp-8);
    height: var(--sp-8);
  }

  .product-countdown .countdown__timer {
    --countdown-gap: var(--sp-5);
  }

  .product-countdown .countdown__item {
    position: relative;
    gap: var(--sp-0d5);
    padding: var(--sp-1d5) var(--sp-2d5);
    background-color: rgb(var(--color-base-background));
  }

  [data-rounded-block=round] .product-countdown .countdown__item {
    border-radius: var(--sp-1d5);
  }

  .product-countdown .countdown__item p {
    position: static;
    line-height: 1.25;
    font-weight: 700;
    font-size: var(--text-base);
  }

  @media screen and (min-width: 1024px) {
    .product-countdown .countdown__item p {
      font-size: var(--text-lg);
    }
  }

  @media screen and (min-width: 1280px) {
    .product-countdown .countdown__item p {
      font-size: var(--text-xl);
    }
  }

  .product-countdown .countdown__item p:after {
    font-size: var(--text-xl);
    color: rgb(var(--color-foreground));
    inset-block-start: 50%;
    transform: translateX(calc(50% * var(--transform-logical))) translateY(-50%);
  }

  .product-countdown .countdown__item span {
    line-height: 1;
    font-size: var(--text-3xs);
  }

  /*! product-details */

  .specifications {
    gap: var(--grid-gap);
  }

  .specifications .specification {
    padding-block-start: var(--sp-2d5);
  }

  .specifications .specification p:first-child {
    margin-block-start: 0;
  }

  .specifications .specification :is(ul, p):first-child,
  .specifications .specification h6+:is(ul, p) {
    margin-block-start: 0;
  }

  .specifications .specification :is(ul, p):last-child {
    margin-block-end: 0;
  }

  .specifications .specification li {
    margin-block-start: 0;
  }

  .specifications .specification :is(h1, h2, h3, h4, h5, h6) {
    margin-block-end: var(--sp-2);
    letter-spacing: 0;
    line-height: 1.6;
  }

  .specifications .specification *:not(h1, h2, h3, h4, h5, h6) {
    color: rgb(var(--color-foreground)/ 0.6);
  }

  .specifications .specification .col-span-full:nth-child(odd):last-child {
    grid-column: 1/-1;
  }

  .specifications .accordion .details__content {
    max-width: 100%;
  }

  .specs__sidebar {
    background-color: rgb(var(--color-foreground)/ var(--opacity-025));
    padding: var(--sp-7d5) var(--gap-padding);
    border-radius: var(--rounded-block);
  }

  .specs__sidebar>ul li {
    width: var(--sp-24);
  }

  .specs__sidebar .media {
    width: var(--sp-24);
    height: var(--sp-24);
    background-color: rgb(var(--color-background));
  }

  .specs__sidebar .media img {
    max-width: var(--sp-12);
  }

  .specifications .accordions+.grow-0 {
    padding-block-start: var(--sp-18);
  }

  .specs__sidebar .icon-box {
    width: var(--sp-56);
    height: auto;
    position: absolute;
    inset-block-end: 100%;
    inset-inline-start: 50%;
    transform: translateX(calc(-50% * var(--transform-logical)));
  }

  .specs__sidebar .icon-box .fill {
    fill: rgb(var(--color-background));
  }

  @media screen and (min-width: 768px) {
    .specs__sidebar {
      padding: var(--sp-10);
    }
  }

  @media screen and (min-width: 1024px) {
    .specs__sidebar {
      width: clamp(340px, 30vw, 480px);
      padding-inline: var(--sp-12);
    }

    .specifications .accordions+.grow-0 {
      padding-block-start: 0;
    }
  }

  @media screen and (min-width: 1536px) {
    .specifications-section :is(.title-wrapper, .specifications) {
      padding-inline: calc(var(--grid-gap) * 2);
    }
  }

  .sticky-buy-button {
    width: 100%;
    border-block-start: 1px solid rgb(var(--color-border));
    background-color: rgb(var(--color-background));
    padding: var(--sp-4) var(--sp-5);
  }

  [data-rounded-block=round] .sticky-buy-button {
    border-start-start-radius: var(--border-radius);
    border-start-end-radius: var(--border-radius);
  }

  [data-rounded-block=round] .sticky-buy-button sticky-variant-media {
    border-radius: var(--sp-2);
  }

  .sticky-buy-button__variant {
    grid-template-columns: minmax(0,1fr) auto;
  }

  @media screen and (min-width: 768px) {
    .sticky-buy-button {
      width: 550px;
      padding: var(--sp-4);
      inset-inline-end: var(--sp-5);
      inset-block-end: var(--sp-5);
      border: 1px solid rgb(var(--color-border));
    }

    [data-rounded-block=round] .sticky-buy-button {
      border-radius: var(--sp-3);
    }

    .sticky-buy-button__variant {
      grid-template-columns: 80px minmax(0,1fr) auto;
    }

    .sticky-buy-button__variant.no-image {
      grid-template-columns: minmax(0,1fr) auto;
    }
  }

  @media screen and (max-width: 767px) {
    .sticky-buy-button .button {
      padding: 0;
      width: var(--sp-11);
      height: var(--sp-11);
    }
  }

  /*! Shopify Cookie banner */

  #shopify-pc__banner {
    border: 1px solid rgb(var(--color-border));
    border-radius: var(--rounded-block);
    padding: var(--sp-6) var(--sp-5);
  }

  @media screen and (min-width: 1024px) {
    #shopify-pc__banner {
      padding: var(--sp-8) var(--sp-12);
    }
  }

  @media screen and (min-width: 1536px) {
    #shopify-pc__banner {
      padding-block: var(--sp-11);
    }
  }

  #shopify-pc__banner h2 {
    font-family: var(--font-heading-family);
    font-style: var(--font-heading-style);
    font-size: var(--fluid-lg-to-2xl);
    font-weight: var(--font-bold);
    line-height: 1;
    letter-spacing: 0;
    margin-block-end: var(--sp-4);
  }

  #shopify-pc__banner p {
    font-size: var(--text-base);
    line-height: 1.6;
  }

  #shopify-pc__banner .shopify-pc__banner__body {
    margin-block-end: var(--sp-6);
  }
}