/** Shopify CDN: Minification failed

Line 50:59 Unexpected "a"
Line 4375:53 Unexpected "main"
Line 4378:53 Unexpected "main"
Line 4687:0 Unexpected "}"

**/
.icon-success,
.icon-error {
  width: var(--icon-size-md);
  height: var(--icon-size-md);
  flex-shrink: 0;
}
.icon-success {
  color: var(--color-success);
}
.icon-error {
  fill: var(--color-error);
}
placeholder-image {
  display: block;
  height: 100%;
  aspect-ratio: var(--ratio);
}
placeholder-image[data-type="product"] {
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-15));
  width: 100%;
}
placeholder-image[data-type="product"]:not(:has(> img)) {
  aspect-ratio: var(--ratio);
  height: 350px;
}
placeholder-image > img {
  object-fit: cover;
  aspect-ratio: var(--ratio);
  height: 100%;
}
a {
  color: var(--color-foreground);
  text-decoration-color: transparent;
  text-decoration-thickness: 0.075em;
  text-underline-offset: 0.125em;
}
:is(h1, h2, h3, h4, h5, h6, p) > a:hover {
  --button-color: var(--color, var(--color-primary-hover));
}
p:not(.h1, .h2, .h3, .h4, .h5, .h6)
  a:where(:not(.button, .button-primary, .button-secondary)),
.rte:is(p, ul, ol, table):not(.h1, .h2, .h3, .h4, .h5, .h6)a:where(
    :not(.button, .button-primary, .button-secondary)
  ) {
  text-decoration-color: currentcolor;
  &:hover {
    text-decoration-color: transparent;
    color: var(--color-primary-hover);
  }
}
.container-background-image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
details[open] .summary-closed {
  display: none;
}
details:not([open]) .summary-open {
  display: none;
}
details[open] > summary .icon-animated > svg {
  transform: rotate(180deg);
}
summary::-webkit-details-marker {
  display: none;
}
.featured-collection-block {
  width: 100%;
}
.product-grid-container {
  display: block;
  width: 100%;
  padding-block: var(--padding-block-start) var(--padding-block-end);
  @media screen and (min-width: 750px) {
    display: grid;
  }
}
.product-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--product-grid-gap);
  margin: auto;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 750px) {
  .product-grid {
    grid-template-columns: var(--product-grid-columns-desktop);
  }
}
.product-grid :is(h3, p) {
  margin: 0;
}
.product-grid__item {
  border: var(--product-card-border-width) solid
    rgb(var(--color-border-rgb) / var(--product-card-border-opacity));
}
.product-grid--organic[product-grid-view="default"] .product-grid__item {
  height: fit-content;
}
.product-grid__card.product-grid__card {
  display: flex;
  flex-flow: column nowrap;
  gap: var(--product-card-gap);
  align-items: var(--product-card-alignment);
  text-decoration: none;
  color: var(--color, var(--color-foreground));
  padding-block: var(--padding-block-start) var(--padding-block-end);
  padding-inline: var(--padding-inline-start) var(--padding-inline-end);
  overflow: hidden;
}
[product-grid-view="zoom-out"] .product-grid__card {
  row-gap: var(--padding-xs);
}
[product-grid-view="default"] {
  --product-grid-gap: 16px;
  --padding-block-start: 24px;
  --padding-block-end: 24px;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
}
[product-grid-view="default"] .product-grid__item {
  padding-block: 0;
}
[product-grid-view="mobile-single"],
.product-grid-mobile--large {
  @media screen and (max-width: 749px) {
    grid-template-columns: 1fr;
  }
}
.product-grid__card .group-block > * {
  @media screen and (max-width: 749px) {
    flex-direction: column;
  }
}
ul[product-grid-view="zoom-out"] .product-grid__card > * {
  display: none;
}
ul[product-grid-view="zoom-out"] .product-grid__card .card-gallery {
  display: block;
}
[product-grid-view="zoom-out"].card-gallery
  > :is(
    quick-add-component,
    .product-badges,
    slideshow-component > slideshow-controls
  ) {
  display: none;
}
ul[product-grid-view="zoom-out"] .card-gallery > img {
  display: block;
}
[product-grid-view="zoom-out"] {
  --product-grid-columns-desktop: repeat(
    10,
    minmax(
      clamp(50px, calc(100% - 9 * var(--product-grid-gap)) / 10, 80px),
      1fr
    )
  );
}
.product-grid-view-zoom-out--details {
  display: none;
}
.product-grid-view-zoom-out--details .h4,
.product-grid-view-zoom-out--details span,
.product-grid-view-zoom-out--details s {
  font-size: var(--font-size--xs);
  font-family: var(--font-paragraph--family);
}
.product-grid-view-zoom-out--details span {
  font-weight: 500;
}
.product-grid-view-zoom-out--details .h4 {
  line-height: 1.3;
  font-weight: 400;
}
.product-grid-view-zoom-out--details > span.h6,
.product-grid-view-zoom-out--details > div.h6 > product-price {
  display: inline-block;
  line-height: 0;
  margin-top: var(--margin-2xs);
}
.product-grid-view-zoom-out--details > span.h6 > *,
.product-grid-view-zoom-out--details > div.h6 > * > * {
  line-height: 1.2;
}
@media (prefers-reduced-motion: no-preference) {
  :root:active-view-transition-type(product-grid) {
    details[open] floating-panel-component {
      view-transition-name: panel-content;
      .checkbox *,
      .facets__pill-label {
        transition: none;
      }
      .facets--vertical & {
        view-transition-name: none;
      }
    }
    .product-grid {
      view-transition-name: product-grid;
    }
    footer {
      view-transition-name: footer;
    }
    .product-grid__item,
    floating-panel-component {
      transition: none;
    }
  }
}
::view-transition-group(panel-content) {
  z-index: 1;
}
::view-transition-new(product-grid) {
  animation-delay: 150ms;
  animation-name: fadeInUp;
  animation-duration: var(--animation-speed);
  animation-timing-function: var(--animation-easing);
}
results-list[initialized] {
  .product-grid__item {
    transition: opacity var(--animation-speed) var(--animation-easing),
      transform var(--animation-speed) var(--animation-easing);
    @starting-style {
      opacity: 0;
      transform: translateY(10px);
    }
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
:is(.product-grid__item, .resource-list__item) .product-card {
  display: grid;
  height: 100%;
}
.video-background,
.video-background * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.video-background--cover * {
  object-fit: cover;
}
.video-background--contain * {
  object-fit: contain;
}
.text-block {
  width: 100%;
}
.dialog-modal {
  border: none;
  box-shadow: var(--shadow-popover);
  @media screen and (min-width: 750px) {
    border-radius: var(--style-border-radius-popover);
    max-width: var(--normal-content-width);
  }
  @media screen and (max-width: 749px) {
    max-width: 100%;
    max-height: 100%;
    height: 100dvh;
    width: 100dvw;
    padding: var(--padding-md);
  }
}
.dialog-modal::backdrop {
  transition: backdrop-filter var(--animation-speed) var(--animation-easing);
  backdrop-filter: brightness(1);
  background: rgb(var(--backdrop-color-rgb) / var(--backdrop-opacity));
}
.dialog-modal[open] {
  animation: elementSlideInTop var(--animation-speed) var(--animation-easing)
    forwards;
  &::backdrop {
    animation: backdropFilter var(--animation-speed) var(--animation-easing)
      forwards;
    transition: opacity var(--animation-speed) var(--animation-easing);
  }
}
.dialog-modal.dialog-closing {
  animation: elementSlideOutTop var(--animation-speed) var(--animation-easing)
    forwards;
  &::backdrop {
    opacity: 0;
  }
}
.dialog-drawer {
  --dialog-drawer-opening-animation: slideInLeft;
  --dialog-drawer-closing-animation: slideOutLeft;
}
.dialog-drawer--right {
  --dialog-drawer-opening-animation: slideInRight;
  --dialog-drawer-closing-animation: slideOutRight;
}
.dialog-drawer[open] {
  animation: var(--dialog-drawer-opening-animation) var(--animation-speed)
    var(--animation-easing) forwards;
}
.dialog-drawer.dialog-closing {
  animation: var(--dialog-drawer-closing-animation) var(--animation-speed)
    var(--animation-easing);
}
.button,
.button-secondary,
button.shopify-payment-button__button--unbranded {
  --text-align: center;
  display: grid;
  align-content: center;
  text-decoration: none;
  text-align: var(--text-align);
  color: var(--button-color);
  appearance: none;
  background-color: var(--button-background-color);
  border: none;
  font-family: var(--font-paragraph--family);
  font-style: var(--font-paragraph--style);
  font-size: var(--font-paragraph--size);
  line-height: var(--font-paragraph--line-height);
  margin-block: 0;
  transition: color var(--animation-speed) var(--animation-easing),
    box-shadow var(--animation-speed) var(--animation-easing),
    background-color var(--animation-speed) var(--animation-easing);
  cursor: pointer;
  width: fit-content;
  box-shadow: inset 0 0 0 var(--button-border-width) var(--button-border-color);
  padding-block: var(--button-padding-block);
  padding-inline: var(--button-padding-inline);
}
.button {
  font-family: var(--button-font-family-primary);
  font-weight: var(--button-font-weight-primary);
  text-transform: var(--button-text-case-primary);
  border-radius: var(--style-border-radius-buttons-primary);
}
.button:not(.button-secondary, .button-unstyled) {
  outline-color: var(--button-background-color);
}
.button-secondary {
  font-family: var(--button-font-family-secondary);
  font-weight: var(--button-font-weight-secondary);
  text-transform: var(--button-text-case-secondary);
  border-radius: var(--style-border-radius-buttons-secondary);
}
button.shopify-payment-button__button--unbranded {
  font-family: var(--button-font-family-primary);
  font-weight: var(--button-font-weight-primary);
  text-transform: var(--button-text-case-primary);
}
textarea,
input {
  background-color: var(--color-input-background);
  border-color: var(--color-input-border);
}
textarea::placeholder,
input::placeholder {
  color: var(--color-input-text);
}
textarea:not(:placeholder-shown)::placeholder,
input:not(:placeholder-shown)::placeholder {
  opacity: 0;
}
.button[hidden] {
  display: none;
}
.button[aria-disabled="true"],
.button-secondary[aria-disabled="true"],
.button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.button,
button.shopify-payment-button__button--unbranded {
  --button-color: var(--color-primary-button-text);
  --button-background-color: var(--color-primary-button-background);
  --button-border-color: var(--color-primary-button-border);
  --button-border-width: var(--style-border-width-primary);
}
.button:hover,
button.shopify-payment-button__button--unbranded:hover:not([disabled]) {
  --button-color: var(--color-primary-button-hover-text);
  --button-background-color: var(--color-primary-button-hover-background);
  --button-border-color: var(--color-primary-button-hover-border);
}
.button-secondary {
  --button-color: var(--color-secondary-button-text);
  --button-background-color: var(--color-secondary-button-background);
  --button-border-color: var(--color-secondary-button-border);
  --button-border-width: var(--style-border-width-secondary);
}
.button-secondary:hover {
  --button-color: var(--color-secondary-button-hover-text);
  --button-background-color: var(--color-secondary-button-hover-background);
  --button-border-color: var(--color-secondary-button-hover-border);
}
button.shopify-payment-button__button--unbranded:hover:not([disabled]) {
  background-color: var(--button-background-color);
}
.button-unstyled {
  display: block;
  padding: 0;
  background-color: inherit;
  color: inherit;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
  font-family: var(--font-paragraph--family);
  font-style: var(--font-paragraph--style);
  font-size: var(--font-paragraph--size);
}
.button-unstyled:hover {
  background-color: inherit;
}
.button-unstyled--with-icon {
  color: var(--color-foreground);
  display: flex;
  gap: var(--gap-2xs);
  align-items: center;
}
.button-unstyled--transparent {
  background-color: transparent;
  box-shadow: none;
}
.show-more__button {
  color: var(--color-primary);
  cursor: pointer;
}
.show-more__button:hover {
  @media screen and (min-width: 750px) {
    color: var(--color-primary-hover);
  }
}
.show-more__label {
  text-align: start;
  font-size: var(--font-size--body-md);
  font-family: var(--font-paragraph--family);
}
.show-more__button .svg-wrapper {
  width: var(--icon-size-xs);
  height: var(--icon-size-xs);
}
.show-more[data-expanded="true"] .show-more__label--more,
.show-more[data-expanded="false"] .show-more__label--less {
  display: none;
}
.link {
  display: inline-block;
  text-align: center;
}
shopify-accelerated-checkout,
shopify-accelerated-checkout-cart {
  --shopify-accelerated-checkout-button-border-radius: var(
    --style-border-radius-buttons-primary
  );
  --shopify-accelerated-checkout-button-block-size: var(--height-buy-buttons);
}
.product-form-buttons:has(.add-to-cart-button.button-secondary):is(
    shopify-accelerated-checkout,
    shopify-accelerated-checkout-cart
  ) {
  --shopify-accelerated-checkout-button-border-radius: var(
    --style-border-radius-buttons-secondary
  );
  --shopify-accelerated-checkout-button-block-size: var(--height-buy-buttons);
}
.icon-caret svg {
  transition: transform var(--animation-speed) var(--animation-easing);
}
.icon-caret--forward svg {
  transform: rotate(-90deg);
}
.icon-caret--backward svg {
  transform: rotate(90deg);
}
summary {
  display: flex;
  align-items: center;
  cursor: pointer;
  list-style: none;
  padding-block: var(--padding-sm);
}
summary:hover {
  color: var(--color-primary-hover);
}
summary .svg-wrapper {
  margin-inline-start: auto;
  height: var(--icon-size-xs);
  width: var(--icon-size-xs);
  transition: transform var(--animation-speed) var(--animation-easing);
}
summary .icon-plus :is(.horizontal, .vertical),
.show-more__button .icon-plus :is(.horizontal, .vertical) {
  transition: transform var(--animation-speed) var(--animation-easing);
  transform: rotate(0deg);
  transform-origin: 50% 50%;
  opacity: 1;
}
details[open] > summary .icon-plus .horizontal,
.details-open > summary .icon-plus .horizontal,
.show-more:where([data-expanded="true"])
  .show-more__button
  .icon-plus
  .horizontal {
  transform: rotate(90deg);
}
details[open] > summary .icon-plus .vertical,
.details-open > summary .icon-plus .vertical,
.show-more:where([data-expanded="true"])
  .show-more__button
  .icon-plus
  .vertical {
  transform: rotate(90deg);
  opacity: 0;
}
media-gallery {
  display: block;
  width: 100%;
}
:where(media-gallery, .product-grid__item) {
  .media-gallery__grid {
    grid-template-columns: 1fr;
    gap: var(--image-gap);
  }
}
.product-media-gallery__slideshow--single-media slideshow-container {
  @media screen and (max-width: 749px) {
    grid-area: unset;
  }
}
:not(.dialog-zoomed-gallery) > .product-media-container {
  --slide-width: round(up, 100%, 1px);
  display: flex;
  aspect-ratio: var(--gallery-aspect-ratio, var(--media-preview-ratio));
  max-height: var(--constrained-height);
  width: 100%;
  position: relative;
  overflow: hidden;
  &:where(.constrain-height) {
    --viewport-offset: 400px;
    --constrained-min-height: 300px;
    --constrained-height: max(
      var(--constrained-min-height),
      calc(100vh - var(--viewport-offset))
    );
    margin-right: auto;
    margin-left: auto;
  }
}
media-gallery:where(.media-gallery--grid) .media-gallery__grid {
  display: none;
}
media-gallery.media-gallery--grid
  .media-gallery__grid
  .product-media-container {
  height: 100%;
}
.product-media :is(deferred-media, product-model) {
  position: absolute;
}
@media screen and (max-width: 749px) {
  .product-media-container.constrain-height {
    max-height: none;
  }
}
@media screen and (min-width: 750px) {
  .product-media-container.constrain-height {
    --viewport-offset: var(--header-height, 100px);
    --constrained-min-height: 500px;
  }
  .media-gallery--two-column .media-gallery__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .media-gallery--large-first-image .product-media-container:first-child,
  .media-gallery--two-column .product-media-container:only-child {
    grid-column: span 2;
  }
  media-gallery:is(.media-gallery--grid) slideshow-component {
    display: none;
  }
  media-gallery:where(.media-gallery--grid) .media-gallery__grid {
    display: grid;
  }
}
.product-media-container--model {
  flex-direction: column;
}
.shopify-model-viewer-ui__controls-area {
  bottom: calc(var(--minimum-touch-target) + var(--padding-sm));
}
.product-media-container img {
  aspect-ratio: inherit;
  object-fit: contain;
  object-position: center center;
}
.product-media-container.media-fit {
  --product-media-fit: cover;
  img {
    object-fit: var(--product-media-fit);
  }
}
.product-media-container__zoom-button {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: var(--layer-flat);
  cursor: zoom-in;
  background-color: transparent;
  &:hover {
    background-color: transparent;
  }
}
zoom-dialog dialog {
  width: 100vw;
  height: 100vh;
  border: none;
  margin: 0;
  padding: 0;
  max-width: 100%;
  max-height: 100%;
  background: white;
  opacity: 0;
  transition: opacity var(--animation-speed) var(--animation-easing);
  scrollbar-width: none;
  &[open] {
    opacity: 1;
  }
  @media (prefers-reduced-motion: no-preference) {
    scroll-behavior: smooth;
  }
  &::backdrop {
    background: transparent;
  }
}
.close-button {
  position: fixed;
  top: var(--margin-lg);
  right: var(--margin-lg);
  width: var(--minimum-touch-target);
  height: var(--minimum-touch-target);
  z-index: var(--layer-flat);
  background-color: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
@supports not (background-color: rgb(from red 150 g b / alpha)) {
  .close-button:focus-visible {
    outline: none;
    overflow: visible;
  }
  .close-button:focus-visible::after {
    content: "";
    position: absolute;
    inset: calc(-1 * var(--focus-outline-offset));
    border: var(--focus-outline-width) solid currentColor;
    border-radius: 50%;
    display: inherit;
  }
}
.dialog--closed .close-button {
  animation: elementSlideOutBottom calc(var(--animation-speed) * 0.5)
    var(--animation-easing) forwards;
}
.dialog-thumbnails-list-container {
  position: fixed;
  width: 100%;
  bottom: 0;
  display: flex;
  z-index: var(--layer-raised);
}
.dialog-thumbnails-list {
  position: relative;
  display: inline-flex;
  flex-direction: row;
  gap: 8px;
  bottom: 0;
  overflow-x: auto;
  opacity: 0;
  padding: var(--padding-lg);
  margin-inline: auto;
  scrollbar-width: none;
  animation: thumbnailsSlideInBottom calc(var(--animation-speed) * 0.75)
    var(--animation-easing) forwards;
  animation-delay: calc(var(--animation-speed) * 1.5);
}
.dialog--closed .dialog-thumbnails-list {
  animation: thumbnailsSlideOutBottom var(--animation-speed)
    var(--animation-easing) forwards;
}
@media screen and (min-width: 750px) {
  .dialog-thumbnails-list {
    position: fixed;
    flex-direction: column;
    inset: 50% var(--margin-lg) auto auto;
    right: 0;
    max-height: calc(100vh - 200px);
    overflow-y: auto;
    animation: thumbnailsSlideInTop calc(var(--animation-speed) * 0.5)
      var(--animation-easing) forwards;
    animation-delay: calc(var(--animation-speed) * 2);
  }
  .dialog--closed .dialog-thumbnails-list {
    animation: thumbnailsSlideOutTop var(--animation-speed)
      var(--animation-easing) forwards;
  }
}
.dialog-thumbnails-list__thumbnail {
  width: var(--thumbnail-width);
  height: auto;
  transition: transform var(--animation-speed) var(--animation-easing);
  flex-shrink: 0;
  border-radius: var(--media-radius);
  img {
    height: 100%;
    object-fit: cover;
    border-radius: var(--media-radius);
    aspect-ratio: var(--aspect-ratio);
  }
  &:is([aria-selected="true"]) {
    outline: var(--focus-outline-width) solid currentcolor;
    outline-offset: calc(var(--focus-outline-offset) / 2);
    border: var(--style-border-width) solid
      rgb(var(--color-border-rgb) / var(--media-border-opacity));
  }
}
.close-button:hover {
  background-color: transparent;
  opacity: 0.8;
}
.close-button svg {
  width: var(--icon-size-xs);
  height: var(--icon-size-xs);
}
.product-media {
  display: flex;
  flex: 1;
}
.product-media__image ~ * .deferred-media__poster-image {
  display: none;
}
.product-media-container:has(.deferred-media__playing) .product-media__image {
  opacity: 0;
  transition: opacity var(--animation-speed) var(--animation-easing);
}
:is(product-model, deferred-media) {
  height: 100%;
  width: 100%;
  position: relative;
}
product-model model-viewer,
:is(deferred-media, product-model)
  > .deferred-media__poster-button
  ~ *:not(template) {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  padding: inherit;
}
slideshow-slide
  .shopify-model-viewer-ui__controls-area.shopify-model-viewer-ui__controls-area {
  bottom: var(--padding-sm);
  right: var(--padding-sm);
}
.dialog-zoomed-gallery
  .shopify-model-viewer-ui__controls-area.shopify-model-viewer-ui__controls-area {
  bottom: calc(
    var(--thumbnail-width) / calc(var(--media-preview-ratio)) +
      var(--padding-lg) * 2
  );
  right: var(--padding-lg);
}
@media screen and (max-width: 749px) {
  slideshow-component:has(
      :not(.mobile\:hidden)
        :is(.slideshow-controls__dots, .slideshow-controls__counter)
    ).shopify-model-viewer-ui__controls-area {
    bottom: calc(var(--minimum-touch-target) + var(--padding-sm));
  }
}
@media screen and (min-width: 750px) {
  slideshow-component:has(
      :not(.desktop\:hidden)
        :is(.slideshow-controls__dots, .slideshow-controls__counter)
    ).shopify-model-viewer-ui__controls-area {
    bottom: calc(var(--minimum-touch-target) + var(--padding-sm));
  }
  .dialog-zoomed-gallery
    .shopify-model-viewer-ui__controls-area.shopify-model-viewer-ui__controls-area {
    bottom: var(--padding-lg);
    right: calc(var(--thumbnail-width) + var(--padding-lg) * 2);
  }
}
:is(deferred-media, .video-placeholder-wrapper).border-style {
  overflow: hidden;
}
deferred-media {
  &:has(:focus-visible) {
    outline: var(--focus-outline-width) solid currentcolor;
    outline-offset: var(--focus-outline-offset);
  }
  @supports not selector(:focus-visible) {
    &:has(:focus) {
      outline: var(--focus-outline-width) solid currentcolor;
      outline-offset: var(--focus-outline-offset);
    }
  }
}
.deferred-media__poster-button {
  width: 100%;
  height: 100%;
  aspect-ratio: var(--video-aspect-ratio, auto);
}
.deferred-media__poster-button.deferred-media__playing {
  opacity: 0;
  transition: opacity 0.3s ease;
}
deferred-media img {
  height: 100%;
  object-fit: cover;
  transition: opacity 0.3s ease;
}
deferred-media iframe {
  width: 100%;
  height: 100%;
  border: none;
  aspect-ratio: var(--size-style-aspect-ratio, auto);
}
deferred-media[data-media-loaded] img {
  opacity: 0;
}
.deferred-media__poster-icon,
.video-placeholder-wrapper__poster-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.deferred-media__poster-icon svg,
.video-placeholder-wrapper__poster-icon svg {
  width: var(--button-size);
  height: var(--button-size);
  color: var(--color-white);
  filter: drop-shadow(var(--shadow-button));
  &:hover {
    color: rgb(var(--color-white-rgb) / var(--opacity-80));
  }
  @media screen and (min-width: 750px) {
    width: 4rem;
    height: 4rem;
  }
}
deferred-media[class]
  :is(
    .deferred-media__poster-button img,
    .deferred-media__poster-button ~ video
  ) {
  object-fit: cover;
  height: 100%;
  aspect-ratio: var(--size-style-aspect-ratio, auto);
}
.button-shopify-xr {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--padding-md);
}
.button-shopify-xr > svg {
  width: var(--icon-size-sm);
  height: var(--icon-size-sm);
  fill: currentcolor;
  margin-inline-end: var(--margin-md);
}
.button-shopify-xr[data-shopify-xr-hidden] {
  display: none;
}
.swatch {
  --color-border: rgb(
    var(--color-foreground-rgb) / var(--style-border-swatch-opacity)
  );
  --min-width-unitless: 15.9999;
  --min-height-unitless: 15.9999;
  --min-height: 16px;
  --min-width: 16px;
  --scaling-factor: 0.5;
  --max-swatch-size: 28px;
  --max-pill-size: 20px;
  --max-filter-size: 32px;
  --offset-swatch-width: calc(
    var(--variant-picker-swatch-width-unitless) - var(--min-width-unitless)
  );
  --offset-swatch-height: calc(
    var(--variant-picker-swatch-height-unitless) - var(--min-height-unitless)
  );
  --offset-scaled-width: calc(
    var(--scaling-factor) * var(--offset-swatch-width) /
      var(--offset-swatch-height) * var(--offset-max-swatch-size)
  );
  --offset-scaled-height: calc(
    var(--scaling-factor) * var(--offset-swatch-height) /
      var(--offset-swatch-width) * var(--offset-max-swatch-size)
  );
  --offset-max-swatch-size: calc(var(--max-swatch-size) - var(--min-width));
  --swatch-width: min(
    calc(
      var(--min-width) +
        calc(var(--scaling-factor) * var(--offset-swatch-width) * 1px)
    ),
    calc(var(--min-width) + var(--offset-scaled-width)),
    var(--max-swatch-size)
  );
  --swatch-height: min(
    calc(
      var(--min-height) +
        calc(var(--scaling-factor) * var(--offset-swatch-height) * 1px)
    ),
    calc(var(--min-height) + var(--offset-scaled-height)),
    var(--max-swatch-size)
  );
  display: block;
  background: var(--swatch-background);
  background-position: var(--swatch-focal-point, center);
  border-radius: var(--variant-picker-swatch-radius);
  border: var(--style-border-swatch-width) var(--style-border-swatch-style)
    var(--color-border);
  width: var(--swatch-width);
  height: var(--swatch-height);
  background-size: var(--swatch-width) var(--swatch-height);
  &.swatch--unavailable {
    border-style: dashed;
  }
  &.swatch--unscaled {
    --swatch-width: var(--variant-picker-swatch-width);
    --swatch-height: var(--variant-picker-swatch-height);
  }
  &.swatch--filter {
    --swatch-width: var(--max-filter-size);
    --swatch-height: var(--max-filter-size);
    border-radius: var(--variant-picker-swatch-radius);
  }
  &.swatch--pill {
    --swatch-width: var(--max-pill-size);
    --swatch-height: var(--max-pill-size);
    border-radius: var(--variant-picker-swatch-radius);
  }
  &.swatch--filter,
  &.swatch--pill {
    --style-border-swatch-width: var(--variant-picker-border-width);
    --style-border-swatch-style: var(--variant-picker-border-style);
    --color-border: rgb(
      var(--color-foreground-rgb) / var(--variant-picker-border-opacity)
    );
  }
  @media screen and (min-width: 750px) {
    --max-swatch-size: 32px;
    --max-pill-size: 16px;
    --max-filter-size: 28px;
    --scaling-factor: 0.65;
  }
}
.variant-picker .variant-option--buttons label:has(.swatch) {
  border-radius: var(--variant-picker-swatch-radius);
}
.sticky-content {
  position: sticky;
  top: var(--sticky-header-offset, 0);
  z-index: var(--layer-flat);
}
@media screen and (min-width: 750px) {
  .sticky-content--desktop,
  .sticky-content--desktop.full-height--desktop > .group-block {
    position: sticky;
    top: var(--sticky-header-offset, 0);
    z-index: var(--layer-flat);
  }
}
.price,
.compare-at-price,
.unit-price {
  white-space: nowrap;
}
.unit-price {
  display: block;
  font-size: min(0.85em, var(--font-paragraph--size));
  color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
}
.tax-note.tax-note.tax-note {
  font-size: min(0.85em, var(--font-paragraph--size));
  color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
}
.compare-at-price {
  opacity: 0.4;
  text-decoration-line: line-through;
  text-decoration-thickness: 1.5px;
}
.card-gallery {
  position: relative;
}
@media screen and (min-width: 750px) {
  product-card:focus-within .quick-add__button,
  .card-gallery:hover .quick-add__button {
    display: grid;
    will-change: margin, opacity;
    animation: elementSlideInTop var(--animation-speed) var(--animation-easing);
  }
}
@container (max-width: 70px) {
  .card-gallery:hover .quick-add__button {
    display: none;
  }
}
.drawer {
  background-color: var(--color-background);
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: var(--sidebar-width);
  z-index: var(--layer-raised);
  transform: translateX(-120%);
  transition: transform var(--animation-speed) var(--animation-easing);
}
.drawer[data-open="true"] {
  transform: translateX(0);
}
.drawer-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}
.drawer__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--drawer-header-block-padding) var(--drawer-inline-padding);
}
.drawer__title {
  font-size: var(--font-h2--size);
  margin: 0;
}
.drawer__close {
  width: var(--minimum-touch-target);
  height: var(--minimum-touch-target);
}
.drawer__content {
  display: block;
  padding: var(--drawer-content-block-padding) var(--drawer-inline-padding);
  width: 100%;
}
.background-overlay {
  position: relative;
  &::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--background-overlay-color, rgb(0 0 0 / 15%));
  }
}
.spacing-style {
  --spacing-scale: var(--spacing-scale-md);
  @media screen and (min-width: 990px) {
    --spacing-scale: var(--spacing-scale-default);
  }
  --padding-block: 0px;
  --padding-block-start: var(--padding-block, 0px);
  --padding-block-end: var(--padding-block, 0px);
  --padding-inline: 0px;
  --padding-inline-start: var(--padding-inline, 0px);
  --padding-inline-end: var(--padding-inline, 0px);
  --margin-block: 0px;
  --margin-block-start: var(--margin-block, 0px);
  --margin-block-end: var(--margin-block, 0px);
  --margin-inline: 0px;
  --margin-inline-start: var(--margin-inline, 0px);
  --margin-inline-end: var(--margin-inline, 0px);
}
.spacing-style,
.inherit-spacing {
  padding-block: calc(
      var(--padding-block-start) + var(--section-top-offset, 0px)
    )
    var(--padding-block-end);
  padding-inline: var(--padding-inline-start) var(--padding-inline-end);
  margin-block: var(--margin-block-start) var(--margin-block-end);
  margin-inline: var(--margin-inline-start) var(--margin-inline-end);
}
.size-style {
  width: var(--size-style-width-mobile, var(--size-style-width));
  height: var(--size-style-height-mobile, var(--size-style-height));
  @media screen and (min-width: 750px) {
    width: var(--size-style-width);
    height: var(--size-style-height);
  }
}
.custom-typography,
.custom-typography > * {
  font-family: var(--font-family);
  font-weight: var(--font-weight);
  text-transform: var(--text-transform);
  text-wrap: var(--text-wrap);
  line-height: var(--line-height);
  letter-spacing: var(--letter-spacing);
}
.custom-font-size,
.custom-font-size > * {
  font-size: var(--font-size);
}
.custom-font-weight,
.custom-font-weight > * {
  font-weight: var(--weight);
}
.border-style {
  border-width: var(--border-width);
  border-style: var(--border-style);
  border-color: var(--border-color);
  border-radius: var(--border-radius);
}
.gap-style,
.layout-panel-flex {
  --gap-scale: var(--spacing-scale-md);
  @media screen and (min-width: 990px) {
    --gap-scale: var(--spacing-scale-default);
  }
}
.layout-panel-flex {
  display: flex;
  gap: var(--gap);
  height: 100%;
}
.layout-panel-flex--row {
  flex-flow: row var(--flex-wrap);
  justify-content: var(--horizontal-alignment);
  align-items: var(--vertical-alignment);
}
.layout-panel-flex--column {
  flex-flow: column var(--flex-wrap);
  align-items: var(--horizontal-alignment);
  justify-content: var(--vertical-alignment);
}
@media screen and (max-width: 749px) {
  .mobile-column {
    flex-flow: column nowrap;
    align-items: var(--horizontal-alignment);
    justify-content: var(--vertical-alignment-mobile);
  }
  .layout-panel-flex--row:not(.mobile-column) {
    .text-block {
      flex: 1 1 var(--max-width--display-tight);
    }
    .image-block {
      flex: 1 1 var(--size-style-width-mobile-min);
    }
    .button {
      flex: 0 0 fit-content;
    }
  }
}
@media (min-width: 750px) {
  .layout-panel-flex {
    flex-direction: var(--flex-direction);
  }
}
.field {
  position: relative;
  width: 100%;
  display: flex;
  transition: box-shadow var(--animation-speed) ease;
}
.field__input {
  flex-grow: 1;
  text-align: left;
  border-radius: var(--style-border-radius-inputs);
  transition: box-shadow var(--animation-speed) ease,
    background-color var(--animation-speed) ease;
  padding: var(--input-padding);
  box-shadow: var(--input-box-shadow);
  background-color: var(--color-input-background);
  color: var(--color-input-text);
  border: none;
  outline: none;
  font-size: var(--font-paragraph--size);
  &:autofill {
    background-color: var(--color-input-background);
    color: var(--color-input-text);
  }
}
.field__input:is(:focus, :hover) {
  box-shadow: var(--input-box-shadow-focus);
  background-color: var(--color-input-hover-background);
}
.field__input--button-radius {
  border-radius: var(--style-border-radius-buttons-primary);
}
.field__input--button-padding {
  padding-inline: var(--padding-3xl);
}
.field__label {
  color: rgb(var(--color-input-text-rgb) / var(--opacity-80));
  font-size: var(--font-paragraph--size);
  left: var(--input-padding-x);
  top: 50%;
  transform: translateY(-50%);
  margin-bottom: 0;
  pointer-events: none;
  position: absolute;
  transition: top var(--animation-speed) ease,
    font-size var(--animation-speed) ease;
}
.rte,
.shopify-policy__title {
  ul,
  ol {
    padding-inline-start: 1.5em;
  }
  :is(ul, ol):not(:is(ul, ol) :is(ul, ol)) {
    margin-block-end: 1em;
  }
  blockquote {
    margin-inline: 1.5em 2.3em;
    margin-block: 3.8em;
    padding-inline-start: 0.8em;
    border-inline-start: 1.5px solid
      rgb(var(--color-foreground-rgb) / var(--opacity-25));
    font-style: italic;
    font-weight: 500;
  }
  .rte-table-wrapper {
    overflow-x: auto;
  }
  table {
    width: 100% !important;
    border-collapse: collapse;
  }
  tr:not(:has(td)),
  thead {
    background-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
    font-weight: bold;
    text-transform: uppercase;
  }
  tr:has(td) {
    border-bottom: 1px solid
      rgb(var(--color-foreground-rgb) / var(--opacity-10));
  }
  th,
  td {
    text-align: start;
    padding-inline: var(--padding-md);
    padding-block: var(--padding-sm);
  }
}
.shopify-policy__container {
  padding-block: var(--padding-xl);
}
.checkbox {
  --checkbox-size: 22px;
  --checkbox-top: 50%;
  --checkbox-left: 1.5px;
  --checkbox-offset: 3px;
  --checkbox-border-radius: 7px;
  --checkbox-label-padding: 8px;
  --checkbox-path-opacity: 0;
  --checkbox-cursor: pointer;
  --checkbox-border: 1px solid
    rgb(var(--color-foreground-rgb) / var(--opacity-35-55));
  position: relative;
  display: flex;
  align-items: center;
  @media screen and (min-width: 750px) {
    --checkbox-size: 16px;
    --checkbox-border-radius: 5px;
    --checkbox-label-padding: 6px;
  }
  &:has(.checkbox__input:checked) {
    --checkbox-path-opacity: 1;
  }
  &:has(.checkbox__input:disabled) {
    --checkbox-cursor: not-allowed;
  }
}
.checkbox__input {
  position: absolute;
  opacity: 0;
  margin: 0;
  width: var(--checkbox-size);
  height: var(--checkbox-size);
  &:focus-visible {
    outline: none;
  }
  &:focus-visible + .checkbox__label .icon-checkmark {
    outline: var(--focus-outline-width) solid currentcolor;
    outline-offset: var(--focus-outline-offset);
  }
  &:checked + .checkbox__label .icon-checkmark {
    background-color: var(--color-foreground);
    border-color: var(--color-foreground);
  }
  &:disabled + .checkbox__label .icon-checkmark {
    background-color: var(--input-disabled-background-color);
    border-color: var(--input-disabled-border-color);
  }
}
.checkbox__label {
  position: relative;
  display: inline-flex;
  cursor: var(--checkbox-cursor);
  line-height: var(--checkbox-size);
  min-width: var(--minimum-touch-target);
  align-items: center;
}
.checkbox .icon-checkmark {
  height: var(--checkbox-size);
  width: var(--checkbox-size);
  flex-shrink: 0;
  border: var(--checkbox-border);
  border-radius: var(--checkbox-border-radius);
  background-color: var(--color-background);
}
.checkbox__label-text {
  padding-inline-start: var(--checkbox-label-padding);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.checkbox .icon-checkmark path {
  stroke: var(--color-background);
  opacity: var(--checkbox-path-opacity);
  transition: opacity var(--animation-speed) var(--animation-easing);
}
.checkbox__input:disabled + .checkbox__label {
  color: var(--input-disabled-text-color);
}
.button[id^="BuyButtons-ProductSubmitButton-"] {
  position: relative;
  overflow: hidden;
}
.cart-bubble {
  --cart-padding: 0.2em;
  position: relative;
  width: 25px;
  height: 25px;
  aspect-ratio: 1;
  border-radius: 50%;
  border-width: 0;
  display: grid;
  line-height: normal;
  place-content: center;
  color: var(--color-primary-button-text);
  padding-inline: var(--cart-padding);
}
.cart-bubble__background {
  position: absolute;
  inset: 0;
  background-color: var(--color-primary-button-background);
  border-radius: var(--style-border-radius-lg);
}
.cart-bubble__text {
  font-size: var(--font-size--2xs);
  z-index: var(--layer-flat);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.quantity-selector {
  --quantity-selector-width: 120px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--color-input-text);
  background-color: var(--color-input-background);
  border: var(--style-border-width-inputs) solid var(--color-input-border);
  border-radius: var(--style-border-radius-inputs);
  flex: 1 1 var(--quantity-selector-width);
  align-self: stretch;
  transition: background-color var(--animation-speed) var(--animation-easing);
  &:hover {
    background-color: var(--color-input-hover-background);
  }
}
.product-form-buttons:has(.add-to-cart-button.button-secondary)
  .quantity-selector {
  border-radius: var(--style-border-radius-buttons-secondary);
}
.quantity-selector :is(.quantity-minus, .quantity-plus) {
  padding: 0;
  background: transparent;
  box-shadow: none;
  display: flex;
  align-items: center;
  cursor: pointer;
  width: calc(var(--minimum-touch-target) - 14px);
  height: var(--minimum-touch-target);
  flex-shrink: 0;
  color: var(--color-input-text);
}
.quantity-selector .quantity-minus {
  border-start-start-radius: var(--style-border-radius-inputs);
  border-end-start-radius: var(--style-border-radius-inputs);
  justify-content: flex-end;
}
.quantity-selector .quantity-plus {
  border-start-end-radius: var(--style-border-radius-inputs);
  border-end-end-radius: var(--style-border-radius-inputs);
  justify-content: flex-start;
}
.product-details .quantity-selector {
  border-radius: var(--style-border-radius-buttons-primary);
}
.product-details .quantity-selector .quantity-minus {
  border-start-start-radius: var(--style-border-radius-buttons-primary);
  border-end-start-radius: var(--style-border-radius-buttons-primary);
}
.product-details .quantity-selector .quantity-plus {
  border-start-end-radius: var(--style-border-radius-buttons-primary);
  border-end-end-radius: var(--style-border-radius-buttons-primary);
}
.quantity-selector .svg-wrapper {
  transition: transform var(--animation-speed) var(--animation-easing);
  background: rgba(var(--backdrop-color-rgb) / 0.08);
  border-radius: 100px;
  width: calc(var(--icon-size-sm) + 4px);
  height: calc(var(--icon-size-sm) + 4px);
}
.quantity-selector svg {
  width: var(--icon-size-xs);
  height: var(--icon-size-xs);
}
:is(.quantity-minus, .quantity-plus):active .svg-wrapper {
  transform: scale(0.9);
}
.quantity-selector input[type="number"] {
  margin: 0;
  text-align: center;
  border: none;
  appearance: none;
  max-width: calc(
    var(--quantity-selector-width) - var(--minimum-touch-target) * 2
  );
  border-radius: var(--style-border-radius-buttons);
  color: var(--color-input-text);
  background-color: transparent;
}
.quantity-selector input[type="number"]::-webkit-inner-spin-button,
.quantity-selector input[type="number"]::-webkit-outer-spin-button {
  appearance: none;
}
.quantity-selector input[type="number"] {
  appearance: textfield;
}
.pills__pill {
  --pills-pill-background-color: rgb(
    var(--color-foreground-rgb) / var(--opacity-5-15)
  );
  color: var(--color-foreground);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--gap-sm);
  min-width: 48px;
  padding: 6px 12px;
  border-radius: var(--style-border-radius-pills);
  cursor: pointer;
  background-color: var(--pills-pill-background-color);
  transition: background-color var(--animation-speed) var(--animation-easing);
  &:hover {
    --pills-pill-background-color: rgb(
      var(--color-foreground-rgb) / var(--opacity-10-25)
    );
  }
  @media screen and (max-width: 749px) {
    padding: var(--padding-xs) var(--padding-md);
  }
}
.pills__pill > .svg-wrapper {
  --close-icon-opacity: 0.4;
  --icon-stroke-width: 1px;
  color: var(--color-foreground);
}
.pills__pill--swatch {
  @media screen and (max-width: 749px) {
    padding-inline-start: var(--padding-sm);
  }
}
.pills__pill--swatch .swatch {
  margin-right: -4px;
}
.pills__pill--desktop-small {
  @media screen and (min-width: 750px) {
    font-size: var(--font-size--xs);
  }
}
fly-to-cart {
  position: fixed;
  width: 40px;
  height: 40px;
  left: 0;
  top: 0;
  border-radius: 50%;
  z-index: calc(infinity);
  pointer-events: none;
  opacity: 0;
  overflow: hidden;
  box-shadow: 0 4px 8px rgb(0 0 0 / 20%);
  transition: opacity 0.3s ease;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: var(--color-foreground);
  transform: translate(var(--x, 0), var(--y, 0)) scale(var(--scale, 1));
}
@keyframes grow {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes slideInLeft {
  from {
    transform: translateX(var(--custom-transform-from, 100%));
  }
  to {
    transform: translateX(var(--custom-transform-to, 0));
  }
}
@keyframes slideInLeftViewTransition {
  from {
    transform: translateX(100px);
  }
}
@keyframes slideOutRight {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(var(--custom-transform-to, -100%));
  }
}
@keyframes slideInRight {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes slideOutLeft {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(100%);
  }
}
@keyframes slideInTop {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes slideInTopViewTransition {
  from {
    transform: translateY(100px);
  }
}
@keyframes slideOutBottom {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(100%);
  }
}
@keyframes slideInBottom {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes slideOutTop {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-100%);
  }
}
@keyframes cartBubbleSlideIn {
  from {
    transform: translateY(-1em);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes elementSlideInTop {
  from {
    margin-top: var(--padding-sm);
    opacity: 0;
  }
  to {
    margin-top: 0;
    opacity: 1;
  }
}
@keyframes elementSlideOutTop {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(var(--padding-sm));
    opacity: 0;
  }
}
@keyframes elementSlideInBottom {
  from {
    transform: translateY(calc(-1 * var(--padding-sm)));
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes elementSlideOutBottom {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(calc(-1 * var(--padding-sm)));
    opacity: 0;
  }
}
@keyframes thumbnailsSlideInTop {
  from {
    transform: translateY(calc(-50% + var(--margin-lg)));
    opacity: 0;
  }
  to {
    transform: translateY(-50%);
    opacity: 1;
  }
}
@keyframes thumbnailsSlideOutTop {
  from {
    transform: translateY(-50%);
    opacity: 1;
  }
  to {
    transform: translateY(calc(-50% + var(--margin-lg)));
    opacity: 0;
  }
}
@keyframes thumbnailsSlideInBottom {
  from {
    transform: translateY(100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes thumbnailsSlideOutBottom {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(100%);
    opacity: 0;
  }
}
@keyframes search-element-slide-in-bottom {
  0% {
    transform: translateY(20px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes search-element-slide-out-bottom {
  0% {
    transform: translateY(0);
    opacity: 1;
  }
  100% {
    transform: translateY(20px);
    opacity: 0;
  }
}
@keyframes dialogZoom {
  from {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
  to {
    opacity: 0;
    transform: scale(0.95) translateY(1em);
  }
}
@keyframes thumbnail-selected {
  0%,
  100% {
    box-shadow: 0 0 0 2px transparent;
    scale: 0.9;
  }
  50% {
    box-shadow: 0 0 0 2px black;
    scale: 1;
  }
}
@keyframes backdropFilter {
  from {
    backdrop-filter: brightness(1);
  }
  to {
    backdrop-filter: brightness(0.75);
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes modalSlideInTop {
  from {
    transform: translateY(var(--padding-sm));
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes modalSlideOutTop {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(var(--padding-sm));
    opacity: 0;
  }
}
.bubble {
  display: inline-flex;
  height: calc(var(--variant-picker-swatch-height) / 1.5);
  font-size: var(--font-size--xs);
  border-radius: 20px;
  min-width: 20px;
  padding: 0 6px;
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10-25));
  color: var(--color-foreground);
  align-items: center;
  justify-content: center;
}
.bubble svg {
  width: 12px;
  height: 12px;
}
.top-shadow::before {
  content: "";
  box-shadow: 0 0 10px var(--color-shadow);
  position: absolute;
  z-index: var(--layer-lowest);
  inset: 0;
  clip-path: inset(-50px 0 0 0);
}
@media (min-width: 750px) {
  .top-shadow--mobile::before {
    display: none;
  }
}
.bottom-shadow::before {
  content: "";
  box-shadow: 0 0 10px var(--color-shadow);
  position: absolute;
  z-index: var(--layer-lowest);
  inset: 0;
  clip-path: inset(0 0 -50px 0);
}
@media (min-width: 750px) {
  .bottom-shadow--mobile::before {
    display: none;
  }
}
.video-placeholder-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  aspect-ratio: var(--size-style-aspect-ratio, auto);
}
:not(deferred-media) > .video-placeholder-wrapper {
  width: var(--video-placeholder-width);
}
.video-placeholder-wrapper > * {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
slideshow-component {
  --cursor: grab;
  position: relative;
  display: flex;
  flex-direction: column;
  timeline-scope: var(--slideshow-timeline);
}
.slideshow--single-media {
  --cursor: default;
}
a slideshow-component {
  --cursor: pointer;
}
slideshow-slides {
  width: 100%;
  position: relative;
  display: flex;
  overflow-x: scroll;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-color: transparent transparent;
  scrollbar-width: none;
  gap: var(--slideshow-gap, 0);
  cursor: var(--cursor);
  @media (prefers-reduced-motion) {
    scroll-behavior: auto;
  }
  &::-webkit-scrollbar {
    width: 0;
  }
  &::-webkit-scrollbar-track {
    background: transparent;
  }
  &::-webkit-scrollbar-thumb {
    background: transparent;
    border: none;
  }
  &[size="small"] {
    min-height: 17.5rem;
  }
  &[size="medium"] {
    min-height: 21.25rem;
  }
  &[size="large"] {
    min-height: 25rem;
  }
  @media screen and (min-width: 750px) {
    &[size="small"] {
      min-height: 26.25rem;
    }
    &[size="medium"] {
      min-height: 35rem;
    }
    &[size="large"] {
      min-height: 45rem;
    }
  }
}
slideshow-component[disabled="true"] slideshow-slides {
  overflow: hidden;
}
slideshow-component[mobile-disabled] slideshow-slides {
  @media screen and (max-width: 749px) {
    overflow: hidden;
  }
}
slideshow-slide {
  position: relative;
  scroll-snap-align: start;
  width: var(--slide-width, 100%);
  max-height: 100%;
  flex-shrink: 0;
  view-timeline-axis: inline;
  content-visibility: auto;
  contain-intrinsic-size: auto none;
  slideshow-component[actioned] &,
  &[aria-hidden="false"] {
    content-visibility: visible;
  }
  slideshow-component slideshow-slide:not([aria-hidden="false"]) {
    content-visibility: hidden;
  }
  &[hidden]:not([reveal]) {
    display: none;
  }
}
slideshow-slide.product-media-container--tallest {
  content-visibility: visible;
}
@media screen and (max-width: 749px) {
  .media-gallery--hint:is(
      slideshow-slide:has(+ slideshow-slide[aria-hidden="false"]:last-of-type),
      slideshow-slide[aria-hidden="false"] + slideshow-slide
    ) {
    content-visibility: auto;
    slideshow-component[actioned] & {
      content-visibility: visible;
    }
  }
}
:is(.resource-list__carousel, .card-gallery)
  :is(
    slideshow-slide:has(+ slideshow-slide[aria-hidden='false']),
    slideshow-slide[aria-hidden='false'] + slideshow-slide
  ) {
  content-visibility: auto;

  slideshow-component[actioned] & {
    content-visibility: visible;
  }
}
slideshow-component:is([dragging], [transitioning], :hover)
  > slideshow-container
  > slideshow-slides
  > slideshow-slide {
  content-visibility: visible;
}
slideshow-slides[gutters*="start"] {
  padding-inline-start: var(--gutter-slide-width, 0) !important;
  scroll-padding-inline-start: var(--gutter-slide-width, 0) !important;
}
slideshow-slides[gutters*="end"] {
  padding-inline-end: var(--gutter-slide-width, 0);
}
slideshow-component[dragging] {
  --cursor: grabbing;
  * {
    pointer-events: none;
  }
}
slideshow-component[dragging] slideshow-arrows {
  display: none;
}
slideshow-container {
  width: 100%;
  display: block;
  position: relative;
  grid-area: container;
  container-type: inline-size;
}
slideshow-controls {
  flex-shrink: 0;
  display: flex;
  justify-content: space-between;
  scrollbar-width: none;
  min-height: var(--minimum-touch-target);
  grid-area: controls;
  &[controls-on-media] {
    position: absolute;
    bottom: 0;
  }
}
slideshow-controls::-webkit-scrollbar {
  display: none;
}
slideshow-controls button {
  --color: rgb(var(--color-foreground-rgb) / var(--opacity-30));
  --color-active: var(--color-foreground);
  --color-hover: rgb(var(--color-foreground-rgb) / var(--opacity-50));
  display: inline-block;
  height: var(--minimum-touch-target);
  width: var(--minimum-touch-target);
  cursor: pointer;
}
slideshow-controls .icon {
  width: var(--icon-size-sm);
  height: var(--icon-size-xs);
}
slideshow-controls[pagination-position="center"] {
  align-items: center;
  justify-content: center;
}
slideshow-controls[pagination-position="center"][thumbnails] {
  width: 100%;
}
slideshow-controls[pagination-position="center"]:not(
    [controls-on-media],
    [thumbnails],
    [icons-on-media]
  ) {
  justify-content: space-between;
}
slideshow-component:has(slideshow-controls[thumbnails]) {
  &:has(slideshow-controls[pagination-position="right"]) {
    display: grid;
    grid-template: "container controls" auto "arrows controls" min-content/ 1fr auto;
  }
  &:has(slideshow-controls[pagination-position="left"]) {
    display: grid;
    grid-template: "controls container" auto "controls arrows" min-content/ auto 1fr;
  }
  slideshow-controls[pagination-position="left"] {
    order: -1;
  }
}
slideshow-controls[thumbnails]:is(
    [pagination-position="right"],
    [pagination-position="left"]
  ) {
  display: flex;
  flex-direction: column;
  height: 0;
  min-height: 100%;
  .slideshow-controls__thumbnails-container {
    overflow: hidden auto;
  }
  &:not([controls-on-media]) {
    .slideshow-controls__thumbnails-container {
      position: sticky;
      top: var(--sticky-header-offset, 0);
    }
    .slideshow-controls__thumbnails {
      padding-block-start: var(--focus-outline-offset);
    }
  }
}
slideshow-controls:not([controls-on-media])[icons-on-media] {
  &[pagination-position="right"] {
    justify-content: flex-end;
  }
  &[pagination-position="left"] {
    justify-content: flex-start;
  }
}
slideshow-controls:not([controls-on-media]):is(
    [pagination-position="left"],
    [pagination-position="right"]
  ).slideshow-controls__thumbnails {
  padding-block: var(--padding-2xs);
}
slideshow-controls:not([controls-on-media]) {
  &:is([pagination-position="right"]) {
    .slideshow-controls__thumbnails {
      padding-inline-end: var(
        --slideshow-thumbnails-padding-inline,
        var(--focus-outline-offset)
      );
    }
  }
  &:is([pagination-position="left"]) {
    .slideshow-controls__thumbnails {
      padding-inline-start: var(
        --slideshow-thumbnails-padding-inline,
        var(--focus-outline-offset)
      );
    }
  }
}
slideshow-controls[controls-on-media] {
  z-index: var(--layer-raised);
  &:has(.slideshow-controls__dots, .slideshow-controls__counter) {
    --color-foreground: #fff;
    --color-foreground-rgb: var(--color-white-rgb);
  }
  &[pagination-position="right"] {
    right: 0;
  }
  &[pagination-position="left"] {
    left: 0;
  }
  &[pagination-position="center"] {
    width: 100%;
  }
  &:not([thumbnails])[pagination-position="left"] {
    width: fit-content;
    align-self: flex-start;
  }
  &:not([thumbnails])[pagination-position="right"] {
    width: fit-content;
    align-self: flex-end;
  }
}
slideshow-controls:is(
    [pagination-position="right"],
    [pagination-position="left"]
  ) {
  .slideshow-controls__thumbnails {
    flex-direction: column;
  }
}
.slideshow-controls__arrows {
  display: flex;
  justify-content: space-between;
  height: var(--minimum-touch-target);
  grid-area: arrows;
  button {
    padding: 0 var(--padding-xs);
  }
}
.slideshow-controls__dots,
.slideshow-controls__counter {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  list-style: none;
  button {
    --color: rgb(var(--color-foreground-rgb) / var(--opacity-30));
    --color-active: var(--color-foreground);
    --color-hover: rgb(var(--color-foreground-rgb) / var(--opacity-50));
  }
}
slideshow-controls:has(.slideshow-controls__dots),
slideshow-component[autoplay] slideshow-controls {
  mix-blend-mode: difference;
}
.slideshow-controls__dots {
  gap: 0.6rem;
  padding: var(--padding-sm) var(--padding-lg);
  border-radius: 3rem;
  overflow: hidden;
  button {
    --size: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(var(--size) * 2);
    height: calc(var(--size) * 2);
    margin: calc(var(--size) / -2);
    font-size: 0;
    border-radius: calc(var(--size));
    &::after {
      content: "";
      display: block;
      background-color: var(--color);
      height: var(--size);
      width: var(--size);
      border-radius: calc(var(--size) / 2);
      @supports not (view-timeline-axis: inline) {
        &[aria-selected="true"] {
          --color: var(--color-active);
        }
      }
      &:hover {
        --color: var(--color-hover);
      }
    }
    &[aria-selected="true"] {
      --color: var(--color-active);
    }
  }
}
.slideshow-controls__dots,
.slideshow-controls__counter {
  &:only-child {
    margin-inline: auto;
  }
}
.slideshow-controls__counter {
  color: var(--color-foreground);
  background-color: rgb(0 0 0 / 40%);
  width: auto;
  border-radius: 2rem;
  padding: 0.3rem var(--padding-sm);
  margin-inline: var(--margin-sm);
  backdrop-filter: blur(10px);
  font-variant-numeric: tabular-nums;
  font-size: var(--font-size--xs);
  .slash {
    color: rgb(var(--color-foreground-rgb) / var(--opacity-40));
    padding-inline: var(--padding-2xs);
    margin-block-start: -0.1rem;
  }
}
.slideshow-control[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}
.slideshow-control--large {
  .icon-caret {
    --icon-stroke-width: 1px;
  }
  .icon-caret {
    --icon-stroke-width: 1px;
  }
  .svg-wrapper,
  svg {
    width: var(--slideshow-controls-icon);
    height: var(--slideshow-controls-icon);
  }
}
.button-unstyled.slideshow-control.slideshow-control--shape-square,
.button-unstyled.slideshow-control.slideshow-control--shape-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  background-color: var(--color-primary-button-background);
  color: var(--color-primary-button-text);
}
.button-unstyled.slideshow-control.slideshow-control--shape-circle {
  border-radius: 50%;
}
.button-unstyled.slideshow-control.slideshow-control--shape-square {
  border-radius: 0;
}
.slideshow-control .icon-caret {
  rotate: -90deg;
}
.slideshow-controls__thumbnails-container {
  display: flex;
  width: 100%;
  max-height: 100%;
  overflow-x: scroll;
  scrollbar-width: none;
}
.slideshow-controls__thumbnails {
  display: inline-flex;
  padding-inline: var(--slideshow-thumbnails-padding-inline, var(--padding-sm));
  padding-block: var(--slideshow-thumbnails-padding-block, var(--padding-sm));
  gap: var(--gap-xs);
  margin-inline: auto;
  height: fit-content;
  .slideshow-control {
    border-radius: var(--media-radius);
    width: clamp(44px, 7vw, var(--thumbnail-width));
    height: auto;
    aspect-ratio: var(--aspect-ratio);
    transition: all 0.1s ease-in-out;
    img {
      height: 100%;
      object-fit: cover;
      border-radius: var(--media-radius);
    }
    &:is([aria-selected="true"]) {
      box-shadow: 0 0 0 2px var(--color-foreground);
      border: var(--style-border-width) solid
        rgb(var(--color-border-rgb) / var(--media-border-opacity));
    }
  }
}
.slideshow-controls__thumbnail {
  position: relative;
}
.slideshow-controls__thumbnail-badge {
  position: absolute;
  top: var(--padding-2xs);
  right: var(--padding-2xs);
  width: clamp(16px, 10%, 20px);
  height: clamp(16px, 10%, 20px);
  background-color: var(--color-background);
  border-radius: var(--style-border-radius-xs);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0 1px rgb(var(--color-foreground-rgb) / var(--opacity-5));
}
.slideshow-controls__thumbnail-badge svg {
  width: 60%;
  height: 60%;
  fill: var(--color-foreground);
  opacity: 0.6;
}
.slideshow-control:is(.icon-pause, .icon-play) {
  color: var(--color-active);
  &:hover {
    color: var(--color-hover);
  }
  svg {
    display: none;
  }
}
slideshow-component:is([autoplay]) {
  &:is([paused]) {
    .icon-play > svg {
      display: block;
    }
  }
  &:not([paused]) {
    .icon-pause > svg {
      display: block;
    }
  }
}
slideshow-arrows {
  --cursor-previous: w-resize;
  --cursor-next: e-resize;
  position: absolute;
  inset: 0;
  display: flex;
  z-index: var(--layer-heightened);
  pointer-events: none;
  mix-blend-mode: difference;
  align-items: flex-end;
  &[position="left"] {
    justify-content: flex-start;
    padding-inline: var(--padding-xs);
  }
  &[position="right"] {
    justify-content: flex-end;
    padding-inline: var(--padding-xs);
  }
  &[position="center"] {
    justify-content: space-between;
    align-items: center;
  }
}
slideshow-arrows:has(.slideshow-control--shape-square),
slideshow-arrows:has(.slideshow-control--shape-circle) {
  mix-blend-mode: normal;
}
slideshow-component[disabled="true"] slideshow-arrows {
  display: none;
}
slideshow-arrows .slideshow-control {
  pointer-events: auto;
  opacity: 0;
  min-height: var(--minimum-touch-target);
  padding: 0 var(--padding-xs);
  color: var(--color-white);
}
slideshow-arrows .slideshow-control.slideshow-control--style-none {
  display: none;
}
.media-gallery--carousel slideshow-arrows .slideshow-control {
  padding-inline: 0 var(--padding-md);
}
.card-gallery slideshow-arrows .slideshow-control {
  padding-inline: var(--padding-xl);
  @container (max-width: 249px) {
    padding-inline: 0 var(--padding-sm);
  }
}
.media-gallery--carousel slideshow-arrows .slideshow-control {
  opacity: 1;
}
:not(.media-gallery--carousel)
  > :is(slideshow-component:hover, slideshow-component:focus-within):not(
    :has(slideshow-controls:hover)
  )
  > slideshow-container
  > slideshow-arrows.slideshow-control {
  animation: arrowsSlideIn var(--animation-speed) var(--animation-easing)
    forwards;
}
@keyframes arrowsSlideIn {
  from {
    transform: translate(var(--padding-sm), 0);
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.block-resource-list {
  display: flex;
  flex-direction: column;
  row-gap: var(--gap);
  min-width: 0;
  min-height: 0;
  container-type: inline-size;
  container-name: resource-list;
}
.section-resource-list {
  row-gap: var(--gap);
}
.section-resource-list__content {
  display: flex;
  flex-direction: column;
  align-items: var(--horizontal-alignment);
  gap: var(--gap);
  width: 100%;
}
.section-resource-list__content:empty {
  display: none;
}
.section-resource-list__header:is(:empty, :has(.group-block-content:empty)),
.section-resource-list__content:empty {
  display: none;
}
.section-resource-list.section--full-width product-card-link > .group-block {
  @media screen and (max-width: 749px) {
    padding-inline: max(var(--padding-xs), var(--padding-inline-start))
      max(var(--padding-xs), var(--padding-inline-end));
  }
}
.resource-list--carousel-mobile {
  display: block;
  @media screen and (min-width: 750px) {
    display: none;
  }
}
.resource-list {
  --resource-list-mobile-gap-max: 9999px;
  --resource-list-column-gap: min(
    var(--resource-list-column-gap-desktop),
    var(--resource-list-mobile-gap-max)
  );
  --resource-list-row-gap: min(
    var(--resource-list-row-gap-desktop),
    var(--resource-list-mobile-gap-max)
  );
  width: 100%;
  @media screen and (max-width: 749px) {
    --resource-list-mobile-gap-max: 12px;
  }
  @container resource-list (max-width: 749px) {
    --resource-list-mobile-gap-max: 12px;
  }
}
.resource-list--grid {
  display: grid;
  gap: var(--resource-list-row-gap) var(--resource-list-column-gap);
  grid-template-columns: var(--resource-list-columns-mobile);
  @media screen and (min-width: 750px) {
    grid-template-columns: var(--resource-list-columns);
  }
  @container resource-list (max-width: 449px) {
    grid-template-columns: var(--resource-list-columns-mobile);
  }
  @container resource-list(min-width: 450px) and (max-width: 749px) {
    --resource-list-columns-per-row: 3;
    grid-template-columns: repeat(var(--resource-list-columns-per-row), 1fr);
    &:has(.resource-list__item:first-child:nth-last-child(3n + 1)),
    &:has(.resource-list__item:first-child:nth-last-child(8n)) {
      --resource-list-columns-per-row: 4;
    }
  }
  @container resource-list (min-width: 750px) {
    grid-template-columns: repeat(var(--resource-list-columns-per-row), 1fr);
    &:has(.resource-list__item:first-child:nth-last-child(n + 9)) {
      --resource-list-columns-per-row: 5;
    }
    &:has(
        .resource-list__item:first-child:nth-last-child(n + 7):nth-last-child(
            -n + 8
          )
      ) {
      --resource-list-columns-per-row: 4;
    }
    &:has(.resource-list__item:first-child:nth-last-child(6)) {
      --resource-list-columns-per-row: 3;
    }
    &:has(.resource-list__item:first-child:nth-last-child(5)) {
      --resource-list-columns-per-row: 5;
    }
    &:has(.resource-list__item:first-child:nth-last-child(-n + 4)) {
      --resource-list-columns-per-row: 4;
    }
  }
  @container resource-list (min-width: 1200px) {
    &:has(.resource-list__item:first-child:nth-last-child(6)) {
      --resource-list-columns-per-row: 6;
    }
  }
}
.resource-list__item {
  height: 100%;
  color: var(--color-foreground);
  text-decoration: none;
}
.resource-list__carousel {
  --slide-width: 60vw;
  width: 100%;
  position: relative;
  container-type: inline-size;
  container-name: resource-list-carousel;
  .slideshow-control[disabled] {
    display: none;
  }
  .slideshow-control--next {
    margin-inline-start: auto;
  }
}
@container resource-list-carousel (max-width: 749px) {
  .resource-list__carousel .resource-list__slide {
    --slide-width: clamp(
      150px,
      var(--mobile-card-size, 60cqw),
      var(--slide-width-max)
    );
  }
}
@container resource-list-carousel (min-width: 750px) {
  .resource-list__carousel .resource-list__slide {
    --section-slide-width: calc(
      (
          100% - (var(--resource-list-column-gap) * (var(--column-count) - 1)) -
            var(--peek-next-slide-size)
        ) / var(--column-count)
    );
    --fallback-slide-width: clamp(
      150px,
      var(--mobile-card-size, 60cqw),
      var(--slide-width-max)
    );
    --slide-width: var(--section-slide-width, var(--fallback-slide-width));
  }
}
.resource-list__carousel slideshow-slides {
  gap: var(--resource-list-column-gap);
}
.resource-list__carousel slideshow-arrows {
  padding-inline: var(--util-page-margin-offset);
}
.resource-list__carousel .resource-list__slide {
  width: var(--slide-width);
  flex: 0 0 auto;
  scroll-snap-align: start;
  min-width: 0;
}
.group-block,
.group-block-content {
  position: relative;
}
.group-block:has(> video-background-component),
.group-block:has(> .background-image-container) {
  overflow: hidden;
}
.group-block-content {
  height: 100%;
  width: 100%;
}
.section-content-wrapper.section-content-wrapper:where(.layout-panel-flex)
  .group-block--fill {
  flex: 1;
}
.layout-panel-flex--row > .group-block--width-fit {
  flex: 0;
}
.layout-panel-flex--row > .group-block--width-fill {
  flex: 1;
}
.layout-panel-flex--row > .group-block--width-custom {
  flex-basis: var(--size-style-width);
}
.group-block--height-fit {
  height: auto;
}
.group-block--height-custom,
.group-block--height-fill {
  height: var(--size-style-height);
}
.layout-panel-flex--column > .group-block--height-fit {
  flex: 0 1 auto;
}
.layout-panel-flex--column > .group-block--height-fill {
  flex: 1;
}
.layout-panel-flex--column > .group-block--height-custom {
  flex-basis: var(--size-style-height);
}
.search-input {
  width: 100%;
  color: var(--color-foreground);
  padding-block: var(--padding-lg);
  padding-inline: calc(var(--margin-lg) + var(--icon-size-lg)) 0;
  background: transparent;
  text-overflow: ellipsis;
  overflow: hidden;
  outline: none;
  border: 0;
  &:focus-visible {
    outline: none;
  }
}
.search-input:focus {
  outline: none;
}
.search-input::placeholder {
  color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text));
}
accordion-custom {
  details {
    &::details-content,
    .details-content {
      block-size: 0;
      overflow-y: clip;
      opacity: 0;
      interpolate-size: allow-keywords;
      transition: content-visibility var(--animation-speed-slow) allow-discrete,
        padding-block var(--animation-speed-slow) var(--animation-easing),
        opacity var(--animation-speed-slow) var(--animation-easing),
        block-size var(--animation-speed-slow) var(--animation-easing);
    }
    &:not([open]) {
      &::details-content,
      .details-content {
        padding-block: 0;
      }
    }
    &[open] {
      &::details-content,
      .details-content {
        opacity: 1;
        block-size: auto;
        @starting-style {
          block-size: 0;
          opacity: 0;
          overflow-y: clip;
        }
        &:focus-within {
          overflow-y: visible;
        }
      }
    }
  }
}
accordion-custom[data-disable-on-mobile="true"] summary {
  @media screen and (max-width: 749px) {
    cursor: auto;
  }
}
accordion-custom[data-disable-on-desktop="true"] summary {
  @media screen and (min-width: 750px) {
    cursor: auto;
  }
}
text-component {
  --shimmer-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
  --shimmer-color-light: rgb(var(--color-foreground-rgb) / var(--opacity-10));
  --shimmer-speed: 1.25s;
  display: inline-block;
  position: relative;
  transition: color var(--animation-speed-slow) ease;
  line-height: 1;
  &::after {
    content: attr(value);
    position: absolute;
    inset: 0;
    color: transparent;
    opacity: 0;
    transition: opacity var(--animation-speed-slow) var(--animation-easing);
    pointer-events: none;
    background-image: linear-gradient(
      -85deg,
      var(--shimmer-text-color) 10%,
      var(--shimmer-color-light) 50%,
      var(--shimmer-text-color) 90%
    );
    background-clip: text;
    background-size: 200% 100%;
    background-position: 100% 0;
    place-content: center;
  }
  &[shimmer] {
    color: transparent;
    &::after {
      opacity: 1;
      animation: text-shimmer var(--shimmer-speed) infinite linear;
    }
  }
}
@keyframes text-shimmer {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: -100% 0;
  }
}
.transition-background-color {
  transition: background-color var(--animation-speed-medium) ease-in-out;
}
.transition-transform {
  transition: transform var(--animation-speed-medium)
    var(--animation-timing-bounce);
}
.transition-border-color {
  transition: border-color var(--animation-speed-medium)
    var(--animation-timing-hover);
}
::-webkit-scrollbar {
  width: 20px;
}
::-webkit-scrollbar-track {
  background-color: transparent;
}
::-webkit-scrollbar-thumb {
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-40));
  border-radius: 20px;
  border: 6px solid transparent;
  background-clip: content-box;
  transition: background-color 0.2s;
}
::-webkit-scrollbar-thumb:hover {
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-60));
}
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
[product-grid-view="zoom-out"]
  :is(.product-card, .product-grid__card)
  :is(h4, .h4) {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
}
@media screen and (max-width: 749px) {
  :is(.product-card, .product-grid__card) :is(h4, .h4) {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
  }
}
.product-card:hover,
.collection-card:hover,
.resource-card:hover,
.predictive-search-results__card--product:hover,
.predictive-search-results__card:hover {
  position: relative;
  z-index: var(--layer-raised);
  transition: transform var(--hover-transition-duration)
      var(--hover-transition-timing),
    box-shadow var(--hover-transition-duration) var(--hover-transition-timing);
}
.header .product-card:hover,.header .collection-card:hover,.header .resource-card:hover,.header-drawer .product-card:hover,.header-drawer .collection-card:hover,.header-drawer .resource-card:hover {
    z-index: auto;
    transform: none;
    box-shadow: none;
}
@media screen and (max-width: 1200px) {
    input,textarea,select,.paragraph.paragraph input,.paragraph.paragraph textarea,.paragraph.paragraph select,.h1.h1 input,.h1.h1 textarea,.h1.h1 select,.h2.h2 input,.h2.h2 textarea,.h2.h2 select,.h3.h3 input,.h3.h3 textarea,.h3.h3 select,.h4.h4 input,.h4.h4 textarea,.h4.h4 select,.h5.h5 input,.h5.h5 textarea,.h5.h5 select,.h6.h6 input,.h6.h6 textarea,.h6.h6 select {
        font-size: max(1rem, 100%);
    }
}
.installments-button {
    border: none;
    box-shadow: none;
    padding: 5px 10px;
    text-transform: none !important;
    width: max-content;
    cursor: pointer;
    border-radius: var(--rounded-button);
}
.prose {
    display: flex;
    flex-direction: column;
    gap: var(--lacuna-md);
}
.prose img {
    margin-block-start: 10px;
    margin-block-end: 10px;
}
.prose .button,.prose .button-secondary {
    margin-block-start: 5px;
    margin-block-end: 5px;
}
.product-card__content .card-gallery {
    border-radius: var(--rounded-layout);
    overflow: hidden;
}
.product-card__content .card-gallery slideshow-component,.product-card__content .card-gallery .product-media-container,.product-card__content .card-gallery .product-media,.product-card__content .card-gallery .product-media__image {
    border-radius: inherit;
    overflow: hidden;
    transition: all 0.3s ease-out;
}
.cart-drawer .cart-drawer__close-button.button {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    border: 1px solid var(--color-border, #ddd) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
    transition: all 0.2s ease !important;
    margin-right: 7px;
}
.cart-drawer .cart-drawer__close-button.button:hover {
    background: #f5f5f5 !important;
}
cart-drawer-component .cart-drawer__dialog.dialog-modal.dialog-drawer {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important;
    border-left: none !important;
    overflow: hidden !important;
}
cart-drawer-component .cart-drawer__summary {
    border-top: 1px solid var(--color-border, #e5e5e5) !important;
    padding-top: 16px !important;
}
marquee-component {
    display: block;
    width: 100%;
    overflow: hidden;
}
.marquee__wrapper {
    display: flex;
    gap: var(--marquee-gap);
    width: fit-content;
    white-space: nowrap;
}
.marquee__content {
    min-width: max-content;
    display: flex;
    gap: var(--marquee-gap);
}
.marquee__content :is(p, h1, h2, h3, h4, h5, h6) {
    white-space: nowrap;
}
.marquee__content .marquee__repeated-items * {
    max-width: none;
}
.marquee__repeated-items {
    min-width: max-content;
    display: flex;
    gap: var(--marquee-gap);
    align-items: center;
    justify-content: center;
}
.marquee__repeated-items > * {
    align-content: center;
}
@media (prefers-reduced-motion: no-preference) {
    marquee-component:not([data-disabled]) .marquee__wrapper {
        animation: marquee-motion var(--marquee-speed) linear infinitevar(--marquee-direction);
    }
}
@keyframes marquee-motion {
    to {
        transform: translate3d(calc(-50% - (var(--marquee-gap) / 2)), 0, 0);
    }
}
.section-rich-text .size-style {
    width: max-content;
    max-width: 100%;
}
.align--left .size-style {
    justify-self: start;
}
.align--center .size-style {
    justify-self: center;
}
.align--right .size-style {
    justify-self: end;
}
.section-rich-text {
    position: relative;
}
.rt {
    display: grid;
}
.align--left {
    text-align: left;
    justify-items: start;
}
.align--center {
    text-align: center;
    justify-items: center;
}
.align--right {
    text-align: right;
    justify-items: end;
}
.rt__inner {
    display: grid;
}
.rt__media {
    width: 100%;
}
.rt__media img {
    display: block;
    width: 100%;
    height: auto;
    max-width: var(--rt-img-max, 100%);
}
.section-reviews {
    position: relative;
}
.reviews {
    display: grid;
    gap: 24px;
    place-items: center;
}
.reviews__viewport {
    width: 100%;
    overflow: hidden;
}
.reviews__track {
    display: flex;
    transition: transform 0.4s ease;
    will-change: transform;
}
.reviews__stars {
    letter-spacing: 0.2em;
    line-height: 1;
    display: flex;
    gap: 5px;
    width: 100%;
    max-width: var(--reviews-quote-max);
    margin-inline: auto;
}
.reviews__stars.align--left {
    justify-content: flex-start;
}
.reviews__stars.align--center {
    justify-content: center;
}
.reviews__stars.align--right {
    justify-content: flex-end;
}
.reviews__quote-text.align--left,.reviews__author.align--left {
    text-align: left;
}
.reviews__quote-text.align--center,.reviews__author.align--center {
    text-align: center;
}
.reviews__quote-text.align--right,.reviews__author.align--right {
    text-align: right;
}
.reviews__quote {
    width: max-content;
    margin: 0;
    position: relative;
}
.reviews__quote-text {
    max-width: var(--reviews-quote-max);
    width: 100%;
    margin-inline: auto;
}
.reviews__quote-mark {
    position: absolute;
    left: -20px;
    top: -20px;
    line-height: 1;
    opacity: 0.15;
    font-size: 120px;
}
.reviews__author {
    margin: 0;
    opacity: 0.75;
    text-align: center;
}
.reviews__controls {
    display: flex;
    align-items: center;
    gap: 15px;
}
.reviews__nav-btn {
    width: var(--reviews-nav-size);
    height: var(--reviews-nav-size);
    border-radius: 999px;
    border: 1px solid currentColor;
    background: transparent;
    display: grid;
    place-items: center;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    transition: transform 0.15s ease;
}
.reviews__nav-btn:hover {
    transform: translateY(-1px);
}
@media (prefers-reduced-motion: reduce) {
    .reviews__nav-btn {
        transition: none;
    }
}
.reviews__quote-text.align--left,.reviews__author.align--left {
    text-align: left;
}
.reviews__quote-text.align--center,.reviews__author.align--center {
    text-align: center;
}
.reviews__quote-text.align--right,.reviews__author.align--right {
    text-align: right;
}
.section-reviews .slideshow-control {
    line-height: 1;
    padding: 0;
}
.section-reviews .slideshow-control .svg-wrapper {
    line-height: 1;
}
.stl-head {
    margin-bottom: var(--stl-gap);
}
.stl-head h2 {
    margin: 0;
}
.stl-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--stl-gap);
    align-items: start;
}
@media (min-width: 1000px) {
    .stl-grid {
        grid-template-columns: minmax(0, 1fr) 42%;
    }
}
.stl-stage {
    position: relative;
}
.stl-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--stl-radius);
}
.stl-stage .placeholder {
    background: #f3f3f3;
    border-radius: var(--stl-radius);
}
.stl-points {
    position: absolute;
    inset: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    pointer-events: none;
}
.stl-points > li {
    list-style: none;
}
.stl-dot {
    pointer-events: auto;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border: 0;
    background: transparent;
    cursor: pointer;
}
.stl-dot::before {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: var(--stl-dot-core);
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.06), inset 0 0 0 2px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease;
}
.stl-dot::after {
    content: "";
    position: absolute;
    inset: 50% auto auto 50%;
    translate: -50% -50%;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: radial-gradient(50% 50% at 50% 50%,rgba(0, 0, 0, 0) 35%,rgba(0, 0, 0, 0.08) 100%);
    animation: stl-ping 2s ease-in-out infinite;
}
.stl-dot[aria-current="true"]::before {
    transform: scale(1.15);
}
@keyframes stl-ping {
    0% {
        opacity: 0.7;
        transform: scale(0.8);
    }
    100% {
        opacity: 0;
        transform: scale(1.2);
    }
}
@media (pointer: fine) {
    .stl-dot:hover::before {
        transform: scale(1.15);
    }
}
.stl-products {
    display: grid;
    gap: clamp(10px, 2vw, 16px);
}
.stl-cards {
    position: relative;
    min-height: 1px;
}
.stl-card {
    display: none;
}
.stl-card.is-active {
    display: block;
}
.stl-prod {
    display: grid;
    gap: 0.75rem;
}
.stl-prod-media {
    display: block;
    border-radius: 12px;
    overflow: hidden;
}
.stl-prod-img {
    width: 100%;
    height: auto;
    display: block;
}
.stl-prod-title {
    margin: 0;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.4;
}
.stl-price {
    margin: 0;
    display: flex;
    gap: 0.5rem;
    align-items: baseline;
}
.stl-price s {
    opacity: 0.6;
}
.stl-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #111;
    color: #fff;
    text-decoration: none;
}
.stl-ctrls {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}
.stl-btn {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #fff;
    color: #111;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    cursor: pointer;
}
.stl-btn[disabled] {
    opacity: 0.45;
    cursor: not-allowed;
}
.section.section-resource-list {
    background: var(--dm-bg, transparent);
    color: var(--dm-text, inherit);
}
.clist__card {
    list-style: none;
    margin: 0;
}
.clist__card-link {
    text-decoration: none;
    color: inherit;
    display: block;
}
.clist__media {
    position: relative;
    border-radius: var(--rounded-layout);
    overflow: hidden;
    background: #f6f6f6;
}
.clist__media::before {
    content: "";
    display: block;
    padding-top: var(--dm-aspect, {
        {
            dm_ratio
        }
    }
    );
}
.clist__media--auto::before {
    padding-top: 0;
}
.clist__media-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.5s ease;
}
.clist__media-ph {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background: #ededed;
}
.clist__media-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.clist__content {
    position: absolute;
    inset: 0;
    display: grid;
    padding: var(--padding-lg);
    align-content: end;
    justify-items: center;
    text-align: center;
}
.clist__text {
    display: flex;
    flex-direction: column;
    gap: var(--lacuna-xs);
    text-align: inherit;
}
.clist__title {
    margin: 0;
    line-height: 1.15;
}
.clist__meta {
    opacity: 0.85;
}
.clist__external {
    display: flex;
    flex-direction: column;
    align-items: start;
    text-align: start;
    gap: var(--lacuna-xs);
    padding-top: var(--lacuna-sm);
}
.clist__content--pos-top-start {
    align-content: start;
    justify-items: start;
    text-align: left;
}
.clist__content--pos-top-center {
    align-content: start;
    justify-items: center;
    text-align: center;
}
.clist__content--pos-top-end {
    align-content: start;
    justify-items: end;
    text-align: right;
}
.clist__content--pos-center-start {
    align-content: center;
    justify-items: start;
    text-align: left;
}
.clist__content--pos-center {
    align-content: center;
    justify-items: center;
    text-align: center;
}
.clist__content--pos-center-end {
    align-content: center;
    justify-items: end;
    text-align: right;
}
.clist__content--pos-bottom-start {
    align-content: end;
    justify-items: start;
    text-align: left;
}
.clist__content--pos-bottom-center {
    align-content: end;
    justify-items: center;
    text-align: center;
}
.clist__content--pos-bottom-end {
    align-content: end;
    justify-items: end;
    text-align: right;
}
.dropmeta-section {
    overflow-x: clip;
}
.dropmeta-section--page {
    max-width: var(--container-max-width, 1200px);
    margin-inline: auto;
    padding-inline: clamp(16px, 4vw, 32px);
}
.dropmeta-section--full {
    width: 100%;
}
.dropmeta-inner {
    display: flex;
    align-items: flex-start;
    gap: var(--dropmeta-gap);
}
.dropmeta-inner--start {
    text-align: left;
    justify-content: flex-start;
}
.dropmeta-inner--center {
    text-align: center;
    justify-content: center;
}
.dropmeta-inner--end {
    text-align: right;
    justify-content: flex-end;
}
.dropmeta-inner--no-stack {
    flex-wrap: nowrap;
}
.dropmeta-inner--no-stack .dropmeta-item {
    flex: 1 1 0;
    min-width: 0;
}
.dropmeta-inner--no-stack .dropmeta-divider {
    align-self: stretch;
}
@media (max-width: 699px) {
    .dropmeta-inner--no-stack {
        display: flex !important;
        flex-wrap: wrap;
    }
    .dropmeta-inner--no-stack .dropmeta-item {
        flex: 0 0 50%;
        width: 50%;
    }
    .dropmeta-inner--no-stack .dropmeta-divider {
        display: none;
    }
}
.dropmeta-inner--stack {
    flex-direction: column;
}
.dropmeta-inner--stack .dropmeta-item {
    width: 100%;
}
.dropmeta-inner--stack .dropmeta-divider {
    display: none;
}
.dropmeta-item {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.4s ease, transform 0.4s ease;
    will-change: opacity, transform;
}
.dropmeta-item.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.dropmeta-title {
    font-size: var(--dropmeta-font-size);
    line-height: 1;
    margin: 0 0 0.3em 0;
    letter-spacing: 0;
    color: var(--dropmeta-heading-color);
}
.dropmeta-title--fill .dropmeta-title__inner {
    color: var(--dropmeta-heading-color);
}
.dropmeta-title__inner--gradient {
    background: var(--dropmeta-heading-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}
.dropmeta-title--outline .dropmeta-title__inner {
    color: transparent;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: var(--dropmeta-stroke) var(--dropmeta-heading-color);
    text-shadow: none;
}
.dropmeta-content {
    max-width: 750px;
    margin-inline: auto;
}
.dropmeta-sub {
    margin: 0 0 0.5em 0;
    font-size: clamp(18px, 2.6vw, 24px);
    font-weight: 600;
    color: var(--dropmeta-text-color);
}
.dropmeta-prose :where(p) {
    margin: 0.4em 0;
}
.dropmeta-btn {
    display: inline-block;
    margin-top: 1em;
    padding: 0.9em 1.2em;
    background: var(--btn-bg);
    color: var(--btn-fg);
    text-decoration: none;
    border-radius: 6px;
    font-weight: 600;
}
.dropmeta-divider {
    place-self: center;
}
.dropmeta-divider--square {
    width: 18px;
    height: 18px;
    background: var(--divider-color);
    opacity: 0.25;
}
.dropmeta-divider--circle {
    width: 18px;
    height: 18px;
    background: var(--divider-color);
    border-radius: 999px;
    opacity: 0.25;
}
.dropmeta-divider--diamond {
    width: 18px;
    height: 18px;
    background: var(--divider-color);
    transform: rotate(45deg);
    opacity: 0.25;
}
.dropmeta-divider--line {
    width: var(--divider-thickness);
    height: 80%;
    background: var(--divider-color);
    opacity: 0.6;
}
.hs-modal .hs__tooltip {
    position: static;
    width: 100%;
    max-width: 100%;
    transform: none;
    inset: auto;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    padding: 0;
}
@media (max-width: 749px) {
    .hs-modal .popup-link__content {
        max-width: min(92vw, 560px);
        height: max-content;
        padding: var(--padding-xl);
    }
}
.section-hotspot {
    position: relative;
    display: grid;
    gap: var(--lacuna-lg) 0;
}
.section-hotspot.align--left {
    justify-items: start;
}
.section-hotspot.align--center {
    justify-items: center;
}
.section-hotspot.align--right {
    justify-items: end;
}
.section-hotspot.align--left .prose {
    text-align: left;
}
.section-hotspot.align--center .prose {
    text-align: center;
}
.section-hotspot.align--right .prose {
    text-align: right;
}
.section-hotspot .hs__content {
    max-width: var(--hs-max-width);
}
.hs {
    position: relative;
}
.hs__image img,.hs__image svg {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--rounded-layout);
    background: #f6f6f6;
}
.hs__image--mobile {
    display: block;
}
.hs__image--desktop {
    display: none;
}
@media (min-width: 750px) {
    .hs__image--mobile {
        display: none;
    }
    .hs__image--desktop {
        display: block;
    }
}
.hs__points {
    position: absolute;
    inset: 0;
    z-index: 2;
}
.hs__point {
    position: absolute;
    left: var(--hs-left, 50%);
    top: var(--hs-top, 50%);
    transform: translate(-50%, -50%);
    z-index: 2;
    pointer-events: auto;
}
@media (max-width: 749px) {
    .section-hotspot .hs__point {
        left: var(--hs-left-mobile, var(--hs-left, 50%));
        top: var(--hs-top-mobile, var(--hs-top, 50%));
    }
}
.iwts-dpm__inner--page {
    max-width: var(--iwts-container-max, 1200px);
    margin-inline: auto;
    padding-inline: clamp(16px, 4vw, 32px);
}
.iwts-dpm__inner--full {
    width: 100%;
    padding-inline: clamp(14px, 4vw, 28px);
}
.iwts-dpm__header {
    margin-bottom: clamp(14px, 3vw, 22px);
}
.iwts-dpm__header--start {
    text-align: left;
}
.iwts-dpm__header--center {
    text-align: center;
}
.iwts-dpm__title {
    margin: 0;
}
.iwts-dpm__mobile {
    display: grid;
    gap: clamp(20px, 4vw, 28px);
}
.iwts-dpm__mobile.is-scroll {
    grid-auto-flow: column;
    grid-auto-columns: 88vw;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.iwts-dpm__mobile.is-scroll::-webkit-scrollbar {
    display: none;
}
.iwts-dpm__m-item {
    display: grid;
    gap: clamp(12px, 3vw, 18px);
}
.iwts-dpm__m-media {
    aspect-ratio: var(--iwts-media-ratio);
    position: relative;
}
.iwts-dpm__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 12px;
}
.iwts-dpm__placeholder {
    width: 100%;
    height: auto;
    border-radius: 12px;
    background: #f6f6f6;
    display: block;
}
.iwts-dpm__content {
    display: grid;
    gap: clamp(8px, 2vw, 12px);
}
.iwts-dpm__counter {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
}
.iwts-dpm__counter i {
    content: "";
    width: 24px;
    height: 2px;
    background: currentColor;
    display: inline-block;
    border-radius: 2px;
}
.iwts-dpm__prose {
    display: grid;
    gap: clamp(8px, 2.5vw, 14px);
}
.iwts-dpm__icon-wrap {
    width: var(--iwts-icon-w);
    height: var(--iwts-icon-w);
}
.iwts-dpm__icon {
    width: 100%;
    height: 100%;
    display: block;
}
.iwts-dpm__icon-img {
    width: var(--iwts-icon-w);
    height: auto;
    display: block;
    border-radius: 10px;
}
.iwts-dpm__heading {
    margin: 0;
    font-weight: 800;
    line-height: 1.15;
    font-size: clamp(18px, 5.2vw, 26px);
}
.personal-text .personal-text__inner {
    background: var(--iwts-heading-gradient, var(--iwts-heading-color));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.section-media-rows {
    display: grid;
    gap: var(--lacuna-lg, 24px) 0;
}
.mw__row.align--left .mw__content {
    text-align: left;
    align-items: flex-start;
}
.mw__row.align--center .mw__content {
    text-align: center;
    align-items: center;
}
.mw__row.align--right .mw__content {
    text-align: right;
    align-items: flex-end;
}
media-rows {
    display: grid;
    gap: var(--grid-gap, 32px);
}
.mw__row {
    display: grid;
    gap: var(--grid-gap, 24px);
    grid-template-columns: 1fr;
    align-items: center;
}
@media (min-width: 750px) {
    .mw__row {
        grid-template-columns: 1fr 1fr;
    }
    .mw__row.is-reverse .mw__media {
        order: 2;
    }
    .mw__row.is-reverse .mw__content {
        order: 1;
    }
}
.mw__media {
    position: relative;
    border-radius: var(--rounded-layout);
    overflow: hidden;
    background: #e5e5e5;
    width: 100%;
}
.mw__media img,.mw__media svg {
    display: block;
    width: 100%;
    height: auto;
}
media-rows {
    --mw-h: auto;
}
media-rows[size="small"] {
    --mw-h: 17.5rem;
}
media-rows[size="medium"] {
    --mw-h: 21.25rem;
}
media-rows[size="large"] {
    --mw-h: 25rem;
}
@media (min-width: 750px) {
    media-rows[size="small"] {
        --mw-h: 26.25rem;
    }
    media-rows[size="medium"] {
        --mw-h: 35rem;
    }
    media-rows[size="large"] {
        --mw-h: 45rem;
    }
}
media-rows:not([size="auto"]) .mw__media {
    height: var(--mw-h);
    min-height: var(--mw-h);
}
media-rows:not([size="auto"]) .mw__media img,media-rows:not([size="auto"]) .mw__media svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.mw__media img,.mw__media svg {
    display: block;
    width: 100%;
    height: auto;
}
.mw__content {
    display: flex;
    flex-direction: column;
    gap: var(--lacuna-sm, 12px);
}
@media (min-width: 750px) {
    .mw__content {
        padding: var(--padding-lg);
    }
}
.dm-miwt__images {
    width: 100%;
    display: grid;
    grid-template: var(--dm-miwt-images-grid-template, none);
    align-items: var(--dm-miwt-images-align, center);
    position: relative;
}
.dm-miwt__images > img {
    width: 100%;
    max-width: var(--dm-miwt-image-max);
    height: auto;
    border-radius: var(--dm-radius);
    box-shadow: var(--dm-shadow);
    margin-inline: auto;
    transition: opacity 0.45s ease, visibility 0.45s ease, transform 0.45s ease;
    will-change: opacity, transform;
}
.dm-miwt__images[data-layout="stacked"] {
    position: relative;
    min-height: 1px;
}
@media (min-width: 700px) {
    .dm-miwt__images[data-layout="stacked"] > img {
        position: absolute;
        inset: 0;
        margin: 0 auto;
        opacity: 0;
        visibility: hidden;
        transform: translateY(6px);
    }
    .dm-miwt__images[data-layout="stacked"] > img.is-selected {
        position: relative;
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
}
.dm-miwt__images[data-layout="collage"] {
    gap: var(--dm-gutter);
}
.dm-miwt__images[data-layout="collage"] > img:first-child {
    grid-area: 1 / 2 / -1;
    margin-block-start: var(--dm-miwt-main-offset, 0px);
}
.dm-miwt__images[data-layout="scattered"] > img {
    transform: rotate(var(--image-rotation, 0deg));
}
.dm-miwt__content {
    display: grid;
    row-gap: clamp(16px, 2vw, 24px);
    text-align: var(--dm-miwt-align, center);
    justify-items: var(--dm-miwt-align, center);
    max-width: 600px;
    width: 100%;
    justify-self: start;
}
.dm-miwt__list {
    display: grid;
    place-items: start;
    width: 100%;
    position: relative;
}
.dm-miwt__slide {
    grid-area: 1 / -1;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.45s ease, visibility 0.45s ease, transform 0.45s ease;
    transform: translateY(6px);
}
.dm-miwt__slide.is-selected {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.dm-miwt__sub {
    font-weight: 700;
    margin: 0 0 6px;
}
.dm-miwt__title {
    font-size: clamp(28px, 4.4vw, 44px);
    line-height: 1.1;
    margin: 0 0 8px;
}
.dm-miwt__rich p {
    margin: 0.5em 0;
}
.dm-miwt__buttons {
    display: inline-flex;
    gap: 12px;
    margin-top: 6px;
}
.dm-btn {
    appearance: none;
    border: 0;
    border-radius: 999px;
    padding: 12px 20px;
    font-weight: 700;
    cursor: pointer;
    background: var(--dm-btn-bg);
    color: var(--dm-btn-text);
    transition: transform 0.12s ease, opacity 0.12s ease;
}
.dm-btn:hover {
    transform: translateY(-1px);
}
.dm-miwt__nav {
    display: flex;
    gap: 10px;
    align-items: center;
}
.dm-miwt__navBtn {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    background: #fff;
    color: #111;
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: transform 0.12s ease, background 0.2s ease;
}
.ilb-section {
    overflow: clip;
}
.ilb-section--page {
    max-width: var(--container-max-width, 1200px);
    margin-inline: auto;
    padding-inline: clamp(16px, 4vw, 32px);
}
.ilb-section--full {
    width: 100%;
}
.ilb-header {
    margin-bottom: clamp(12px, 2vw, 24px);
}
.ilb-header--start {
    text-align: left;
}
.ilb-header--center {
    text-align: center;
}
.ilb-header--end {
    text-align: right;
}
.ilb-subheading {
    font-weight: 600;
    opacity: 0.8;
    margin: 0 0 0.25rem 0;
    color: var(--ilb-heading-color);
}
.ilb-heading {
    font-size: clamp(20px, 3.5vw, 36px);
    line-height: 1.2;
    margin: 0;
}
.ilb-heading--gradient {
    background: var(--ilb-heading-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}
.ilb-richtext {
    color: var(--ilb-title-color);
    margin-top: 0.6rem;
}
.ilb-head-link {
    display: inline-block;
    margin-top: 0.8rem;
    text-decoration: underline;
}
.ilb-scroller-wrap {
    position: relative;
}
.ilb-scroller {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: var(--ilb-item-width);
    gap: var(--ilb-gap);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 4px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.ilb-scroller::-webkit-scrollbar {
    height: 8px;
}
.ilb-scroller::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 999px;
}
.ilb-item {
    scroll-snap-align: start;
}
.ilb-card,.ilb-overlay {
    display: grid;
    gap: 0.75rem;
    text-decoration: none;
    color: var(--ilb-card-fg, var(--ilb-title-color));
    background: var(--ilb-card-bg, transparent);
    border-radius: var(--ilb-radius);
    overflow: hidden;
}
.ilb-media {
    position: relative;
    isolation: isolate;
}
.ilb-img {
    width: 100%;
    height: 100%;
    aspect-ratio: 4/5;
    object-fit: cover;
    display: block;
    transform: scale(1);
    transition: transform 0.3s ease;
}
.ilb-overlay::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ilb-overlay, transparent);
    z-index: 1;
}
.ilb-overlay-caption {
    position: absolute;
    inset: auto 0 0 0;
    z-index: 2;
    display: flex;
    gap: 0.5rem;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 1rem;
    color: var(--ilb-card-fg, #fff);
}
.ilb-title {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    justify-content: center;
    margin: 0;
    color: var(--ilb-card-fg, var(--ilb-title-color));
}
.ilb-chev {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    color: #111;
    width: 32px;
    height: 32px;
    opacity: 0;
    transition: opacity 0.2s ease, transform 0.2s ease;
    transform: translateX(6px);
}
@media (pointer: fine) {
    .ilb-card:hover .ilb-img,.ilb-overlay:hover .ilb-img {
        transform: scale(1.04);
    }
    .ilb-card:hover .ilb-chev,.ilb-overlay:hover .ilb-chev {
        opacity: 1;
        transform: translateX(0);
    }
}
.ilb-ctrl {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: var(--ilb-ctrl-bg);
    color: var(--ilb-ctrl-fg);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    cursor: pointer;
    transition: opacity 0.2s ease;
}
.ilb-ctrl[disabled] {
    opacity: 0.4;
    cursor: not-allowed;
}
.ilb-ctrl--prev {
    left: 0;
    translate: -60% 0;
}
.ilb-ctrl--next {
    right: 0;
    translate: 60% 0;
}
@media (max-width: 699px) {
    .ilb-ctrl--prev {
        translate: 0 0;
        left: 6px;
    }
    .ilb-ctrl--next {
        translate: 0 0;
        right: 6px;
    }
}
.section-bento {
    position: relative;
}
.bento-grid {
    display: grid;
    grid-auto-flow: dense;
}
.bento-tile {
    position: relative;
    overflow: hidden;
    border-radius: var(--rounded-layout);
    min-height: 120px;
    isolation: isolate;
}
.bento-tile__bg {
    position: absolute;
    inset: 0;
    background-image: var(--tile-bg);
    background-size: cover;
    background-position: center;
    filter: var(--tile-bg-filter, none);
    z-index: 0;
    transform: scale(1);
    transition: transform 0.5s ease-out;
    will-change: transform;
}
.bento-tile__overlay {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.bento-tile__content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: var(--padding-lg);
    gap: var(--lacuna-sm);
}
@media screen and (max-width: 749px) {
    .bento-grid {
        grid-template-columns: repeat(var(--bento-cols-mobile, 2), 1fr) !important;
    }
    .bento-tile {
        grid-column: span var(--tile-col-mobile, 2) !important;
        grid-row: span var(--tile-row-mobile, 1) !important;
    }
}
.section-multi-columns {
    display: grid;
    gap: var(--lacuna-lg) 0;
}
.section-multi-columns .mc__header {
    max-width: var(--mc-max-width);
}
.section-multi-columns.align--left .prose,.section-multi-columns.align--left .mc__item {
    text-align: left;
    align-items: start;
}
.section-multi-columns.align--center .prose,.section-multi-columns.align--center .mc__item {
    text-align: center;
    align-items: center;
}
.section-multi-columns.align--right .prose,.section-multi-columns.align--right .mc__item {
    text-align: right;
    align-items: end;
}
.mc__grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 84%;
    gap: var(--lacuna-md);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}
.mc__grid::-webkit-scrollbar {
    display: none;
}
@media (min-width: 750px) {
    .mc__grid {
        overflow: visible;
        scroll-snap-type: none;
        grid-auto-flow: initial;
        grid-auto-columns: initial;
        grid-template-columns: repeat(var(--mc-cols, 3), minmax(0, 1fr));
    }
}
.mc__item {
    display: grid;
    align-content: start;
}
.mc__content {
    display: flex;
    flex-direction: column;
    gap: var(--lacuna-sm);
}
.mc__item {
    scroll-snap-align: start;
    scroll-snap-stop: always;
}
.mc__media img,.mc__media svg {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    background: #f6f6f6;
}
.mc__media {
    overflow: hidden;
    border-radius: var(--rounded-layout);
}
.mc__content .subheading {
    font: inherit;
    opacity: 0.7;
    margin: 0;
}
.color-line {
    background: linear-gradient(to right,#ffff4a 0,#fcd000 4%,#ffc112 5%,#a3d3fd 50%,#dbeeff 84%,#00d62e 119%);
    background-image: linear-gradient(to right,#ffff4a 0,#fcd000 7%,#ffc112 11%,#ff8a00 17%,#ff5f5f 23%,#ff5156 29%,#ff7ae7 35%,#ff5193 41%,#c739ff 46%,#a400e1 63%,#2eceff 76%,#0086ff 87%,#72f772 97%,#00d604);
    height: 5px;
    width: 100%;
}
.color-line2 {
    background: linear-gradient(to right,#191919 0,#ff2d3c 30%,#da0000 50%,#ff2d3c 75%,#191919 100%);
    width: 100%;
    height: 45px;
    padding: 5px;
    text-align: center;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media (min-width: 576px) {
    .color-line2 {
        height: 70px;
    }
}
* {
    box-sizing: border-box;
}body {
    color: var(--color-foreground);
    background: var(--color-background);
    display: flex;
    flex-direction: column;
    margin: 0;
    min-height: 100svh;
    font: var(--text-font-style) var(--text-font-weight) var(--text-base) / 1.6var(--text-font-family);
    letter-spacing: var(--text-letter-spacing);
}

:root {
    --hover-lift-amount: 4px;
    --hover-scale-amount: 1.03;
    --hover-subtle-zoom-amount: 1.015;
    --hover-shadow-color: var(--color-shadow);
    --hover-transition-duration: 0.25s;
    --hover-transition-timing: ease-out;
}

html {
    scrollbar-width: thin;
    scrollbar-color: rgb(var(--color-foreground-rgb) / var(--opacity-40))var(--color-background);
    scroll-behavior: smooth;
}

html[scroll-lock] {
    overflow: hidden;
}

[popover]:not(:popover-open, dialog[open]) {
    display: none;
}
body:not(.shopify) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

body:not(.shopify)::before {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-background);
    color: var(--color-foreground);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    z-index: 9999;
}

body.shopify {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.shopify::before {
    display: none !important;
}
img,picture,video,canvas,svg {
    display: block;
    max-width: 100%;
}
img {
    width: 100%;
    height: auto;
}
input,textarea,select {
    font: inherit;
    border-radius: var(--style-border-radius-inputs);
}
input:hover {
    background-color: var(--color-input-hover-background);
}
select {
    background-color: var(--color-background);
    color: currentcolor;
}
.product-card,.collection-card,.resource-card,.predictive-search-results__card--product,.predictive-search-results__card {
    position: relative;
    transition: transform var(--hover-transition-duration)var(--hover-transition-timing),box-shadow var(--hover-transition-duration) var(--hover-transition-timing);
    will-change: transform, box-shadow;
    z-index: var(--layer-flat);
}
.product-card__link {
    position: absolute;
    inset: 0;
}
.product-card__content {
    position: relative;
}
.product-card__content {
    cursor: pointer;
}
.product-card__content slideshow-component {
    --cursor: pointer;
}
.predictive-search-results__card .product-card,.predictive-search-results__card .collection-card,.predictive-search-results__card .resource-card {
    transition: none;
    will-change: auto;
}
@media (any-pointer: fine) and (prefers-reduced-motion: no-preference) {
    .card-hover-effect-lift .product-card:hover,.card-hover-effect-lift .collection-card:hover,.card-hover-effect-lift .resource-card:hover,.card-hover-effect-lift .predictive-search-results__card:hover {
        transform: translateY(calc(-1 * var(--hover-lift-amount)));
    }
    .card-hover-effect-lift .header .product-card:hover,.card-hover-effect-lift .header .collection-card:hover,.card-hover-effect-lift .header .resource-card:hover,.card-hover-effect-lift .header-drawer .product-card:hover,.card-hover-effect-lift .header-drawer .collection-card:hover,.card-hover-effect-lift .header-drawer .resource-card:hover {
        transform: none;
    }
    .card-hover-effect-scale .product-card:hover,.card-hover-effect-scale .collection-card:hover,.card-hover-effect-scale .resource-card:hover,.card-hover-effect-scale .predictive-search-results__card:hover {
        transform: scale(var(--hover-scale-amount));
    }
    .card-hover-effect-scale .header .product-card:hover,.card-hover-effect-scale .header .collection-card:hover,.card-hover-effect-scale .header .resource-card:hover,.card-hover-effect-scale .header-drawer .product-card:hover,.card-hover-effect-scale .header-drawer .collection-card:hover,.card-hover-effect-scale .header-drawer .resource-card:hover {
        transform: none;
    }
    .card-hover-effect-subtle-zoom .card-gallery,.card-hover-effect-subtle-zoom .collection-card__image,.card-hover-effect-subtle-zoom .product-card__image,.card-hover-effect-subtle-zoom .resource-card__image {
        overflow: hidden;
        transition: transform var(--hover-transition-duration)var(--hover-transition-timing);
    }
    .predictive-search-results__card .card-gallery,.predictive-search-results__card .collection-card__image,.predictive-search-results__card .product-card__image,.predictive-search-results__card .resource-card__image {
        transition: none;
    }
    .card-hover-effect-subtle-zoom .product-card:hover .product-media__image,.card-hover-effect-subtle-zoom .collection-card:hover .product-media__image,.card-hover-effect-subtle-zoom .product-card:hover .product-media__image,.card-hover-effect-subtle-zoom .resource-card:hover .resource-card__image,.card-hover-effect-subtle-zoom .predictive-search-results__card:hover {
        transform: scale(var(--hover-subtle-zoom-amount));
    }
    .card-hover-effect-subtle-zoom .header .product-card:hover .card-gallery,.card-hover-effect-subtle-zoom.header.collection-card:hover.collection-card__image,.card-hover-effect-subtle-zoom.header.product-card:hover.product-card__image,.card-hover-effect-subtle-zoom.header.resource-card:hover.resource-card__image,.card-hover-effect-subtle-zoom.header-drawer.product-card:hover.card-gallery,.card-hover-effect-subtle-zoom.header-drawer.collection-card:hover.collection-card__image,.card-hover-effect-subtle-zoom.header-drawer.product-card:hover.product-card__image,.card-hover-effect-subtle-zoom.header-drawer.resource-card:hover.resource-card__image {
        transform: none;
    }
    .predictive-search-results__card .product-card:hover,.predictive-search-results__card .collection-card:hover,.predictive-search-results__card .resource-card:hover,.header .product-card:hover,.header .collection-card:hover,.header .resource-card:hover,.header-drawer .product-card:hover,.header-drawer .collection-card:hover,.header-drawer .resource-card:hover {
        transform: none;
        box-shadow: none;
    }
}
dialog {
    --backdrop-color-rgb: var(--color-shadow-rgb);
    background-color: var(--color-background);
    color: var(--color-foreground);
}
p,h1,h2,h3,h4,h5,h6 {
    overflow-wrap: break-word;
}
p:empty {
    display: none;
}
@media (prefers-reduced-motion: no-preference) {
    @view-transition {
        navigation: auto;
    }
    :root {
        view-transition-name: none;
    }
    html:active-view-transition-type(page-navigation),html:active-view-transition-type(product-image-transition) {
        view-transition-name: root-custom;
    }
    ::view-transition {
        pointer-events: none;
    }
    html:active-view-transition-type(page-navigation)main[data-page-transition-enabled="true"] {
        view-transition-name: main-content;
    }
    html:active-view-transition-type(page-navigation)main[data-product-transition="true"][data-template*="product"] {
        view-transition-name: none;
    }
    ::view-transition-old(main-content) {
        animation: var(--view-transition-old-main-content);
    }
    ::view-transition-new(main-content) {
        animation: var(--view-transition-new-main-content);
    }
    html:active-view-transition-type(product-image-transition) {
        [data-view-transition-type="product-image-transition"] {
            view-transition-name: product-image-transition;
        }
        [data-view-transition-type="product-details"] {
            view-transition-name: product-details;
        }
    }
    ::view-transition-group(product-image-transition) {
        z-index: 1;
    }
    ::view-transition-group(product-image-transition),::view-transition-group(product-details) {
        animation-duration: var(--animation-speed);
        animation-timing-function: var(--animation-easing);
    }
    ::view-transition-old(product-image-transition),::view-transition-new(product-image-transition) {
        block-size: 100%;
        overflow: hidden;
        object-fit: cover;
        animation-duration: 0.25s;
        animation-timing-function: var(--animation-easing);
    }
    ::view-transition-new(product-details) {
        animation: var(--view-transition-new-main-content);
    }
}
*:focus-visible {
    outline: var(--focus-outline-width) solid currentcolor;
    outline-offset: var(--focus-outline-offset);
}
@supports not selector(:focus-visible) {
    *:focus {
        outline: var(--focus-outline-width) solid currentcolor;
        outline-offset: var(--focus-outline-offset);
    }
}
.focus-inset {
    outline-offset: calc(var(--focus-outline-width) * -1);
}
.content-for-layout {
    flex: 1;
}
.page-width-wide,.page-width-normal,.page-width-narrow,.page-width-content {
    --page-margin: 16px;
}
@media screen and (min-width: 750px) {
    .page-width-wide,.page-width-normal,.page-width-narrow,.page-width-content {
        --page-margin: 40px;
    }
}
.page-width-wide {
    --page-content-width: var(--wide-page-width);
    --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2));
}
.page-width-normal {
    --page-content-width: var(--normal-page-width);
    --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2));
}
.page-width-narrow,.page-width-content {
    --page-content-width: var(--narrow-page-width);
    --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2));
}
.page-width-content {
    --page-content-width: var(--normal-content-width);
    --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2));
}
.section {
    --full-page-grid-central-column-width: min(var(--page-width) - var(--page-margin) * 2,calc(100% - var(--page-margin) * 2));
    --full-page-grid-margin: minmax(var(--page-margin), 1fr);
    --full-page-grid-with-margins: var(--full-page-grid-margin)var(--full-page-grid-central-column-width) var(--full-page-grid-margin);
    --util-page-margin-offset: max(var(--page-margin),calc((100% -min(var(--page-content-width),calc(100% - (var(--page-margin) * 2)))) / 2));
    --full-page-margin-inline-offset: calc(((100vw - var(--full-page-grid-central-column-width)) / 2) * -1);
    width: 100%;
    position: relative;
    display: grid;
    grid-template-columns: var(--full-page-grid-with-margins);
    min-height: var(--section-min-height, "auto");
}
.section > * {
    grid-column: 2;
}
.shopify-section:not(.header-section) :is(.section, .cart__summary-container) {
    background: transparent;
}
.shopify-section:not(.header-section):has(.section) {
    position: relative;
}
.shopify-section:not(.header-section) .section-background {
    content: "";
    position: absolute;
    inset: 0;
    z-index: var(--layer-section-background);
}
.section--page-width > * {
    grid-column: 2;
}
.section--full-width > * {
    grid-column: 1 / -1;
}
.section--page-width.section--full-width-right > * {
    grid-column: 2 / 4;
}
.section--full-width.section--full-width-margin > * {
    grid-column: 1 / -1;
    @media screen and (min-width: 750px) {
        padding-left: var(--page-margin);
        padding-right: var(--page-margin);
    }
}
.section > .force-full-width {
    grid-column: 1 / -1;
}
.section--height-small {
    --section-min-height: var(--section-height-small);
}
.section--height-medium {
    --section-min-height: var(--section-height-medium);
}
.section--height-large {
    --section-min-height: var(--section-height-large);
}
.section--height-full-screen {
    --section-min-height: 100svh;
}
.section-content-wrapper.section-content-wrapper {
    min-height: calc(var(--section-min-height, "auto") - var(--section-height-offset, 0px));
    position: relative;
    width: 100%;
    height: 100%;
}
.hidden {
    display: none !important;
}
@media screen and (max-width: 749px) {
    .hidden--mobile,.mobile\:hidden {
        display: none !important;
    }
}
@media screen and (min-width: 750px) {
    .hidden--desktop,.desktop\:hidden {
        display: none !important;
    }
}
.hide-when-empty:empty {
    display: none !important;
}
.visually-hidden:not(:focus, :active) {
    position: absolute !important;
    overflow: hidden;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    word-wrap: normal !important;
}
@media screen and (max-width: 749px) {
    .is-visually-hidden-mobile:not(:focus, :active) {
        position: absolute !important;
        overflow: hidden;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        border: 0;
        clip: rect(0 0 0 0);
        word-wrap: normal !important;
    }
}
.contents {
    display: contents;
}
.flex {
    display: flex;
    gap: var(--gap-md);
}
.grid {
    --centered-column-number: 12;
    --full-width-column-number: 14;
    --centered: column-1 / span var(--centered-column-number);
    --full-width: column-0 / span var(--full-width-column-number);
    display: flex;
    flex-direction: column;
}
@media screen and (min-width: 750px) {
    .grid {
        display: grid;
        gap: 0;
        grid-template-columns: var(--margin-4xl) repeat(var(--centered-column-number),minmax(0, 1fr)) var(--margin-4xl);
        grid-template-areas: "column-0 column-1 column-2 column-3 column-4 column-5 column-6 column-7 column-8 column-9 column-10 column-11 column-12 column-13";
    }
}
@media screen and (min-width: 1400px) {
    .grid {
        grid-template-columns: 1fr repeat(var(--centered-column-number),minmax(0,calc((var(--page-width) - var(--page-margin) * 2) /var(--centered-column-number)))) 1fr;
    }
}
.flex {
    display: flex;
    gap: var(--gap-md);
}
.flip-x {
    scale: -1 1;
}
.flip-y {
    scale: 1 -1;
}
.list-unstyled {
    margin: 0;
    padding: 0;
    list-style: none;
}
.skip-to-content-link {
    position: absolute;
    overflow: hidden;
    height: 1px;
    left: -99999px;
    word-wrap: normal !important;
}
.skip-to-content-link:focus {
    z-index: var(--layer-temporary);
    overflow: auto;
    width: auto;
    height: auto;
    padding: var(--padding-lg) var(--padding-4xl);
    left: var(--margin-lg);
    top: var(--margin-lg);
    box-shadow: 0 0 0 var(--focus-outline-offset) var(--color-background);
}
.text-left {
    --text-align: left;
    text-align: left;
}
.text-center {
    --text-align: center;
    text-align: center;
}
.text-right {
    --text-align: right;
    text-align: right;
}
.text-inherit {
    color: inherit;
}
.user-select-text {
    user-select: text;
}
.justify-left {
    justify-content: left;
}
.justify-center {
    justify-content: center;
}
.justify-right {
    justify-content: right;
}
.title--aligned-center {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.background-image-container {
    overflow: hidden;
    position: absolute;
    inset: 0;
    opacity: var(--image-opacity);
}
.background-image-container img,.background-image-container svg {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.background-image-fit img,.background-image-fit svg {
    object-fit: contain;
}
.svg-wrapper {
    color: currentcolor;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: var(--icon-size-sm);
    height: var(--icon-size-sm);
    pointer-events: none;
}
.svg-wrapper--smaller {
    width: var(--icon-size-2xs);
    height: var(--icon-size-2xs);
}
.svg-wrapper--small {
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
}
.svg-wrapper > svg {
    width: var(--icon-size-sm);
    height: var(--icon-size-sm);
}
.relative {
    position: relative;
}
}