:root {
  --glow-radius-sm: 0px;
  --glow-radius-md: 0px;
  --glow-radius-lg: 0px;
  --glow-shadow-soft: none;
  --glow-shadow-card: none;
  --glow-display-tracking: 0em;
  --glow-label-tracking: 0.1em;
  --glow-transition: 240ms ease;
  --glow-accent-gradient: linear-gradient(86deg, #eadabc, #131211 1%, #131211 99%, #a1815c);
  --glow-sale-gradient: linear-gradient(90deg, #ba9a73 0%, #e5d0b6 50%, #ba9a73 100%);
}

/* Keep the Enchanted Garden design tokens isolated to the homepage. */
body[data-page-type="index"] {
  --color-page-background: 238, 238, 238;
  --page-width: var(--glow-home-page-width, 1400px);
  --sort-title-font: var(--glow-home-title-font, "Jost", sans-serif);
  --sort-title-font-style: var(--glow-home-title-style, normal);
  --sort-title-font-weight: var(--glow-home-title-weight, 400);
  --sort-title-letter-spacing: var(--glow-home-title-letter-spacing, 0.00000001em);
  --sort-title-line-height: var(--glow-home-title-line-height, 1.2);
  --sort-title-text-transform: var(--glow-home-title-transform, uppercase);
  --sort-title0-font: var(--glow-home-title-font, "Jost", sans-serif);
  --sort-title1-font: var(--glow-home-title-font, "Jost", sans-serif);
  --sort-title2-font: var(--glow-home-title-font, "Jost", sans-serif);
  --sort-title3-font: var(--glow-home-title-font, "Jost", sans-serif);
  --sort-title4-font: var(--glow-home-title-font, "Jost", sans-serif);
  --sort-title5-font: var(--glow-home-title-font, "Jost", sans-serif);
  --sort-title6-font: var(--glow-home-title-font, "Jost", sans-serif);
  --sort-title0-size: calc(var(--glow-home-title-size, 35px) * 3.3333);
  --sort-title1-size: calc(var(--glow-home-title-size, 35px) * 2.3333);
  --sort-title2-size: calc(var(--glow-home-title-size, 35px) * 1.6667);
  --sort-title3-size: calc(var(--glow-home-title-size, 35px) * 1.2);
  --sort-title4-size: var(--glow-home-title-size, 35px);
  --sort-title5-size: calc(var(--glow-home-title-size, 35px) * 0.8333);
  --sort-title6-size: calc(var(--glow-home-title-size, 35px) * 0.6667);
  --sort-title0-font-style: var(--glow-home-title-style, normal);
  --sort-title1-font-style: var(--glow-home-title-style, normal);
  --sort-title2-font-style: var(--glow-home-title-style, normal);
  --sort-title3-font-style: var(--glow-home-title-style, normal);
  --sort-title4-font-style: var(--glow-home-title-style, normal);
  --sort-title5-font-style: var(--glow-home-title-style, normal);
  --sort-title6-font-style: var(--glow-home-title-style, normal);
  --sort-title0-font-weight: var(--glow-home-title-weight, 400);
  --sort-title1-font-weight: var(--glow-home-title-weight, 400);
  --sort-title2-font-weight: var(--glow-home-title-weight, 400);
  --sort-title3-font-weight: var(--glow-home-title-weight, 400);
  --sort-title4-font-weight: var(--glow-home-title-weight, 400);
  --sort-title5-font-weight: var(--glow-home-title-weight, 400);
  --sort-title6-font-weight: var(--glow-home-title-weight, 400);
  --sort-title0-line-height: var(--glow-home-title-line-height, 1.2);
  --sort-title1-line-height: var(--glow-home-title-line-height, 1.2);
  --sort-title2-line-height: var(--glow-home-title-line-height, 1.2);
  --sort-title3-line-height: var(--glow-home-title-line-height, 1.2);
  --sort-title4-line-height: var(--glow-home-title-line-height, 1.2);
  --sort-title5-line-height: var(--glow-home-title-line-height, 1.2);
  --sort-title6-line-height: var(--glow-home-title-line-height, 1.2);
  --sort-title0-letter-spacing: var(--glow-home-title-letter-spacing, 0.00000001em);
  --sort-title1-letter-spacing: var(--glow-home-title-letter-spacing, 0.00000001em);
  --sort-title2-letter-spacing: var(--glow-home-title-letter-spacing, 0.00000001em);
  --sort-title3-letter-spacing: var(--glow-home-title-letter-spacing, 0.00000001em);
  --sort-title4-letter-spacing: var(--glow-home-title-letter-spacing, 0.00000001em);
  --sort-title5-letter-spacing: var(--glow-home-title-letter-spacing, 0.00000001em);
  --sort-title6-letter-spacing: var(--glow-home-title-letter-spacing, 0.00000001em);
  --sort-title0-text-transform: var(--glow-home-title-transform, uppercase);
  --sort-title1-text-transform: var(--glow-home-title-transform, uppercase);
  --sort-title2-text-transform: var(--glow-home-title-transform, uppercase);
  --sort-title3-text-transform: var(--glow-home-title-transform, uppercase);
  --sort-title4-text-transform: var(--glow-home-title-transform, uppercase);
  --sort-title5-text-transform: var(--glow-home-title-transform, uppercase);
  --sort-title6-text-transform: var(--glow-home-title-transform, uppercase);
  --title0-font-size-mobile-ratio: 1;
  --title1-font-size-mobile-ratio: 0.4286;
  --title2-font-size-mobile-ratio: 0.5;
  --title3-font-size-mobile-ratio: 0.6111;
  --title4-font-size-mobile-ratio: 0.6667;
  --title5-font-size-mobile-ratio: 0.72;
  --title6-font-size-mobile-ratio: 0.9;
  --sort-body-font: var(--glow-home-body-font, "Jost", sans-serif);
  --sort-body-font-weight: var(--glow-home-body-weight, 400);
  --sort-body-style: var(--glow-home-body-style, normal);
  --sort-body-letter-spacing: var(--glow-home-body-letter-spacing, 0.00000001em);
  --sort-body-size: var(--glow-home-body-size, 16px);
  --sort-body-line-height: var(--glow-home-body-line-height, 1.5);
  --sort-body0-font: var(--glow-home-body-font, "Jost", sans-serif);
  --sort-body1-font: var(--glow-home-body-font, "Jost", sans-serif);
  --sort-body2-font: var(--glow-home-body-font, "Jost", sans-serif);
  --sort-body3-font: var(--glow-home-body-font, "Jost", sans-serif);
  --sort-body4-font: var(--glow-home-body-font, "Jost", sans-serif);
  --sort-body5-font: var(--glow-home-body-font, "Jost", sans-serif);
  --sort-body6-font: var(--glow-home-body-font, "Jost", sans-serif);
  --sort-body0-size: calc(var(--glow-home-body-size, 16px) * 1.1429);
  --sort-body1-size: calc(var(--glow-home-body-size, 16px) * 1.5714);
  --sort-body2-size: calc(var(--glow-home-body-size, 16px) * 1.2857);
  --sort-body3-size: calc(var(--glow-home-body-size, 16px) * 1.1429);
  --sort-body4-size: var(--glow-home-body-size, 16px);
  --sort-body5-size: calc(var(--glow-home-body-size, 16px) * 0.9286);
  --sort-body6-size: calc(var(--glow-home-body-size, 16px) * 0.8571);
  --body0-font-size-mobile-ratio: 1;
  --body1-font-size-mobile-ratio: 0.7273;
  --body2-font-size-mobile-ratio: 0.8333;
  --body3-font-size-mobile-ratio: 0.875;
  --body4-font-size-mobile-ratio: 0.9286;
  --body5-font-size-mobile-ratio: 0.9231;
  --body6-font-size-mobile-ratio: 1;
  --glow-header-logo-desktop-size: 32px;
  --glow-header-logo-mobile-size: 24px;
  --glow-header-menu-size: 14px;
  --glow-header-menu-spacing: 0.08em;
}

body[data-page-type="index"].color-scheme-1,
body[data-page-type="index"] .color-scheme-1 {
  --color-background: 238, 238, 238;
  --color-media-background: 226, 226, 226;
  --color-card-background: 255, 255, 255;
  --color-text: 32, 33, 37;
  --color-light-text: 102, 103, 107;
  --color-entry-line: 207, 207, 207;
  --color-button-background: 32, 33, 37;
  --color-button-text: 238, 238, 238;
  --color-button-secondary-background: 238, 238, 238;
  --color-button-secondary-text: 32, 33, 37;
  --color-button-secondary-border: 32, 33, 37;
  --color-button-text-link: 32, 33, 37;
}

body[data-page-type="index"] .color-scheme-2 {
  --color-background: 19, 18, 17;
  --color-media-background: 32, 33, 37;
  --color-card-background: 238, 238, 238;
  --color-text: 255, 255, 255;
  --color-light-text: 238, 238, 238;
  --color-entry-line: 85, 85, 85;
  --color-button-background: 238, 238, 238;
  --color-button-text: 32, 33, 37;
  --color-button-secondary-background: 19, 18, 17;
  --color-button-secondary-text: 238, 238, 238;
  --color-button-secondary-border: 238, 238, 238;
  --color-button-text-link: 255, 255, 255;
}

body[data-page-type="index"] .color-scheme-3 {
  --color-background: 255, 255, 255;
  --color-media-background: 238, 238, 238;
  --color-card-background: 238, 238, 238;
  --color-text: 32, 33, 37;
  --color-light-text: 102, 103, 107;
  --color-entry-line: 215, 215, 215;
  --color-button-background: 32, 33, 37;
  --color-button-text: 238, 238, 238;
  --color-button-secondary-background: 255, 255, 255;
  --color-button-secondary-text: 32, 33, 37;
  --color-button-secondary-border: 32, 33, 37;
  --color-button-text-link: 32, 33, 37;
}

body[data-page-type="index"] .color-scheme-4 {
  --color-background: 32, 33, 37;
  --color-media-background: 19, 18, 17;
  --color-card-background: 238, 238, 238;
  --color-text: 238, 238, 238;
  --color-light-text: 238, 238, 238;
  --color-entry-line: 85, 86, 90;
  --color-button-background: 238, 238, 238;
  --color-button-text: 32, 33, 37;
  --color-button-secondary-background: 32, 33, 37;
  --color-button-secondary-text: 238, 238, 238;
  --color-button-secondary-border: 238, 238, 238;
  --color-button-text-link: 238, 238, 238;
}

html {
  scroll-behavior: smooth;
}

body {
  background: rgb(var(--color-page-background));
  color: rgb(var(--color-text));
  font-family: var(--sort-body-font);
  font-size: var(--sort-body-size);
  font-weight: 400;
  line-height: var(--sort-body-line-height);
  letter-spacing: var(--sort-body-letter-spacing);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection {
  color: #eeeeee;
  background: #202125;
}

body :where(h1, h2, h3, .title1, .title2, .title3) {
  font-family: var(--sort-title-font);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: var(--sort-title-text-transform);
  text-wrap: balance;
}

body :where(p, .rte) {
  text-wrap: pretty;
}

body[data-page-type="index"] .image-banner-section .block-heading {
  font-style: italic;
  white-space: pre-wrap;
}

body[data-page-type="index"] .image-banner-section .block-button-group {
  display: flex;
  flex-grow: 0;
  gap: 14px;
}

.page-width {
  width: min(100%, var(--page-width, 1400px));
}

.button,
.shopline-payment-button__button {
  min-height: 48px;
  padding-inline: 28px;
  font-size: var(--glow-global-link-size);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 999px;
  transition: color var(--glow-transition), background-color var(--glow-transition), border-color var(--glow-transition);
}

.button:hover,
.shopline-payment-button__button:hover {
  transform: none;
  box-shadow: none;
}

.header-section {
  background: rgb(var(--color-background));
  border-bottom: 0;
  box-shadow: none;
}

body[data-page-type="index"] .header-section {
  position: absolute;
  right: 0;
  left: 0;
  z-index: 5;
  color: rgb(var(--color-text));
  background: transparent;
}

body[data-page-type="index"] .header__container-bottom {
  background: transparent;
}

body[data-page-type="index"] .header-section.is-sticky,
body[data-page-type="index"] .header-section[sticky] {
  background: rgb(32 33 37 / 88%);
  box-shadow: 0 8px 24px rgb(0 0 0 / 10%);
  backdrop-filter: blur(14px) saturate(140%);
}

.header__container-top-wrap {
  min-height: 100px;
}

.header__logo-link {
  font-family: var(--sort-title-font);
  font-size: var(--glow-header-logo-desktop-size, 32px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}

.header-nav__menu-item > a {
  font-size: var(--glow-header-menu-size, 14px);
  font-weight: 500;
  letter-spacing: var(--glow-header-menu-spacing, 0.08em);
  text-transform: uppercase;
}

.header-nav__underline::after {
  height: 1px;
}

.product-card,
.collection-card,
.product-card img,
.collection-card img {
  border-radius: 0;
}

.product-card,
.collection-card {
  overflow: hidden;
  transition: opacity var(--glow-transition);
}

.product-card:hover,
.collection-card:hover {
  box-shadow: none;
  transform: none;
  opacity: 0.88;
}

.product-card :where(.title3, .product-card__title),
.collection-card :where(.title3, .collection-card__title) {
  letter-spacing: 0;
}

.footer {
  border-top: 0;
}

.footer a {
  text-underline-offset: 4px;
}

:where(a, button, input, textarea, select):focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

.glow-motion-ready [data-glow-reveal] {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 520ms ease, transform 520ms ease;
}

.glow-motion-ready [data-glow-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* The reference homepage uses a near-black field with fine warm edges. */
.glow-section--logos .color-scheme-2,
.glow-section--testimonials .color-scheme-2,
.glow-section--categories .color-scheme-2,
.glow-section--story .color-scheme-2,
.glow-section--community .color-scheme-2,
.glow-section--promos .color-scheme-2 {
  background: var(--glow-accent-gradient);
}

@media (max-width: 991px) {
  .button,
  .shopline-payment-button__button {
    min-height: 46px;
    padding-inline: 22px;
  }

  .header__container-top-wrap {
    min-height: 60px;
  }

  .header__logo-link {
    font-size: var(--glow-header-logo-mobile-size, 24px);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .glow-motion-ready [data-glow-reveal] {
    opacity: 1;
    transform: none;
  }
}
