/* product-carousel:t63y7w */

  .carou__intro { display: grid; gap: var(--space-s); justify-items: center; text-align: center; margin-bottom: var(--space-l); }
  .carou__heading, .carou__text { margin: 0; }
  .carou__heading { max-width: 22ch; text-wrap: balance; }
  .carou__text { max-width: 46ch; }

  .carou__viewport {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .carou__viewport::-webkit-scrollbar { display: none; }

  .carou__track {
    list-style: none;
    margin: 0;
    padding: 0 12vw;
    display: flex;
    gap: var(--space-m);
    width: max-content;
  }

  .carou__slide { scroll-snap-align: center; width: 76vw; max-width: 54rem; }

  .carou__card {
    display: grid;
    gap: var(--space-s);
    color: rgb(var(--color-text));
    text-decoration: none;
    height: 100%;
  }

  .carou__media {
    overflow: hidden;
    border-radius: var(--radius-media);
    background: rgba(var(--color-text), 0.04);
  }

  .carou__media img,
  .carou__media .placeholder-svg {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.3, 1);
  }

  .carou__card:hover .carou__media img { transform: scale(1.02); }

  .carou__body { display: grid; gap: 0.25rem; justify-items: center; text-align: center; }

  .carou__age {
    font-family: var(--font-label);
    font-size: calc(1.1rem * var(--label-scale));
    letter-spacing: var(--label-tracking);
    text-transform: var(--label-transform);
    color: rgb(var(--color-accent));
  }

  .carou__title { font-size: calc(2rem * var(--body-scale)); }
  .carou__desc { font-size: calc(1.4rem * var(--body-scale)); opacity: 0.75; max-width: 40ch; }
  .carou__price { font-variant-numeric: tabular-nums; font-size: calc(1.5rem * var(--body-scale)); }

  .carou__controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-m);
    margin-top: var(--space-m);
  }

  .carou__arrow {
    appearance: none;
    cursor: pointer;
    background: none;
    color: rgb(var(--color-text));
    border: var(--border-width) solid rgb(var(--color-border));
    border-radius: 999px;
    width: 4.4rem;
    height: 4.4rem;
    display: grid;
    place-items: center;
  }

  .carou__arrow[disabled] { opacity: 0.35; cursor: default; }

  .carou__dots { list-style: none; margin: 0; padding: 0; display: flex; gap: 0.5rem; }

  /* The dot is small; the button around it is 24px square, which is the
     minimum tap target the Theme Store requires. */
  .carou__dot {
    appearance: none;
    cursor: pointer;
    background: none;
    border: 0;
    padding: 0.8rem 0.4rem;
    min-width: 2.4rem;
    min-height: 2.4rem;
    display: grid;
    place-items: center;
  }

  .carou__dot span {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: rgba(var(--color-text), 0.25);
    transition: background 0.2s ease, transform 0.2s ease;
  }

  .carou__dot[aria-current='true'] span { background: rgb(var(--color-accent)); transform: scale(1.4); }

  @media screen and (min-width: 990px) {
    .carou__track { padding: 0 26vw; }
    .carou__slide { width: 46vw; }
  }

  @media (prefers-reduced-motion: reduce) {
    .carou__media img { transition: none; }
    .carou__card:hover .carou__media img { transform: none; }
    .carou__dot span { transition: none; }
  }

/* skill-map:1un7m0r */

  .skill__intro { display: grid; gap: var(--space-s); max-width: 54ch; margin-bottom: var(--space-l); }
  .skill__heading, .skill__text { margin: 0; }

  .skill__stairs { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-m); }

  .skill__stage {
    display: grid;
    gap: 0.5rem;
    padding: var(--space-m);
    border: var(--border-width) solid rgb(var(--color-border));
    border-radius: var(--radius-block);
    background: rgba(var(--color-text), 0.02);
  }

  .skill__stage--here {
    border-color: rgb(var(--color-accent));
    border-width: 2px;
    background: rgba(var(--color-accent), 0.06);
  }

  .skill__stage-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-s); }

  .skill__age {
    font-family: var(--font-label);
    font-size: calc(1.15rem * var(--label-scale));
    letter-spacing: var(--label-tracking);
    text-transform: var(--label-transform);
    opacity: 0.7;
  }

  .skill__here {
    font-family: var(--font-label);
    font-size: calc(1.05rem * var(--label-scale));
    letter-spacing: var(--label-tracking);
    text-transform: uppercase;
    background: rgb(var(--color-accent));
    color: rgb(var(--color-bg));
    padding: 0.25rem 0.8rem;
    border-radius: 999px;
  }

  .skill__stage-name { margin: 0; font-size: calc(2rem * var(--body-scale)); font-weight: inherit; }
  .skill__doing { margin: 0; font-size: calc(1.45rem * var(--body-scale)); max-width: 56ch; }

  .skill__skills {
    list-style: none;
    margin: 0.3rem 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .skill__skills li {
    border: 1px solid rgb(var(--color-border));
    border-radius: 999px;
    padding: 0.35rem 0.9rem;
    font-size: calc(1.25rem * var(--body-scale));
  }

  .skill__toy, .skill__not-yet { margin: 0.2rem 0 0; font-size: calc(1.4rem * var(--body-scale)); }
  .skill__toy a { color: rgb(var(--color-accent)); text-decoration: underline; text-underline-offset: 0.25em; }
  .skill__toy .label, .skill__not-yet .label { margin-right: 0.4rem; opacity: 0.6; }
  .skill__not-yet { opacity: 0.8; }
  .skill__footnote { margin: var(--space-m) 0 0; max-width: 64ch; }

  @media screen and (min-width: 750px) {
    /* The staircase: each stage steps in a little further than the one before,
       so the order reads as progress rather than as a list. */
    .skill__stage { margin-left: calc(var(--step) * 2.4rem); }
  }

/* parent-facts:q18o87 */

  .pfact__intro { display: grid; gap: var(--space-s); max-width: 54ch; margin-bottom: var(--space-l); }
  .pfact__heading, .pfact__text { margin: 0; }

  .pfact__grid { margin: 0; display: grid; gap: var(--space-s); }

  .pfact__item {
    display: grid;
    gap: 0.25rem;
    padding: var(--space-m);
    border: var(--border-width) solid rgb(var(--color-border));
    border-radius: var(--radius-block);
  }

  .pfact__item--good { border-color: rgb(var(--color-accent)); }
  .pfact__item--watch { border-style: dashed; }

  .pfact__item dt {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    font-family: var(--font-label);
    font-size: calc(1.15rem * var(--label-scale));
    letter-spacing: var(--label-tracking);
    text-transform: var(--label-transform);
    opacity: 0.7;
  }

  .pfact__icon { color: rgb(var(--color-accent)); display: inline-flex; }
  .pfact__item dd { margin: 0; display: grid; gap: 0.15rem; }
  .pfact__answer { font-size: calc(1.7rem * var(--body-scale)); }
  .pfact__detail { font-size: calc(1.3rem * var(--body-scale)); opacity: 0.75; }
  .pfact__footnote { margin: var(--space-m) 0 0; max-width: 62ch; }

  @media screen and (min-width: 750px) {
    .pfact__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }

/* icon-bar:1r2fglb */

  .icon-bar--bordered { border-block: var(--border-width) solid rgb(var(--color-border)); }
  .icon-bar__list { display: grid; gap: var(--space-m); grid-template-columns: 1fr; }
  .icon-bar__item { display: flex; align-items: center; gap: var(--space-xs); }
  .icon-bar__icon { color: rgb(var(--color-accent)); flex: 0 0 auto; }
  .icon-bar__text { display: flex; flex-direction: column; gap: 0.1rem; }
  .icon-bar__list--stacked .icon-bar__item { flex-direction: column; text-align: center; gap: var(--space-2xs); }
  @media screen and (min-width: 750px) {
    .icon-bar__list { grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); }
    .icon-bar__list--row .icon-bar__item { justify-content: center; }
  }
  @media screen and (max-width: 749px) {
    .icon-bar__list--row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }

/* image-with-text:2bnmpq */

  .split { display: grid; gap: var(--space-l); align-items: center; }
  .split__media .media { border-radius: var(--radius-media); }
  .split--flush .split__media .media { border-radius: 0; }
  .split__content { display: flex; flex-direction: column; }
  .check-list { display: flex; flex-direction: column; gap: var(--space-xs); }
  .check-list li { display: flex; gap: var(--space-xs); align-items: flex-start; }
  .check-list .icon { color: rgb(var(--color-accent)); margin-top: 0.3rem; }
  .split__stat { display: flex; flex-direction: column; gap: var(--space-3xs); }
  @media screen and (min-width: 990px) {
    .split { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2xl); }
    .split--wide { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
    .split--narrow { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); }
    .split--right .split__media { order: 2; }
    .split--flush { gap: 0; align-items: stretch; }
    .split--flush .split__content { padding: var(--space-2xl) var(--gutter); justify-content: center; }
    .split--flush .split__media .media { height: 100%; }
    .split__content--sticky { position: sticky; top: calc(var(--header-height, 0px) + var(--space-m)); }
  }

/* collapsible-content:9hh3n5 */

  .faq { display: grid; gap: var(--space-l); align-items: start; }
  .faq__intro { display: flex; flex-direction: column; gap: var(--space-s); }
  .faq__media { border-radius: var(--radius-media); margin-top: var(--space-s); }
  .faq--centered { max-width: 82rem; margin-inline: auto; }
  .faq--centered .faq__intro { text-align: center; align-items: center; }
  @media screen and (min-width: 990px) {
    .faq--split { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: var(--space-2xl); }
    .faq--split .faq__intro { position: sticky; top: calc(var(--header-height, 0px) + var(--space-m)); }
  }

/* newsletter:qjh1gc */

  .newsletter-form { display: flex; flex-direction: column; gap: var(--space-xs); width: 100%; }
  .newsletter-form__row { display: flex; flex-direction: column; gap: var(--space-xs); }
  .newsletter-form__row .field { flex: 1 1 auto; }
  @media screen and (min-width: 600px) {
    .newsletter-form__row--inline { flex-direction: row; align-items: flex-end; }
  }

/* newsletter:jx95ii */

  .newsletter { display: grid; gap: var(--space-m); align-items: center; }
  .newsletter__text { display: flex; flex-direction: column; gap: var(--space-xs); }
  .newsletter__form { display: flex; flex-direction: column; gap: var(--space-xs); }
  .newsletter--centered { justify-items: center; text-align: center; }
  .newsletter--centered .newsletter__form { width: 100%; max-width: 48rem; align-items: center; }
  @media screen and (min-width: 990px) {
    .newsletter--split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-2xl); }
  }

/* announcement-bar:d0grnd */

  .announcement {
    display: block;
    padding-block: var(--section-pt-mobile, var(--section-pt, 8px)) var(--section-pb-mobile, var(--section-pb, 8px));
    overflow: hidden;
  }
  .announcement[data-border] { border-bottom: var(--border-width) solid rgb(var(--color-border) / 0.6); }
  .announcement[hidden] { display: none; }

  .announcement__inner {
    display: flex;
    align-items: center;
    gap: var(--space-s) var(--space-m);
    min-height: 3.2rem;
    position: relative;
  }
  .announcement__inner--full { padding-inline: var(--gutter); }

  .announcement--centered .announcement__stage,
  .announcement--centered .announcement__marquee { flex: 1 1 auto; text-align: center; min-width: 0; }
  .announcement--start .announcement__stage { flex: 1 1 auto; text-align: start; min-width: 0; }
  .announcement--split .announcement__stage { flex: 1 1 auto; text-align: center; min-width: 0; }

  .announcement__message {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2xs);
    color: inherit;
    text-decoration: none;
    font-size: var(--announcement-size, 1.3rem);
  }
  .announcement__message--label {
    font-family: var(--font-label);
    letter-spacing: var(--label-tracking);
    text-transform: var(--label-transform);
  }
  .announcement__message--heading { font-family: var(--font-heading); letter-spacing: var(--heading-tracking); }
  a.announcement__message:hover { text-decoration: underline; text-underline-offset: 0.3em; }

  .announcement__marquee-group { gap: var(--space-2xl); }
  .announcement__marquee-group .announcement__message { white-space: nowrap; }

  .announcement__nav,
  .announcement__utility { display: flex; align-items: center; gap: var(--space-2xs); flex: 0 0 auto; }
  .announcement__utility { display: none; gap: var(--space-s); }
  .announcement__utility-item {
    display: inline-flex; align-items: center; gap: var(--space-3xs);
    color: inherit; text-decoration: none;
    font-family: var(--font-label);
    font-size: calc(var(--announcement-size, 1.3rem) * 0.92);
    letter-spacing: var(--label-tracking);
    text-transform: var(--label-transform);
  }
  .announcement__control { min-height: 3.2rem; min-width: 3.2rem; color: inherit; opacity: 0.7; }
  .announcement__control:hover { opacity: 1; }
  .announcement__dismiss { min-height: 3.2rem; min-width: 3.2rem; color: inherit; opacity: 0.6; flex: 0 0 auto; }
  .announcement__dismiss:hover { opacity: 1; }
  .social-icons--compact .icon { width: 1.6rem; height: 1.6rem; }
  .social-icons--compact .button--icon { min-height: 3.2rem; min-width: 3.2rem; }

  @media screen and (min-width: 990px) {
    .announcement--split .announcement__utility { display: flex; }
    .announcement--split .announcement__inner { justify-content: space-between; }
  }
  @media screen and (max-width: 989px) {
    .announcement--split .announcement__inner { justify-content: center; }
  }

/* header:1wi2pnb */

  .wordmark {
    display: inline-flex;
    align-items: center;
    gap: 0.55em;
    font-family: var(--font-heading);
    font-weight: 600;
    text-transform: none;
    letter-spacing: -0.01em;
    line-height: 1;
    white-space: nowrap;
  }

  .wordmark__mark {
    display: inline-flex;
    color: rgb(var(--color-accent));
  }

  .wordmark--lg { font-size: calc(2.4rem * var(--body-scale)); }
  .wordmark--sm { font-size: calc(1.5rem * var(--body-scale)); }

/* header:ifgndl */

  .nav__list { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs); }
  .nav__item { position: relative; }
  .nav__link {
    display: flex; align-items: center; gap: var(--space-3xs);
    min-height: 4.4rem; padding-inline: var(--space-xs);
    color: inherit; text-decoration: none; cursor: pointer; white-space: nowrap;
  }
  .nav__link:hover, .nav__link[aria-current='page'] { text-decoration: underline; text-underline-offset: 0.35em; }
  .nav__item details[open] > .nav__link .icon { transform: rotate(180deg); }
  .nav__link .icon { transition: transform 0.2s ease; }

  .nav__dropdown {
    position: absolute; z-index: 30; top: 100%; inset-inline-start: 0; min-width: 22rem;
    background-color: rgb(var(--color-bg));
    border: var(--border-width) solid rgb(var(--color-border));
    border-radius: var(--radius-block);
    padding: var(--space-2xs); display: flex; flex-direction: column;
    box-shadow: var(--shadow);
  }
  .nav__dropdown-link {
    display: block; padding: var(--space-xs); min-height: 4rem;
    font-size: calc(1.45rem * var(--body-scale));
    color: inherit; text-decoration: none; border-radius: var(--radius-button);
  }
  .nav__dropdown-link:hover { background-color: rgb(var(--color-text) / 0.06); }
  .nav__dropdown-sub { padding-inline-start: var(--space-s); }

  .mega {
    position: absolute; z-index: 29; inset-inline: 0; top: 100%;
    background-color: rgb(var(--color-bg));
    border-top: var(--border-width) solid rgb(var(--color-border));
    border-bottom: var(--border-width) solid rgb(var(--color-border));
  }
  .nav__item--mega { position: static; }
  .mega__inner { display: grid; gap: var(--space-xl); padding-block: var(--space-l); }
  .mega__columns { display: grid; gap: var(--space-l); grid-template-columns: repeat(var(--mega-cols, 4), minmax(0, 1fr)); }
  .mega__column { display: flex; flex-direction: column; gap: var(--space-xs); }
  .mega__heading { color: inherit; text-decoration: none; }
  .mega__sublist { display: flex; flex-direction: column; gap: var(--space-3xs); }
  .mega__sublink {
    color: rgb(var(--color-text) / 0.75); text-decoration: none;
    font-size: calc(1.45rem * var(--body-scale)); display: inline-block; padding-block: 0.4rem;
  }
  .mega__sublink:hover { color: rgb(var(--color-text)); text-decoration: underline; text-underline-offset: 0.25em; }

  .mega__promo { display: flex; flex-direction: column; gap: var(--space-xs); text-decoration: none; color: inherit; width: 24rem; }
  .mega__promo-body { display: flex; flex-direction: column; gap: var(--space-3xs); }
  .mega__promo-products { display: flex; flex-direction: column; gap: var(--space-xs); width: 26rem; }
  .mega__product { display: grid; grid-template-columns: 7.2rem minmax(0, 1fr); gap: var(--space-xs); align-items: center; text-decoration: none; color: inherit; }
  .mega__product-media { width: 7.2rem; border-radius: var(--radius-media); }
  .mega__product-text { display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; }
  .mega__product-title { font-size: calc(1.45rem * var(--body-scale)); }

  @media screen and (min-width: 1200px) {
    .mega__inner { grid-auto-flow: column; grid-template-columns: minmax(0, 1fr) auto; }
  }

/* header:y8g8vs */

  .localization { position: relative; }
  .localization__details { position: relative; }
  .localization__summary {
    display: flex; align-items: center; gap: var(--space-2xs);
    min-height: 4.4rem; padding-inline: var(--space-xs); cursor: pointer;
  }
  .localization__panel {
    position: absolute; z-index: 30; bottom: calc(100% + var(--space-2xs)); inset-inline-start: 0;
    min-width: 22rem; max-height: 32rem; overflow-y: auto;
    background-color: rgb(var(--color-bg));
    border: var(--border-width) solid rgb(var(--color-border));
    border-radius: var(--radius-block);
    padding: var(--space-2xs);
    display: flex; flex-direction: column;
  }
  .localization__option {
    text-align: start; padding: var(--space-xs); min-height: 4rem;
    font-size: calc(1.45rem * var(--body-scale)); border-radius: var(--radius-button);
  }
  .localization__option:hover { background-color: rgb(var(--color-text) / 0.06); }
  .localization__option[aria-current='true'] { text-decoration: underline; text-underline-offset: 0.25em; }

/* header:17u3x99 */

  .social-icons { display: flex; flex-wrap: wrap; gap: var(--space-3xs); }

/* header:13pbng */

  .mnav__list { display: flex; flex-direction: column; }
  .mnav__link {
    display: flex; align-items: center; justify-content: space-between; gap: var(--space-s);
    width: 100%; min-height: 5.2rem; padding-block: var(--space-xs);
    border-bottom: var(--border-width) solid rgb(var(--color-border));
    color: inherit; text-decoration: none; text-align: start;
    font-size: calc(1.7rem * var(--body-scale));
  }
  .mnav__sublist { padding-inline-start: var(--space-m); }
  .mnav__sublink {
    display: block; padding-block: var(--space-xs); min-height: 4.4rem;
    color: rgb(var(--color-text) / 0.75); text-decoration: none;
  }
  .mnav__panel {
    position: absolute; inset: 0; z-index: 2;
    background-color: rgb(var(--color-bg));
    padding: var(--space-m); overflow-y: auto;
  }
  .mnav__back { display: flex; align-items: center; gap: var(--space-3xs); min-height: 4.4rem; }
  .mnav__panel-title { display: block; margin-bottom: var(--space-s); color: inherit; text-decoration: none; }
  .mnav__footer { display: flex; flex-direction: column; gap: var(--space-s); padding-top: var(--space-m); }
  mobile-nav { position: relative; }

/* header:1m0h55z */

  .header {
    position: relative; z-index: 30;
    border-bottom: var(--border-width) solid rgb(var(--color-border));
    transition: transform 0.3s ease, background-color 0.3s ease;
  }
  .header[data-sticky-active] { position: sticky; top: 0; }
  .header[data-hidden] { transform: translateY(-100%); }
  .header--transparent:not([data-scrolled]) {
    background-color: transparent; border-bottom-color: transparent;
    position: absolute; inset-inline: 0; top: 0;
  }
  .header__inner {
    display: grid; align-items: center; gap: var(--space-s);
    grid-template-columns: auto 1fr auto; min-height: 6.4rem;
  }
  .header__group { display: flex; align-items: center; gap: var(--space-2xs); min-width: 0; }
  .header__group--logo { justify-content: center; }
  .header__group--nav { display: none; }
  .header__group--actions { justify-content: flex-end; }
  .header__logo-link { display: block; line-height: 0; }
  .header__logo { height: auto; max-width: 100%; }
  .header__wordmark { color: inherit; text-decoration: none; white-space: nowrap; }
  .header__cart { position: relative; }
  .header__localization, .header__account { display: none; }
  .header shopify-account { display: none; }

  @media screen and (min-width: 990px) {
    .header__inner { grid-template-columns: auto minmax(0, 1fr) auto; min-height: 7.6rem; }
    .header__menu-toggle { display: none; }
    .header__group--nav { display: flex; }
    .header__localization { display: flex; }
    .header shopify-account { display: inline-flex; }

    .header--logo-left .header__inner { grid-template-columns: auto minmax(0, 1fr) auto; }
    .header--logo-left .header__group--logo { justify-content: flex-start; order: -1; }
    .header--logo-left .header__group--start { display: none; }

    .header--logo-center .header__inner { grid-template-columns: 1fr auto 1fr; }
    .header--logo-center .header__group--nav { display: none; }
    .header--logo-center .header__group--start { display: flex; }

    .header--nav-below .header__inner { grid-template-columns: auto minmax(0, 1fr) auto; }
    .header--nav-below .header__group--nav {
      grid-column: 1 / -1; grid-row: 2; justify-content: center;
      border-top: var(--border-width) solid rgb(var(--color-border) / 0.6);
      padding-top: var(--space-xs);
    }
  }

/* footer:1wi2pnb */

  .wordmark {
    display: inline-flex;
    align-items: center;
    gap: 0.55em;
    font-family: var(--font-heading);
    font-weight: 600;
    text-transform: none;
    letter-spacing: -0.01em;
    line-height: 1;
    white-space: nowrap;
  }

  .wordmark__mark {
    display: inline-flex;
    color: rgb(var(--color-accent));
  }

  .wordmark--lg { font-size: calc(2.4rem * var(--body-scale)); }
  .wordmark--sm { font-size: calc(1.5rem * var(--body-scale)); }

/* footer:17u3x99 */

  .social-icons { display: flex; flex-wrap: wrap; gap: var(--space-3xs); }

/* footer:qjh1gc */

  .newsletter-form { display: flex; flex-direction: column; gap: var(--space-xs); width: 100%; }
  .newsletter-form__row { display: flex; flex-direction: column; gap: var(--space-xs); }
  .newsletter-form__row .field { flex: 1 1 auto; }
  @media screen and (min-width: 600px) {
    .newsletter-form__row--inline { flex-direction: row; align-items: flex-end; }
  }

/* footer:y8g8vs */

  .localization { position: relative; }
  .localization__details { position: relative; }
  .localization__summary {
    display: flex; align-items: center; gap: var(--space-2xs);
    min-height: 4.4rem; padding-inline: var(--space-xs); cursor: pointer;
  }
  .localization__panel {
    position: absolute; z-index: 30; bottom: calc(100% + var(--space-2xs)); inset-inline-start: 0;
    min-width: 22rem; max-height: 32rem; overflow-y: auto;
    background-color: rgb(var(--color-bg));
    border: var(--border-width) solid rgb(var(--color-border));
    border-radius: var(--radius-block);
    padding: var(--space-2xs);
    display: flex; flex-direction: column;
  }
  .localization__option {
    text-align: start; padding: var(--space-xs); min-height: 4rem;
    font-size: calc(1.45rem * var(--body-scale)); border-radius: var(--radius-button);
  }
  .localization__option:hover { background-color: rgb(var(--color-text) / 0.06); }
  .localization__option[aria-current='true'] { text-decoration: underline; text-underline-offset: 0.25em; }

/* footer:16fjk1 */

  .payment-icons__list { display: flex; flex-wrap: wrap; gap: var(--space-3xs); align-items: center; }
  .payment-icons__icon { width: 3.8rem; height: auto; border-radius: 2px; }

/* footer:yoyzpb */

  .footer__credit {
    margin: 0;
    opacity: 0.6;
  }

  .footer {
    padding-block: var(--section-pt-mobile, var(--space-2xl)) var(--section-pb-mobile, var(--space-m));
    border-top: var(--border-width) solid rgb(var(--color-border));
  }
  @media screen and (min-width: 990px) {
    .footer { padding-block: var(--section-pt, var(--space-2xl)) var(--section-pb, var(--space-m)); }
  }
  .footer__grid { display: grid; gap: var(--space-l); }
  .footer__heading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-s); min-height: 4.4rem; margin: 0; }
  .footer__links { display: flex; flex-direction: column; gap: var(--space-3xs); padding-bottom: var(--space-s); }
  .footer__link {
    display: flex; align-items: center; gap: var(--space-2xs);
    color: inherit; text-decoration: none; padding-block: 0.4rem; min-height: 3.2rem;
    font-size: calc(1.45rem * var(--body-scale)); opacity: 0.8;
  }
  .footer__link:hover { opacity: 1; text-decoration: underline; text-underline-offset: 0.25em; }
  .footer__brand, .footer__newsletter, .footer__contact { display: flex; flex-direction: column; gap: var(--space-s); }
  .footer__logo { width: 16rem; height: auto; }
  .footer__collapsible > summary { cursor: pointer; list-style: none; }
  .footer__collapsible > summary::-webkit-details-marker { display: none; }
  /* No JavaScript: every panel stays open. Long, but nothing is unreachable. */
  .footer__collapsible[open] .accordion__icon::after { opacity: 0; }
  .footer__disclaimer {
    margin-top: var(--space-xl); padding-top: var(--space-m);
    border-top: var(--border-width) solid rgb(var(--color-border));
    color: rgb(var(--color-text) / 0.6); max-width: 90rem;
  }
  .footer__bar {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
    gap: var(--space-s) var(--space-m); margin-top: var(--space-xl);
    padding-top: var(--space-m); border-top: var(--border-width) solid rgb(var(--color-border));
  }
  .footer__bar-start, .footer__bar-end { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-s) var(--space-m); }
  .footer__policies { display: flex; flex-wrap: wrap; gap: var(--space-s); }

  @media screen and (min-width: 750px) {
    .footer__grid { grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); gap: var(--space-xl); }
    .footer__block--brand, .footer__block--newsletter { grid-column: span 2; }
    /* The panels are always open on desktop, so the summary is decoration.
       It is hidden, never the panel: hiding a <summary> does not open a
       <details>, it just makes the whole block unreachable. */
    .footer__collapsible > summary { display: none; }
    .footer__block--menu::before, .footer__block--text::before { content: none; }
  }

/* cart-drawer:l78hes */

  .drawer__scroll { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
  .drawer__scroll > .drawer__body { flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; padding: var(--space-m); display: flex; flex-direction: column; gap: var(--space-m); }
  .cart-drawer__items { display: flex; flex-direction: column; }
  .cart-drawer__items .cart-item:last-child { border-bottom: 0; }

/* layout:1rga0z1 */

  .search-overlay { place-items: start center; padding-top: 10vh; }
  .search-overlay__panel { width: min(76rem, 100%); }
  .drawer .drawer__inner { display: flex; flex-direction: column; height: 100%; padding: var(--space-m); overflow-y: auto; }
  .search-panel__header {
    display: flex; align-items: center; justify-content: space-between;
    gap: var(--space-s); margin-bottom: var(--space-m);
  }
  .search-panel { display: flex; flex-direction: column; gap: var(--space-m); }
  .search-panel__chips { display: flex; flex-wrap: wrap; gap: var(--space-2xs); margin-top: var(--space-xs); }
  .search-panel__results { max-height: 56vh; overflow-y: auto; overscroll-behavior: contain; }

/* layout:rrxaew */

  #QuickAdd .modal__panel { padding-top: var(--space-xl); }
  #QuickAdd .modal__close { position: absolute; top: var(--space-s); inset-inline-end: var(--space-s); }

/* layout:wvs1co */

  .back-to-top {
    position: fixed; z-index: 20; bottom: var(--space-m); inset-inline-end: var(--space-m);
    opacity: 0; pointer-events: none; transition: opacity 0.2s ease;
  }
  .back-to-top[data-visible] { opacity: 1; pointer-events: auto; }
  .back-to-top .button {
    background-color: rgb(var(--color-bg));
    border: var(--border-width) solid rgb(var(--color-border));
    border-radius: 50%;
    box-shadow: var(--shadow);
  }
  .back-to-top .icon { transform: rotate(90deg); }

/* layout:d29pzo */

  .studio-credit {
    background-color: rgb(var(--color-text));
    color: rgb(var(--color-bg));
    text-align: center;
  }

  .studio-credit__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    padding: 0.7rem var(--space-m);
    min-height: 2.8rem;
    color: inherit;
    text-decoration: none;
    font-family: var(--font-label);
    font-size: calc(1.05rem * var(--body-scale));
    letter-spacing: 0.1em;
    text-transform: uppercase;
    opacity: 0.72;
    transition: opacity var(--duration, 200ms) ease;
  }

  .studio-credit__link:hover,
  .studio-credit__link:focus-visible {
    opacity: 1;
    text-decoration: underline;
    text-underline-offset: 0.3em;
  }

  .studio-credit__mark {
    display: inline-flex;
    color: rgb(var(--color-accent));
  }

  /* One line, always. A credit that wraps to two lines stops reading as a
     credit line and starts reading as a banner. Narrow screens get the short
     label instead of a wrap. */
  .studio-credit__label {
    white-space: nowrap;
  }

  .studio-credit__label--short {
    display: none;
  }

  @media screen and (max-width: 749px) {
    .studio-credit__label--full {
      display: none;
    }

    .studio-credit__label--short {
      display: inline;
    }
  }
