/** Shopify CDN: Minification failed

Line 585:10 Unexpected "{"
Line 585:19 Expected ":"
Line 586:16 Expected identifier but found whitespace
Line 586:18 Unexpected "{"
Line 586:27 Expected ":"
Line 586:78 Expected ":"
Line 587:19 Expected identifier but found whitespace
Line 587:21 Unexpected "{"
Line 587:30 Expected ":"
Line 587:84 Expected ":"
... and 20 more hidden warnings

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:benefits-slider (INDEX:3) */
.bsl {
    position: relative;
    z-index: var(--bsl-z);
    overflow-x: clip; /* stops decorations causing sideways scroll */
    background: var(--bsl-bg);
    padding: var(--bsl-pt-m) 0 var(--bsl-pb-m);
    font-family: var(--bsl-body-family);
    font-weight: var(--bsl-body-weight);
    font-style: var(--bsl-body-style);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
  }
  .bsl *,
  .bsl *::before,
  .bsl *::after { box-sizing: border-box; }
  .bsl--clip-y { overflow-y: clip; }

  /* ---------- Background ---------- */
  .bsl__bg,
  .bsl__overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
  }
  .bsl__bg { z-index: 0; opacity: var(--bsl-bg-op); }
  .bsl__bg picture { display: block; width: 100%; height: 100%; }
  .bsl__bg-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .bsl__overlay { z-index: 1; background: var(--bsl-overlay); }

  /* ---------- Content ---------- */
  .bsl__inner {
    position: relative;
    z-index: 2;
    max-width: var(--bsl-max);
    margin: 0 auto;
    padding: 0 var(--bsl-px-m);
  }
  .bsl__header {
    margin: 0 0 var(--bsl-header-mb);
    text-align: var(--bsl-h-text);
  }
  .bsl__heading {
    margin: 0;
    font-family: var(--bsl-heading-family);
    font-weight: var(--bsl-heading-weight);
    font-style: var(--bsl-heading-style);
    font-size: var(--bsl-h-size-m);
    line-height: 1.15;
    letter-spacing: normal;
    text-transform: none;
    color: var(--bsl-h-color);
  }
  .bsl__sub {
    max-width: var(--bsl-sub-max);
    margin: var(--bsl-h-gap) var(--bsl-sub-mr) 0 var(--bsl-sub-ml);
    font-size: var(--bsl-sub-size-m);
    line-height: 1.5;
    color: var(--bsl-sub-color);
  }

  .bsl__list {
    --bsl-cols: var(--bsl-cols-m);
    --bsl-gx: var(--bsl-gx-m);
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* centres an incomplete last row */
    gap: var(--bsl-gy-m) var(--bsl-gx-m);
    max-width: var(--bsl-items-max);
    margin: 0 auto;
    padding: 0;
    list-style: none;
  }
  .bsl__item {
    flex: 0 0 calc((100% - (var(--bsl-cols) - 1) * var(--bsl-gx)) / var(--bsl-cols) - 0.1px);
    min-width: 0;
    margin: 0;
    padding: 0;
  }
  .bsl__item-body {
    display: flex;
    flex-direction: column;
    align-items: var(--bsl-item-items);
    gap: var(--bsl-icon-gap);
    text-align: var(--bsl-item-text);
    color: inherit;
    text-decoration: none;
  }
  a.bsl__item-body:focus-visible {
    outline: 2px solid var(--bsl-icon-color);
    outline-offset: 6px;
    border-radius: 6px;
  }

  .bsl__icon {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--bsl-icon-size-m);
    height: var(--bsl-icon-size-m);
    color: var(--bsl-icon-color);
  }
  .bsl__icon svg,
  .bsl__icon-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .bsl__icon svg {
    fill: none;
    stroke: currentColor;
    stroke-width: var(--bsl-icon-stroke);
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .bsl__icon--circle,
  .bsl__icon--filled { border-radius: 50%; }
  .bsl__icon--circle { border: var(--bsl-ring-w) solid var(--bsl-ring-color); }
  .bsl__icon--filled { background: var(--bsl-icon-fill); }
  .bsl__icon--circle svg,
  .bsl__icon--circle .bsl__icon-img,
  .bsl__icon--filled svg,
  .bsl__icon--filled .bsl__icon-img { width: 56%; height: 56%; }
  /* Custom icon images: optional crop */
  .bsl__icon--img-circle .bsl__icon-img { object-fit: cover; border-radius: 50%; }
  .bsl__icon--img-rounded .bsl__icon-img { object-fit: cover; border-radius: 16%; }

  .bsl__label {
    margin: 0;
    font-size: var(--bsl-label-size-m);
    line-height: 1.35;
    color: var(--bsl-label-color);
  }

  /* ---------- Corner decorations ---------- */
  .bsl__decor {
    position: absolute;
    z-index: 3;
    width: var(--d-w);
    opacity: var(--d-op);
    transform: var(--d-transform);
    line-height: 0;
    pointer-events: none;
  }
  .bsl__decor--behind { z-index: 1; }
  .bsl__decor--tl { top: var(--d-y); left: var(--d-x); transform-origin: top left; }
  .bsl__decor--tr { top: var(--d-y); right: var(--d-x); transform-origin: top right; }
  .bsl__decor--bl { bottom: var(--d-y); left: var(--d-x); transform-origin: bottom left; }
  .bsl__decor--br { bottom: var(--d-y); right: var(--d-x); transform-origin: bottom right; }
  .bsl__decor-inner { transform-origin: inherit; }
  .bsl__decor-inner.is-swaying {
    animation: bsl-sway var(--d-sway) ease-in-out infinite;
  }
  .bsl__decor img,
  .bsl__decor svg { display: block; width: 100%; height: auto; }
  .bsl__art { color: var(--d-leaf); }
  .bsl__berry { fill: var(--d-berry); }
  /* Built-in art is drawn for the top-left corner; mirror it for the others */
  .bsl__decor--tr .bsl__art { transform: scaleX(-1); }
  .bsl__decor--bl .bsl__art { transform: scaleY(-1); }
  .bsl__decor--br .bsl__art { transform: scale(-1, -1); }
  .bsl__decor--desktop-only { display: none; }

  @keyframes bsl-sway {
    0%, 100% { transform: rotate(-2.5deg); }
    50% { transform: rotate(2.5deg); }
  }

  /* ---------- Mobile swipe row: cues that tell people it scrolls ---------- */
  .bsl__controls,
  .bsl__hint { display: none; }

  .bsl__arrow {
    -webkit-appearance: none;
    appearance: none;
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--bsl-arrow-size);
    height: var(--bsl-arrow-size);
    margin: 0;
    padding: 0;
    border: 1px solid var(--bsl-ctl-color);
    border-radius: 50%;
    background: transparent;
    color: var(--bsl-ctl-color);
    cursor: pointer;
    transition: opacity 0.2s ease;
  }
  .bsl__arrow svg {
    display: block;
    width: 42%;
    height: 42%;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .bsl__arrow--filled { background: var(--bsl-ctl-color); color: var(--bsl-arrow-icon); }
  .bsl__arrow--plain { border-color: transparent; }
  .bsl__arrow:disabled { opacity: 0.3; cursor: default; }
  .bsl__arrow:focus-visible { outline: 2px solid var(--bsl-ctl-color); outline-offset: 2px; }

  .bsl__bar {
    position: relative;
    flex: 0 1 var(--bsl-ind-w);
    width: var(--bsl-ind-w);
    max-width: 100%;
    height: var(--bsl-bar-h);
    overflow: hidden;
    border-radius: 999px;
    background: var(--bsl-ctl-track);
  }
  .bsl__thumb {
    position: absolute;
    top: 0;
    left: 0;
    width: 40%;
    height: 100%;
    border-radius: inherit;
    background: var(--bsl-ctl-color);
    will-change: transform;
  }
  .bsl__dots { display: flex; align-items: center; gap: 8px; }
  .bsl__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--bsl-ctl-track);
    transition: background-color 0.2s ease, transform 0.2s ease;
  }
  .bsl__dot.is-active { background: var(--bsl-ctl-color); transform: scale(1.3); }

  .bsl__hint {
    align-items: center;
    justify-content: var(--bsl-hint-justify);
    gap: 10px;
    margin: var(--bsl-hint-gap) 0 0;
    font-size: var(--bsl-hint-size);
    line-height: 1.3;
    color: var(--bsl-hint-color);
    transition: opacity 0.4s ease, visibility 0.4s ease;
  }
  .bsl__hint svg {
    display: block;
    flex: none;
    height: 1em;
    width: auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    animation: bsl-hint 1.5s ease-in-out infinite;
  }
  .bsl.is-touched .bsl__hint--auto-hide { opacity: 0; visibility: hidden; }
  @keyframes bsl-hint {
    0%, 100% { transform: translateX(0); opacity: 0.55; }
    50% { transform: translateX(7px); opacity: 1; }
  }

  @media (max-width: 749px) {
    .bsl--swipe { --bsl-active: 1; }
    .bsl--swipe .bsl__list {
      flex-wrap: nowrap;
      justify-content: flex-start;
      max-width: none;
      margin-inline: calc(var(--bsl-px-m) * -1);
      padding-inline: var(--bsl-px-m);
      overflow-x: auto;
      overscroll-behavior-x: contain;
      -webkit-overflow-scrolling: touch;
      scroll-padding-inline: var(--bsl-px-m);
      scrollbar-width: none;
    }
    .bsl--swipe.bsl--snap .bsl__list { scroll-snap-type: x mandatory; }
    .bsl--swipe .bsl__list::-webkit-scrollbar { display: none; }
    .bsl--swipe .bsl__item {
      flex: 0 0 calc((100% - (var(--bsl-swipe-n) - 1) * var(--bsl-gx)) / var(--bsl-swipe-n));
      scroll-snap-align: start;
    }

    /* Fade the edge(s) that still have more to scroll to */
    .bsl--swipe.bsl--fade .bsl__list {
      --bsl-fl: var(--bsl-fade-w);
      --bsl-fr: var(--bsl-fade-w);
      -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--bsl-fl), #000 calc(100% - var(--bsl-fr)), transparent 100%);
      mask-image: linear-gradient(90deg, transparent 0, #000 var(--bsl-fl), #000 calc(100% - var(--bsl-fr)), transparent 100%);
    }
    .bsl--swipe.bsl--fade.is-at-start .bsl__list { --bsl-fl: 0px; }
    .bsl--swipe.bsl--fade.is-at-end .bsl__list { --bsl-fr: 0px; }

    .bsl--swipe .bsl__controls {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      margin-top: var(--bsl-ctl-gap);
    }
    .bsl--swipe .bsl__hint { display: flex; }
    .bsl--swipe.is-static .bsl__controls,
    .bsl--swipe.is-static .bsl__hint { display: none; }
  }

  /* ---------- Tablet ---------- */
  @media (min-width: 750px) {
    .bsl { padding: var(--bsl-pt-d) 0 var(--bsl-pb-d); }
    .bsl__inner { padding: 0 var(--bsl-px-d); }
    .bsl__heading { font-size: var(--bsl-h-size-d); }
    .bsl__sub { font-size: var(--bsl-sub-size-d); }
    .bsl__list {
      --bsl-cols: var(--bsl-cols-t);
      --bsl-gx: var(--bsl-gx-d);
      gap: var(--bsl-gy-d) var(--bsl-gx-d);
    }
    .bsl__icon { width: var(--bsl-icon-size-d); height: var(--bsl-icon-size-d); }
    .bsl__label { font-size: var(--bsl-label-size-d); }
    .bsl__decor--desktop-only { display: block; }
    .bsl__decor--mobile-only { display: none; }
  }

  /* ---------- Desktop ---------- */
  @media (min-width: 990px) {
    .bsl__list { --bsl-cols: var(--bsl-cols-d); }
  }

  @media (prefers-reduced-motion: reduce) {
    .bsl__decor-inner,
    .bsl__hint svg { animation: none !important; }
    .bsl__hint,
    .bsl__arrow,
    .bsl__dot { transition: none; }
  }
/* END_SECTION:benefits-slider */

/* START_SECTION:benefits-strip (INDEX:4) */
.bs {
    position: relative;
    z-index: var(--bs-z);
    overflow-x: clip; /* stops decorations causing sideways scroll */
    background: var(--bs-bg);
    padding: var(--bs-pt-m) 0 var(--bs-pb-m);
    font-family: var(--bs-body-family);
    font-weight: var(--bs-body-weight);
    font-style: var(--bs-body-style);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
  }
  .bs *,
  .bs *::before,
  .bs *::after { box-sizing: border-box; }
  .bs--clip-y { overflow-y: clip; }

  /* ---------- Background ---------- */
  .bs__bg,
  .bs__overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
  }
  .bs__bg { z-index: 0; opacity: var(--bs-bg-op); }
  .bs__bg picture { display: block; width: 100%; height: 100%; }
  .bs__bg-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .bs__overlay { z-index: 1; background: var(--bs-overlay); }

  /* ---------- Content ---------- */
  .bs__inner {
    position: relative;
    z-index: 2;
    max-width: var(--bs-max);
    margin: 0 auto;
    padding: 0 var(--bs-px-m);
  }
  .bs__header {
    margin: 0 0 var(--bs-header-mb);
    text-align: var(--bs-h-text);
  }
  .bs__heading {
    margin: 0;
    font-family: var(--bs-heading-family);
    font-weight: var(--bs-heading-weight);
    font-style: var(--bs-heading-style);
    font-size: var(--bs-h-size-m);
    line-height: 1.15;
    letter-spacing: normal;
    text-transform: none;
    color: var(--bs-h-color);
  }
  .bs__sub {
    max-width: var(--bs-sub-max);
    margin: var(--bs-h-gap) var(--bs-sub-mr) 0 var(--bs-sub-ml);
    font-size: var(--bs-sub-size-m);
    line-height: 1.5;
    color: var(--bs-sub-color);
  }

  .bs__list {
    --bs-cols: var(--bs-cols-m);
    --bs-gx: var(--bs-gx-m);
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* centres an incomplete last row */
    gap: var(--bs-gy-m) var(--bs-gx-m);
    max-width: var(--bs-items-max);
    margin: 0 auto;
    padding: 0;
    list-style: none;
  }
  .bs__item {
    flex: 0 0 calc((100% - (var(--bs-cols) - 1) * var(--bs-gx)) / var(--bs-cols) - 0.1px);
    min-width: 0;
    margin: 0;
    padding: 0;
  }
  .bs__item-body {
    display: flex;
    flex-direction: column;
    align-items: var(--bs-item-items);
    gap: var(--bs-icon-gap);
    text-align: var(--bs-item-text);
    color: inherit;
    text-decoration: none;
  }
  a.bs__item-body:focus-visible {
    outline: 2px solid var(--bs-icon-color);
    outline-offset: 6px;
    border-radius: 6px;
  }

  .bs__icon {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--bs-icon-size-m);
    height: var(--bs-icon-size-m);
    color: var(--bs-icon-color);
  }
  .bs__icon svg,
  .bs__icon-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .bs__icon svg {
    fill: none;
    stroke: currentColor;
    stroke-width: var(--bs-icon-stroke);
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .bs__icon--circle,
  .bs__icon--filled { border-radius: 50%; }
  .bs__icon--circle { border: var(--bs-ring-w) solid var(--bs-ring-color); }
  .bs__icon--filled { background: var(--bs-icon-fill); }
  .bs__icon--circle svg,
  .bs__icon--circle .bs__icon-img,
  .bs__icon--filled svg,
  .bs__icon--filled .bs__icon-img { width: 56%; height: 56%; }

  .bs__label {
    margin: 0;
    font-size: var(--bs-label-size-m);
    line-height: 1.35;
    color: var(--bs-label-color);
  }

  /* ---------- Corner decorations ---------- */
  .bs__decor {
    position: absolute;
    z-index: 3;
    width: var(--d-w);
    opacity: var(--d-op);
    transform: var(--d-transform);
    line-height: 0;
    pointer-events: none;
  }
  .bs__decor--behind { z-index: 1; }
  .bs__decor--tl { top: var(--d-y); left: var(--d-x); transform-origin: top left; }
  .bs__decor--tr { top: var(--d-y); right: var(--d-x); transform-origin: top right; }
  .bs__decor--bl { bottom: var(--d-y); left: var(--d-x); transform-origin: bottom left; }
  .bs__decor--br { bottom: var(--d-y); right: var(--d-x); transform-origin: bottom right; }
  .bs__decor-inner { transform-origin: inherit; }
  .bs__decor-inner.is-swaying {
    animation: bs-sway var(--d-sway) ease-in-out infinite;
  }
  .bs__decor img,
  .bs__decor svg { display: block; width: 100%; height: auto; }
  .bs__art { color: var(--d-leaf); }
  .bs__berry { fill: var(--d-berry); }
  /* Built-in art is drawn for the top-left corner; mirror it for the others */
  .bs__decor--tr .bs__art { transform: scaleX(-1); }
  .bs__decor--bl .bs__art { transform: scaleY(-1); }
  .bs__decor--br .bs__art { transform: scale(-1, -1); }
  .bs__decor--desktop-only { display: none; }

  @keyframes bs-sway {
    0%, 100% { transform: rotate(-2.5deg); }
    50% { transform: rotate(2.5deg); }
  }

  /* ---------- Mobile: swipe layout ---------- */
  @media (max-width: 749px) {
    .bs--swipe .bs__list {
      flex-wrap: nowrap;
      justify-content: flex-start;
      max-width: none;
      margin-inline: calc(var(--bs-px-m) * -1);
      padding-inline: var(--bs-px-m);
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      scroll-padding-inline: var(--bs-px-m);
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
    }
    .bs--swipe .bs__list::-webkit-scrollbar { display: none; }
    .bs--swipe .bs__item {
      flex: 0 0 calc((100% - (var(--bs-swipe-n) - 1) * var(--bs-gx)) / var(--bs-swipe-n));
      scroll-snap-align: start;
    }
  }

  /* ---------- Tablet ---------- */
  @media (min-width: 750px) {
    .bs { padding: var(--bs-pt-d) 0 var(--bs-pb-d); }
    .bs__inner { padding: 0 var(--bs-px-d); }
    .bs__heading { font-size: var(--bs-h-size-d); }
    .bs__sub { font-size: var(--bs-sub-size-d); }
    .bs__list {
      --bs-cols: var(--bs-cols-t);
      --bs-gx: var(--bs-gx-d);
      gap: var(--bs-gy-d) var(--bs-gx-d);
    }
    .bs__icon { width: var(--bs-icon-size-d); height: var(--bs-icon-size-d); }
    .bs__label { font-size: var(--bs-label-size-d); }
    .bs__decor--desktop-only { display: block; }
    .bs__decor--mobile-only { display: none; }
  }

  /* ---------- Desktop ---------- */
  @media (min-width: 990px) {
    .bs__list { --bs-cols: var(--bs-cols-d); }
  }

  @media (prefers-reduced-motion: reduce) {
    .bs__decor-inner { animation: none !important; }
  }
/* END_SECTION:benefits-strip */

/* START_SECTION:collection-category (INDEX:17) */
.section-{{ section.id }}-padding {
    padding-top: {{ section.settings.padding_top | times: 0.50 | round: 0 }}px;
    padding-bottom: {{ section.settings.padding_bottom | times: 0.50 | round: 0 }}px;
  }
   @media screen and (min-width: 576px) and (max-width: 749px){
   .section-{{ section.id }}-padding {
    padding-top: {{ section.settings.padding_top | times: 0.75 | round: 0 }}px;
    padding-bottom: {{ section.settings.padding_bottom | times: 0.75 | round: 0 }}px;
  }
   }
  @media screen and (min-width: 750px) {
    .section-{{ section.id }}-padding {
      padding-top: {{ section.settings.padding_top }}px;
      padding-bottom: {{ section.settings.padding_bottom }}px;
    }
  }
/* END_SECTION:collection-category */

/* START_SECTION:faq-promo-banner (INDEX:30) */
.faq-promo {
    position: relative;
    z-index: var(--fp-z);
    overflow-x: clip; /* stops decorations causing sideways scroll */
    background: var(--fp-bg);
    padding: var(--fp-pt-m) 0 var(--fp-pb-m);
    font-family: var(--fp-body-family);
    font-weight: var(--fp-body-weight);
    font-style: var(--fp-body-style);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
  }
  .faq-promo *,
  .faq-promo *::before,
  .faq-promo *::after { box-sizing: border-box; }
  .faq-promo--clip-y { overflow-y: clip; }

  .faq-promo__inner {
    position: relative;
    z-index: 1;
    max-width: var(--fp-max-width);
    margin: 0 auto;
    padding: 0 var(--fp-px-m);
  }
  .faq-promo__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--fp-gap-m);
    align-items: stretch;
  }

  /* ---------- FAQ ---------- */
  .faq-promo__heading {
    margin: 0 0 var(--fp-heading-mb);
    font-family: var(--fp-heading-family);
    font-weight: var(--fp-heading-weight);
    font-style: var(--fp-heading-style);
    font-size: var(--fp-heading-size-m);
    line-height: 1.15;
    letter-spacing: normal;
    text-transform: none;
    color: var(--fp-heading-color);
    text-align: var(--fp-heading-align);
  }
  .faq-promo__list {
    display: flex;
    flex-direction: column;
    gap: var(--fp-item-gap);
  }
  .faq-promo__item {
    background: var(--fp-item-bg);
    border: var(--fp-item-bw) solid var(--fp-item-border);
    border-radius: var(--fp-item-radius);
    overflow: hidden;
    transition: border-color var(--fp-speed) ease, background-color var(--fp-speed) ease;
  }
  .faq-promo__item.is-open {
    background: var(--fp-item-bg-open);
    border-color: var(--fp-item-border-open);
  }
  .faq-promo__q-wrap {
    margin: 0;
    padding: 0;
    font: inherit;
    letter-spacing: normal;
    text-transform: none;
  }
  .faq-promo__trigger {
    -webkit-appearance: none;
    appearance: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    margin: 0;
    padding: var(--fp-item-py) var(--fp-item-px);
    background: transparent;
    border: 0;
    border-radius: 0;
    color: var(--fp-q-color);
    font-family: inherit;
    font-weight: inherit;
    font-style: inherit;
    font-size: var(--fp-q-size-m);
    line-height: 1.4;
    letter-spacing: normal;
    text-transform: none;
    text-align: left;
    cursor: pointer;
  }
  .faq-promo__trigger:focus-visible {
    outline: 2px solid var(--fp-icon-color);
    outline-offset: -4px;
  }

  /* Icon: plus (turns into minus) */
  .faq-promo__icon {
    position: relative;
    flex: none;
    width: var(--fp-icon-size);
    height: var(--fp-icon-size);
    color: var(--fp-icon-color);
  }
  .faq-promo__icon--plus::before,
  .faq-promo__icon--plus::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    background: currentColor;
    border-radius: 2px;
    transition: transform var(--fp-speed) ease, opacity var(--fp-speed) ease;
  }
  .faq-promo__icon--plus::before {
    width: 100%;
    height: var(--fp-icon-stroke);
    transform: translate(-50%, -50%);
  }
  .faq-promo__icon--plus::after {
    width: var(--fp-icon-stroke);
    height: 100%;
    transform: translate(-50%, -50%);
  }
  .faq-promo__item.is-open .faq-promo__icon--plus::after {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0;
  }

  /* Icon: chevron (flips) */
  .faq-promo__icon--chevron svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: var(--fp-icon-stroke);
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform var(--fp-speed) ease;
  }
  .faq-promo__item.is-open .faq-promo__icon--chevron svg { transform: rotate(180deg); }

  /* Answer panel (height animates without JS measuring) */
  .faq-promo__panel {
    display: grid;
    grid-template-rows: 0fr;
    visibility: hidden;
    transition: grid-template-rows var(--fp-speed) ease, visibility 0s linear var(--fp-speed);
  }
  .faq-promo__item.is-open .faq-promo__panel {
    grid-template-rows: 1fr;
    visibility: visible;
    transition-delay: 0s;
  }
  .faq-promo__panel-inner {
    min-height: 0;
    overflow: hidden;
  }
  .faq-promo__answer {
    padding: 0 var(--fp-item-px) var(--fp-item-py);
    color: var(--fp-a-color);
    font-size: var(--fp-a-size-m);
    line-height: 1.6;
  }
  .faq-promo__answer > :first-child { margin-top: 0; }
  .faq-promo__answer > :last-child { margin-bottom: 0; }
  .faq-promo__answer p { margin: 0 0 0.75em; }
  .faq-promo__answer ul,
  .faq-promo__answer ol { margin: 0 0 0.75em; padding-left: 1.25em; }
  .faq-promo__answer a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

  /* ---------- Banner ---------- */
  .faq-promo__banner {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    justify-content: var(--fp-c-justify);
    min-height: var(--fp-banner-h-m);
    background: var(--fp-banner-bg);
    border-radius: var(--fp-banner-radius);
    overflow: hidden;
  }
  .faq-promo__media,
  .faq-promo__overlay {
    position: absolute;
    inset: 0;
  }
  .faq-promo__media { z-index: 0; }
  .faq-promo__media picture { display: block; width: 100%; height: 100%; }
  .faq-promo__img,
  .faq-promo__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .faq-promo__placeholder { background: rgba(255, 255, 255, 0.08); }
  .faq-promo__overlay {
    z-index: 1;
    background: var(--fp-overlay);
    pointer-events: none;
  }
  .faq-promo__content {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: var(--fp-c-pad-m);
  }
  .faq-promo__content-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: var(--fp-c-items);
    gap: var(--fp-c-gap);
    max-width: var(--fp-c-max);
    margin: var(--fp-c-margin);
    text-align: var(--fp-c-text);
  }
  /* Logo: an independent layer. It is taken out of the text flow, so whatever
     image is uploaded (any size or shape) cannot push the heading, text or
     button around. */
  .faq-promo__logo {
    --lw: var(--fp-logo-w-m);
    --lx: var(--fp-logo-x-m);
    --ly: var(--fp-logo-y-m);
    --lpad: var(--fp-c-pad-m);
    position: absolute;
    z-index: 3;
    width: var(--lw);
    color: var(--fp-logo-color);
    line-height: 0;
    pointer-events: none;
  }
  .faq-promo__logo svg,
  .faq-promo__logo img {
    display: block;
    width: 100%;
    height: auto;
    max-height: var(--fp-logo-max-h);
    object-fit: contain;
    object-position: center;
  }
  .faq-promo__logo.is-left img { object-position: left center; }
  .faq-promo__logo.is-right img { object-position: right center; }

  /* Above the heading: hangs off the top of the text block */
  .faq-promo__logo--above { bottom: calc(100% + var(--fp-logo-gap) - var(--ly)); }
  .faq-promo__logo--above.is-left { left: var(--lx); }
  .faq-promo__logo--above.is-center { left: calc(50% + var(--lx)); transform: translateX(-50%); }
  .faq-promo__logo--above.is-right { right: calc(0px - var(--lx)); }

  /* Banner corners / edges: measured from the banner, inset by the text padding */
  .faq-promo__logo--top-left,
  .faq-promo__logo--top-center,
  .faq-promo__logo--top-right { top: calc(var(--lpad) + var(--ly)); }
  .faq-promo__logo--bottom-left,
  .faq-promo__logo--bottom-center,
  .faq-promo__logo--bottom-right { bottom: calc(var(--lpad) - var(--ly)); }
  .faq-promo__logo--top-left,
  .faq-promo__logo--bottom-left { left: calc(var(--lpad) + var(--lx)); }
  .faq-promo__logo--top-right,
  .faq-promo__logo--bottom-right { right: calc(var(--lpad) - var(--lx)); }
  .faq-promo__logo--top-center,
  .faq-promo__logo--bottom-center { left: calc(50% + var(--lx)); transform: translateX(-50%); }
  .faq-promo__banner-heading {
    margin: 0;
    font-family: var(--fp-heading-family);
    font-weight: var(--fp-heading-weight);
    font-style: var(--fp-heading-style);
    font-size: var(--fp-bh-size-m);
    line-height: 1.15;
    letter-spacing: normal;
    text-transform: none;
    color: var(--fp-bh-color);
  }
  .faq-promo__banner-text {
    margin: 0;
    font-size: var(--fp-bt-size-m);
    line-height: 1.5;
    color: var(--fp-bt-color);
  }
  .faq-promo__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
    padding: var(--fp-btn-py) var(--fp-btn-px);
    background: var(--fp-btn-bg);
    color: var(--fp-btn-text);
    border: 0;
    border-radius: var(--fp-btn-radius);
    font-family: inherit;
    font-weight: inherit;
    font-size: var(--fp-btn-size);
    line-height: 1.2;
    letter-spacing: normal;
    text-transform: none;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.25s ease, color 0.25s ease;
  }
  .faq-promo__btn:hover {
    background: var(--fp-btn-bg-hover);
    color: var(--fp-btn-text-hover);
  }
  .faq-promo__btn:focus-visible {
    outline: 2px solid var(--fp-btn-text);
    outline-offset: 3px;
  }
  .faq-promo__btn-arrow {
    flex: none;
    width: 18px;
    height: 12px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.25s ease;
  }
  .faq-promo__btn:hover .faq-promo__btn-arrow { transform: translateX(3px); }

  /* ---------- Corner decorations ---------- */
  .faq-promo__decor {
    position: absolute;
    z-index: 2;
    width: var(--d-w);
    opacity: var(--d-op);
    transform: var(--d-transform);
    line-height: 0;
    pointer-events: none;
  }
  .faq-promo__decor--behind { z-index: 0; }
  .faq-promo__decor--tl { top: var(--d-y); left: var(--d-x); transform-origin: top left; }
  .faq-promo__decor--tr { top: var(--d-y); right: var(--d-x); transform-origin: top right; }
  .faq-promo__decor--bl { bottom: var(--d-y); left: var(--d-x); transform-origin: bottom left; }
  .faq-promo__decor--br { bottom: var(--d-y); right: var(--d-x); transform-origin: bottom right; }
  .faq-promo__decor-inner { transform-origin: inherit; }
  .faq-promo__decor-inner.is-swaying {
    animation: faq-promo-sway var(--d-sway) ease-in-out infinite;
  }
  .faq-promo__decor img,
  .faq-promo__decor svg { display: block; width: 100%; height: auto; }
  .faq-promo__leaf { color: var(--d-leaf); }
  /* Built-in sprig is drawn for the top-left corner; mirror it for the others */
  .faq-promo__decor--tr .faq-promo__leaf { transform: scaleX(-1); }
  .faq-promo__decor--bl .faq-promo__leaf { transform: scaleY(-1); }
  .faq-promo__decor--br .faq-promo__leaf { transform: scale(-1, -1); }
  .faq-promo__decor--desktop-only { display: none; }

  @keyframes faq-promo-sway {
    0%, 100% { transform: rotate(-2.5deg); }
    50% { transform: rotate(2.5deg); }
  }

  /* ---------- Tablet / desktop sizing ---------- */
  @media (min-width: 750px) {
    .faq-promo { padding: var(--fp-pt-d) 0 var(--fp-pb-d); }
    .faq-promo__inner { padding: 0 var(--fp-px-d); }
    .faq-promo__grid { gap: var(--fp-gap-d); }
    .faq-promo__heading { font-size: var(--fp-heading-size-d); }
    .faq-promo__trigger { font-size: var(--fp-q-size-d); }
    .faq-promo__answer { font-size: var(--fp-a-size-d); }
    .faq-promo__banner { min-height: var(--fp-banner-h-d); }
    .faq-promo__content { padding: var(--fp-c-pad-d); }
    .faq-promo__logo {
      --lw: var(--fp-logo-w-d);
      --lx: var(--fp-logo-x-d);
      --ly: var(--fp-logo-y-d);
      --lpad: var(--fp-c-pad-d);
    }
    .faq-promo__banner-heading { font-size: var(--fp-bh-size-d); }
    .faq-promo__banner-text { font-size: var(--fp-bt-size-d); }
    .faq-promo__decor--desktop-only { display: block; }
    .faq-promo__decor--mobile-only { display: none; }
  }

  @media (prefers-reduced-motion: reduce) {
    .faq-promo *,
    .faq-promo *::before,
    .faq-promo *::after { transition-duration: 0.01ms !important; }
    .faq-promo__decor-inner { animation: none !important; }
  }
/* END_SECTION:faq-promo-banner */

/* START_SECTION:marketplace-logos (INDEX:65) */
.ml {
    position: relative;
    z-index: var(--ml-z);
    overflow-x: clip; /* stops decorations causing sideways scroll */
    background: var(--ml-bg);
    padding: var(--ml-pt-m) 0 var(--ml-pb-m);
    font-family: var(--ml-body-family);
    font-weight: var(--ml-body-weight);
    font-style: var(--ml-body-style);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
  }
  .ml *,
  .ml *::before,
  .ml *::after { box-sizing: border-box; }
  .ml--clip-y { overflow-y: clip; }
  .ml--bt { border-top: var(--ml-bw) solid var(--ml-bc); }
  .ml--bb { border-bottom: var(--ml-bw) solid var(--ml-bc); }

  /* ---------- Background ---------- */
  .ml__bg,
  .ml__overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
  }
  .ml__bg { z-index: 0; opacity: var(--ml-bg-op); }
  .ml__bg picture { display: block; width: 100%; height: 100%; }
  .ml__bg-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .ml__overlay { z-index: 1; background: var(--ml-overlay); }

  /* ---------- Headline ---------- */
  .ml__inner {
    position: relative;
    z-index: 2;
    max-width: var(--ml-max);
    margin: 0 auto;
    padding: 0 var(--ml-px-m);
  }
  .ml__header {
    margin: 0 0 var(--ml-header-mb);
    text-align: var(--ml-h-text);
  }
  .ml__heading {
    margin: 0;
    font-family: var(--ml-heading-family);
    font-weight: var(--ml-heading-weight);
    font-style: var(--ml-heading-style);
    font-size: var(--ml-h-size-m);
    line-height: 1.15;
    letter-spacing: var(--ml-h-ls);
    text-transform: var(--ml-h-transform);
    color: var(--ml-h-color);
  }
  .ml__sub {
    max-width: var(--ml-sub-max);
    margin: var(--ml-h-gap) var(--ml-sub-mr) 0 var(--ml-sub-ml);
    font-size: var(--ml-sub-size-m);
    line-height: 1.5;
    color: var(--ml-sub-color);
  }
  .ml__header:has(.ml__sub:only-child) .ml__sub { margin-top: 0; }

  /* ---------- Logos ---------- */
  .ml__list {
    --ml-cols: var(--ml-cols-m);
    --ml-gx: var(--ml-gx-m);
    --ml-h: var(--ml-logo-h-m);
    display: flex;
    flex-wrap: wrap;
    justify-content: var(--ml-list-justify);
    gap: var(--ml-gy-m) var(--ml-gx-m);
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .ml__item {
    flex: 0 0 calc((100% - (var(--ml-cols) - 1) * var(--ml-gx)) / var(--ml-cols) - 0.1px);
    display: flex;
    min-width: 0;
    margin: 0;
    padding: 0;
  }
  .ml__card {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--ml-label-gap);
    min-width: 0;
    padding: var(--ml-card-py) var(--ml-card-px);
    color: inherit;
    text-decoration: none;
    background: var(--ml-item-bg, var(--ml-card-bg));
    border: var(--ml-card-bw) solid var(--ml-card-bc);
    border-radius: var(--ml-card-radius);
    box-shadow: var(--ml-card-shadow);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
  }
  .ml--card-none .ml__card {
    padding: 0;
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .ml--card-pill .ml__card { border-radius: 999px; }
  a.ml__card:focus-visible {
    outline: 2px solid var(--ml-h-color);
    outline-offset: 3px;
  }

  .ml__logo {
    display: block;
    height: calc(var(--ml-h) * var(--ml-scale, 1));
    width: auto;
    max-width: min(100%, var(--ml-logo-max));
    object-fit: contain;
    opacity: var(--ml-logo-op);
    transition: filter 0.25s ease, opacity 0.25s ease, transform 0.25s ease;
  }
  .ml__wordmark {
    display: flex;
    align-items: center;
    height: auto;
    font-family: var(--ml-heading-family);
    font-weight: var(--ml-heading-weight);
    font-style: var(--ml-heading-style);
    font-size: calc(var(--ml-h) * var(--ml-scale, 1) * 0.62);
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--ml-word-color);
  }
  .ml--mode-gray .ml__logo { filter: grayscale(1); }
  .ml--mode-black .ml__logo { filter: brightness(0); }
  .ml--mode-white .ml__logo { filter: brightness(0) invert(1); }
  .ml--color-hover a.ml__card:hover .ml__logo,
  .ml--color-hover a.ml__card:focus-visible .ml__logo { filter: none; opacity: 1; }

  .ml--hover-lift a.ml__card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(60, 20, 20, 0.12); }
  .ml--hover-zoom a.ml__card:hover .ml__logo { transform: scale(1.07); }

  .ml__label {
    display: block;
    max-width: 100%;
    font-size: var(--ml-label-size-m);
    line-height: 1.3;
    text-align: center;
    color: var(--ml-label-color);
  }

  /* ---------- Corner decorations ---------- */
  .ml__decor {
    position: absolute;
    z-index: 3;
    width: var(--d-w);
    opacity: var(--d-op);
    transform: var(--d-transform);
    line-height: 0;
    pointer-events: none;
  }
  .ml__decor--behind { z-index: 1; }
  .ml__decor--tl { top: var(--d-y); left: var(--d-x); transform-origin: top left; }
  .ml__decor--tr { top: var(--d-y); right: var(--d-x); transform-origin: top right; }
  .ml__decor--bl { bottom: var(--d-y); left: var(--d-x); transform-origin: bottom left; }
  .ml__decor--br { bottom: var(--d-y); right: var(--d-x); transform-origin: bottom right; }
  .ml__decor-inner { transform-origin: inherit; }
  .ml__decor-inner.is-swaying {
    animation: ml-sway var(--d-sway) ease-in-out infinite;
  }
  .ml__decor img,
  .ml__decor svg { display: block; width: 100%; height: auto; }
  .ml__art { color: var(--d-leaf); }
  .ml__berry { fill: var(--d-berry); }
  /* Built-in art is drawn for the top-left corner; mirror it for the others */
  .ml__decor--tr .ml__art { transform: scaleX(-1); }
  .ml__decor--bl .ml__art { transform: scaleY(-1); }
  .ml__decor--br .ml__art { transform: scale(-1, -1); }
  .ml__decor--desktop-only { display: none; }

  @keyframes ml-sway {
    0%, 100% { transform: rotate(-2.5deg); }
    50% { transform: rotate(2.5deg); }
  }


  /* ---------- Mobile swipe row: cues that tell people it scrolls ---------- */
  .ml__controls,
  .ml__hint { display: none; }

  .ml__arrow {
    -webkit-appearance: none;
    appearance: none;
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--ml-arrow-size);
    height: var(--ml-arrow-size);
    margin: 0;
    padding: 0;
    border: 1px solid var(--ml-ctl-color);
    border-radius: 50%;
    background: transparent;
    color: var(--ml-ctl-color);
    cursor: pointer;
    transition: opacity 0.2s ease;
  }
  .ml__arrow svg {
    display: block;
    width: 42%;
    height: 42%;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .ml__arrow--filled { background: var(--ml-ctl-color); color: var(--ml-arrow-icon); }
  .ml__arrow--plain { border-color: transparent; }
  .ml__arrow:disabled { opacity: 0.3; cursor: default; }
  .ml__arrow:focus-visible { outline: 2px solid var(--ml-ctl-color); outline-offset: 2px; }

  .ml__bar {
    position: relative;
    flex: 0 1 var(--ml-ind-w);
    width: var(--ml-ind-w);
    max-width: 100%;
    height: var(--ml-bar-h);
    overflow: hidden;
    border-radius: 999px;
    background: var(--ml-ctl-track);
  }
  .ml__thumb {
    position: absolute;
    top: 0;
    left: 0;
    width: 40%;
    height: 100%;
    border-radius: inherit;
    background: var(--ml-ctl-color);
    will-change: transform;
  }
  .ml__dots { display: flex; align-items: center; gap: 8px; }
  .ml__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ml-ctl-track);
    transition: background-color 0.2s ease, transform 0.2s ease;
  }
  .ml__dot.is-active { background: var(--ml-ctl-color); transform: scale(1.3); }

  .ml__hint {
    align-items: center;
    justify-content: var(--ml-hint-justify);
    gap: 10px;
    margin: var(--ml-hint-gap) 0 0;
    font-size: var(--ml-hint-size);
    line-height: 1.3;
    color: var(--ml-hint-color);
    transition: opacity 0.4s ease, visibility 0.4s ease;
  }
  .ml__hint svg {
    display: block;
    flex: none;
    height: 1em;
    width: auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    animation: ml-hint 1.5s ease-in-out infinite;
  }
  .bsl.is-touched .ml__hint--auto-hide { opacity: 0; visibility: hidden; }
  @keyframes ml-hint {
    0%, 100% { transform: translateX(0); opacity: 0.55; }
    50% { transform: translateX(7px); opacity: 1; }
  }

  @media (max-width: 749px) {
    .ml--swipe { --ml-active: 1; }
    .ml--swipe .ml__list {
      flex-wrap: nowrap;
      justify-content: flex-start;
      max-width: none;
      margin-inline: calc(var(--ml-px-m) * -1);
      padding-inline: var(--ml-px-m);
      padding-block: 12px;
      margin-block: -12px;
      overflow-x: auto;
      overscroll-behavior-x: contain;
      -webkit-overflow-scrolling: touch;
      scroll-padding-inline: var(--ml-px-m);
      scrollbar-width: none;
    }
    .ml--swipe.ml--snap .ml__list { scroll-snap-type: x mandatory; }
    .ml--swipe .ml__list::-webkit-scrollbar { display: none; }
    .ml--swipe .ml__item {
      flex: 0 0 calc((100% - (var(--ml-swipe-n) - 1) * var(--ml-gx)) / var(--ml-swipe-n));
      scroll-snap-align: start;
    }

    /* Fade the edge(s) that still have more to scroll to */
    .ml--swipe.ml--fade .ml__list {
      --ml-fl: var(--ml-fade-w);
      --ml-fr: var(--ml-fade-w);
      -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--ml-fl), #000 calc(100% - var(--ml-fr)), transparent 100%);
      mask-image: linear-gradient(90deg, transparent 0, #000 var(--ml-fl), #000 calc(100% - var(--ml-fr)), transparent 100%);
    }
    .ml--swipe.ml--fade.is-at-start .ml__list { --ml-fl: 0px; }
    .ml--swipe.ml--fade.is-at-end .ml__list { --ml-fr: 0px; }

    .ml--swipe .ml__controls {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      margin-top: var(--ml-ctl-gap);
    }
    .ml--swipe .ml__hint { display: flex; }
    .ml--swipe.is-static .ml__controls,
    .ml--swipe.is-static .ml__hint { display: none; }
  }


  /* ---------- Tablet and up ---------- */
  @media (min-width: 750px) {
    .ml { padding: var(--ml-pt-d) 0 var(--ml-pb-d); }
    .ml__inner { padding: 0 var(--ml-px-d); }
    .ml__heading { font-size: var(--ml-h-size-d); }
    .ml__sub { font-size: var(--ml-sub-size-d); }
    .ml__list {
      --ml-gx: var(--ml-gx-d);
      --ml-h: var(--ml-logo-h-d);
      gap: var(--ml-gy-d) var(--ml-gx-d);
    }
    .ml__item { flex: 0 0 auto; max-width: 100%; }
    .ml--equal .ml__item { width: var(--ml-card-w); }
    .ml__label { font-size: var(--ml-label-size-d); }
    .ml__decor--desktop-only { display: block; }
    .ml__decor--mobile-only { display: none; }
  }

  @media (prefers-reduced-motion: reduce) {
    .ml__decor-inner,
    .ml__hint svg { animation: none !important; }
    .ml__hint,
    .ml__arrow,
    .ml__dot,
    .ml__card,
    .ml__logo { transition: none; }
  }
/* END_SECTION:marketplace-logos */

/* START_SECTION:multicolumn-images (INDEX:68) */
.mc {
    position: relative;
    z-index: var(--mc-z);
    overflow-x: clip; /* stops decorations causing sideways scroll */
    background: var(--mc-bg);
    padding: var(--mc-pt-m) 0 var(--mc-pb-m);
    font-family: var(--mc-body-family);
    font-weight: var(--mc-body-weight);
    font-style: var(--mc-body-style);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
  }
  .mc *,
  .mc *::before,
  .mc *::after { box-sizing: border-box; }
  .mc--clip-y { overflow-y: clip; }

  /* ---------- Background ---------- */
  .mc__bg,
  .mc__overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
  }
  .mc__bg { z-index: 0; opacity: var(--mc-bg-op); }
  .mc__bg picture { display: block; width: 100%; height: 100%; }
  .mc__bg-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .mc__overlay { z-index: 1; background: var(--mc-overlay); }

  /* ---------- Header ---------- */
  .mc__inner {
    position: relative;
    z-index: 2;
    max-width: var(--mc-max);
    margin: 0 auto;
    padding: 0 var(--mc-px-m);
  }
  .mc__header {
    margin: 0 0 var(--mc-header-mb);
    text-align: var(--mc-h-text);
  }
  .mc__heading {
    margin: 0;
    font-family: var(--mc-heading-family);
    font-weight: var(--mc-heading-weight);
    font-style: var(--mc-heading-style);
    font-size: var(--mc-h-size-m);
    line-height: 1.15;
    letter-spacing: normal;
    text-transform: none;
    color: var(--mc-h-color);
  }
  .mc__sub {
    max-width: var(--mc-sub-max);
    margin: var(--mc-h-gap) var(--mc-sub-mr) 0 var(--mc-sub-ml);
    font-size: var(--mc-sub-size-m);
    line-height: 1.5;
    color: var(--mc-sub-color);
  }

  /* ---------- Columns ---------- */
  .mc__list {
    --mc-cols: var(--mc-cols-m);
    --mc-gx: var(--mc-gx-m);
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* centres an incomplete last row */
    gap: var(--mc-gy-m) var(--mc-gx-m);
    max-width: var(--mc-items-max);
    margin: 0 auto;
    padding: 0;
    list-style: none;
  }
  .mc__item {
    flex: 0 0 calc((100% - (var(--mc-cols) - 1) * var(--mc-gx)) / var(--mc-cols) - 0.1px);
    min-width: 0;
    margin: 0;
    padding: 0;
  }
  .mc__card {
    display: flex;
    flex-direction: column;
    align-items: var(--mc-item-items);
    gap: var(--mc-cap-gap);
    height: 100%;
    text-align: var(--mc-item-text);
    color: inherit;
    text-decoration: none;
  }
  .mc--boxed .mc__card {
    background: var(--mc-card-bg);
    border: var(--mc-card-bw) solid var(--mc-card-bc);
    border-radius: var(--mc-card-radius);
    padding: var(--mc-card-pad);
  }
  a.mc__card:focus-visible {
    outline: 2px solid var(--mc-h-color);
    outline-offset: 4px;
    border-radius: 8px;
  }

  /* ---------- Image ---------- */
  .mc__figure {
    position: relative;
    width: 100%;
    max-width: var(--mc-img-max);
    margin: var(--mc-fig-margin);
  }
  .mc__media {
    position: relative;
    aspect-ratio: var(--mc-ratio);
    overflow: hidden;
    border: var(--mc-img-bw) solid var(--mc-img-bc);
    border-radius: var(--mc-img-radius);
    box-shadow: var(--mc-shadow);
    background: rgba(0, 0, 0, 0.06);
  }
  .mc__img,
  .mc__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
  }
  .mc__placeholder { padding: 18%; opacity: 0.35; }
  .mc--zoom .mc__card:hover .mc__img { transform: scale(1.06); }

  .mc__badge {
    position: absolute;
    z-index: 2;
    top: 10px;
    left: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--mc-badge-size);
    height: var(--mc-badge-size);
    border-radius: 50%;
    background: var(--mc-badge-bg);
    color: var(--mc-badge-color);
    font-size: calc(var(--mc-badge-size) * 0.45);
    font-weight: 600;
    line-height: 1;
  }
  /* On circles, sit the badge on the circle's edge (top-left, 45 degrees) */
  .mc--circle .mc__badge {
    top: 14.6%;
    left: 14.6%;
    transform: translate(-50%, -50%);
  }

  /* ---------- Caption ---------- */
  .mc__text { width: 100%; }
  .mc__caption {
    margin: 0;
    font-size: var(--mc-cap-size-m);
    line-height: 1.4;
    color: var(--mc-cap-color);
  }
  .mc__num { color: var(--mc-num-color); }
  .mc__desc {
    margin: 6px 0 0;
    font-size: var(--mc-desc-size-m);
    line-height: 1.5;
    color: var(--mc-desc-color);
  }

  /* ---------- Corner decorations ---------- */
  .mc__decor {
    position: absolute;
    z-index: 3;
    width: var(--d-w);
    opacity: var(--d-op);
    transform: var(--d-transform);
    line-height: 0;
    pointer-events: none;
  }
  .mc__decor--behind { z-index: 1; }
  .mc__decor--tl { top: var(--d-y); left: var(--d-x); transform-origin: top left; }
  .mc__decor--tr { top: var(--d-y); right: var(--d-x); transform-origin: top right; }
  .mc__decor--bl { bottom: var(--d-y); left: var(--d-x); transform-origin: bottom left; }
  .mc__decor--br { bottom: var(--d-y); right: var(--d-x); transform-origin: bottom right; }
  .mc__decor-inner { transform-origin: inherit; }
  .mc__decor-inner.is-swaying {
    animation: mc-sway var(--d-sway) ease-in-out infinite;
  }
  .mc__decor img,
  .mc__decor svg { display: block; width: 100%; height: auto; }
  .mc__art { color: var(--d-leaf); }
  .mc__berry { fill: var(--d-berry); }
  /* Built-in art is drawn for the top-left corner; mirror it for the others */
  .mc__decor--tr .mc__art { transform: scaleX(-1); }
  .mc__decor--bl .mc__art { transform: scaleY(-1); }
  .mc__decor--br .mc__art { transform: scale(-1, -1); }
  .mc__decor--desktop-only { display: none; }

  @keyframes mc-sway {
    0%, 100% { transform: rotate(-2.5deg); }
    50% { transform: rotate(2.5deg); }
  }


  /* ---------- Mobile: swipe layout ---------- */
  @media (max-width: 749px) {
    .mc--swipe .mc__list {
      flex-wrap: nowrap;
      justify-content: flex-start;
      max-width: none;
      margin-inline: calc(var(--mc-px-m) * -1);
      padding-inline: var(--mc-px-m);
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      scroll-padding-inline: var(--mc-px-m);
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
    }
    .mc--swipe .mc__list::-webkit-scrollbar { display: none; }
    .mc--swipe .mc__item {
      flex: 0 0 calc((100% - (var(--mc-swipe-n) - 1) * var(--mc-gx)) / var(--mc-swipe-n));
      scroll-snap-align: start;
    }
  }

  /* ---------- Tablet ---------- */
  @media (min-width: 750px) {
    .mc { padding: var(--mc-pt-d) 0 var(--mc-pb-d); }
    .mc__inner { padding: 0 var(--mc-px-d); }
    .mc__heading { font-size: var(--mc-h-size-d); }
    .mc__sub { font-size: var(--mc-sub-size-d); }
    .mc__list {
      --mc-cols: var(--mc-cols-t);
      --mc-gx: var(--mc-gx-d);
      gap: var(--mc-gy-d) var(--mc-gx-d);
    }
    .mc__caption { font-size: var(--mc-cap-size-d); }
    .mc__desc { font-size: var(--mc-desc-size-d); }
    .mc__decor--desktop-only { display: block; }
    .mc__decor--mobile-only { display: none; }
  }

  /* ---------- Desktop ---------- */
  @media (min-width: 990px) {
    .mc__list { --mc-cols: var(--mc-cols-d); }
  }

  @media (prefers-reduced-motion: reduce) {
    .mc__decor-inner { animation: none !important; }
    .mc__img { transition: none; }
  }
/* END_SECTION:multicolumn-images */