/** Shopify CDN: Minification failed

Line 3556:0 Unexpected "{"
Line 3556:1 Expected identifier but found "%"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:melody-contact-showrooms (INDEX:43) */
.melody-contact-showrooms{background:#faf8f3;color:#252623;padding:40px 0 24px}.mcs-inner{max-width:1200px;margin:0 auto;padding:0 40px}.mcs-header{text-align:center;margin-bottom:42px}.mcs-header h1{font-size:clamp(30px,3.4vw,44px);font-weight:400;margin:12px 0}.mcs-header>p:last-child{font-size:16px;color:#686156;margin:0}.mcs-eyebrow{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:#686156;margin:0}.mcs-contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-bottom:38px}.mcs-contact a{border-bottom:1px solid #d8cfc2;padding:0 0 18px;text-decoration:none;min-height:68px;display:flex;flex-direction:column;gap:10px}.mcs-contact span{font-size:11px;color:#686156;letter-spacing:.04em;text-transform:uppercase}.mcs-contact strong{font-size:19px;font-weight:400;overflow-wrap:anywhere}.mcs-map-heading{font-size:30px;font-weight:400;margin:0 0 24px}.mcs-locations{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(0,1fr);gap:48px;align-items:start}.mcs-map{margin:0;min-width:0}.mcs-map img{display:block;width:100%;height:auto;aspect-ratio:1}.mcs-map figcaption{font-size:10px;margin-top:7px;color:#686156}.mcs-map figcaption a{text-decoration:underline}.mcs-branches{padding-top:20px;min-width:0}.mcs-branch+.mcs-branch{border-top:1px solid #d8cfc2;padding-top:32px;margin-top:32px}.mcs-branch-heading{display:flex;gap:22px;align-items:center}.mcs-photo{height:90px;width:90px;object-fit:cover;object-position:center 30%;flex:0 0 90px}.mcs-branch h3{font-size:27px;font-weight:400;line-height:1.25;margin:10px 0}.mcs-address{font-size:13px;color:#686156;margin:0}.mcs-hours{font-size:14px;margin:26px 0 10px}.mcs-landline{font-size:15px;display:inline-flex;align-items:center;min-height:44px}.mcs-directions{display:flex;justify-content:space-between;align-items:center;background:#252623;color:#fff!important;min-height:46px;padding:12px 18px;text-decoration:none;font-size:13px;margin-top:18px;border:1px solid #252623}.mcs-directions:hover{background:#483321}.mcs-enquiry{margin-top:26px;border-top:1px solid #d8cfc2;border-bottom:1px solid #d8cfc2}.mcs-enquiry form{margin:0}.mcs-enquiry summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:96px;padding:22px 0}.mcs-enquiry summary::-webkit-details-marker{display:none}.mcs-enquiry-title{display:block;font-family:var(--typeHeaderPrimary),var(--typeHeaderFallback);font-size:28px;line-height:1.3}.mcs-enquiry-subtitle{display:block;color:#686156;font-size:13px;margin-top:9px}.mcs-toggle{width:24px;height:24px;position:relative;flex:0 0 24px}.mcs-toggle:before,.mcs-toggle:after{content:"";position:absolute;background:currentColor;top:11px;left:5px;width:14px;height:1px}.mcs-toggle:after{transform:rotate(90deg)}.mcs-enquiry details[open] .mcs-toggle:after{transform:rotate(0)}.mcs-form-fields{max-width:720px;margin:0 auto;padding:12px 0 30px;text-align:left}.mcs-form-fields input{min-height:44px}.mcs-form-fields textarea{min-height:110px}.mcs-form-fields .btn{min-height:48px}.mcs-form-fields p:last-child{font-size:12px}.melody-contact-showrooms a:focus-visible,.mcs-enquiry summary:focus-visible{outline:2px solid #483321;outline-offset:5px}.mcs-form-fields input:focus-visible,.mcs-form-fields textarea:focus-visible,.mcs-form-fields button:focus-visible{outline:2px solid #483321;outline-offset:3px}
@media(max-width:749px){.melody-contact-showrooms{padding:28px 0 18px}.mcs-inner{padding:0 22px}.mcs-header{margin-bottom:26px}.mcs-header h1{font-size:30px}.mcs-header>p:last-child{font-size:13px}.mcs-eyebrow{font-size:10px}.mcs-contact{grid-template-columns:1fr;gap:14px;text-align:center;margin-bottom:28px}.mcs-contact a{gap:6px;min-height:56px;padding-bottom:12px}.mcs-contact strong{font-size:15px}.mcs-contact span{font-size:10px}.mcs-map-heading{font-size:25px;text-align:center;margin-bottom:18px}.mcs-locations{grid-template-columns:1fr;gap:18px}.mcs-map figcaption{font-size:9px}.mcs-branches{padding:0;text-align:center}.mcs-branch-heading{justify-content:center}.mcs-photo{display:none}.mcs-branch h3{font-size:24px;margin:10px 0 8px}.mcs-branch+.mcs-branch{padding-top:22px;margin-top:22px}.mcs-hours{margin:18px 0 0;font-size:13px}.mcs-landline{font-size:14px}.mcs-directions{max-width:280px;margin:6px auto 0;justify-content:center;gap:18px}.mcs-enquiry{margin-top:26px}.mcs-enquiry summary{min-height:94px;text-align:center;padding:20px 0;position:relative;justify-content:center}.mcs-enquiry-title{font-size:24px}.mcs-enquiry-subtitle{font-size:12px;padding:0 20px}.mcs-toggle{position:absolute;right:0;top:22px;width:18px;flex-basis:18px}.mcs-enquiry-title{padding:0 22px}.mcs-form-fields{padding-top:8px}.mcs-form-fields .btn{width:100%}}
/* END_SECTION:melody-contact-showrooms */

/* START_SECTION:melody-featured-picks (INDEX:44) */
.shopify-section.index-section:has(> .mp-product-row[data-dubai-day]) {
    margin-block: 24px;
  }
  .mp-product-row[data-dubai-day] {
    --mp-row-desktop-gap: 16px;
    --mp-row-mobile-gap: 12px;
  }
  .mp-product-row[data-dubai-day]::before {
    margin-block-end: 16px;
  }
  .mp-product-row[data-dubai-day] .section-header {
    margin-bottom: 14px;
  }
  @media (max-width: 768px) {
    .shopify-section.index-section:has(> .mp-product-row[data-dubai-day]) {
      margin-block: 16px;
    }
    .mp-product-row[data-dubai-day]::before {
      margin-block-end: 12px;
    }
    .mp-product-row[data-dubai-day] .section-header {
      margin-bottom: 10px;
    }
  }
/* END_SECTION:melody-featured-picks */

/* START_SECTION:melody-home-feature (INDEX:47) */
.melody-trial-banner{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.35fr);align-items:stretch;overflow:hidden;background:#f3eee6;color:#191816;text-decoration:none;border:1px solid #e6dfd3}
.melody-trial-banner:hover{color:#191816}
.melody-trial-banner__copy{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 28px;min-width:0}
.melody-trial-banner__eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px;color:#655743}
.template-index .melody-feature--trial .melody-trial-banner__copy h3{color:#191816;font-size:clamp(24px,2.4vw,34px);line-height:1.2;margin:0 0 14px;letter-spacing:0;text-transform:none}
.melody-trial-banner__copy p{font-size:14px;line-height:1.6;max-width:320px;margin:0 0 10px}
.melody-trial-banner__copy .melody-trial-banner__categories{font-size:12px;line-height:1.5;color:#5d564c;margin-bottom:22px}
.melody-trial-banner__button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:#191816;color:#fff;padding:12px 20px;min-height:46px;font-size:13px;line-height:1.4;border:1px solid #191816}
.melody-trial-banner:hover .melody-trial-banner__button{background:#3b342b}
html:lang(ar) .melody-trial-banner__button>span{transform:rotate(180deg)}
.melody-trial-banner:focus-visible{outline:3px solid #655743;outline-offset:4px}
.melody-trial-banner__image{min-width:0;align-self:center;background:#e9dfd1}
.melody-trial-banner__image img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain}
@media(max-width:768px){.melody-trial-banner{grid-template-columns:1fr}.melody-trial-banner__image{grid-row:1}.melody-trial-banner__copy{padding:25px 20px 28px}.template-index .melody-feature--trial .melody-trial-banner__copy h3{color:#191816;font-size:26px}.melody-trial-banner__eyebrow{margin-bottom:10px}.melody-trial-banner__copy .melody-trial-banner__categories{margin-bottom:18px}}
.melody-feature__grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center; }
.melody-feature__media { min-width:0; }
.melody-feature__media img,.melody-feature__media video { display:block; width:100%; height:auto; }
.melody-feature__media video { aspect-ratio:16/9; object-fit:contain; background:#111; }
.melody-feature__copy h3 { font-size:30px; text-transform:none; letter-spacing:0; }
.melody-feature__copy p { font-size:15px; line-height:1.7; }
.melody-feature__link { display:inline-block; margin-top:16px; font-size:14px; text-decoration:underline; text-underline-offset:5px; }
.melody-feature__products { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.melody-feature--trial .melody-feature__grid { border:1px solid #ddd; gap:0; align-items:stretch; }
.melody-feature--trial .melody-feature__copy { padding:32px; align-self:center; }
.melody-feature--trial .melody-feature__media img { height:100%; object-fit:cover; }
@media(max-width:768px) { .melody-feature__grid { grid-template-columns:1fr; gap:22px; } .melody-feature--room .melody-feature__grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; } .melody-feature--room .melody-feature__grid>* { flex:0 0 88%; scroll-snap-align:start; } .melody-feature__copy h3 { font-size:24px; } .melody-feature__copy p { font-size:13px; } .melody-feature--trial .melody-feature__grid { grid-template-columns:38% 1fr; } .melody-feature--trial .melody-feature__copy { padding:18px; } .melody-feature--trial h3 { font-size:22px; } }
/* END_SECTION:melody-home-feature */

/* START_SECTION:melody-home-locations (INDEX:49) */
.melody-locations { padding-top:32px; padding-bottom:32px; color:#111; }
.melody-locations__heading { margin-bottom:18px; }
.melody-locations__heading h2 { text-transform:none; letter-spacing:0; margin-bottom:8px; }
.melody-locations__heading p { margin-bottom:0; font-size:13px; }
.melody-locations__map { display:block; width:100%; height:420px; border:1px solid #ddd; }
.melody-locations__branches { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:18px; }
.melody-locations__branches article { padding:20px; border:1px solid #ddd; }
.melody-locations__branches h3 { font-size:21px; text-transform:none; letter-spacing:0; margin-bottom:12px; }
.melody-locations__branches p { font-size:13px; min-height:20px; }
.melody-locations__branches a { font-size:13px; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:768px) {
  .melody-locations { padding-top:26px; padding-bottom:26px; }
  .melody-locations__map { height:280px; }
  .melody-locations__branches { gap:10px; margin-top:12px; }
  .melody-locations__branches article { padding:14px 10px; }
  .melody-locations__branches h3 { font-size:16px; }
  .melody-locations__branches p, .melody-locations__branches a { font-size:11px; }
}
@media(min-width:769px) { .melody-locations__heading { text-align:center; } .melody-locations__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; max-width:1100px; margin:auto; } .melody-locations__map { height:350px; } .melody-locations__branches { grid-template-columns:1fr; margin-top:0; gap:16px; } .melody-locations__branches article { padding:24px; } }
/* END_SECTION:melody-home-locations */

/* START_SECTION:melody-home-looks (INDEX:50) */
.melody-look-purchase{display:block;border-top:1px solid #dedbd4;margin-top:22px;padding-top:18px;text-align:center}
.melody-look-purchase form{margin:0}
.melody-look-purchase__summary{display:flex;justify-content:center;align-items:baseline;flex-wrap:wrap;gap:6px 14px;font-size:13px;margin-bottom:12px}
.melody-look-purchase__summary strong{font-weight:500;font-size:17px}
.melody-look-purchase__button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:46px;min-width:220px;max-width:100%;padding:12px 22px;background:#171717;color:#fff;border:1px solid #171717;font-size:13px;line-height:1.4}
.melody-look-purchase__button:hover{background:#3b342b}
.melody-look-purchase__button:disabled{opacity:.65;cursor:not-allowed}
html:lang(ar) .melody-look-purchase__button>span[aria-hidden="true"]{transform:rotate(180deg)}
.melody-look-purchase__button:focus-visible{outline:2px solid #171717;outline-offset:3px}
.melody-look-purchase__note{font-size:11px;line-height:1.5;color:#625f59;margin:9px 0 0}
.melody-look-purchase__error{font-size:13px;line-height:1.5;color:#842e25;margin:12px 0 0}
.melody-look-purchase__error[hidden]{display:none}
.melody-look-purchase__error a{text-decoration:underline;text-underline-offset:3px}
.melody-looks__products .melody-home__card{display:flex;flex-direction:column;height:100%}
.melody-looks__products .melody-home__photo{flex:none}
.melody-looks__products .melody-home__price{margin-top:auto;padding-top:12px}
.melody-looks__intro,.melody-looks__caption{text-align:center;margin:0 0 24px}.melody-looks__intro{font-size:14px}.melody-looks__caption h3{font-size:22px;margin-bottom:8px}.melody-looks__caption p{font-size:14px}.melody-looks__products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;max-width:1100px;margin:auto}.melody-looks__products .melody-home__photo{height:300px}.melody-looks__variant,.melody-looks__note{font-size:13px;margin-top:6px}.melody-looks__cta{display:inline-block;font-size:13px;margin-top:10px;text-decoration:underline;text-underline-offset:4px}.melody-looks__panel[hidden]{display:none!important}
@media(max-width:768px){.melody-looks__products{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:76%;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding-bottom:12px}.melody-looks__products .melody-home__photo{height:auto;aspect-ratio:1}.melody-looks__products .melody-home__card{scroll-snap-align:start}.melody-looks__intro{font-size:13px}.melody-looks__caption h3{font-size:19px}.melody-looks__caption p{font-size:13px}.melody-looks__products .melody-home__name{font-size:14px}}

.melody-looks__scene{display:none}
@media(min-width:769px){.melody-looks__panel{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.melody-looks__scene{display:block}.melody-looks__scene img{display:block;width:100%;height:auto}.melody-looks__scene p{font-size:12px;color:#666;line-height:1.5;margin-top:8px}.melody-looks__products{gap:16px}.melody-looks__products .melody-home__photo{height:180px}.melody-looks__details{min-width:0}.melody-looks__caption{text-align:start}}
@media(max-width:768px){.melody-looks__details{min-width:0}.melody-looks__products{grid-auto-columns:calc((100% - 16px)/2)}.melody-looks__caption h3{font-size:18px}}
.melody-looks__scene{display:block}.melody-looks__source-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:10px;background:#f6f6f6;padding:18px}.melody-looks__source-board img{width:100%;height:240px;object-fit:contain}.melody-looks__scene>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.melody-looks__scene>p{font-size:12px;color:#666;text-align:center;margin:8px 0 18px}@media(max-width:768px){.melody-looks__source-board img{height:180px}.melody-looks__scene{margin-bottom:20px}}
/* END_SECTION:melody-home-looks */

/* START_SECTION:melody-home-trial (INDEX:54) */
.melody-trial-entry{max-width:1100px;padding-top:55px;padding-bottom:65px;text-align:center;color:#28282b}
.melody-trial-entry__intro{max-width:780px;margin:0 auto 50px}
.melody-trial-entry h1{font-size:clamp(30px,4vw,46px);line-height:1.25;overflow-wrap:break-word}
.melody-trial-entry p{line-height:1.8;margin:16px auto}
.melody-trial-entry__eligible{font-weight:600}
.melody-trial-entry .btn{white-space:normal;min-height:48px;margin:12px 0;max-width:100%}
.melody-trial-entry__small{font-size:13px;color:#666}
.melody-trial-entry__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style-position:inside;margin:25px 0 40px;padding:0;text-align:start}
.melody-trial-entry__steps li{border-top:1px solid #dedede;padding:20px 12px;font-size:14px}
.melody-trial-entry__steps h3{font-size:19px;line-height:1.5;margin:14px 0}
.melody-trial-entry__terms{max-width:780px;padding:28px;margin:35px auto;background:#f5f5f4}
.melody-trial-entry__help{text-decoration:underline;text-underline-offset:4px}
@media(max-width:749px){.melody-trial-entry{padding-top:35px;padding-bottom:40px}.melody-trial-entry__steps{grid-template-columns:1fr;gap:0}.melody-trial-entry__terms{padding:22px 16px}.melody-trial-entry .btn{width:100%}}
.melody-trial-entry__catalog{margin:50px 0;scroll-margin-top:100px}
.melody-trial-entry__collection{margin:32px 0 44px;text-align:start}
.melody-trial-entry__collection>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.melody-trial-entry__collection>header h3{font-size:22px;margin:0}
.melody-trial-entry__collection>header a{font-size:13px;text-decoration:underline;text-underline-offset:4px}
.melody-trial-entry__grid{display:flex;flex-wrap:wrap}
.melody-trial-entry__grid>.grid-product{float:none;margin-bottom:24px}
.melody-trial-entry__grid .grid-product__title{min-height:3em}
.melody-trial-entry__grid .melody-card-options .btn{margin:0}
@media(max-width:749px){.melody-trial-entry__collection>header h3{font-size:19px}.melody-trial-entry__collection>header{align-items:flex-start}.melody-trial-entry__grid>.grid-product{width:50%}}
/* END_SECTION:melody-home-trial */

/* START_SECTION:melody-new-arrivals-page (INDEX:59) */
.mp-arrivals-page--editorial{width:100%;max-width:none;margin:0;padding:0}
.mp-arrivals-page--editorial .mp-arrivals-hero--architecture{position:relative;isolation:isolate;display:flex;align-items:center;width:100%;height:clamp(340px,39vw,500px);margin:0;padding:0;overflow:hidden;background:#e9dfcf}
.mp-arrivals-hero--architecture .mp-arrivals-hero__image{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;opacity:1;animation:none;transform:none}
.mp-arrivals-hero--architecture:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(247,241,231,.14),transparent 55%);pointer-events:none}
.mp-arrivals-hero--architecture .mp-arrivals-hero__content{position:relative;z-index:2;width:54%;padding:0 0 0 8%;text-align:start}
.mp-arrivals-page--editorial .mp-arrivals-hero--architecture .section-header__title{margin:0;color:#392b21;font-size:clamp(42px,5.2vw,68px);font-weight:400;line-height:1.08;letter-spacing:-.025em;text-shadow:none}
.mp-arrivals-page--editorial .mp-arrivals-page__catalog{padding-top:24px;padding-bottom:40px}
.mp-arrivals-page--editorial .mp-arrivals-page__count{margin:0 0 18px;color:#675340}
@media(max-width:749px){
 .mp-arrivals-page--editorial .mp-arrivals-hero--architecture{height:320px;align-items:flex-start}
 .mp-arrivals-hero--architecture .mp-arrivals-hero__image{object-position:80% center}
 .mp-arrivals-hero--architecture:after{background:linear-gradient(180deg,rgba(247,241,231,.42),transparent 60%)}
 .mp-arrivals-hero--architecture .mp-arrivals-hero__content{width:100%;padding:34px 24px 0}
 .mp-arrivals-page--editorial .mp-arrivals-hero--architecture .section-header__title{max-width:5em;font-size:38px;line-height:1.06;letter-spacing:-.025em}
 .mp-arrivals-page--editorial .mp-arrivals-page__catalog{padding-top:20px;padding-bottom:32px}
}
@media(prefers-reduced-motion:reduce){.mp-arrivals-hero--architecture .mp-arrivals-hero__image{animation:none;transition:none}}
/* END_SECTION:melody-new-arrivals-page */

/* START_SECTION:melody-shared-header (INDEX:64) */
.ml-actions>.ml-cart-link{position:relative}
.ml-cart-count{position:absolute;top:1px;inset-inline-end:-4px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#483321;color:#fff;font:600 10px/1 Arial,sans-serif;font-variant-numeric:tabular-nums;pointer-events:none}
.ml-cart-count[hidden]{display:none}

.ml-sticky-header-section{position:sticky;top:0;z-index:30}
html:has(.ml-sticky-header-section){scroll-padding-top:calc(var(--ml-sticky-header-height,140px) + 16px)}
.ml-sticky-header-section .ml-header .ml-mobile-menu>.ml-dropdown{max-height:min(70vh,calc(100vh - var(--ml-sticky-header-height,140px) - 16px));max-height:min(70dvh,calc(100dvh - var(--ml-sticky-header-height,140px) - 16px));overscroll-behavior:contain}
@media(max-width:768px){html:has(.ml-sticky-header-section) #MainContent .collection-filter{top:var(--ml-sticky-header-height,95px)}}
/* END_SECTION:melody-shared-header */

/* START_SECTION:melody-spaces (INDEX:66) */
.mes-complete-scene{max-width:1200px;margin:auto}.mes-complete-scene img{display:block;width:100%;height:auto;object-fit:contain}.mes-look-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:18px auto 26px;max-width:1200px}.mes-look-products .mes-space-product{min-width:0;margin:0}.mes-look-products small{line-height:1.5}@media(max-width:749px){.mes-look-products{grid-template-columns:1fr;gap:12px}.mes-look-products .mes-space-product{border-bottom:1px solid #e8dfd2;padding-bottom:12px}}
/* END_SECTION:melody-spaces */

/* START_SECTION:recently-viewed (INDEX:75) */
[data-section-type="recently-viewed"] .grid-product__content .mst-card-compare{position:relative;z-index:6;pointer-events:auto}
/* END_SECTION:recently-viewed */

/* START_SECTION:shoppable-hero (INDEX:79) */
.kit-shoppable-hero__hotspots {
    position: relative;
    pointer-events: none;
    z-index: 3;
  }

  .kit-shoppable-hero__hotspot {
    position: absolute;
    top: var(--hotspot-top-mobile, var(--hotspot-top));
    left: var(--hotspot-left-mobile, var(--hotspot-left));
    transform: translate(-50%, -50%);
    pointer-events: auto;
  }

  .kit-shoppable-hero__product-card {
    color: inherit;
    text-decoration: inherit;
    display: block;
    min-width: calc(2rem * 4.2360679775); /* 4.2360679775 = φ^3 */
  }

  @media (min-width: 700px) {
    .kit-shoppable-hero__hotspot {
      top: var(--hotspot-top);
      left: var(--hotspot-left);
    }

    .kit-content-over-media__content {
      max-width: calc(61.803% + (var(--kit-section-gutter) * 2)); /* 61.803% = 100% - 1/φ, compensate for padding */
    }

    .kit-shoppable-hero__content .kit-text {
      color: var(--colorHeroText);
      pointer-events: none;
    }
  }

  @media (min-width: 1024px) {
    .kit-content-over-media__content {
      max-width: calc(50% + (var(--kit-section-gutter) * 2));
    }
  }
/* END_SECTION:shoppable-hero */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:customer-account (INDEX:176) */
.mobile-nav shopify-account::part(signed-out-avatar) {
    font-size: var(--typeBodySizeMobile);
    -webkit-font-smoothing: antialiased;
  }

  .site-nav shopify-account::part(signed-out-avatar) {
    color: var(--colorNavText);
  }

  .is-light .site-nav shopify-account::part(signed-out-avatar) {
    color: #fff;
  }

  shopify-account {
    --shopify-account-color-accent: var(--colorBtnPrimary);
    --shopify-account-color-accent-hover: var(--colorBtnPrimaryLight);
    --shopify-account-color-accent-text: var(--colorTextBody);
    --shopify-account-color-background: var(--colorBody);
    --shopify-account-color-background-subdued: color-mix(in srgb, var(--colorBorder) 50%, transparent);
    --shopify-account-color-border: var(--colorBorder);
    --shopify-account-color-card-background: var(--colorBody);
    --shopify-account-color-control-background: var(--colorBody);
    --shopify-account-color-text: var(--colorTextBody);
    --shopify-account-color-text-subdued: color-mix(in srgb, var(--colorBorder) 50%, black);
    --shopify-account-font-body: var(--typeBasePrimary), var(--typeBaseFallback);
    --shopify-account-font-body-weight: var(--typeBaseWeight);
    --shopify-account-font-heading: var(--typeHeaderPrimary), var(--typeHeaderFallback);
    --shopify-account-font-heading-weight: var(--typeHeaderWeight);
    --shopify-account-radius-base: var(--buttonRadius);
    --shopify-account-radius-button: var(--buttonRadius);
    --shopify-account-radius-button-small: var(--buttonRadius);
    --shopify-account-radius-dialog: var(--buttonRadius);
    --shopify-account-radius-input: var(--buttonRadius);
    --shopify-account-signed-in-avatar-color-background: var(--colorBody);
    --shopify-account-signed-in-avatar-color-text: var(--colorTextBody);
  }

  #NavDrawer .mobile-nav__link--top-level,
  #NavDrawer .mobile-nav__link--button.mobile-nav__link--top-level,
  #NavDrawer .mobile-nav__faux-link {
    font-family: "Tenor Sans", sans-serif;
    font-size: 15px !important;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: 0.13em !important;
  }

  #NavDrawer .mobile-nav__link,
  #NavDrawer .mobile-nav__link--button {
    padding-top: 11px;
    padding-bottom: 11px;
  }

  #NavDrawer .mobile-nav__sublist .mobile-nav__link,
  #NavDrawer .mobile-nav__grandchildlist .mobile-nav__link {
    font-size: 14px;
    line-height: 1.45;
    letter-spacing: 0.04em;
  }

  #NavDrawer .mobile-nav__social {
    display: none !important;
  }

  #NavDrawer .mobile-nav__child-item:has(.mobile-drawer-enhancements) {
    display: block !important;
  }

  #NavDrawer .mobile-drawer-enhancements {
    width: 100%;
    margin-top: 4px;
    padding: 10px 0 4px;
    border-top: 1px solid rgba(0, 0, 0, 0.09);
  }

  #NavDrawer .mobile-drawer-option {
    margin: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.09);
  }

  #NavDrawer .mobile-drawer-option__trigger {
    width: 100%;
  }

  #NavDrawer .mobile-drawer-option__lead {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    text-transform: uppercase;
  }

  #NavDrawer .mobile-drawer-option__icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
  }

  #NavDrawer .mobile-drawer-option__inner {
    padding: 2px 0 14px 29px;
  }

  [dir="rtl"] #NavDrawer .mobile-drawer-option__inner {
    padding: 2px 29px 14px 0;
  }

  #NavDrawer .mobile-drawer-language__form {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  #NavDrawer .mobile-drawer-language__choice {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    min-height: 36px;
    border: 0;
    background: transparent;
    padding: 8px 0;
    text-align: left;
    color: inherit;
    font-family: "Tenor Sans", sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: 0.05em;
    cursor: pointer;
    opacity: 0.68;
  }

  [dir="rtl"] #NavDrawer .mobile-drawer-language__choice {
    text-align: right;
  }

  #NavDrawer .mobile-drawer-language__choice.is-current {
    opacity: 1;
    text-decoration: underline;
    text-underline-offset: 4px;
  }

  #NavDrawer .mobile-drawer-social__panel .mobile-drawer-option__inner {
    padding-top: 4px;
  }

  #NavDrawer .mobile-drawer-social__icons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    margin: 0;
    padding: 0;
  }

  #NavDrawer .mobile-drawer-social__icons li {
    display: block;
    margin: 0;
  }

  #NavDrawer .mobile-drawer-social__icons a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
  }

  #NavDrawer .mobile-drawer-social__icons .icon {
    width: 18px;
    height: 18px;
  }
/* END_SNIPPET:customer-account */

/* START_SNIPPET:element.badge (INDEX:178) */
.element-badge {
    /* Layout & Typography */
    --_radius: var(--element-badge-radius, var(--chip-radius, var(--radius-xs)));
    --_px: var(--element-badge-px, var(--size-3));
    --_py: var(--element-badge-py, var(--size-1));
    --_border-width: var(--element-badge-border-width, var(--size-0-25));
    --_font-family: var(
      --element-badge-font-family,
      var(--element-text-font-family--body),
      var(--element-text-font-family-fallback--body)
    );
    --_font-size: var(--element-badge-font-size, var(--element-text-font-size--body-sm));
    --_letter-spacing: var(--element-badge-letter-spacing, var(--element-text-letter-spacing--body-sm));
    --_line-height: var(--element-badge-line-height, var(--element-text-line-height--body-sm));

    /* Colors */
    --_base-primary: var(--color-secondary);
    --_base-secondary: var(--color-primary);
    --_color-primary: var(--_base-primary);
    --_color-secondary: var(--_base-secondary);
    --_color-background: var(--_color-primary);
    --_color-text: var(--_color-secondary);
    --_color-border: var(--_color-secondary);
    --_shade-inset-box-shadow: var(--element-badge-shade-inset-box-shadow, 12%);
    --_inset-box-shadow: inset 0 0 0 var(--_border-width)
      color-mix(in srgb, var(--_color-border) var(--_shade-inset-box-shadow), transparent);

    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--_radius);
    padding-inline: var(--_px);
    padding-block: var(--_py);
    font-family: var(--_font-family);
    font-size: var(--_font-size);
    letter-spacing: var(--_letter-spacing);
    background-color: var(--_color-background);
    color: var(--_color-text);
    box-shadow: var(--_inset-box-shadow);
    text-transform: uppercase;
    width: fit-content;
    white-space: nowrap;
  }

  .element-badge--inverted {
    --_color-primary: var(--_base-secondary);
    --_color-secondary: var(--_base-primary);

    & > * {
      --color-primary: currentColor;
    }
  }

  .element-badge--sale {
    --_base-primary: var(--color-sale-tag-text);
    --_base-secondary: var(--color-sale-tag);
  }
/* END_SNIPPET:element.badge */

/* START_SNIPPET:element.button (INDEX:179) */
:root {
    /* Base Layout Variables */
    --element-button-display: inline-flex;
    --element-button-width: fit-content;
    --element-button-height: auto;
    --element-button-radius: var(--radius-xs);
    --element-button-flex-direction: row;
    --element-button-gap: var(--size-2);
    --element-button-justify-content: center;
    --element-button-align-items: center;
    --element-button-white-space: nowrap;

    /* Base Spacing Variables */
    --element-button-padding-block: var(--size-3);
    --element-button-padding-inline: var(--size-5);
    --element-button-border-width: var(--size-0-25);

    /* Base Color Variables */
    --element-button-color-primary: initial;
    --element-button-color-secondary: initial;
    --element-button-shade-background: 0%;
    --element-button-shade-text: 0%;
    --element-button-shade-border: 20%;

    /* Typography Overrides */
    /* By default, the button will inherit the typography styles from element.text. Set these to other values to override. */
    /* --element-button-font-family: initial; */
    /* --element-button-font-family-fallback: initial; */
    /* --element-button-font-weight: initial; */
    /* --element-button-letter-spacing: initial; */
    /* --element-button-text-transform: initial; */
    /* --element-button-line-height: initial; */
    /* --element-button-color: initial; */

    /* Base Effect Variables */
    --element-button-box-shadow: initial;
    --element-button-transition-duration: 200ms;
    --element-button-transition-timing: ease;
    --element-button-transform: none;
    --element-button-backdrop-filter: none;
    --element-button-opacity: 1;

    /* Hover State Variables */
    --element-button-shade-background--hover: 8%;
    --element-button-shade-border--hover: 30%;

    /* Focus State Variables */
    --element-button-color-focus: var(--color-focus);
    --element-button-border-width--focus: var(--size-0-5);

    /* Active State Variables */
    --element-button-shade-background--active: 16%;
    --element-button-shade-border--active: var(--element-button-shade-border);

    /* Disabled State Variables */
    --element-button-shade-background--disabled: 12%;
    --element-button-shade-text--disabled: 70%;
    --element-button-shade-border--disabled: 12%;
  }

  /* Component Implementation */
  .element-button,
  .element-button--shopify-payment-wrapper .shopify-payment-button .shopify-payment-button__button--unbranded {
    /* Base Layout */
    --_display: var(--element-button-display);
    --_width: var(--element-button-width);
    --_height: var(--element-button-height);
    --_radius: var(--element-button-radius);
    --_flex-direction: var(--element-button-flex-direction);
    --_gap: var(--element-button-gap);
    --_justify-content: var(--element-button-justify-content);
    --_align-items: var(--element-button-align-items);
    --_white-space: var(--element-button-white-space);

    /* Base Spacing */
    --_padding-block: var(--element-button-padding-block);
    --_padding-inline: var(--element-button-padding-inline);
    --_border-width: var(--element-button-border-width);

    /* Base Colors */
    --_color-primary: var(--element-button-color-primary, var(--color-primary));
    --_color-secondary: var(--element-button-color-secondary, var(--color-secondary));
    --_color-focus: var(--element-button-color-focus, var(--color-focus, #4a9afc));
    --_color-text: var(--_color-secondary);
    --_color-background: var(--_color-primary);
    --_outline: none;
    --_border: none;
    --_shade-background: var(--element-button-shade-background);
    --_shade-text: var(--element-button-shade-text);
    --_shade-border: var(--element-button-shade-border);
    --_box-shadow: var(--element-button-box-shadow, inset 0 0 0 var(--_border-width) color-mix(in srgb, var(--_color-text) var(--_shade-border), transparent));

    /* Base Effects */
    --_transition-duration: var(--element-button-transition-duration);
    --_transition-timing: var(--element-button-transition-timing);
    --_transform: var(--element-button-transform);
    --_backdrop-filter: var(--element-button-backdrop-filter);
    --_opacity: var(--element-button-opacity);

    /* Text Styles */
    --element-text-font-family: var(--element-button-font-family);
    --element-text-font-family-fallback: var(--element-button-font-family-fallback);
    --element-text-font-weight: var(--element-button-font-weight);
    --element-text-letter-spacing: var(--element-button-letter-spacing);
    --element-text-text-transform: var(--element-button-text-transform);
    --element-text-line-height: var(--element-button-line-height);
    --element-text-color: var(--element-button-color);
    --element-text-font-size: var(--element-button-font-size);

    /* Icon Styles */
    --element-icon-size: var(--element-text-font-size--body-md);

    /* Base Styles */
    display: var(--_display);
    width: var(--_width);
    height: var(--_height);
    justify-content: var(--_justify-content);
    align-items: var(--_align-items);
    white-space: var(--_white-space);
    flex-direction: var(--_flex-direction);
    gap: var(--_gap);
    padding-block: var(--_padding-block);
    padding-inline: var(--_padding-inline);
    border-radius: var(--_radius);
    background-color: color-mix(in srgb, var(--_color-text) var(--_shade-background), var(--_color-background));
    color: color-mix(in srgb, var(--_color-background) var(--_shade-text), var(--_color-text));
    box-shadow: var(--_box-shadow);
    outline: var(--_outline);
    border: var(--_border);
    transform: var(--_transform);
    backdrop-filter: var(--_backdrop-filter);
    opacity: var(--_opacity);
    transition: all var(--_transition-duration) var(--_transition-timing);
    cursor: pointer;

    &:is(button.shopify-payment-button__button--unbranded) {
      width: 100%;
      line-height: var(--element-text-line-height--body-md);
      min-height: 32px;
    }

    &:has(> svg:only-child) {
      --_padding-inline: var(--_padding-block);
      --_display: flex;
    }

    /* Hover State */
    &:hover {
      --_shade-background: var(--element-button-shade-background--hover);
      --_shade-border: var(--element-button-shade-border--hover);
    }

    /* Focus State */
    &:focus-visible,
    input[type='radio']:focus-visible + & {
      --_border-width: var(--element-button-border-width--focus);
      --_box-shadow: inset 0 0 0 var(--_border-width) var(--_color-focus);
    }

    /* Disabled State */
    &:disabled,
    input[type='radio']:disabled + &,
    .disabled > input[type='radio'] + &,
    shopify-buy-it-now-button[disabled] > & {
      --_shade-background: var(--element-button-shade-background--disabled);
      --_shade-text: var(--element-button-shade-text--disabled);
      --_shade-border: var(--element-button-shade-border--disabled);

      &:is(:disabled),
      shopify-buy-it-now-button[disabled] > & {
        cursor: not-allowed;
      }
    }

    /* Active State */
    &:active,
    input[type='radio']:checked + & {
      --_shade-background: var(--element-button-shade-background--active);
      --_shade-border: var(--element-button-shade-border--active);
    }

    /* Variants */
    &.element-button--size-sm {
      --_padding-block: var(--size-2);
      --_padding-inline: var(--size-4);
    }

    &.element-button--size-lg {
      --_padding-block: var(--size-4);
      --_padding-inline: var(--size-6);
    }

    &.element-button--inverted {
      --_color-text: var(--_color-primary);
      --_color-background: var(--_color-secondary);
    }

    &.element-button--transparent {
      --_color-background: transparent;

      &:disabled {
        --_shade-border: var(--element-button-shade-border--disabled);
        --_shade-background: 0%;
      }

      &:disabled:active {
        --_border-width: var(--element-button-border-width);
        --_shade-border: var(--element-button-shade-border--disabled);
      }
    }

    &:is(.shopify-payment-button__button--unbranded):hover:not([disabled]) {
      background-color: color-mix(in srgb, var(--_color-secondary) var(--_shade-background), var(--_color-primary));
      color: color-mix(in srgb, var(--_color-background) var(--_shade-text), var(--_color-text));
    }
  }

  .element-button--shopify-payment-wrapper {
    --_radius: var(--element-button-radius);
    --_padding-block: var(--element-button-padding-block);
    --_line-height: var(--element-button-line-height, var(--element-text-line-height--body));
    --_font-size: var(--element-button-font-size, var(--element-text-font-size--body-md));

    --shopify-accelerated-checkout-button-border-radius: var(--_radius);
    --shopify-accelerated-checkout-button-block-size: calc((2 * var(--_padding-block)) + (var(--_line-height) * var(--_font-size)));

    font-family: var(--element-button-font-family, var(--element-text-font-family));
  }
/* END_SNIPPET:element.button */

/* START_SNIPPET:element.checkbox (INDEX:180) */
.element-checkbox {
    /* Layout & Typography */
    --_size: var(--element-checkbox-size, var(--size-5));
    --_icon-size: var(--element-checkbox-icon-size, var(--size-3-5));
    --_radius: var(--element-checkbox-radius, 1px);
    --_gap: var(--element-checkbox-gap, var(--size-2));
    --_outline-width: var(--element-checkbox-outline-width, 1px);
    --_outline-width-active: var(--element-checkbox-outline-width-active, 2px);
    --_font-family: var(
      --element-checkbox-font-family,
      var(--element-text-font-family--body),
      var(--element-text-font-family-fallback--body)
    );
    --_font-size: var(--element-checkbox-font-size, var(--element-text-font-size--body-md));
    --_letter-spacing: var(--element-checkbox-letter-spacing, var(--element-text-letter-spacing--body));
    --_line-height: var(--element-checkbox-line-height, var(--element-text-line-height--body));
    --_font-weight: var(--element-checkbox-font-weight, normal);

    /* Colors */
    --_color-primary: var(--color-primary);
    --_color-secondary: var(--color-secondary);
    --_color-active: var(--color-focus);
    --_color-shadow: var(
      --element-checkbox-shadow-color,
      color-mix(in srgb, var(--root-color-primary) var(--_outline-shade), var(--root-color-secondary))
    );
    --_color-background: var(--root-color-secondary);
    --_color-text: var(--_color-primary);
    --_outline-shade: var(--element-checkbox-outline-shade, 12%);
    --_shadow-inset: var(--element-checkbox-shadow-inset, inset);
    --_shadow-h-offset: var(--element-checkbox-shadow-horizontal-offset, 0);
    --_shadow-v-offset: var(--element-checkbox-shadow-vertical-offset, 0);
    --_shadow-blur: var(--element-checkbox-shadow-blur-radius, 0);
    --_shadow-spread: var(--element-checkbox-shadow-spread-radius, var(--_outline-width));
    --_icon-opacity: var(--element-checkbox-icon-opacity, 0);

    @media (max-width: 768px) {
      --_size: var(--element-checkbox-size, var(--size-4));
      --_icon-size: var(--element-checkbox-icon-size, var(--size-3));
    }

    position: relative;
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--_gap);
    color: var(--_color-text);
    font-family: var(--_font-family);
    font-size: var(--_font-size);
    letter-spacing: var(--_letter-spacing);
    line-height: var(--_line-height);
    font-weight: var(--_font-weight);
    cursor: pointer;

    input[type='checkbox'] {
      position: absolute;
      opacity: 0;
      pointer-events: none;
    }

    &:hover {
      --_color-background: color-mix(in srgb, var(--_color-primary) 4%, var(--_color-secondary));
    }

    &:hover:has(input[type='checkbox']:checked) {
      --_color-shadow: color-mix(in srgb, var(--_color-secondary) 12%, var(--_color-primary));
      --_color-background: color-mix(in srgb, var(--_color-secondary) 4%, var(--_color-primary));
    }

    &:has(input[type='checkbox']:checked) {
      --_icon-opacity: 1;
      --_color-background: var(--_color-primary);
      --_color-shadow: var(--_color-primary);
    }

    &:has(input[type='checkbox']:focus-visible) {
      --_color-shadow: var(--_color-active);
      --_outline-width: var(--_outline-width-active);
    }

    &:not(.element-checkbox--with-icon):has(input[type='checkbox']:focus-visible) {
      outline: 3px solid var(--color-focus);
    }

    &:has(input[type='checkbox']:disabled) {
      --_color-background: color-mix(in srgb, var(--_color-primary) 8%, var(--_color-secondary));
      --_color-shadow: color-mix(in srgb, var(--_color-primary) 8%, var(--_color-secondary));
    }
  }

  .element-checkbox__icon {
    display: flex;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    width: var(--_size);
    height: var(--_size);
    border-radius: var(--_radius);
    box-shadow: var(--_shadow-inset) var(--_shadow-h-offset) var(--_shadow-v-offset) var(--_shadow-blur)
      var(--_shadow-spread) var(--_color-shadow);
    background-color: var(--_color-background);

    .element-icon {
      width: var(--_icon-size);
      height: var(--_icon-size);
      color: var(--_color-secondary);
      opacity: var(--_icon-opacity);
    }
  }
/* END_SNIPPET:element.checkbox */

/* START_SNIPPET:element.divider (INDEX:181) */
.element-divider {
    /* Layout & Typography */
    --_width: var(--element-divider-width, 100%);
    --_margin: var(--element-divider-margin, 0);
    --_border-width: var(--element-divider-border-width, var(--size-0-25));

    /* Colors */
    --_color-primary: var(--color-primary);
    --_color-secondary: var(--color-secondary);
    --_shade-border: var(--element-divider-border-shade, var(--shade-12));
    --_border-color: var(
      --element-divider-border-color,
      color-mix(in srgb, var(--_color-primary) var(--_shade-border), var(--_color-secondary))
    );

    width: var(--_width);
    margin: var(--_margin) auto;
    border: 0;
    border-top: var(--_border-width) solid var(--_border-color);
  }

  .element-divider--small {
    --_margin: var(--size-4);
  }

  .element-divider--medium {
    --_margin: var(--size-7-5);
  }

  .element-divider--large {
    --_margin: var(--size-7-5);

    @media (min-width: 769px) {
      --_margin: calc(var(--size-7-5) * 1.5);
    }
  }
/* END_SNIPPET:element.divider */

/* START_SNIPPET:element.icon (INDEX:182) */
:root {
    --element-icon-size: 20px;
    --element-icon-width: initial;
    --element-icon-height: initial;
    --element-icon-stroke-width: 2px;
    --element-icon-stroke-linejoin: miter;
    --element-icon-color: inherit;
    --element-icon-opacity: 1;
  }

  .element-icon {
    /* Layout & Typography */
    --_size: var(--element-icon-size);
    --_width: var(--element-icon-width, var(--_size));
    --_height: var(--element-icon-height, var(--_size));
    --_stroke-width: var(--element-icon-stroke-width);
    --_stroke-linejoin: var(--element-icon-stroke-linejoin);

    /* Colors */
    --_color: var(--element-icon-color);
    --_opacity: var(--element-icon-opacity);

    display: inline-block;
    vertical-align: middle;
    width: var(--_width);
    height: var(--_height);
    color: var(--_color);
    opacity: var(--_opacity);

    &.element-icon--line {
      stroke-width: var(--_stroke-width);
      stroke-linejoin: var(--_stroke-linejoin);
    }
  }
/* END_SNIPPET:element.icon */

/* START_SNIPPET:element.input (INDEX:185) */
:root {
    /* Base Layout Variables */
    --element-input-width: auto;
    --element-input-height: auto;
    --element-input-radius: var(--radius-xs);
    --element-input-padding-inline: var(--size-3);
    --element-input-padding-block: var(--size-3);

    --element-input-font-family: var(--element-text-font-family--body), var(--element-text-font-family-fallback--body);
    --element-input-font-size: var(--element-text-font-size--body-md);
    --element-input-line-height: var(--element-text-line-height--body);
    --element-input-letter-spacing: var(--element-text-letter-spacing--body-md);

    /* Base Outline Variables */
    --element-input-box-shadow-horizontal-offset: 0;
    --element-input-box-shadow-vertical-offset: 0;
    --element-input-box-shadow-blur-radius: 0;
    --element-input-box-shadow-spread-radius: 1px;

    /* Base Colors Variables */
    --element-input-color-primary: initial;
    --element-input-color-secondary: initial;
    --element-input-box-shadow-shade: 12%;
    --element-input-background-shade: 0%;
    --element-input-text-shade: 70%;
    --element-input-text-shade-placeholder: 50%;

    /* Active State Variables */
    --element-input-box-shadow-spread-radius--active: 2px;
    --element-input-box-shadow-shade--active: var(--element-input-box-shadow-shade);
    --element-input-background-shade--active: var(--element-input-background-shade);
    --element-input-text-shade--active: 100%;
    --element-input-box-shadow-color--active: var(--color-focus, #4a9afc);

    /* Focus State Variables */
    --element-input-box-shadow-spread-radius--focus: 2px;
    --element-input-box-shadow-shade--focus: var(--element-input-box-shadow-shade);
    --element-input-background-shade--focus: var(--element-input-background-shade);
    --element-input-text-shade--focus: var(--element-input-text-shade);
    --element-input-box-shadow-color--focus: var(--color-focus, #4a9afc);

    /* Hover State Variables */
    --element-input-box-shadow-spread-radius--hover: 2px;
    --element-input-box-shadow-shade--hover: var(--element-input-box-shadow-shade);
    --element-input-background-shade--hover: 4%;
    --element-input-text-shade--hover: 100%;

    /* Disabled State Variables */
    --element-input-box-shadow-spread-radius--disabled: 2px;
    --element-input-box-shadow-shade--disabled: 8%;
    --element-input-background-shade--disabled: 8%;
    --element-input-text-shade--disabled: 20%;

    /* Error State Variables */
    --element-input-box-shadow-spread-radius--error: 2px;
    --element-input-box-shadow-shade--error: 8%;
    --element-input-background-shade--error: initial;
    --element-input-text-shade--error: 100%;
    --element-input-box-shadow-color--error: var(--color-error, #ff0000);
  }

  .element-input {
    /* Base Layout*/
    --_width: var(--element-input-width);
    --_height: var(--element-input-height);
    --_radius: var(--element-input-radius);
    --_padding-inline: var(--element-input-padding-inline);
    --_padding-block: var(--element-input-padding-block);

    /* Base Typography */
    --_font-family: var(--element-input-font-family);
    --_font-size: var(--element-input-font-size);
    --_line-height: var(--element-input-line-height);
    --_letter-spacing: var(--element-input-letter-spacing);

    /* Base Colors */
    --_color-primary: var(--element-input-color-primary, var(--root-color-primary, #000));
    --_color-secondary: var(--element-input-color-secondary, var(--root-color-secondary, #fff));
    --_color-error: var(--element-input-color-error);
    --_color-active: var(--element-input-color-active);
    --_shade-box-shadow: var(--element-input-box-shadow-shade);
    --_shade-background: var(--element-input-background-shade);
    --_shade-text: var(--element-input-text-shade);
    --_shade-text-placeholder: var(--element-input-text-shade-placeholder);

    --_color-background: color-mix(in srgb, var(--_color-primary) var(--_shade-background), var(--_color-secondary));
    --_color-text: color-mix(in srgb, var(--_color-primary) var(--_shade-text), var(--_color-secondary));
    --_color-text-placeholder: color-mix(
      in srgb,
      var(--_color-primary) var(--_shade-text-placeholder),
      var(--_color-secondary)
    );
    --_color-box-shadow: color-mix(in srgb, var(--_color-primary) var(--_shade-box-shadow), var(--_color-secondary));

    /* Base Outline */
    --_box-shadow-horizontal-offset: var(--element-input-box-shadow-horizontal-offset);
    --_box-shadow-vertical-offset: var(--element-input-box-shadow-vertical-offset);
    --_box-shadow-blur-radius: var(--element-input-box-shadow-blur-radius);
    --_box-shadow-spread-radius: var(--element-input-box-shadow-spread-radius);
    --_box-shadow: inset var(--_box-shadow-horizontal-offset) var(--_box-shadow-vertical-offset)
      var(--_box-shadow-blur-radius) var(--_box-shadow-spread-radius) var(--_color-box-shadow);

    display: flex;
    align-items: center;
    position: relative;
    border: none;
    outline: none;
    padding-inline: var(--_padding-inline);
    padding-block: var(--_padding-block);
    width: var(--_width);
    height: var(--_height);
    border-radius: var(--_radius);
    box-shadow: var(--_box-shadow);
    background-color: var(--_color-background);
    color: var(--_color-text);
    font-family: var(--_font-family);
    font-size: var(--_font-size);
    line-height: var(--_line-height);
    letter-spacing: var(--_letter-spacing);

    &::placeholder {
      color: var(--_color-text-placeholder);
    }

    &:hover:not(:disabled) {
      --_box-shadow-spread-radius: var(--element-input-box-shadow-spread-radius--hover);
      --_shade-box-shadow: var(--element-input-box-shadow-shade--hover);
      --_shade-background: var(--element-input-background-shade--hover);
      --_shade-text: var(--element-input-text-shade--hover);
    }

    &:active {
      --_box-shadow-spread-radius: var(--element-input-box-shadow-spread-radius--active);
      --_shade-box-shadow: var(--element-input-box-shadow-shade--active);
      --_shade-background: var(--element-input-background-shade--active);
      --_shade-text: var(--element-input-text-shade--active);
      --_color-box-shadow: var(--element-input-box-shadow-color--active);
    }

    &:focus {
      --_box-shadow-spread-radius: var(--element-input-box-shadow-spread-radius--focus);
      --_shade-box-shadow: var(--element-input-box-shadow-shade--focus);
      --_shade-background: var(--element-input-background-shade--focus);
      --_shade-text: var(--element-input-text-shade--focus);
      --_color-box-shadow: var(--element-input-box-shadow-color--focus);
    }

    &:disabled {
      --_box-shadow-spread-radius: var(--element-input-box-shadow-spread-radius--disabled);
      --_shade-box-shadow: var(--element-input-box-shadow-shade--disabled);
      --_shade-background: var(--element-input-background-shade--disabled);
      --_shade-text: var(--element-input-text-shade--disabled);
      cursor: not-allowed;
    }

    &[aria-invalid='true'] {
      --_box-shadow-spread-radius: var(--element-input-box-shadow-spread-radius--error);
      --_shade-box-shadow: var(--element-input-box-shadow-shade--error);
      --_shade-background: var(--element-input-background-shade--error);
      --_shade-text: var(--element-input-text-shade--error);
      --_color-box-shadow: var(--element-input-box-shadow-color--error);
    }

    & ~ button {
      --element-button-height: 100%;
    }
  }

  .element-input--inverted {
    --_color-secondary: var(--element-input-color-primary, var(--color-primary, #000));
    --_color-primary: var(--element-input-color-secondary, var(--color-secondary, #fff));
  }

  .element-input--transparent {
    --_color-primary: var(--element-input-color-primary, var(--color-primary, #000));
    --_color-secondary: transparent;
  }

  .element-input--inverted.element-input--transparent {
    --_color-primary: var(--element-input-color-secondary, var(--rootcolor-secondary, #fff));
    --_color-secondary: transparent;
  }

  .element-input--inline {
    --_radius: var(--radius-none);
    --_box-shadow: inset 0 calc(var(--_box-shadow-spread-radius) * -1) 0 0 var(--_color-box-shadow);
  }

  .element-input--full {
    --_width: 100%;
  }

  /* Date input specific styles */
  .element-input[type="date"] {
    text-align: left;
    padding-right: var(--size-8); /* Space for calendar icon */
  }

  .element-input[type="date"]::-webkit-calendar-picker-indicator {
    position: absolute;
    right: var(--_padding-inline);
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    width: var(--size-4);
    height: var(--size-4);
  }

  .element-input[type="date"]::-webkit-datetime-edit {
    width: 100%;
  }

  .element-input[type="date"]::-webkit-datetime-edit-fields-wrapper {
    width: 100%;
  }
/* END_SNIPPET:element.input */

/* START_SNIPPET:element.placeholder (INDEX:187) */
.element-placeholder {
    fill: #999;
    background-color: #e1e1e1;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    display: block;
    padding: 30px 0;
  }

  .element-placeholder--no-padding {
    padding: 0;
  }
/* END_SNIPPET:element.placeholder */

/* START_SNIPPET:element.quantity-selector (INDEX:188) */
.element-quantity-selector {
    --element-input-color-primary: var(--color-primary, #000);
    --element-input-color-secondary: var(--color-secondary, #fff);

    width: fit-content;
    display: inline-block;
    position: relative;
    overflow: visible;
    pointer-events: auto;

    &.is-loading {
      opacity: 0.5;
      pointer-events: none;
    }
  }

  .element-quantity-selector__input {
    --element-input-radius: var(--element-button-radius);
    --element-input-padding-inline: calc(
      var(--element-input-line-height) * var(--element-input-font-size) + 2 * var(--element-input-padding-block)
    );
    --element-input-width: max(calc(var(--digit-count, 1ch) + 2 * var(--size-1)), 32px);
    box-sizing: content-box;
    text-align: center;
  }

  .element-quantity-selector__button {
    --element-button-border-width: 0;
    --element-button-color-primary: var(--element-input-color-primary, var(--root-color-primary, #000));
    --element-button-color-secondary: var(--element-input-color-secondary, var(--root-color-secondary, #fff));

    position: absolute;
    top: 0;
    height: 100%;
    aspect-ratio: 1;
    border: 1px solid transparent;
    background-clip: padding-box;
    z-index: 1;

    &:has(+ .element-quantity-selector__input:focus),
    .element-quantity-selector__input:focus + & {
      border-width: var(--element-input-box-shadow-spread-radius--hover);
    }

    &:is(.element-quantity-selector__button--minus) {
      border-radius: var(--element-button-radius) 0 0 var(--element-button-radius);
      left: 0;
    }

    &:is(.element-quantity-selector__button--plus) {
      border-radius: 0 var(--element-button-radius) var(--element-button-radius) 0;
      right: 0;
    }
  }
/* END_SNIPPET:element.quantity-selector */

/* START_SNIPPET:element.radio (INDEX:189) */
:root {
    --element-radio-size: var(--size-5);
    --element-radio-dot-size: var(--size-2-5);
    --element-radio-dot-opacity: 0;
    --element-radio-radius: 50%;
    --element-radio-gap: var(--size-2);
    --element-radio-border-width: 1px;
    --element-radio-border-width--focus: 2px;

    --element-radio-color-primary: initial;
    --element-radio-color-secondary: initial;
    --element-radio-color-focus: var(--color-focus);
    --element-radio-shade-background: 0%;
    --element-radio-shade-background--hover: 4%;
    --element-radio-shade-background--checked: 100%;
    --element-radio-shade-background--disabled: 8%;
    --element-radio-shade-border: 12%;
    --element-radio-shade-border--disabled: 8%;
  }

  .element-radio {
    /* Layout & Typography */
    --_size: var(--element-radio-size);
    --_dot-size: var(--element-radio-dot-size);
    --_dot-opacity: var(--element-radio-dot-opacity);
    --_radius: var(--element-radio-radius);
    --_gap: var(--element-radio-gap);
    --_border-width: var(--element-radio-border-width);

    /* Colors */
    --_color-primary: var(--element-radio-color-primary, var(--color-primary));
    --_color-secondary: var(--element-radio-color-secondary, var(--color-secondary));
    --_color-focus: var(--element-radio-color-focus, var(--color-focus, #4a9afc));
    --_shade-background: var(--element-radio-shade-background);
    --_shade-border: var(--element-radio-shade-border);

    --_box-shadow: 0 0 0 var(--_border-width) color-mix(in srgb, var(--_color-primary) var(--_shade-border), var(--_color-secondary));

    @media (max-width: 768px) {
      --_size: var(--radio-size, var(--size-4));
      --_dot-size: var(--radio-dot-size, var(--size-2));
    }

    position: relative;
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--_gap);
    cursor: pointer;

    input[type='radio'] {
      position: absolute;
      opacity: 0;
      inset: 0;
      cursor: pointer;
    }

    &:hover {
      --_shade-background: var(--element-radio-shade-background--hover);
    }

    &:has(input[type='radio']:checked) {
      --_dot-opacity: 1;
      --_shade-background: var(--element-radio-shade-background--checked);
    }

    &:has(input[type='radio']:focus-visible) {
      --_border-width: var(--element-radio-border-width--focus);
      --_box-shadow: 0 0 0 var(--_border-width) var(--_color-focus);
    }

    &:has(input[type='radio']:disabled) {
      --_shade-background: var(--element-radio-shade-background--disabled);
      --_shade-border: var(--element-radio-shade-border--disabled);
      cursor: not-allowed;
    }
  }

  .element-radio__icon {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: var(--_size);
    height: var(--_size);
    border-radius: var(--_radius);
    box-shadow: var(--_box-shadow);
    background-color: color-mix(in srgb, var(--_color-primary) var(--_shade-background), var(--_color-secondary));

    &::before {
      content: '';
      width: var(--_dot-size);
      height: var(--_dot-size);
      background-color: var(--_color-secondary);
      border-radius: 50%;
      opacity: var(--_dot-opacity);
    }
  }
/* END_SNIPPET:element.radio */

/* START_SNIPPET:element.select (INDEX:190) */
element-select {
    display: inline-block;
    position: relative;
  }

  /* Ensure the custom element inherits the wrapper styles */
  element-select.element-select__wrapper {
    position: relative;
    display: inline-block;
  }

  element-select.element-select__wrapper select {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
    /* Ensure the select is focusable and visible to screen readers */
    pointer-events: auto;
  }

  /* Focus state for the wrapper */
  element-select.element-select__wrapper--focused .element-button {
    --_box-shadow: 0 0 0 var(--element-input-box-shadow-spread-radius--focus) color-mix(in srgb, var(--color-primary) var(--element-input-box-shadow-shade--focus), transparent);
  }

  element-select select:focus-visible + .element-button {
    --_border-width: var(--element-input-box-shadow-spread-radius--focus);
    --_box-shadow: inset 0 0 0 var(--_border-width) var(--_color-focus);
  }

  /* Ensure the button takes full width */
  element-select .element-button {
    width: 100%;
    justify-content: space-between;
  }
/* END_SNIPPET:element.select */

/* START_SNIPPET:element.swatch (INDEX:191) */
.element-swatch {
    /* Layout */
    --_size-small: var(--element-swatch-size-small, var(--size-4));
    --_size-large: var(--element-swatch-size-large, var(--size-8));
    --_size-mobile-ratio: var(--element-swatch-size-mobile-ratio, 0.875); /* 3.5/4 for small, 6/8 for large (0.75) */
    --_size: var(--_size-small);
    --_radius: var(--element-swatch-radius, var(--radius-full));
    --_border-width: var(--element-swatch-border-width, var(--size-0-25));
    --_outline-width: var(--element-swatch-outline-width, 3px);
    --_line-disabled-width: var(
      --element-swatch-line-disabled-width,
      max(var(--size-0-25), calc(var(--_size) * 0.0625))
    );

    /* Colors */
    --_color-primary: var(--color-primary, #000);
    --_color-secondary: var(--color-secondary, #fff);
    --_color-background: var(--element-swatch-color-background, var(--_color-primary));
    --_color-background-image: var(--element-swatch-color-background-image, none);
    --_color-border: var(--element-swatch-color-border, var(--_color-primary));
    --_color-disabled: var(--element-swatch-color-disabled, none);
    --_color-focus: var(--element-swatch-color-focus, var(--color-focus, #4a9afc));
    --_shade-inset: var(--element-swatch-shade-inset, 16%);
    --_shade-outer: var(--element-swatch-shade-outer, 0%);
    --_shade-outer-hover: var(--element-swatch-shade-outer-hover, 20%);
    --_shade-outer-selected: var(--element-swatch-shade-outer-selected, 100%);

    display: inline-block;
    background: var(--_color-disabled), var(--_color-background-image) center / cover, var(--_color-background);
    width: var(--_size);
    height: var(--_size);
    border-radius: var(--_radius);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--_color-secondary) 100%, transparent),
      0 0 0 var(--_outline-width) color-mix(in srgb, var(--_color-primary) var(--_shade-outer), transparent),
      inset 0 0 0 var(--_border-width) color-mix(in srgb, var(--_color-border) var(--_shade-inset), transparent);
    outline: 0;

    @media only screen and (max-width: 768px) {
      --_size: calc(var(--_size-small) * var(--_size-mobile-ratio));
    }

    label:hover &,
    &:hover {
      --_outline-width: 4px;
      --_shade-outer: var(--_shade-outer-hover);
    }

    &:focus,
    input:checked ~ &,
    .element-swatch--selected {
      --_shade-outer: var(--_shade-outer-selected);
    } 

    /* Focus State */
    &:focus-visible,
    input[type='radio']:focus-visible ~ & {
      --_color-primary: var(--_color-focus);
      --_outline-width: 4px;
    }
  }

  .element-swatch--large {
    --_size: var(--_size-large);

    @media only screen and (max-width: 768px) {
      --_size: calc(var(--_size-large) * var(--_size-mobile-ratio));
    }
  }

  .element-swatch--disabled,
  .disabled > input[type='radio'] ~ &,
  input:disabled + & {
    --_color-disabled: linear-gradient(
      to bottom right,
      transparent calc(50% - var(--_line-disabled-width)),
      var(--color-secondary) calc(50% - var(--_line-disabled-width)) calc(50% + var(--_line-disabled-width)),
      transparent calc(50% + var(--_line-disabled-width))
    );
  }
/* END_SNIPPET:element.swatch */

/* START_SNIPPET:element.text--body (INDEX:192) */
/* Public Body Variables */
  :root {
    /* Body Font Styles */
    --element-text-font-family--body: 'Arial';
    --element-text-font-family-fallback--body: 'sans-serif';
    --element-text-font-weight--body: var(--font-weight-400);
    --element-text-letter-spacing--body: var(--letter-space-md);
    --element-text-text-transform--body: none;
    
    /* Body Color */
    --element-text-color--body: initial;
    
    /* Body Font Sizes */
    --element-text-font-size--body: initial;
    --element-text-font-size--body-xs: var(--text-size-3);
    --element-text-font-size--body-sm: var(--text-size-3-5);
    --element-text-font-size--body-md: var(--text-size-4);
    --element-text-font-size--body-lg: var(--text-size-4-5);
    
    /* Body Line Heights */
    --element-text-line-height--body: var(--line-height-md);
    --element-text-line-height--body-xs: initial;
    --element-text-line-height--body-sm: initial;
    --element-text-line-height--body-md: initial;
    --element-text-line-height--body-lg: initial;
  }

  .element-text:is([class*="element-text--body"]) {
    /* Body Font Styles */
    --_font-family--body: var(--_font-family, var(--element-text-font-family--body));
    --_font-family-fallback--body: var(--_font-family-fallback, var(--element-text-font-family-fallback--body));
    --_font-weight--body: var(--_font-weight, var(--element-text-font-weight--body));
    --_letter-spacing--body: var(--_letter-spacing, var(--element-text-letter-spacing--body));
    --_text-transform--body: var(--_text-transform, var(--element-text-text-transform--body));

    /* Body Color */
    --_color--body: var(--_color, var(--element-text-color--body, currentColor));

    /* Body Font Sizes */
    --_font-size--body: var(--_font-size, var(--element-text-font-size--body));
    --_font-size--body-xs: var(--_font-size--body, var(--element-text-font-size--body-xs));
    --_font-size--body-sm: var(--_font-size--body, var(--element-text-font-size--body-sm));
    --_font-size--body-md: var(--_font-size--body, var(--element-text-font-size--body-md));
    --_font-size--body-lg: var(--_font-size--body, var(--element-text-font-size--body-lg));

    /* Body Line Heights */
    --_line-height--body: var(--_line-height, var(--element-text-line-height--body));
    --_line-height--body-xs: var(--element-text-line-height--body-xs, var(--_line-height--body));
    --_line-height--body-sm: var(--element-text-line-height--body-sm, var(--_line-height--body));
    --_line-height--body-md: var(--element-text-line-height--body-md, var(--_line-height--body));
    --_line-height--body-lg: var(--element-text-line-height--body-lg, var(--_line-height--body));

    font-family: var(--_font-family--body), var(--_font-family-fallback--body);
    font-weight: var(--_font-weight--body);
    letter-spacing: var(--_letter-spacing--body);
    text-transform: var(--_text-transform--body);
    color: var(--_color--body);

    &:where(.element-text--body-xs) {
      --_font-size: var(--_font-size--body-xs); 
      line-height: var(--_line-height--body-xs);
    }

    &:where(.element-text--body-sm) {
      font-size: var(--_font-size--body-sm);
      line-height: var(--_line-height--body-sm);
    }

    &:where(.element-text--body-md) {
      font-size: var(--_font-size--body-md);
      line-height: var(--_line-height--body-md);
    } 

    &:where(.element-text--body-lg) {
      font-size: var(--_font-size--body-lg);
      line-height: var(--_line-height--body-lg);
    }
  }
/* END_SNIPPET:element.text--body */

/* START_SNIPPET:element.text--heading (INDEX:193) */
/* Public Heading Variables */
  :root {
    /* Heading Font Styles */
    --element-text-font-family--heading: 'Arial';
    --element-text-font-family-fallback--heading: 'sans-serif';
    --element-text-font-weight--heading: var(--font-weight-700);
    --element-text-letter-spacing--heading: var(--letter-space-md);
    --element-text-text-transform--heading: none;
    
    /* Heading Color */
    --element-text-color--heading: initial;
    
    /* Heading Font Sizes */
    --element-text-font-size--heading: initial;
    --element-text-font-size--heading-2xl: var(--text-size-12);
    --element-text-font-size--heading-xl: var(--text-size-8);
    --element-text-font-size--heading-lg: var(--text-size-6);
    --element-text-font-size--heading-md: var(--text-size-5);
    --element-text-font-size--heading-sm: var(--text-size-4-5);
    --element-text-font-size--heading-xs: var(--text-size-4);
    --element-text-font-size--heading-2xs: var(--text-size-3-5);
    
    /* Heading Line Heights */
    --element-text-line-height--heading: var(--line-height-md);
    --element-text-line-height--heading-2xl: initial;
    --element-text-line-height--heading-xl: initial;
    --element-text-line-height--heading-lg: initial;
    --element-text-line-height--heading-md: initial;
    --element-text-line-height--heading-sm: initial;
    --element-text-line-height--heading-xs: initial;
    --element-text-line-height--heading-2xs: initial;
  } 

  .element-text:is([class*="element-text--heading"]) {
    /* Heading Font Styles */
    --_font-family--heading: var(--_font-family, var(--element-text-font-family--heading));
    --_font-family-fallback--heading: var(--_font-family-fallback, var(--element-text-font-family-fallback--heading));
    --_font-weight--heading: var(--_font-weight, var(--element-text-font-weight--heading));
    --_letter-spacing--heading: var(--_letter-spacing, var(--element-text-letter-spacing--heading));
    --_text-transform--heading: var(--_text-transform, var(--element-text-text-transform--heading));

    /* Heading Color */
    --_color--heading: var(--_color, var(--element-text-color--heading, currentColor));

    /* Heading Font Sizes */
    --_font-size--heading: var(--_font-size, var(--element-text-font-size--heading));
    --_font-size--heading-2xl: var(--_font-size--heading, var(--element-text-font-size--heading-2xl));
    --_font-size--heading-xl: var(--_font-size--heading, var(--element-text-font-size--heading-xl));
    --_font-size--heading-lg: var(--_font-size--heading, var(--element-text-font-size--heading-lg));
    --_font-size--heading-md: var(--_font-size--heading, var(--element-text-font-size--heading-md));
    --_font-size--heading-sm: var(--_font-size--heading, var(--element-text-font-size--heading-sm));
    --_font-size--heading-xs: var(--_font-size--heading, var(--element-text-font-size--heading-xs));

    /* Heading Line Heights */
    --_line-height--heading: var(--_line-height, var(--element-text-line-height--heading));
    --_line-height--heading-2xl: var(--element-text-line-height--heading-2xl, var(--_line-height--heading));
    --_line-height--heading-xl: var(--element-text-line-height--heading-xl, var(--_line-height--heading));
    --_line-height--heading-lg: var(--element-text-line-height--heading-lg, var(--_line-height--heading));
    --_line-height--heading-md: var(--element-text-line-height--heading-md, var(--_line-height--heading));
    --_line-height--heading-sm: var(--element-text-line-height--heading-sm, var(--_line-height--heading));
    --_line-height--heading-xs: var(--element-text-line-height--heading-xs, var(--_line-height--heading));

    font-family:var(--_font-family--heading), var(--_font-family-fallback--heading);
    font-weight: var(--_font-weight--heading);
    letter-spacing: var(--_letter-spacing--heading);
    text-transform: var(--_text-transform--heading);
    color: var(--_color--heading);

    &:where(.element-text--heading-2xs) {
      font-size: var(--_font-size--heading-2xs);
      line-height: var(--_line-height--heading-2xs);
    }
  
    &:where(.element-text--heading-xs) {
      font-size: var(--_font-size--heading-xs);
      line-height: var(--_line-height--heading-xs);
    }

    &:where(.element-text--heading-sm) {
      font-size: var(--_font-size--heading-sm);
      line-height: var(--_line-height--heading-sm);
    }

    &:where(.element-text--heading-md) {
      font-size: var(--_font-size--heading-md);
      line-height: var(--_line-height--heading-md);
    }

    &:where(.element-text--heading-lg) {
      font-size: var(--_font-size--heading-lg);
      line-height: var(--_line-height--heading-lg);
    }

    &:where(.element-text--heading-xl) {
      font-size: var(--_font-size--heading-xl);
      line-height: var(--_line-height--heading-xl);
    }

    &:where(.element-text--heading-2xl) {
      font-size: var(--_font-size--heading-2xl);
      line-height: var(--_line-height--heading-2xl);
    }
  }
/* END_SNIPPET:element.text--heading */

/* START_SNIPPET:element.text--rte (INDEX:194) */
/* Public RTE Variables */
  :root {
    /* Body Font Stack */
    --element-text-font-family--rte-body: var(--element-text-font-family--body);
    --element-text-font-family-fallback--rte-body: var(--element-text-font-family-fallback--body);
    --element-text-font-weight--rte-body: var(--element-text-font-weight--body);
    --element-text-letter-spacing--rte-body: var(--element-text-letter-spacing--body);
    --element-text-line-height--rte-body: var(--element-text-line-height--body);
    --element-text-text-transform--rte-body: var(--element-text-text-transform--body);

    /* Body Font Sizes */
    --element-text-font-size--rte-body: var(--element-text-font-size--body-md);
    --element-text-line-height--rte-body: var(--element-text-line-height--body);

    /* Heading Font Stack */
    --element-text-font-family--rte-heading: var(--element-text-font-family--heading);
    --element-text-font-family-fallback--rte-heading: var(--element-text-font-family-fallback--heading);
    --element-text-font-weight--rte-heading: var(--element-text-font-weight--heading);
    --element-text-letter-spacing--rte-heading: var(--element-text-letter-spacing--heading);
    --element-text-text-transform--rte-heading: var(--element-text-text-transform--heading);

    /* Heading Font Sizes */
    --element-text-font-size--rte-heading-h1: var(--element-text-font-size--heading-xl);
    --element-text-line-height--rte-heading-h1: var(--element-text-line-height--heading-xl);
    --element-text-font-size--rte-heading-h2: var(--element-text-font-size--heading-lg);
    --element-text-line-height--rte-heading-h2: var(--element-text-line-height--heading-lg);
    --element-text-font-size--rte-heading-h3: var(--element-text-font-size--heading-md);
    --element-text-line-height--rte-heading-h3: var(--element-text-line-height--heading-md);
    --element-text-font-size--rte-heading-h4: var(--element-text-font-size--heading-sm);
    --element-text-line-height--rte-heading-h4: var(--element-text-line-height--heading-sm);
    --element-text-font-size--rte-heading-h5: var(--element-text-font-size--heading-xs);
    --element-text-line-height--rte-heading-h5: var(--element-text-line-height--heading-xs);
    --element-text-font-size--rte-heading-h6: var(--element-text-font-size--heading-xs);
  }

  .element-text.element-text--rte {
    /* Body Font Stack */
    --_font-family--rte-body: var(--element-text-font-family--rte-body);
    --_font-family-fallback--rte-body: var(--element-text-font-family-fallback--rte-body);
    --_font-weight--rte-body: var(--element-text-font-weight--rte-body);
    --_letter-spacing--rte-body: var(--element-text-letter-spacing--rte-body);
    --_text-transform--rte-body: var(--element-text-text-transform--rte-body);

    /* Body Font Sizes */
    --_line-height--rte-body: var(--element-text-line-height--rte-body);
    --_font-size--rte-body: var(--element-text-font-size--rte-body);

    /* Heading Font Stack */
    --_font-family--rte-heading: var(--element-text-font-family--rte-heading);
    --_font-family-fallback--rte-heading: var(--element-text-font-family-fallback--rte-heading);
    --_font-weight--rte-heading: var(--element-text-font-weight--rte-heading);
    --_letter-spacing--rte-heading: var(--element-text-letter-spacing--rte-heading);
    --_text-transform--rte-heading: var(--element-text-text-transform--rte-heading);

    /* Heading Font Sizes */
    --_font-size--rte-heading-h1: var(--element-text-font-size--rte-heading-h1);
    --_line-height--rte-heading-h1: var(--element-text-line-height--rte-heading-h1);
    --_font-size--rte-heading-h2: var(--element-text-font-size--rte-heading-h2);
    --_line-height--rte-heading-h2: var(--element-text-line-height--rte-heading-h2);
    --_font-size--rte-heading-h3: var(--element-text-font-size--rte-heading-h3);
    --_line-height--rte-heading-h3: var(--element-text-line-height--rte-heading-h3);
    --_font-size--rte-heading-h4: var(--element-text-font-size--rte-heading-h4);
    --_line-height--rte-heading-h4: var(--element-text-line-height--rte-heading-h4);
    --_font-size--rte-heading-h5: var(--element-text-font-size--rte-heading-h5);
    --_line-height--rte-heading-h5: var(--element-text-line-height--rte-heading-h5);
    --_font-size--rte-heading-h6: var(--element-text-font-size--rte-heading-h6);
    --_line-height--rte-heading-h6: var(--element-text-line-height--rte-heading-h6);

    font-size: var(--_font-size--rte-body);
    font-family: var(--_font-family--rte-body), var(--_font-family-fallback--rte-body);
    font-weight: var(--_font-weight--rte-body);
    letter-spacing: var(--_letter-spacing--rte-body);
    text-transform: var(--_text-transform--rte-body);
    line-height: var(--_line-height--rte-body);

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
      font-family: var(--_font-family--rte-heading), var(--_font-family-fallback--rte-heading);
      font-weight: var(--_font-weight--rte-heading);
      letter-spacing: var(--_letter-spacing--rte-heading);
      text-transform: var(--_text-transform--rte-heading);
      margin: 0 0 var(--size-4);

      @media only screen and (min-width: 769px) {
        margin: 0 0 var(--size-5);
      }
    }

    h6 {
      font-size: var(--_font-size--rte-heading-h6);
      line-height: var(--_line-height--rte-heading-h6);
    }

    h5 {
      font-size: var(--_font-size--rte-heading-h5);
      line-height: var(--_line-height--rte-heading-h5);
    }

    h4 {
      font-size: var(--_font-size--rte-heading-h4);
      line-height: var(--_line-height--rte-heading-h4);
    }

    h3 {
      font-size: var(--_font-size--rte-heading-h3);
      line-height: var(--_line-height--rte-heading-h3);
    }

    h2 {
      font-size: var(--_font-size--rte-heading-h2);
      line-height: var(--_line-height--rte-heading-h2);
    }

    h1 {
      font-size: var(--_font-size--rte-heading-h1);
      line-height: var(--_line-height--rte-heading-h1);
    }

    a {
      text-decoration: underline;
    }

    p {
      margin-bottom: var(--size-8);

      &:last-child {
        margin-bottom: 0;
      }
    }

    & table {
      @media only screen and (max-width: 768px) {
        & td,
        & th {
          padding: 6px 8px;
        }
      }
    }

    .table-wrapper {
      max-width: 100%;
      overflow: auto;
      -webkit-overflow-scrolling: touch;
    }

    .video-wrapper {
      position: relative;
      overflow: hidden;
      max-width: 100%;
      padding-bottom: 56.25%;

      & iframe,
      & video {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
      }
    }
  }
/* END_SNIPPET:element.text--rte */

/* START_SNIPPET:element.text (INDEX:195) */
:root {
    --element-text-font-family: initial;
    --element-text-font-family-fallback: initial;
    --element-text-font-weight: initial;
    --element-text-letter-spacing: initial;
    --element-text-text-transform: initial;
    --element-text-line-height: initial;
    --element-text-color: initial;
    --element-text-font-size: initial;
  }

  .element-text {
    /* Base Typography Variables */
    --_font-family: var(--element-text-font-family);
    --_font-family-fallback: var(--element-text-font-family-fallback);
    --_font-weight: var(--element-text-font-weight);
    --_letter-spacing: var(--element-text-letter-spacing);
    --_text-transform: var(--element-text-text-transform);
    --_line-height: var(--element-text-line-height);
    --_color: var(--element-text-color, currentColor);
    --_font-size: var(--element-text-font-size);

    font-family: var(--_font-family), var(--_font-family-fallback);
    font-weight: var(--_font-weight);
    letter-spacing: var(--_letter-spacing);
    text-transform: var(--_text-transform);
    line-height: var(--_line-height);
    color: var(--_color);
    font-size: var(--_font-size);
    margin: 0;
    -webkit-font-smoothing: antialiased;

    &.element-text--price {
      sup {
        top: -0.5em;
        font-size: 60%;
      }
    }

    &.element-text--align-start {
      text-align: start;
    }

    &.element-text--align-center {
      text-align: center;
    }

    &.element-text--align-end {
      text-align: end;
    }

    &.element-text--align-justify {
      text-align: justify;
    }

    &.element-text--break-word {
      word-break: break-word;
    }

    &.element-text--truncate {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    &.element-text--visually-hidden {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      border: 0;
    }

    &.element-text--line-through {
      text-decoration: line-through;
    }

    &.element-text--line-through.element-text--price-superscript {
      text-decoration: none;

      span {
        text-decoration: line-through;
      }
      
      sup {
        text-decoration: line-through;
        position: relative;
        top: -0.5em;
        font-size: 60%;
      }
    }

    &.element-text--underline {
      text-decoration: underline;
    }

    &.element-text--uppercase {
      text-transform: uppercase;
    }

    &.element-text--lowercase {
      text-transform: lowercase;
    }

    &.element-text--capitalize {
      text-transform: capitalize;
    }
  }
/* END_SNIPPET:element.text */

/* START_SNIPPET:element.video (INDEX:196) */
video-media {
    --default-aspect-ratio: 16 / 9;

    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: var(--aspect-ratio, var(--default-aspect-ratio));
  }

  video-media > :is(video, iframe, img, svg) {
    border-radius: inherit;
    width: 100%;
    height: 100%;
    transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
  }

  video-media > img,
  video-media > svg,
  video-media > video:not(:fullscreen) {
    object-fit: cover;
    object-position: center;
  }

  .element-video[data-background='true'] > video-media,
  .element-video[data-background='true'] > .element-placeholder {
    position: absolute;
    height: 100%;
    width: 100%;
  }

  .element-video.aspect-ratio--square {
    --aspect-ratio: 1 / 1;
    aspect-ratio: 1 / 1;
  }

  .element-video.aspect-ratio--portrait {
    --aspect-ratio: 9 / 16;
    aspect-ratio: 9 / 16;
  }

  .element-video.aspect-ratio--landscape,
  .element-video.aspect-ratio--16-9 {
    --aspect-ratio: 16 / 9;
    aspect-ratio: 16 / 9;
  }

  video-media:not([loaded]) > :is(video, iframe),
  video-media[loaded] > img,
  video-media[loaded] > svg {
    visibility: hidden;
    opacity: 0;
  }
/* END_SNIPPET:element.video */

/* START_SNIPPET:form.product (INDEX:203) */
.product-form__submit-button--pulsing {
    animation: product-form-pulse 1.5s ease-in-out infinite;
    pointer-events: none;
    opacity: 0.6;
  }
  
  @keyframes product-form-pulse {
    0%, 100% { opacity: 0.6; }
    50% { opacity: 1; }
  }
/* END_SNIPPET:form.product */

/* START_SNIPPET:form.product.messages (INDEX:204) */
product-form-messages {
    display: inline;
  }

  product-form-messages.hide {
    display: none;
  }
/* END_SNIPPET:form.product.messages */

/* START_SNIPPET:kit.button (INDEX:214) */
.kit-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
    font-family: var(--kit-font-family-body);
    border-radius: var(--kit-radius-md);
    cursor: pointer;
    text-decoration: none;
    border: none;
    transition: background var(--kit-transition-normal);
    line-height: var(--kit-body-line-height);
    letter-spacing: var(--kit-body-letter-spacing);
    background: var(--kit-button-color-background);
    color: var(--kit-button-color-text);
    box-shadow: inset 0 0 0 1px var(--kit-button-color-border);
  }

  /* Variants */
  .kit-button--primary {
    --kit-button-color-background: var(--kit-color-primary-button, var(--kit-color-primary));
    --kit-button-color-text: var(--kit-color-on-primary-button, var(--kit-color-secondary));
    --kit-button-color-border: var(--kit-color-primary-button-border, var(--kit-button-color-background));
  }

  .kit-button--secondary {
    --kit-button-color-background: var(--kit-color-secondary-button, var(--kit-color-secondary));
    --kit-button-color-text: var(--kit-color-on-secondary-button, var(--kit-color-primary));
    --kit-button-color-border: var(--kit-color-secondary-button-border, var(--kit-button-color-text));
  }

  .kit-button--transparent {
    --kit-button-color-background: transparent;
    --kit-button-color-text: var(--kit-color-on-secondary-button, var(--kit-color-primary));
    --kit-button-color-border: transparent;
  }

  /* Sizes */
  .kit-button--sm {
    padding: var(--kit-button-padding-block-sm) var(--kit-button-padding-inline-sm);
    font-size: var(--kit-font-size-sm);
  }

  .kit-button--md {
    padding: var(--kit-button-padding-block-md) var(--kit-button-padding-inline-md);
    font-size: var(--kit-font-size-base);
  }

  .kit-button--lg {
    padding: var(--kit-button-padding-block-lg) var(--kit-button-padding-inline-lg);
    font-size: var(--kit-font-size-lg);
  }

  .kit-button--icon-only.kit-button--sm { padding: var(--kit-button-padding-block-sm); }
  .kit-button--icon-only.kit-button--md { padding: var(--kit-button-padding-block-md); }
  .kit-button--icon-only.kit-button--lg { padding: var(--kit-button-padding-block-lg); }

  /* States */
  .kit-button:hover {
    background: color-mix(in srgb, var(--kit-button-color-text) var(--kit-color-mix-hover), var(--kit-button-color-background));
  }

  .kit-button:active:not(:disabled),
  .kit-button:focus-visible:not(:disabled),
  input:focus-visible ~ .kit-button:not(:disabled) {
    background: color-mix(in srgb, var(--kit-button-color-text) var(--kit-color-mix-active), var(--kit-button-color-background));
  }

  .kit-button--full-width {
    width: 100%;
  }

  .kit-button--disabled {
    cursor: not-allowed;
    opacity: var(--kit-opacity-disabled);
    pointer-events: none;
  }

  /* Loading — toggled via JS:
     el.classList.add('kit-button--loading');
     el.disabled = true;                          // <button>
     el.setAttribute('aria-disabled', 'true');    // <a>
  */
  .kit-button.kit-button--loading {
    position: relative;
    pointer-events: none;
  }

  .kit-button--loading::before {
    content: '';
    position: absolute;
    inset: 1px;
    background: inherit;
    border-radius: inherit;
  }

  .kit-button.kit-button--loading::before {
    background: var(--kit-button-color-background);
  }

  .kit-button--transparent.kit-button--loading::before {
    background: var(--kit-color-secondary);
  }

  .kit-button--loading::after {
    content: '';
    position: absolute;
    inset: 0;
    margin: auto;
    width: 1em;
    height: 1em;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: kit-button-spin 0.6s linear infinite;
  }

  @keyframes kit-button-spin {
    to {
      transform: rotate(360deg);
    }
  }
/* END_SNIPPET:kit.button */

/* START_SNIPPET:kit.content-over-media (INDEX:215) */
.kit-content-over-media {
    display: grid;
    overflow: hidden;
    position: relative;

    /* Layout state — default: overlay */
    --_cols: 1fr min(var(--kit-page-width), 100%) 1fr;
    --_rows: 1fr;
    --_content-col: 2;
    --_content-row: 1;
    --_content-place: var(--com-place);
    --_content-align: var(--com-text-align);
    --_media-row: 1;
    --_overlay: '';

    grid-template-columns: var(--_cols);
    grid-template-rows: var(--_rows);

    /* Break inheritance chain for nested instances */
    --com-layout: initial;
    --com-layout-md: initial;
    --com-layout-lg: initial;
    --com-layout-xl: initial;
    --com-place: initial;
    --com-place-md: initial;
    --com-place-lg: initial;
    --com-place-xl: initial;
    --com-text-align: initial;
    --com-text-align-md: initial;
    --com-text-align-lg: initial;
    --com-text-align-xl: initial;
  }

  .kit-content-over-media__media {
    grid-column: 1 / -1;
    grid-row: var(--_media-row);
    display: grid;
  }

  .kit-content-over-media > .kit-content-over-media__media > *,
  .kit-content-over-media__media > picture > img {
    grid-area: 1 / 1;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
  }

  .kit-content-over-media--overlay::after {
    content: var(--_overlay);
    grid-column: 1 / -1;
    grid-row: var(--_media-row);
    background: color-mix(in srgb, var(--kit-color-tint) var(--kit-color-mix-tint-overlay), transparent);
    z-index: 1;
    pointer-events: none;
  }

  .kit-content-over-media__content {
    grid-column: var(--_content-col);
    grid-row: var(--_content-row);
    z-index: 2;
    padding: var(--kit-section-gutter);
    place-self: var(--_content-place);
    text-align: var(--_content-align);
  }

  /* Stacking — base */
  .kit-content-over-media[style*='--com-layout: stack-below'],
  .kit-content-over-media[style*='--com-layout: stack-above'] {
    --_cols: 1fr;
    --_rows: auto auto;
    --_content-col: 1;
    --_content-row: 2;
    --_content-place: auto;
    --_media-row: 1;
    --_overlay: none;
  }

  .kit-content-over-media[style*='--com-layout: stack-above'] {
    --_content-row: 1;
    --_media-row: 2;
  }

  @media (min-width: 700px) {
    .kit-content-over-media[style*='--com-layout-md: overlay'] {
      --_cols: 1fr min(var(--kit-page-width), 100%) 1fr;
      --_rows: 1fr;
      --_content-col: 2;
      --_content-row: 1;
      --_content-place: var(--com-place);
      --_content-align: var(--com-text-align);
      --_media-row: 1;
      --_overlay: '';
    }

    .kit-content-over-media[style*='--com-layout-md: stack-below'],
    .kit-content-over-media[style*='--com-layout-md: stack-above'] {
      --_cols: 1fr;
      --_rows: auto auto;
      --_content-col: 1;
      --_content-row: 2;
      --_content-place: auto;
      --_media-row: 1;
      --_overlay: none;
    }

    .kit-content-over-media[style*='--com-layout-md: stack-above'] {
      --_content-row: 1;
      --_media-row: 2;
    }

    .kit-content-over-media[style*='--com-place-md'] {
      --_content-place: var(--com-place-md);
      --_content-align: var(--com-text-align-md);
    }
  }

  @media (min-width: 1024px) {
    .kit-content-over-media[style*='--com-layout-lg: overlay'] {
      --_cols: 1fr min(var(--kit-page-width), 100%) 1fr;
      --_rows: 1fr;
      --_content-col: 2;
      --_content-row: 1;
      --_content-place: var(--com-place);
      --_content-align: var(--com-text-align);
      --_media-row: 1;
      --_overlay: '';
    }

    .kit-content-over-media[style*='--com-layout-lg: stack-below'],
    .kit-content-over-media[style*='--com-layout-lg: stack-above'] {
      --_cols: 1fr;
      --_rows: auto auto;
      --_content-col: 1;
      --_content-row: 2;
      --_content-place: auto;
      --_media-row: 1;
      --_overlay: none;
    }

    .kit-content-over-media[style*='--com-layout-lg: stack-above'] {
      --_content-row: 1;
      --_media-row: 2;
    }

    .kit-content-over-media[style*='--com-place-lg'] {
      --_content-place: var(--com-place-lg);
      --_content-align: var(--com-text-align-lg);
    }
  }

  @media (min-width: 1200px) {
    .kit-content-over-media[style*='--com-layout-xl: overlay'] {
      --_cols: 1fr min(var(--kit-page-width), 100%) 1fr;
      --_rows: 1fr;
      --_content-col: 2;
      --_content-row: 1;
      --_content-place: var(--com-place);
      --_content-align: var(--com-text-align);
      --_media-row: 1;
      --_overlay: '';
    }

    .kit-content-over-media[style*='--com-layout-xl: stack-below'],
    .kit-content-over-media[style*='--com-layout-xl: stack-above'] {
      --_cols: 1fr;
      --_rows: auto auto;
      --_content-col: 1;
      --_content-row: 2;
      --_content-place: auto;
      --_media-row: 1;
      --_overlay: none;
    }

    .kit-content-over-media[style*='--com-layout-xl: stack-above'] {
      --_content-row: 1;
      --_media-row: 2;
    }

    .kit-content-over-media[style*='--com-place-xl'] {
      --_content-place: var(--com-place-xl);
      --_content-align: var(--com-text-align-xl);
    }
  }
/* END_SNIPPET:kit.content-over-media */

/* START_SNIPPET:kit.fieldset (INDEX:217) */
.kit-fieldset {
    margin: 0;
    padding: 0;
    border: 0;
  }

  .kit-fieldset__legend {
    display: flex;
    margin-block-end: var(--kit-space-xs);
  }

  .kit-fieldset__legend-text.kit-text {
    font-weight: bold;
  }

  .kit-fieldset__legend-selection.kit-text,
  .kit-fieldset__legend-extra.kit-text {
    font-weight: normal;
  }

  .kit-fieldset__legend-selection.kit-text::before,
  .kit-fieldset__legend-extra.kit-text::before {
    content: '\00a0\2014\00a0';
  }
/* END_SNIPPET:kit.fieldset */

/* START_SNIPPET:kit.image (INDEX:218) */
.kit-image {
    display: block;
    max-width: 100%;
    height: auto;
  }

  .kit-image--ratio {
    width: 100%;
  }

  .kit-image--fill {
    width: 100%;
    height: 100%;
  }
/* END_SNIPPET:kit.image */

/* START_SNIPPET:kit.placeholder (INDEX:220) */
.kit-placeholder {
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  .kit-placeholder svg {
    width: 100%;
    height: 100%;
    display: block;
  }

  .kit-placeholder--outline {
    fill: currentColor;
    opacity: 0.3;
  }
/* END_SNIPPET:kit.placeholder */

/* START_SNIPPET:kit.popover (INDEX:221) */
.kit-popover {
    position: absolute;
    inset: auto;
    margin: 0;
    padding: var(--kit-space-md);
    border: none;
    border-radius: var(--kit-radius-md);
    box-shadow: var(--kit-shadow-md);
    background-color: var(--kit-color-secondary);
    color: var(--kit-color-primary);
    font-family: var(--kit-font-family-body);
    font-size: var(--kit-font-size-base);
    line-height: var(--kit-body-line-height);
    letter-spacing: var(--kit-body-letter-spacing);
  }

  .kit-popover:popover-open {
    animation: kit-popover-show 150ms ease;
  }

  @keyframes kit-popover-show {
    from {
      opacity: 0;
      scale: 0.96;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .kit-popover:popover-open {
      animation: none;
    }
  }

  @media (forced-colors: active) {
    .kit-popover {
      border: solid 1px;
    }
  }
/* END_SNIPPET:kit.popover */

/* START_SNIPPET:kit.product-section-refresh (INDEX:222) */
[data-kit-refresh-busy] [data-kit-refresh] {
    opacity: var(--kit-opacity-disabled, 0.5);
    pointer-events: none;
  }
/* END_SNIPPET:kit.product-section-refresh */

/* START_SNIPPET:kit.product-variant-picker (INDEX:225) */
.kit-product-variant-picker {
    display: block;
  }

  /* Sold-out values borrow the disabled look but stay selectable */
  .kit-product-variant-picker .kit-radio :is(.kit-button--disabled, .kit-swatch--disabled) {
    cursor: pointer;
  }

  .kit-picker--loading {
    opacity: var(--kit-opacity-disabled, 0.5);
    pointer-events: none;
  }
/* END_SNIPPET:kit.product-variant-picker */

/* START_SNIPPET:kit.radio (INDEX:226) */
.kit-radio {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: var(--kit-control-gap);
    margin: 0;
    cursor: pointer;
  }

  .kit-radio__input {
    position: absolute;
    opacity: 0;
    inset: 0;
    cursor: pointer;
    margin: 0;
  }

  .kit-radio__indicator {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px var(--kit-color-border, color-mix(in srgb, var(--kit-color-primary) var(--kit-color-mix-border), var(--kit-color-secondary)));
    background-color: var(--kit-color-secondary);
    flex-shrink: 0;
    transition: box-shadow var(--kit-transition-normal), background-color var(--kit-transition-normal);
  }

  .kit-radio__indicator::before {
    content: '';
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background-color: var(--kit-color-secondary);
    opacity: 0;
    transition: opacity var(--kit-transition-normal);
  }

  .kit-radio__label {
    font-family: var(--kit-font-family-body);
    font-size: var(--kit-font-size-base);
    line-height: var(--kit-body-line-height);
    letter-spacing: var(--kit-body-letter-spacing);
  }

  /* Hover */
  .kit-radio:not(:has(input:disabled)):not(:has(input:checked)):hover .kit-radio__indicator {
    background-color: var(--kit-color-border, color-mix(in srgb, var(--kit-color-primary) var(--kit-color-mix-border), var(--kit-color-secondary)));
  }

  /* Checked */
  .kit-radio:has(input:checked) .kit-radio__indicator {
    background-color: var(--kit-color-primary);
  }

  .kit-radio:has(input:checked):not(:hover) .kit-radio__indicator {
    box-shadow: none;
  }

  .kit-radio:has(input:checked) .kit-radio__indicator::before {
    opacity: 1;
  }

  /* Focus */
  .kit-radio:has(input:focus-visible) .kit-radio__indicator {
    outline: var(--kit-focus-ring);
    outline-offset: var(--kit-focus-ring-offset);
  }

  /* Disabled */
  .kit-radio:has(input:disabled) {
    cursor: not-allowed;
  }

  .kit-radio:has(input:disabled) .kit-radio__indicator {
    box-shadow: none;
    background-color: var(--kit-color-border, color-mix(in srgb, var(--kit-color-primary) var(--kit-color-mix-border), var(--kit-color-secondary)));
  }

  .kit-radio:has(input:disabled) .kit-radio__indicator::before {
    opacity: 0;
  }

  .kit-radio:has(input:disabled:checked) .kit-radio__indicator {
    background-color: var(--kit-color-primary);
  }

  .kit-radio:has(input:disabled:checked) .kit-radio__indicator::before {
    opacity: 1;
  }

  .kit-radio:has(input:disabled) .kit-radio__input {
    cursor: not-allowed;
  }
/* END_SNIPPET:kit.radio */

/* START_SNIPPET:kit.section (INDEX:227) */
.kit-section {
    width: 100%;
  }

  .kit-section__content {
    max-width: var(--kit-page-width);
    margin-inline: auto;
    padding-inline: var(--kit-section-gutter);
  }

  .kit-section--full-width > .kit-section__content {
    max-width: none;
    padding-inline: 0;
  }

  .kit-section--padding-top {
    padding-top: var(--kit-section-spacing);
  }

  .kit-section--padding-bottom {
    padding-bottom: var(--kit-section-spacing);
  }
/* END_SNIPPET:kit.section */

/* START_SNIPPET:kit.select (INDEX:228) */
.kit-select {
    --kit-select-icon-size: 16px;

    position: relative;
    display: block;
    width: 100%;
  }

  .kit-select__native {
    display: block;
    width: 100%;
    padding: var(--kit-control-padding-block) var(--kit-control-padding-inline);
    padding-inline-end: calc((var(--kit-control-padding-inline) * 2) + var(--kit-select-icon-size));
    appearance: none;
    border: none;
    border-radius: var(--kit-radius-sm);
    box-shadow: inset 0 0 0 1px var(--kit-color-border, color-mix(in srgb, var(--kit-color-primary) var(--kit-color-mix-border), var(--kit-color-secondary)));
    background-color: var(--kit-color-secondary);
    background-image: none;
    color: var(--kit-color-primary);
    font-family: var(--kit-font-family-body);
    font-size: var(--kit-font-size-base);
    line-height: var(--kit-body-line-height);
    letter-spacing: var(--kit-body-letter-spacing);
    outline: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
    transition: box-shadow var(--kit-transition-normal), background-color var(--kit-transition-normal);
  }

  /* Placeholder */
  .kit-select:has(option[disabled]:checked) .kit-select__native {
    color: color-mix(in srgb, var(--kit-color-primary) var(--kit-color-mix-text-subdued), var(--kit-color-secondary));
  }

  /* Hover */
  .kit-select__native:hover:not(:disabled):not(:focus) {
    background-color: color-mix(in srgb, var(--kit-color-primary) var(--kit-color-mix-off-background), var(--kit-color-secondary));
    box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--kit-color-primary) var(--kit-color-mix-hover), var(--kit-color-secondary));
  }

  /* Focus */
  .kit-select__native:focus-visible {
    box-shadow: inset 0 0 0 2px var(--kit-color-focus);
  }

  /* Disabled */
  .kit-select__native:disabled {
    box-shadow: none;
    background-color: color-mix(in srgb, var(--kit-color-primary) var(--kit-color-mix-disabled), var(--kit-color-secondary));
    color: color-mix(in srgb, var(--kit-color-primary) var(--kit-color-mix-on-disabled), var(--kit-color-secondary));
    cursor: not-allowed;
  }

  /* Error -- caller sets aria-invalid="true" via attr param */
  .kit-select__native[aria-invalid='true'] {
    box-shadow: inset 0 0 0 2px var(--kit-color-error);
  }

  /* Chevron */
  .kit-select__icon {
    position: absolute;
    top: 50%;
    inset-inline-end: var(--kit-control-padding-inline);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--kit-select-icon-size);
    height: var(--kit-select-icon-size);
    transform: translateY(-50%);
    pointer-events: none;
    color: var(--kit-color-primary);
  }

  .kit-select__icon > svg,
  .kit-select__icon > .kit-icon {
    width: 100%;
    height: 100%;
  }

  .kit-select:has(.kit-select__native:disabled) .kit-select__icon {
    color: color-mix(in srgb, var(--kit-color-primary) var(--kit-color-mix-on-disabled), var(--kit-color-secondary));
  }
/* END_SNIPPET:kit.select */

/* START_SNIPPET:kit.stack (INDEX:229) */
.kit-stack {
    display: flex;
    flex-direction: var(--stack-direction, column);
    gap: var(--stack-gap, 0);
    margin: 0;
    padding: 0;

    /* Break inheritance chain for nested stacks */
    --stack-direction: initial;
    --stack-direction-md: initial;
    --stack-direction-lg: initial;
    --stack-direction-xl: initial;
    --stack-gap: initial;
    --stack-gap-md: initial;
    --stack-gap-lg: initial;
    --stack-gap-xl: initial;
  }

  /* Wrap */
  .kit-stack--wrap {
    flex-wrap: wrap;
  }

  /* Align (cross-axis) */
  .kit-stack--align-start {
    align-items: flex-start;
  }

  .kit-stack--align-center {
    align-items: center;
  }

  .kit-stack--align-end {
    align-items: flex-end;
  }

  .kit-stack--align-stretch {
    align-items: stretch;
  }

  .kit-stack--align-baseline {
    align-items: baseline;
  }

  /* Justify (main-axis) */
  .kit-stack--justify-start {
    justify-content: flex-start;
  }

  .kit-stack--justify-center {
    justify-content: center;
  }

  .kit-stack--justify-end {
    justify-content: flex-end;
  }

  .kit-stack--justify-between {
    justify-content: space-between;
  }

  /* Responsive */
  @media (min-width: 700px) {
    .kit-stack[style*='--stack-direction-md'] {
      flex-direction: var(--stack-direction-md);
    }

    .kit-stack[style*='--stack-gap-md'] {
      gap: var(--stack-gap-md);
    }
  }

  @media (min-width: 1024px) {
    .kit-stack[style*='--stack-direction-lg'] {
      flex-direction: var(--stack-direction-lg);
    }

    .kit-stack[style*='--stack-gap-lg'] {
      gap: var(--stack-gap-lg);
    }
  }

  @media (min-width: 1200px) {
    .kit-stack[style*='--stack-direction-xl'] {
      flex-direction: var(--stack-direction-xl);
    }

    .kit-stack[style*='--stack-gap-xl'] {
      gap: var(--stack-gap-xl);
    }
  }
/* END_SNIPPET:kit.stack */

/* START_SNIPPET:kit.swatch (INDEX:230) */
.kit-swatch {
    --kit-swatch-color: var(--kit-color-secondary);
    --kit-swatch-image: none;

    display: inline-block;
    padding: 0;
    position: relative;
    width: 2rem;
    height: 2rem;
    border-radius: var(--kit-radius-full);
    background-color: var(--kit-swatch-color);
    background-image: var(--kit-swatch-image);
    background-size: cover;
    background-position: center;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--kit-color-primary) var(--kit-color-mix-border), var(--kit-color-secondary));
    outline: none;
  }

  .kit-swatch--selected,
  input:checked ~ .kit-swatch {
    outline: 1px solid var(--kit-color-primary);
    outline-offset: 1px;
    box-shadow: 0 0 0 1px var(--kit-color-secondary);
  }

  @media (hover: hover) and (pointer: fine) {
    .kit-swatch:not(:focus-visible, :disabled, .kit-swatch--disabled):hover {
      outline: 1px solid var(--kit-color-primary);
      outline-offset: 1px;
      box-shadow: 0 0 0 1px var(--kit-color-secondary);
    }
  }

  .kit-swatch:focus-visible:not(:disabled, .kit-swatch--disabled),
  input:focus-visible ~ .kit-swatch:not(:disabled, .kit-swatch--disabled) {
    outline: 1px solid var(--kit-color-focus);
    outline-offset: 1px;
  }

  button.kit-swatch:disabled {
    cursor: not-allowed;
  }

  .kit-swatch--disabled::after,
  button.kit-swatch:disabled::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: var(--kit-color-secondary);
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M15 5 5 15M5 5l10 10' fill='none' stroke='%23000' stroke-width='1.25' stroke-linecap='round'/%3E%3C/svg%3E")
      center / contain no-repeat;
  }

  /* Force either white or light grey for contrast */
  @supports (color: oklch(from red l c h)) {
    .kit-swatch--disabled::after,
    button.kit-swatch:disabled::after {
      background-color: oklch(from var(--kit-swatch-color) clamp(0.8, (0.9 - l) * 1000, 1) 0 0);
    }
  }
/* END_SNIPPET:kit.swatch */

/* START_SNIPPET:kit.text (INDEX:231) */
.kit-text {
    font-family: inherit;
    font-size: var(--kit-font-size-base);
    font-weight: var(--kit-font-weight-normal);
    line-height: var(--kit-body-line-height);
    letter-spacing: var(--kit-body-letter-spacing);
    color: inherit;
    margin: 0;
  }

  /* Heading variants */
  .kit-text--heading-xl {
    font-family: var(--kit-font-family-heading);
    font-size: var(--kit-heading-font-size-xl);
    font-weight: var(--kit-heading-font-weight);
    line-height: var(--kit-heading-line-height);
    letter-spacing: var(--kit-heading-letter-spacing);
    text-transform: var(--kit-heading-text-transform);
  }

  .kit-text--heading-lg {
    font-family: var(--kit-font-family-heading);
    font-size: var(--kit-heading-font-size-lg);
    font-weight: var(--kit-heading-font-weight);
    line-height: var(--kit-heading-line-height);
    letter-spacing: var(--kit-heading-letter-spacing);
    text-transform: var(--kit-heading-text-transform);
  }

  .kit-text--heading-md {
    font-family: var(--kit-font-family-heading);
    font-size: var(--kit-heading-font-size-md);
    font-weight: var(--kit-heading-font-weight);
    line-height: var(--kit-heading-line-height);
    letter-spacing: var(--kit-heading-letter-spacing);
    text-transform: var(--kit-heading-text-transform);
  }

  .kit-text--heading-sm {
    font-family: var(--kit-font-family-heading);
    font-size: var(--kit-heading-font-size-sm);
    font-weight: var(--kit-heading-font-weight);
    line-height: var(--kit-heading-line-height);
    letter-spacing: var(--kit-heading-letter-spacing);
    text-transform: var(--kit-heading-text-transform);
  }

  /* Body variants */
  .kit-text--body-sm {
    font-size: var(--kit-font-size-sm);
  }

  .kit-text--caption {
    font-size: var(--kit-font-size-xs);
    color: color-mix(in srgb, var(--kit-color-primary) var(--kit-color-mix-text-subdued), var(--kit-color-secondary));
  }

  /* Alignment */
  .kit-text--align-start {
    text-align: start;
  }

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

  .kit-text--align-end {
    text-align: end;
  }

  /* Utilities */
  .kit-text--balance {
    text-wrap: balance;
  }
/* END_SNIPPET:kit.text */

/* START_SNIPPET:kit.tokens (INDEX:232) */
@layer kit {
    :root {
      /* Base colors */
      --kit-color-primary: #000;
      --kit-color-secondary: #fff;
      --kit-color-tint: #000; /* for shadows, overlays, etc. */

      /* Absolute colors */
      --kit-color-focus: #4a9afc;
      --kit-color-border: initial; /* takes precedence over --kit-color-mix-border when set */
      --kit-color-links: currentColor;
      --kit-color-icons: currentColor;
      --kit-color-success: #16a34a;
      --kit-color-error: #dc2626;
      --kit-color-info: #3b82f6;
      --kit-color-warning: #f59e0b;
      --kit-color-sale: #980606;
      --kit-color-sale-contrast: #fff;
      --kit-color-sold-out: #000;
      --kit-color-sold-out-contrast: #fff;

      /* Primary/secondary: for color-mix(in srgb, var(--kit-color-primary) [%], var(--kit-color-secondary)); */
      --kit-color-mix-off-background: 4%;
      --kit-color-mix-border: 16%;
      --kit-color-mix-text-subdued: 60%;
      --kit-color-mix-hover: 12%;
      --kit-color-mix-active: 16%;
      --kit-color-mix-disabled: 8%;
      --kit-color-mix-on-disabled: 30%;

      /* Tint: for color-mix(in srgb, var(--kit-color-tint) [%], transparent) */
      --kit-color-mix-tint-shadow: 8%;
      --kit-color-mix-tint-overlay-light: 15%;
      --kit-color-mix-tint-overlay: 50%;

      /* Opacity */
      --kit-opacity-disabled: 0.5;

      /* Typography — Families */
      --kit-font-family-body: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
      --kit-font-family-heading: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;

      /* Typography — Sizes (mobile-first) */
      --kit-font-size-xs: 0.75rem;
      --kit-font-size-sm: 0.75rem;
      --kit-font-size-base: 0.875rem;
      --kit-font-size-lg: 1rem;
      --kit-font-size-xl: 1.125rem;
      --kit-font-size-2xl: 1.25rem;
      --kit-font-size-3xl: 1.5rem;

      /* Typography — Weights */
      --kit-font-weight-normal: 400;
      --kit-font-weight-semibold: 600;
      --kit-font-weight-bold: 700;

      /* Typography — Heading sizes (mobile-first, independent from shared scale) */
      --kit-heading-font-size-sm: 1rem;
      --kit-heading-font-size-md: 1.125rem;
      --kit-heading-font-size-lg: 1.25rem;
      --kit-heading-font-size-xl: 1.5rem;

      /* Typography — Headings */
      --kit-heading-font-weight: 700;
      --kit-heading-line-height: 1.2;
      --kit-heading-letter-spacing: -0.025em;
      --kit-heading-text-transform: none;

      /* Typography — Body */
      --kit-body-font-style: normal;
      --kit-body-line-height: 1.5;
      --kit-body-letter-spacing: normal;

      /* Spacing */
      --kit-space-2xs: 0.25rem;
      --kit-space-xs: 0.5rem;
      --kit-space-sm: 0.75rem;
      --kit-space-md: 1rem;
      --kit-space-lg: 1.5rem;
      --kit-space-xl: 2rem;
      --kit-space-2xl: 3rem;

      /* Controls spacing */
      --kit-control-padding-block: var(--kit-space-xs);
      --kit-control-padding-inline: var(--kit-space-xs);
      --kit-control-gap: var(--kit-space-xs);

      /* Button spacing */
      --kit-button-padding-block-sm: var(--kit-space-2xs);
      --kit-button-padding-inline-sm: var(--kit-space-sm);
      --kit-button-padding-block-md: var(--kit-space-xs);
      --kit-button-padding-inline-md: var(--kit-space-md);
      --kit-button-padding-block-lg: var(--kit-space-sm);
      --kit-button-padding-inline-lg: var(--kit-space-lg);

      /* Border radius */
      --kit-radius-sm: 0.25rem;
      --kit-radius-md: 0.5rem;
      --kit-radius-lg: 1rem;
      --kit-radius-full: 9999px;

      /* Shadows */
      --kit-shadow-inner: inset 0 0 0 1px
        color-mix(in srgb, var(--kit-color-tint) var(--kit-color-mix-tint-overlay-light), transparent);
      --kit-shadow-xs: 0 0.5px 0.5px 3px
        color-mix(in srgb, var(--kit-color-tint) var(--kit-color-mix-tint-shadow), transparent);
      --kit-shadow-sm: 0 1px 2px 0
        color-mix(in srgb, var(--kit-color-tint) var(--kit-color-mix-tint-shadow), transparent);
      --kit-shadow-md: 0 2px 4px -1px color-mix(in srgb, var(--kit-color-tint) var(--kit-color-mix-tint-shadow), transparent);
      --kit-shadow-lg: 0 8px 16px -4px color-mix(in srgb, var(--kit-color-tint) var(--kit-color-mix-tint-shadow), transparent);

      /* Transitions */
      --kit-transition-fast: 75ms ease;
      --kit-transition-normal: 150ms ease;
      --kit-transition-slow: 300ms ease;

      /* Focus */
      --kit-focus-ring: 2px solid var(--kit-color-focus);
      --kit-focus-ring-offset: 0;

      /* Icons */
      --kit-icon-stroke-width: 1px;

      /* Layout */
      --kit-page-width: 1500px;
      --kit-section-spacing: 2rem;
      --kit-section-gutter: var(--kit-space-md);
    }

    @media (min-width: 700px) {
      :root {
        --kit-font-size-sm: 0.875rem;
        --kit-font-size-base: 1rem;
        --kit-font-size-lg: 1.125rem;
        --kit-font-size-xl: 1.25rem;
        --kit-font-size-2xl: 1.5rem;
        --kit-font-size-3xl: 1.875rem;

        --kit-heading-font-size-sm: 1.125rem;
        --kit-heading-font-size-md: 1.25rem;
        --kit-heading-font-size-lg: 1.5rem;
        --kit-heading-font-size-xl: 1.875rem;
      }
    }

    /* Global focus style for kit interactive elements */
    [class^='kit-']:focus-visible,
    [class*=' kit-']:focus-visible {
      outline: var(--kit-focus-ring);
      outline-offset: var(--kit-focus-ring-offset);
    }
  }
/* END_SNIPPET:kit.tokens */

/* START_SNIPPET:kit.tooltip (INDEX:233) */
kit-tooltip {
    display: inline-flex;
  }

  .kit-tooltip__trigger {
    display: inline-flex;
  }

  .kit-tooltip__bubble {
    --kit-tooltip-offset: 6px;
    --kit-tooltip-color-background: var(--kit-color-primary);

    position: absolute;
    inset: auto;
    width: max-content;
    max-width: 200px;
    margin: 0;
    padding: var(--kit-space-2xs) var(--kit-space-xs);
    border: none;
    border-radius: var(--kit-radius-sm);
    background-color: var(--kit-tooltip-color-background);
    color: var(--kit-color-secondary);
    font-family: var(--kit-font-family-body);
    font-size: var(--kit-font-size-xs);
    font-weight: var(--kit-font-weight-normal);
    line-height: var(--kit-body-line-height);
    letter-spacing: var(--kit-body-letter-spacing);
    text-align: start;
    overflow: visible;
    pointer-events: none;
    opacity: 0;
    transform: translate(var(--kit-tooltip-enter-x, 0), var(--kit-tooltip-enter-y, 0));
    transition:
      opacity var(--kit-transition-normal),
      transform var(--kit-transition-normal),
      overlay var(--kit-transition-normal) allow-discrete,
      display var(--kit-transition-normal) allow-discrete;
  }

  .kit-tooltip__bubble:popover-open {
    opacity: 1;
    transform: none;
  }

  @starting-style {
    .kit-tooltip__bubble:popover-open {
      opacity: 0;
      transform: translate(var(--kit-tooltip-enter-x, 0), var(--kit-tooltip-enter-y, 0));
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .kit-tooltip__bubble {
      transition: none;
    }
  }

  /* Arrow */
  .kit-tooltip__bubble::after {
    content: '';
    position: absolute;
    border: 4px solid transparent;
  }

  .kit-tooltip--no-arrow .kit-tooltip__bubble::after {
    content: none;
  }

  /* Placement: top */
  kit-tooltip[placement='top'] .kit-tooltip__bubble {
    --kit-tooltip-enter-y: 4px;
  }

  kit-tooltip[placement='top'] .kit-tooltip__bubble::after {
    top: 100%;
    left: calc(50% + var(--arrow-offset, 0px));
    transform: translateX(-50%);
    border-top-color: var(--kit-tooltip-color-background);
  }

  /* Placement: bottom */
  kit-tooltip[placement='bottom'] .kit-tooltip__bubble {
    --kit-tooltip-enter-y: -4px;
  }

  kit-tooltip[placement='bottom'] .kit-tooltip__bubble::after {
    bottom: 100%;
    left: calc(50% + var(--arrow-offset, 0px));
    transform: translateX(-50%);
    border-bottom-color: var(--kit-tooltip-color-background);
  }

  /* Placement: start */
  kit-tooltip[placement='start'] .kit-tooltip__bubble {
    --kit-tooltip-enter-x: 4px;
  }

  kit-tooltip[placement='start']:dir(rtl) .kit-tooltip__bubble {
    --kit-tooltip-enter-x: -4px;
  }

  kit-tooltip[placement='start'] .kit-tooltip__bubble::after {
    inset-inline-start: 100%;
    top: calc(50% + var(--arrow-offset, 0px));
    transform: translateY(-50%);
    border-inline-start-color: var(--kit-tooltip-color-background);
  }

  /* Placement: end */
  kit-tooltip[placement='end'] .kit-tooltip__bubble {
    --kit-tooltip-enter-x: -4px;
  }

  kit-tooltip[placement='end']:dir(rtl) .kit-tooltip__bubble {
    --kit-tooltip-enter-x: 4px;
  }

  kit-tooltip[placement='end'] .kit-tooltip__bubble::after {
    inset-inline-end: 100%;
    top: calc(50% + var(--arrow-offset, 0px));
    transform: translateY(-50%);
    border-inline-end-color: var(--kit-tooltip-color-background);
  }

  @media (forced-colors: active) {
    .kit-tooltip__bubble {
      border: solid 1px;
    }
  }
/* END_SNIPPET:kit.tooltip */

/* START_SNIPPET:kit.visually-hidden (INDEX:234) */
.kit-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
/* END_SNIPPET:kit.visually-hidden */

/* START_SNIPPET:layout.grid (INDEX:236) */
/* Public Layout Grid Tokens */
  :root {
    /* Layout Grid Gap Sizes - These are assigned by the value passed to the 'gap' param */
    --layout-grid-gap-size-none: 0px;
    --layout-grid-gap-size-3xs: var(--gap-size-3xs);
    --layout-grid-gap-size-2xs: var(--gap-size-2xs);
    --layout-grid-gap-size-xs: var(--gap-size-xs);
    --layout-grid-gap-size-sm: var(--gap-size-sm);
    --layout-grid-gap-size-md: var(--gap-size-md);
    --layout-grid-gap-size-lg: var(--gap-size-lg);
    --layout-grid-gap-size-xl: var(--gap-size-xl);
    --layout-grid-gap-size-2xl: var(--gap-size-2xl);

    /* Layout Grid Line Sizes - These are assigned by the value passed to the 'lines' param */
    --layout-grid-line-size-none: 0px;
    --layout-grid-line-size-xs: var(--line-size-xs);
    --layout-grid-line-size-sm: var(--line-size-sm);
    --layout-grid-line-size-md: var(--line-size-md);
    --layout-grid-line-size-lg: var(--line-size-lg);
    --layout-grid-line-size-xl: var(--line-size-xl);

    --layout-grid-line-color-shade: 12%;
  }
/* END_SNIPPET:layout.grid */

/* START_SNIPPET:layout.section (INDEX:237) */
:root {
    --layout-section-max-inline-size: var(--page-width, 1500px);

    --layout-section-padding-inline: var(--size-4);
    --layout-section-padding-inline--xs: initial;
    --layout-section-padding-inline--sm: initial;
    --layout-section-padding-inline--md: initial;
    --layout-section-padding-inline--lg: initial;
    --layout-section-padding-inline--xl: initial;

    --layout-section-padding-block: var(--size-8);
    --layout-section-padding-block--xs: initial;
    --layout-section-padding-block--sm: initial;
    --layout-section-padding-block--md: initial;
    --layout-section-padding-block--lg: initial;
    --layout-section-padding-block--xl: initial;

    --layout-section-color: initial;
    --layout-section-background: initial;
  }

  .layout-section {
    --_max-inline-size: var(--layout-section-max-inline-size);

    --_padding-inline--xs: var(--layout-section-padding-inline--xs, var(--layout-section-padding-inline));
    --_padding-inline--sm: var(--layout-section-padding-inline--sm, var(--_padding-inline--xs));
    --_padding-inline--md: var(--layout-section-padding-inline--md, var(--_padding-inline--sm));
    --_padding-inline--lg: var(--layout-section-padding-inline--lg, var(--_padding-inline--md));
    --_padding-inline--xl: var(--layout-section-padding-inline--xl, var(--_padding-inline--lg));
    --_padding-inline: var(--_padding-inline--xs);

    --_padding-block--xs: var(--layout-section-padding-block--xs, var(--layout-section-padding-block));
    --_padding-block--sm: var(--layout-section-padding-block--sm, var(--_padding-block--xs));
    --_padding-block--md: var(--layout-section-padding-block--md, var(--_padding-block--sm));
    --_padding-block--lg: var(--layout-section-padding-block--lg, var(--_padding-block--md));
    --_padding-block--xl: var(--layout-section-padding-block--xl, var(--_padding-block--lg));
    --_padding-block: var(--_padding-block--xs);

    --_color: var(--layout-section-color, var(--color-primary, #000));
    --_background: var(--layout-section-background, var(--color-secondary, #fff));

    display: flex;
    width: 100%;
    position: relative;
    justify-content: center;
    background: var(--_background);
    color: var(--_color);
    padding-inline: var(--_padding-inline);
    padding-block: var(--_padding-block);

    & > .layout-section__content {
      display: block;
      max-inline-size: var(--_max-inline-size);
      z-index: 1;
      width: 100%;
      flex-grow: 1;
    }

    &.layout-section--full-width > .layout-section__content {
      max-inline-size: 100%;
    }

    &.layout-section--padding-none {
      padding-block: 0;
    }

    &.layout-section--padding-top {
      padding-block-end: 0;
    }

    &.layout-section--padding-bottom {
      padding-block-start: 0;
    }
  }
/* END_SNIPPET:layout.section */

/* START_SNIPPET:layout.stack (INDEX:238) */
/* Public Layout Stack Tokens */
  :root {
    /* Layout Stack Gap Sizes - These are assigned by the value passed to the 'gap' param */
    --layout-stack-gap-size-none: 0px;
    --layout-stack-gap-size-3xs: var(--gap-size-3xs);
    --layout-stack-gap-size-2xs: var(--gap-size-2xs);
    --layout-stack-gap-size-xs: var(--gap-size-xs);
    --layout-stack-gap-size-sm: var(--gap-size-sm);
    --layout-stack-gap-size-md: var(--gap-size-md);
    --layout-stack-gap-size-lg: var(--gap-size-lg);
    --layout-stack-gap-size-xl: var(--gap-size-xl);
    --layout-stack-gap-size-2xl: var(--gap-size-2xl);

    /* Layout Stack Default Layout */
    --layout-stack-margin: 0;
  }
/* END_SNIPPET:layout.stack */

/* START_SNIPPET:layout.sticky-scroller (INDEX:239) */
:root {
    --layout-sticky-scroller-top: 20px;
  }

	sticky-scroller {
	  --_top: var(--layout-sticky-scroller-top);
	
	  display: block;
	  position: sticky;
	  top: var(--_top);
	}
/* END_SNIPPET:layout.sticky-scroller */

/* START_SNIPPET:melody-collection-facets (INDEX:249) */
.mp-filter-form .mp-facet summary{font-size:13px;line-height:1.5;font-weight:500;letter-spacing:0;text-transform:none}
.mp-filter-form .mp-facet-option{font-family:inherit;font-size:12px;font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none;color:#222}
.mp-filter-form .mp-facet-option>span:first-of-type{font-family:inherit;font-size:12px;font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none;min-width:0;overflow-wrap:anywhere}
.mp-filter-form .mp-facet-result-count{font-size:11px;line-height:1.5;letter-spacing:0;text-transform:none;flex-shrink:0}
.mp-filter-drawer .drawer__title{font-size:20px;line-height:1.3;letter-spacing:0;text-transform:none}
.mp-filter-form .mp-price-fields label{font-size:12px;letter-spacing:0;text-transform:none}
/* END_SNIPPET:melody-collection-facets */

/* START_SNIPPET:melody-collection-switcher (INDEX:252) */
.mp-department-collections[hidden]{display:none!important}.mp-department-top button{font-family:inherit;cursor:pointer;white-space:nowrap}.mp-department-top button svg{flex-shrink:0;transition:transform .2s}.mp-department-top button[aria-expanded=true] svg{transform:rotate(180deg)}
.mp-department-switcher{margin-block:8px 10px;background:#fff;color:#111}
.mp-department-top{display:flex;align-items:stretch;gap:8px;padding-block-end:7px;border-bottom:1px solid #ddd}
.mp-department-top>:is(a,button){display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;min-height:38px;color:#111;text-decoration:none;border:0;border-bottom:2px solid transparent;border-radius:0;background:#fff;font-size:13px;font-weight:400;line-height:1.3;letter-spacing:0;text-transform:none;text-align:center}
.mp-department-top>:is(a,button).is-active{background:#fff;color:#000;border-bottom-color:#000;font-weight:600}
.mp-department-top>:is(a,button):hover{background:#f5f5f5;color:#000}
.mp-department-top>:is(a,button).mp-department-new{margin-inline-start:auto;background:#fff;color:#111}
.mp-department-collections{display:flex;flex-wrap:wrap;gap:6px;padding-block-start:5px}
.mp-department-collections>a{display:flex;align-items:center;justify-content:center;min-height:36px;padding:7px 13px;border:1px solid #ddd;border-radius:2px;color:#222;background:#fff;text-decoration:none;font-size:12px;font-weight:400;line-height:1.3;letter-spacing:0;text-transform:none;text-align:center;white-space:nowrap}
.mp-department-collections>a[aria-current=page]{color:#000;border-color:#111;background:#fff;box-shadow:inset 0 -1px #111}
.mp-department-collections>a:hover{background:#f5f5f5;color:#000}
.mp-department-switcher :is(a,button):focus-visible{outline:2px solid #111;outline-offset:2px}
@media(max-width:749px){.mp-department-switcher{margin-block:8px 10px}.mp-department-top{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding-block-end:4px}.mp-department-top>:is(a,button){padding:7px 3px;min-height:40px;font-size:10.5px;overflow-wrap:normal}.mp-department-top>:is(a,button).mp-department-new{margin-inline-start:0;gap:3px}.mp-department-collections{display:flex;flex-wrap:nowrap;gap:6px;padding-block:4px 2px;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.mp-department-collections>a{flex:0 0 auto;padding:7px 12px;min-height:40px;font-size:12px}}
@media(max-width:749px){
#MainContent .mp-department-top{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:6px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;padding-bottom:6px}
#MainContent .mp-department-top>:is(a,button){flex:0 0 auto;white-space:nowrap;overflow-wrap:normal;word-break:normal;font-size:12px;line-height:1.3;min-height:44px;padding:8px 12px}
#MainContent .mp-department-top>:is(a,button).mp-department-new{margin-inline-start:0}
#MainContent .mp-department-top>:is(a,button)>span[aria-hidden=true]{font-family:Arial,sans-serif;line-height:1;display:inline-flex;align-items:center}
}
.mp-department-top>:is(a,button).mp-department-new{align-items:center;justify-content:center;column-gap:7px}
.mp-department-new__label{display:block;line-height:inherit;white-space:nowrap}
.mp-department-top .mp-department-new__arrow{display:block;flex:0 0 16px;width:16px;height:16px;margin:0;color:#2477c9;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
[dir=rtl] .mp-department-top .mp-department-new__arrow,html:lang(ar) .mp-department-top .mp-department-new__arrow{transform:rotate(180deg)}
/* END_SNIPPET:melody-collection-switcher */

/* START_SNIPPET:melody-dimension-picker (INDEX:255) */
.ml-dimension-unit{display:block;max-width:220px;margin:0 auto 14px;text-align:center;font-size:12px}.ml-dimension-unit select{display:block;width:100%;height:44px;margin-top:6px;background:#fffdf8;border:1px solid #cbbda8;padding:8px 12px;font-size:14px;text-align:center;text-align-last:center}
/* END_SNIPPET:melody-dimension-picker */

/* START_SNIPPET:melody-rug-room-hover (INDEX:270) */
.melody-rug-room-hover{display:block;position:absolute;inset:0;opacity:0;pointer-events:none;background:#fff;z-index:2}
.grid__item-image-wrapper[data-melody-room-ready] .melody-rug-room-hover{opacity:1;pointer-events:auto}
.melody-card-gallery,.melody-card-gallery__slide,.melody-card-gallery image-element{display:block;width:100%;height:100%}
.melody-card-gallery{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.melody-card-gallery::-webkit-scrollbar{display:none}
.melody-card-gallery__slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.melody-card-gallery [data-aos]{opacity:1;transform:none}
.melody-card-gallery img.image-element{opacity:1}
.melody-card-gallery img{display:block;width:100%;height:100%;object-fit:contain}
.melody-card-gallery__first img { object-fit: contain; }
@media (max-width: 768px), (hover: none), (pointer: coarse) {
  .melody-card-gallery__first--fill img { object-fit: contain; }
}
.melody-rug-room-dots{display:none}
.grid__item-image-wrapper[data-melody-room-ready] .melody-rug-room-dots{position:absolute;bottom:3px;left:50%;transform:translateX(-50%);display:flex;max-width:calc(100% - 12px);overflow-x:auto;scrollbar-width:none;gap:0;padding:0 3px;background:transparent;pointer-events:auto;z-index:5;overscroll-behavior-x:contain}
.melody-rug-room-dots::-webkit-scrollbar{display:none}
.melody-rug-room-dots button{position:relative;display:grid;place-items:center;flex:0 0 16px;width:16px;height:28px;padding:0;border:0;background:transparent;cursor:pointer}
.melody-rug-room-dots button:focus-visible{outline:2px solid #333;outline-offset:-2px;border-radius:50%}
.melody-rug-room-dots span{display:block;width:5px;height:5px;border-radius:50%;background:#aaa;box-shadow:0 0 0 1px #fff}
.melody-rug-room-dots button[aria-pressed="true"] span{background:#333}
.melody-rug-room-dots::before{content:none;display:none}
/* END_SNIPPET:melody-rug-room-hover */

/* START_SNIPPET:melody-specification-preview (INDEX:275) */
.melody-spec-preview{margin:0!important;padding:2px 0 0;line-height:1.55;text-align:start;}
  .melody-spec-preview__row{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:7px 0;border-bottom:1px solid rgba(40,40,43,.10);}
  .melody-spec-preview__row:last-child{border-bottom:0;}
  .melody-spec-preview dt,.melody-spec-preview dd{margin:0;padding:0;min-width:0;overflow-wrap:anywhere;letter-spacing:0;text-transform:none;}
  .melody-spec-preview dt{font-size:10px;font-weight:500;opacity:.70;}
  .melody-spec-preview dd{font-size:13px;font-weight:400;}
  .melody-spec-preview__note{grid-column:1/-1;}
  .melody-spec-preview__size{direction:ltr;unicode-bidi:isolate;font-family:Outfit,Arial,sans-serif;font-style:normal;font-variant-numeric:lining-nums tabular-nums;}
  .melody-spec-preview__axes{display:inline-block;white-space:nowrap;overflow-wrap:normal;}
/* END_SNIPPET:melody-specification-preview */

/* START_SNIPPET:melody-trial-button (INDEX:278) */
melody-trial-link{display:block;margin-top:14px}
  .melody-trial-button{display:flex;align-items:center;justify-content:center;white-space:normal;text-align:center;max-width:320px;margin-inline:auto}
  .melody-trial-help{font-size:12px;line-height:1.6;margin:8px 0;text-align:center}
  .melody-trial-error{font-size:13px;line-height:1.5;color:#8b3120;margin:8px 0}
/* END_SNIPPET:melody-trial-button */

/* START_SNIPPET:overlay.drawer (INDEX:285) */
:root {
  --overlay-drawer-size: 480px;
  --overlay-drawer-gutter: var(--gap-size-none); /* better name? */
  --overlay-drawer-label-margin-bottom: var(--size-4);

  --overlay-drawer-padding-inline: var(--size-4);
  --overlay-drawer-padding-inline--xs: initial;
  --overlay-drawer-padding-inline--sm: initial;
  --overlay-drawer-padding-inline--md: initial;
  --overlay-drawer-padding-inline--lg: initial;
  --overlay-drawer-padding-inline--xl: initial;

  --overlay-drawer-padding-block: var(--size-8);
  --overlay-drawer-padding-block--xs: initial;
  --overlay-drawer-padding-block--sm: initial;
  --overlay-drawer-padding-block--md: initial;
  --overlay-drawer-padding-block--lg: initial;
  --overlay-drawer-padding-block--xl: initial;

  --overlay-drawer-background: initial;
  --overlay-drawer-overlay-color: rgba(0, 0, 0, 0.5);

  --overlay-drawer-z-index: 9999;
  --overlay-drawer-transition-duration: 0.3s;
  --overlay-drawer-transition-timing-function: ease-in-out;
}

/* Scroll lock when drawer is open */
body:has(.overlay-drawer[open='true']) {
  overflow: hidden;
}

.overlay-drawer {
  --_width: calc(100% - var(--overlay-drawer-gutter));
  --_max-width: var(--overlay-drawer-size);

  --_padding-inline--xs: var(--overlay-drawer-padding-inline--xs, var(--overlay-drawer-padding-inline));
  --_padding-inline--sm: var(--overlay-drawer-padding-inline--sm, var(--_padding-inline--xs));
  --_padding-inline--md: var(--overlay-drawer-padding-inline--md, var(--_padding-inline--sm));
  --_padding-inline--lg: var(--overlay-drawer-padding-inline--lg, var(--_padding-inline--md));
  --_padding-inline--xl: var(--overlay-drawer-padding-inline--xl, var(--_padding-inline--lg));
  --_padding-inline: var(--_padding-inline--xs);

  --_padding-block--xs: var(--overlay-drawer-padding-block--xs, var(--overlay-drawer-padding-block));
  --_padding-block--sm: var(--overlay-drawer-padding-block--sm, var(--_padding-block--xs));
  --_padding-block--md: var(--overlay-drawer-padding-block--md, var(--_padding-block--sm));
  --_padding-block--lg: var(--overlay-drawer-padding-block--lg, var(--_padding-block--md));
  --_padding-block--xl: var(--overlay-drawer-padding-block--xl, var(--_padding-block--lg));
  --_padding-block: var(--_padding-block--xs);

  --_background: var(--overlay-drawer-background, var(--color-secondary, #fff));

  display: block;
  position: fixed;
  inset: 0;
  height: 100%;
  width: 100%;
  transition-property: background-color;
  transition-duration: var(--overlay-drawer-transition-duration);
  transition-timing-function: var(--overlay-drawer-transition-timing-function);
  cursor: pointer;
  z-index: var(--overlay-drawer-z-index);

  &[open='false'] {
    pointer-events: none;
  }

  &[open='true'] {
    background-color: var(--overlay-drawer-overlay-color);
  }
}

.overlay-drawer__inner {
  background: var(--_background);
  cursor: initial;
  position: absolute;
  width: var(--_width);
  max-width: var(--_max-width);
  top: 0;
  transition-property: transform;
  transition-duration: var(--overlay-drawer-transition-duration);
  transition-timing-function: var(--overlay-drawer-transition-timing-function);
  height: 100%;
  overflow-y: auto;
  padding-inline: var(--_padding-inline);
  padding-block: var(--_padding-block);

  .overlay-drawer--start & {
    left: max(calc(-1 * var(--_width)), calc(-1 * var(--_max-width)));
  }

  .overlay-drawer--start[open='true'] & {
    transform: translateX(100%);
  }

  .overlay-drawer--end & {
    right: max(calc(-1 * var(--_width)), calc(-1 * var(--_max-width)));
  }

  .overlay-drawer--end[open='true'] & {
    transform: translateX(-100%);
  }
}

.overlay-drawer__header {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-block-end: var(--overlay-drawer-label-margin-bottom);

  &:has(.overlay-drawer__label) {
    justify-content: space-between;
  }
}

.overlay-drawer__close-button {
  line-height: 0;
}
/* END_SNIPPET:overlay.drawer */

/* START_SNIPPET:overlay.lightbox (INDEX:286) */
overlay-lightbox {
    display: contents;
  }

  .overlay-lightbox__trigger {
    display: contents;
    cursor: pointer;
  }

  .overlay-lightbox__overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.95);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    box-sizing: border-box;
    opacity: 0;
    visibility: hidden;
  }

  .overlay-lightbox__overlay--open {
    opacity: 1;
    visibility: visible;
  }

  .overlay-lightbox__content {
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .overlay-lightbox__content img {
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .overlay-lightbox__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }

  .overlay-lightbox__nav--prev {
    left: 1rem;
  }

  .overlay-lightbox__nav--next {
    right: 1rem;
  }

  /* Hide navigation buttons when there's only one item in the group */
  .overlay-lightbox__overlay--single-item .overlay-lightbox__nav {
    display: none;
  }

  .lightbox-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
  }
/* END_SNIPPET:overlay.lightbox */

/* START_SNIPPET:product-grid-item (INDEX:294) */
.grid-product:has(.melody-bogo-badge) [data-melody-card-price]::after { content: " each"; font-size: 10px; font-weight: 400; }
.product-single__meta:has(.melody-bogo-product) [data-product-price]::after { content: " each"; font-size: 12px; font-weight: 400; }
@media(max-width:480px){ .melody-bogo-badge { font-size:9px!important; padding:5px 6px!important; } }
{% stylesheet %}
.mg-actions > .melody-bogo-card-detail { display:none!important; }
.grid-product:has(.melody-bogo-badge) [data-melody-card-price] { position:relative; padding-bottom:17px!important; }
.grid-product:has(.melody-bogo-badge) [data-melody-card-price]::before { content:"Lower-priced rug FREE"; position:absolute; bottom:0; left:0; right:0; font-size:11px; font-style:italic; font-weight:400; line-height:1.35; text-align:center; color:#51483f; }

@media (max-width: 768px), (hover: none), (pointer: coarse) {
  .grid-product[data-aos],
  .grid-product [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .grid-product img.image-element,
  .grid-product .image-wrap img {
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
  }
}
/* END_SNIPPET:product-grid-item */

/* START_SNIPPET:product.hot-reload (INDEX:299) */
product-hot-reload {
    contain: layout style paint;
  }

  .product-hot-reload--loading {
    opacity: 0.6;
    animation: pulse 1.5s ease-in-out infinite;
  }

  @keyframes pulse {
    0%, 100% { 
      opacity: 1;
    }
    50% { 
      opacity: 0.6;
    }
  }

  /* View Transitions API support */
  @supports (view-transition-name: none) {
    product-hot-reload {
      view-transition-name: product-content;
    }
  }
/* END_SNIPPET:product.hot-reload */

/* START_SNIPPET:style.normalize (INDEX:316) */
/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */

  /*
  Document
  ========
  */

  /**
  Use a better box model (opinionated).
  */

  *,
  ::before,
  ::after {
    box-sizing: border-box;
  }

  /**
  1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
  2. Correct the line height in all browsers.
  3. Prevent adjustments of font size after orientation changes in iOS.
  4. Use a more readable tab size (opinionated).
  */

  html {
    font-family:
      system-ui,
      'Segoe UI',
      Roboto,
      Helvetica,
      Arial,
      sans-serif,
      'Apple Color Emoji',
      'Segoe UI Emoji'; /* 1 */
    line-height: 1.15; /* 2 */
    -webkit-text-size-adjust: 100%; /* 3 */
    tab-size: 4; /* 4 */
  }

  /*
  Sections
  ========
  */

  /**
  Remove the margin in all browsers.
  */

  body {
    margin: 0;
  }

  /*
  Text-level semantics
  ====================
  */

  /**
  Add the correct font weight in Chrome and Safari.
  */

  b,
  strong {
    font-weight: bolder;
  }

  /**
  1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
  2. Correct the odd 'em' font sizing in all browsers.
  */

  code,
  kbd,
  samp,
  pre {
    font-family:
      ui-monospace,
      SFMono-Regular,
      Consolas,
      'Liberation Mono',
      Menlo,
      monospace; /* 1 */
    font-size: 1em; /* 2 */
  }

  /**
  Add the correct font size in all browsers.
  */

  small {
    font-size: 80%;
  }

  /**
  Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
  */

  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }

  sub {
    bottom: -0.25em;
  }

  sup {
    top: -0.5em;
  }

  /*
  Tabular data
  ============
  */

  /**
  Correct table border color inheritance in Chrome and Safari. (https://issues.chromium.org/issues/40615503, https://bugs.webkit.org/show_bug.cgi?id=195016)
  */

  table {
    border-color: currentcolor;
  }

  /*
  Forms
  =====
  */

  /**
  1. Change the font styles in all browsers.
  2. Remove the margin in Firefox and Safari.
  */

  button,
  input,
  optgroup,
  select,
  textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 1 */
    line-height: 1.15; /* 1 */
    margin: 0; /* 2 */
  }

  /**
  Correct the inability to style clickable types in iOS and Safari.
  */

  button,
  [type='button'],
  [type='reset'],
  [type='submit'] {
    -webkit-appearance: button;
  }

  /**
  Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
  */

  legend {
    padding: 0;
  }

  /**
  Add the correct vertical alignment in Chrome and Firefox.
  */

  progress {
    vertical-align: baseline;
  }

  /**
  Correct the cursor style of increment and decrement buttons in Safari.
  */

  ::-webkit-inner-spin-button,
  ::-webkit-outer-spin-button {
    height: auto;
  }

  /**
  1. Correct the odd appearance in Chrome and Safari.
  2. Correct the outline style in Safari.
  */

  [type='search'] {
    -webkit-appearance: textfield; /* 1 */
    outline-offset: -2px; /* 2 */
  }

  /**
  Remove the inner padding in Chrome and Safari on macOS.
  */

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  /**
  1. Correct the inability to style clickable types in iOS and Safari.
  2. Change font properties to 'inherit' in Safari.
  */

  ::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
  }

  /*
  Interactive
  ===========
  */

  /*
  Add the correct display in Chrome and Safari.
  */

  summary {
    display: list-item;
  }
/* END_SNIPPET:style.normalize */

/* START_SNIPPET:style.primitive-tokens (INDEX:317) */
:root {
    /* Core Sizes */
    --size-0-25: 0.0625rem; /* 1px */
    --size-0-5: 0.125rem; /* 2px */
    --size-1: 0.25rem; /* 4px */
    --size-1-5: 0.375rem; /* 6px */
    --size-2: 0.5rem; /* 8px */
    --size-2-5: 0.625rem; /* 10px */
    --size-3: 0.75rem; /* 12px */
    --size-3-5: 0.875rem; /* 14px */
    --size-4: 1rem; /* 16px */
    --size-4-5: 1.125rem; /* 18px */
    --size-5: 1.25rem; /* 20px */
    --size-5-5: 1.375rem; /* 22px */
    --size-6: 1.5rem; /* 24px */
    --size-6-5: 1.625rem; /* 26px */
    --size-7: 1.75rem; /* 28px */
    --size-7-5: 1.875rem; /* 30px */
    --size-8: 2rem; /* 32px */
    --size-8-5: 2.125rem; /* 34px */
    --size-9: 2.25rem; /* 36px */
    --size-9-5: 2.375rem; /* 38px */
    --size-10: 2.5rem; /* 40px */
    --size-11: 2.75rem; /* 44px */
    --size-12: 3rem; /* 48px */
    --size-14: 3.5rem; /* 56px */
    --size-16: 4rem; /* 64px */
    --size-18: 4.5rem; /* 72px */
    --size-20: 5rem; /* 80px */
    --size-24: 6rem; /* 96px */
    --size-28: 7rem; /* 112px */
    --size-32: 8rem; /* 128px */

    /* Text Sizes */
    --text-size-2: 0.5rem; /* 8px */
    --text-size-2-5: 0.625rem; /* 10px */
    --text-size-3: 0.75rem; /* 12px */
    --text-size-3-5: 0.875rem; /* 14px */
    --text-size-4: 1rem; /* 16px */
    --text-size-4-5: 1.125rem; /* 18px */
    --text-size-5: 1.25rem; /* 20px */
    --text-size-5-5: 1.375rem; /* 22px */
    --text-size-6: 1.5rem; /* 24px */
    --text-size-6-5: 1.625rem; /* 26px */
    --text-size-7: 1.75rem; /* 28px */
    --text-size-7-5: 1.875rem; /* 30px */
    --text-size-8: 2rem; /* 32px */
    --text-size-8-5: 2.125rem; /* 34px */
    --text-size-9: 2.25rem; /* 36px */
    --text-size-9-5: 2.375rem; /* 38px */
    --text-size-10: 2.5rem; /* 40px */
    --text-size-11: 2.75rem; /* 44px */
    --text-size-12: 3rem; /* 48px */
    --text-size-14: 3.5rem; /* 56px */
    --text-size-16: 4rem; /* 64px */
    --text-size-18: 4.5rem; /* 72px */
    --text-size-20: 5rem; /* 80px */
    --text-size-24: 6rem; /* 96px */
    --text-size-28: 7rem; /* 112px */
    --text-size-32: 8rem; /* 128px */

    /* Line */
    --line-size-none: 0px;
    --line-size-xs: 0.5px;
    --line-size-sm: 1px;
    --line-size-md: 2px;
    --line-size-lg: 4px;
    --line-size-xl: 8px;

    /* Gap */
    --gap-size-none: 0px;
    --gap-size-3xs: var(--size-0-5);
    --gap-size-2xs: var(--size-1);
    --gap-size-xs: var(--size-2);
    --gap-size-sm: var(--size-4);
    --gap-size-md: var(--size-8);
    --gap-size-lg: var(--size-12);
    --gap-size-xl: var(--size-16);
    --gap-size-2xl: var(--size-24);

    /* Radius */
    --radius-xs: 4px;
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 24px;
    --radius-2xl: 32px;
    --radius-none: 0px;
    --radius-full: 999px;

    /* Dropshadow */
    --shadow-none: 0px 0px 0px 0px rgba(0, 0, 0, 0);
    --shadow-sm: 0px 1px 2px 0px rgba(0, 0, 0, 0.08);
    --shadow-md: 0px 2px 4px -1px rgba(0, 0, 0, 0.08);
    --shadow-lg: 0px 8px 16px -4px rgba(0, 0, 0, 0.08);
    --shadow-xl: 0px 16px 32px -6px rgba(0, 0, 0, 0.12);
    --shadow-2xl: 0px 16px 64px -12px rgba(0, 0, 0, 0.22);

    /* Font Weights */
    --font-weight-100: 100;
    --font-weight-200: 200;
    --font-weight-300: 300;
    --font-weight-400: 400;
    --font-weight-500: 500;
    --font-weight-600: 600;
    --font-weight-700: 700;
    --font-weight-800: 800;
    --font-weight-900: 900;

    /* Letter Spacings */
    --letter-space-2xs: -0.05em;
    --letter-space-xs: -0.03em;
    --letter-space-sm: -0.015em;
    --letter-space-md: 0em;
    --letter-space-lg: 0.015em;
    --letter-space-xl: 0.03em;
    --letter-space-2xl: 0.05em;
    --letter-space-3xl: 0.08em;
    --letter-space-4xl: 0.12em;

    /* Line Heights */
    --line-height-2xs: 0.9;
    --line-height-xs: 1;
    --line-height-sm: 1.1;
    --line-height-md: 1.2;
    --line-height-lg: 1.5;
    --line-height-xl: 1.7;
    --line-height-2xl: 2;

    /* Color Shades */
    --shade-0: 0%;
    --shade-4: 4%;
    --shade-8: 8%;
    --shade-12: 12%;
    --shade-16: 16%;
    --shade-20: 20%;
    --shade-30: 30%;
    --shade-40: 40%;
    --shade-50: 50%;
    --shade-60: 60%;
    --shade-70: 70%;
    --shade-80: 80%;
    --shade-90: 90%;
    --shade-100: 100%;
  }
/* END_SNIPPET:style.primitive-tokens */

/* START_SNIPPET:utility.color-scheme-texture (INDEX:328) */
.scheme-image,
	.scheme-darken,
	.scheme-squiggle,
	.scheme-swirl,
	.scheme-dots,
	.scheme-notebook,
	.scheme-wave,
	.scheme-minimal-wave,
	.scheme-plants,
	.scheme-cold-blur,
	.scheme-warm-blur,
	.scheme-custom-texture-1,
	.scheme-custom-texture-2,
	.scheme-custom-texture-3 {
	  position: absolute;
	  width: 100%;
	  height: 100%;
	  top: 0;
	  left: 0;
	  z-index: 0;
	}
	
	[data-animate].scheme-image {
	  object-fit: cover;
	  pointer-events: none;
	  mix-blend-mode: multiply;
	  opacity: 1;
	
	  /*Specific styles on some textures*/
	
	  &[data-texture='space.jpg'] {
	    mix-blend-mode: screen;
	  }
	}
	
	[data-animate].scheme-texture--linen,
	[data-animate].scheme-texture--sand,
	[data-animate].scheme-texture--stone,
	[data-animate].scheme-texture--wildflower {
	  opacity: 0.24;
	}
	
	/*Darken is CSS, not image*/
	.scheme-darken {
	  --z-index-overlay: 1;
	  z-index: 1;
	  pointer-events: none;
	
	  &:after {
	    background-color: rgba(0, 0, 0, 0.027);
	    pointer-events: none;
	  }
	}
	
	/*
	  SVG images as backgrounds
	    - larger images are cached external assets that are only loaded when used
	 */
	.scheme-swirl {
	  background-image: url(swirl.svg);
	  opacity: 0.12;
	}
	
	.scheme-squiggle {
	  background: url("data:image/svg+xml,%3Csvg width='150' height='75' viewBox='0 0 52 26' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.17'%3E%3Cpath d='M10 10c0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6h2c0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6 0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6 0 2.21 1.79 4 4 4v2c-3.314 0-6-2.686-6-6 0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6zm25.464-1.95l8.486 8.486-1.414 1.414-8.486-8.486 1.414-1.414z' /%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	}
	
	.scheme-dots {
	  background-image: radial-gradient(rgba(0, 0, 0, 0.15) 0.5px, transparent 2px);
	  background-size: 16px 16px;
	}
	
	.scheme-notebook {
	  background-image: url(notebook.svg);
	  opacity: 0.5;
	}
	
	.scheme-wave {
	  background-image: url(wave.svg);
	  background-size: cover;
	  opacity: 0.5;
	}
	
	.scheme-minimal-wave {
	  background-image: url(minimal-wave.svg);
	  opacity: 0.5;
	  background-size: cover;
	}
	
	.scheme-plants {
	  background-image: url(plants.svg);
	  background-size: cover;
	}
	
	.scheme-cold-blur {
	  background-image: url(cold-blur.svg);
	  background-size: cover;
	}
	
	.scheme-warm-blur {
	  background-image: url(warm-blur.svg);
	  background-size: cover;
	}
	
	.scheme-custom-texture-1 {
	  background-image: url(custom-texture-1.svg);
	  background-size: cover;
	}
	
	.scheme-custom-texture-2 {
	  background-image: url(custom-texture-2.svg);
	  background-size: cover;
	}
	
	.scheme-custom-texture-3 {
	  background-image: url(custom-texture-3.svg);
	  background-size: cover;
	}
/* END_SNIPPET:utility.color-scheme-texture */