/** Shopify CDN: Minification failed

Line 2065:29 Expected identifier but found whitespace
Line 2065:31 Unexpected "{"
Line 2065:34 Expected ":"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:holt-benefits (INDEX:27) */
.holt-bn {
    position: relative;
    color: var(--holt-ink, #111);
    padding-top: var(--holt-pad, 72px);
    padding-bottom: var(--holt-pad, 72px);
    background: var(--holt-bg, #fff);
  }

  /* the aura sits on a pseudo-element so it can be masked at the edges and
     run into whatever section comes next without a visible join */
  .holt-bn[data-bg="aura"]::before,
  .holt-bn[data-bg="linear"]::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: var(--holt-aura, 1);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 var(--holt-fade-top, 0%), #000 calc(100% - var(--holt-fade-bottom, 0%)), transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 var(--holt-fade-top, 0%), #000 calc(100% - var(--holt-fade-bottom, 0%)), transparent 100%);
  }
  .holt-bn[data-bg="aura"]::before {
    background:
      radial-gradient(34% 40% at 8% 6%,   var(--holt-g1) 0%, var(--holt-g1) 16%, transparent 74%),
      radial-gradient(42% 48% at 92% 10%, var(--holt-g3) 0%, var(--holt-g3) 22%, transparent 74%),
      radial-gradient(46% 46% at 98% 64%, var(--holt-g2) 0%, var(--holt-g2) 22%, transparent 72%),
      radial-gradient(44% 50% at 58% 98%, var(--holt-g2) 0%, var(--holt-g2) 20%, transparent 74%),
      radial-gradient(38% 44% at 18% 84%, var(--holt-g3) 0%, var(--holt-g3) 22%, transparent 74%);
  }
  .holt-bn[data-bg="linear"]::before { background: var(--holt-grad); }

  .holt-bn__inner {
    position: relative;
    z-index: 1;
    max-width: var(--holt-max, 1400px);
    margin: 0 auto;
    padding: 0 2rem;
    box-sizing: border-box;
  }

  .holt-bn__head { text-align: center; margin-bottom: 4rem; }
  .holt-bn__heading {
    margin: 0;
    color: var(--holt-head-ink, #111);
    font-size: var(--holt-head-size, 46px);
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -0.02em;
    white-space: pre-line;
  }
  .holt-bn__sub {
    color: var(--holt-sub-ink, #333333);
    margin: 1.6rem auto 0;
    max-width: 52ch;
    font-size: var(--holt-sub-size, 15px);
  }

  .holt-bn__row {
    display: grid;
    grid-template-columns: var(--holt-media-w, 280px) 1fr;
    gap: var(--holt-row-gap, 40px);
    align-items: start;
    padding-bottom: 2rem;
  }

  .holt-bn__media {
    overflow: hidden;
    border-radius: var(--holt-radius, 0px);
    height: var(--holt-media-h, 150px);
    transition: height .35s ease;
  }
  .holt-bn__row.is-open .holt-bn__media { height: var(--holt-media-h-open, 300px); }
  .holt-bn__media img,
  .holt-bn__media-fallback { width: 100%; height: 100%; object-fit: cover; display: block; }

  .holt-bn__body { border-top: 1px solid var(--holt-line, #111); }

  .holt-bn__toggle {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    background: none;
    border: 0;
    padding: 1.6rem 0 0;
    cursor: pointer;
    text-align: left;
    color: inherit;
    font: inherit;
  }
  .holt-bn__titles { display: flex; flex-direction: column; gap: .6rem; min-width: 0; }
  .holt-bn__title {
    color: var(--holt-title-ink, #111111);
    font-size: var(--holt-title-size, 26px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.01em;
  }
  .holt-bn__note { color: var(--holt-note-ink, #444444); font-size: var(--holt-note-size, 15px); }

  .holt-bn__sign {
    flex: 0 0 auto;
    width: var(--holt-toggle-size, 22px);
    height: var(--holt-toggle-size, 22px);
    color: var(--holt-toggle-ink, #111);
  }
  .holt-bn__sign svg { width: 100%; height: 100%; display: block; }
  .holt-bn__sign-v { transition: transform .3s ease, opacity .2s ease; transform-origin: 50% 50%; }
  .holt-bn__row.is-open .holt-bn__sign svg { transform: rotate(45deg); transition: transform .3s ease; }

  /* 0fr -> 1fr gives a smooth open without measuring heights in JS */
  .holt-bn__panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .35s ease;
  }
  .holt-bn__row.is-open .holt-bn__panel { grid-template-rows: 1fr; }
  .holt-bn__panel-in { overflow: hidden; }

  .holt-bn__text {
    padding-top: 1.6rem;
    margin-top: 1.6rem;
    border-top: 1px solid var(--holt-line, #111);
    font-size: var(--holt-body-size, 15px);
    line-height: 1.6;
  }
  .holt-bn__text p { margin: 0 0 1rem; }
  .holt-bn__text p:last-child { margin-bottom: 0; }

  .holt-bn__stats { margin: 2rem 0 0; display: flex; flex-direction: column; gap: 1rem; }
  .holt-bn__stat { display: flex; align-items: baseline; gap: 1.6rem; margin: 0; }
  .holt-bn__stat dt {
    color: var(--holt-stat-ink, #111111);
    font-size: var(--holt-stat-size, 22px);
    font-weight: 700;
    min-width: 6rem;
  }
  .holt-bn__stat dd { margin: 0; color: var(--holt-stat-label-ink, #333333); font-size: var(--holt-body-size, 15px); }

  .holt-bn__footnote {
    margin: 3rem 0 0;
    color: var(--holt-foot-ink, #666666);
    font-size: var(--holt-note-size, 11px);
    line-height: 1.5;
  }

  @media screen and (max-width: 749px) {
    .holt-bn__heading { font-size: var(--holt-head-size-m, 28px); }
    .holt-bn__title { font-size: var(--holt-title-size-m, 20px); }
    .holt-bn__row {
      grid-template-columns: 1fr;
      gap: 1.4rem;
    }
    .holt-bn__media { height: var(--holt-media-h, 150px); }
  }

  @media (prefers-reduced-motion: reduce) {
    .holt-bn__media,
    .holt-bn__panel,
    .holt-bn__sign svg { transition: none; }
  }
/* END_SECTION:holt-benefits */

/* START_SECTION:holt-bento (INDEX:28) */
.holt-bento {
    position: relative;
    padding-top: var(--holt-pad-y, 72px);
    padding-bottom: var(--holt-pad-y, 72px);
    background: var(--holt-bg, #ffffff);
  }

  /* optional soft colour behind the grid */
  .holt-bento[data-bg="aura"]::before,
  .holt-bento[data-bg="linear"]::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: var(--holt-aura, .5);
  }
  .holt-bento[data-bg="linear"]::before { background: var(--holt-grad); }
  .holt-bento[data-bg="aura"]::before {
    background:
      radial-gradient(38% 44% at 6% 8%,   var(--holt-g1) 0%, transparent 72%),
      radial-gradient(42% 48% at 96% 14%, var(--holt-g3) 0%, transparent 72%),
      radial-gradient(40% 46% at 92% 92%, var(--holt-g2) 0%, transparent 74%);
  }

  .holt-bento__inner {
    position: relative;
    z-index: 1;
    max-width: var(--holt-max, 1360px);
    margin: 0 auto;
    padding: 0 2rem;
    box-sizing: border-box;
  }

  .holt-bento__head { margin-bottom: 3.2rem; max-width: 62ch; }
  /* auto margins do the centring, so the 62ch measure is kept either way */
  .holt-bento__head[data-align="center"] { text-align: center; margin-left: auto; margin-right: auto; }
  .holt-bento__head[data-align="right"]  { text-align: right;  margin-left: auto; }
  .holt-bento__head[data-align="center"] .holt-bento__sub,
  .holt-bento__head[data-align="right"]  .holt-bento__sub { margin-left: auto; margin-right: auto; }
  .holt-bento__title {
    margin: 0;
    color: var(--holt-title-ink, #111);
    font-size: var(--holt-title-size, 40px);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.02em;
    white-space: pre-line;
  }
  .holt-bento__sub {
    margin: 1.2rem 0 0;
    color: var(--holt-ink, #444);
    font-size: var(--holt-sub-size, 16px);
    line-height: 1.5;
  }

  /* ---------------- the grid ---------------- */
  .holt-bento__grid {
    display: grid;
    grid-template-columns: repeat(var(--holt-cols, 3), minmax(0, 1fr));
    /* minmax, not a fixed height — the row height is a floor, and any card
       whose text runs long grows instead of clipping */
    grid-auto-rows: minmax(var(--holt-row, 300px), auto);
    grid-auto-flow: row dense;
    gap: var(--holt-gap, 16px);
  }

  .holt-bento__card {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    background: var(--holt-card-bg, #f5f2ec);
    border-radius: var(--holt-card-radius, 16px);
    padding: var(--holt-card-pad, 32px);
    overflow: hidden;
    box-sizing: border-box;
    min-width: 0;
  }
  .holt-bento__card[data-span="tall"]  { grid-row: span 2; }
  .holt-bento__card[data-span="wide"]  { grid-column: span 2; }
  .holt-bento__card[data-span="big"]   { grid-row: span 2; grid-column: span 2; }

  /* ---- cursor spotlight ----
     A soft light that follows the pointer across the card. The overlay sits
     above the card background but below the content, so text stays crisp. */
  .holt-bento[data-glow="true"] .holt-bento__card { position: relative; isolation: isolate; }
  .holt-bento[data-glow="true"] .holt-bento__card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: 0;
    transition: opacity .35s ease;
    background: radial-gradient(
      var(--holt-glow-r, 320px) circle at var(--mx, 50%) var(--my, 50%),
      var(--holt-glow, #ffffff) 0%,
      transparent 70%
    );
  }
  /* violet leading, peach trailing — the lime is left out on purpose, it
     dominated the mix and fought the green chip */
  .holt-bento[data-glow="true"][data-glow-style="gradient"] .holt-bento__card::after {
    background:
      radial-gradient(var(--holt-glow-r, 320px) circle at var(--mx, 50%) var(--my, 50%),
        var(--holt-g3) 0%, transparent 64%),
      radial-gradient(calc(var(--holt-glow-r, 320px) * .85) circle at calc(var(--mx, 50%) + 70px) calc(var(--my, 50%) + 50px),
        var(--holt-g2) 0%, transparent 68%);
  }
  .holt-bento[data-glow="true"] .holt-bento__card:hover::after { opacity: var(--holt-glow-a, .55); }

  @media (prefers-reduced-motion: reduce) {
    .holt-bento__card::after { transition: none; }
  }
  @media (hover: none) {
    .holt-bento__card::after { display: none; }
  }

  /* text block never shrinks; media takes the slack */
  .holt-bento__text { flex: 0 0 auto; }
  .holt-bento__heading {
    margin: 0;
    color: var(--holt-head-ink, #111);
    font-size: var(--holt-head-size, 30px);
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -0.01em;
  }
  .holt-bento__body {
    margin: .8rem 0 0;
    color: var(--holt-ink, #555);
    font-size: var(--holt-body-size, 16px);
    line-height: 1.45;
  }

  /* accent word — the Huel serif-italic trick */
  .holt-bento__accent { font-style: normal; }
  .holt-bento[data-accent="serif-italic"] .holt-bento__accent {
    font-family: Georgia, "Times New Roman", Times, serif;
    font-style: italic;
    font-weight: 400;
    letter-spacing: 0;
  }
  .holt-bento[data-accent="italic"] .holt-bento__accent { font-style: italic; font-weight: 400; }
  .holt-bento[data-accent="light"]  .holt-bento__accent { font-weight: 300; }
  .holt-bento[data-accent="gradient"] .holt-bento__accent {
    background: var(--holt-grad);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }

  /* ---------------- media ---------------- */
  .holt-bento__media {
    flex: 1 1 auto;
    min-height: 0;
    height: var(--holt-media-h, 100%);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .holt-bento__media img {
    width: 100%;
    height: 100%;
    object-position: center;
    display: block;
  }

  /* ---------------- stat chips ---------------- */
  .holt-bento__chips {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    flex-wrap: wrap;
    min-height: 0;
  }
  .holt-bento__chips:empty,
  .holt-bento__avatars:empty { display: none; }
  .holt-bento__chip {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .2rem;
    padding: 1.2rem 1.4rem;
    min-width: 7.2rem;
    border: 1px solid var(--holt-chip-line, #d9d4c9);
    border-radius: 10px;
    color: var(--holt-chip-ink, #111);
    text-align: center;
    line-height: 1.1;
  }
  .holt-bento__chip b     { font-size: 1.9rem; font-weight: 700; }
  .holt-bento__chip small { font-size: 1.3rem; opacity: .75; }
  .holt-bento__chip.is-on {
    background: var(--holt-chip-on-bg, #111);
    color: var(--holt-chip-on-ink, #fff);
    border-color: transparent;
  }
  .holt-bento__chip.is-on small { opacity: .85; }

  /* ---------------- circular cluster ----------------
     Scattered round images, Huel's "Real ingredients" tile. Positions are
     preset per photo so it looks arranged rather than randomly stacked. */
  .holt-bento__circles {
    position: relative;
    flex: 1 1 auto;
    min-height: 12rem;
    width: 100%;
  }
  /* an empty cluster shouldn't reserve space */
  .holt-bento__circles:empty { display: none; }
  .holt-bento__circle {
    position: absolute;
    border-radius: 50%;
    overflow: hidden;
    background: #ececec;
    aspect-ratio: 1;
  }
  .holt-bento__circle img { width: 100%; height: 100%; object-fit: cover; display: block; }

  /* cluster — the default, organic and overlapping */
  .holt-bento__circles[data-arrange="cluster"] .holt-bento__circle:nth-child(1) { width: 34%; left: 4%;  top: 20%; }
  .holt-bento__circles[data-arrange="cluster"] .holt-bento__circle:nth-child(2) { width: 44%; left: 28%; top: 2%;  }
  .holt-bento__circles[data-arrange="cluster"] .holt-bento__circle:nth-child(3) { width: 28%; left: 66%; top: 26%; }
  .holt-bento__circles[data-arrange="cluster"] .holt-bento__circle:nth-child(4) { width: 36%; left: 18%; top: 50%; }
  .holt-bento__circles[data-arrange="cluster"] .holt-bento__circle:nth-child(5) { width: 24%; left: 52%; top: 62%; }
  .holt-bento__circles[data-arrange="cluster"] .holt-bento__circle:nth-child(6) { width: 20%; left: 78%; top: 4%;  }

  /* arc — a gentle curve across the tile */
  .holt-bento__circles[data-arrange="arc"] .holt-bento__circle { width: 26%; }
  .holt-bento__circles[data-arrange="arc"] .holt-bento__circle:nth-child(1) { left: 0%;  top: 34%; }
  .holt-bento__circles[data-arrange="arc"] .holt-bento__circle:nth-child(2) { left: 17%; top: 12%; }
  .holt-bento__circles[data-arrange="arc"] .holt-bento__circle:nth-child(3) { left: 36%; top: 2%;  }
  .holt-bento__circles[data-arrange="arc"] .holt-bento__circle:nth-child(4) { left: 55%; top: 12%; }
  .holt-bento__circles[data-arrange="arc"] .holt-bento__circle:nth-child(5) { left: 72%; top: 34%; }
  .holt-bento__circles[data-arrange="arc"] .holt-bento__circle:nth-child(6) { left: 86%; top: 58%; width: 20%; }

  /* row — evenly spaced, slight overlap */
  .holt-bento__circles[data-arrange="row"] {
    display: flex;
    align-items: center;
    padding-left: 1.4rem;
  }
  .holt-bento__circles[data-arrange="row"] .holt-bento__circle {
    position: relative;
    left: auto; top: auto;
    width: 22%;
    margin-left: -1.4rem;
    flex: 0 0 auto;
  }

  /* ---------------- avatar stack ---------------- */
  .holt-bento__avatars {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    min-height: 0;
    padding-left: 1.2rem;
  }
  .holt-bento__av {
    width: 6.4rem;
    height: 6.4rem;
    margin-left: -1.2rem;
    border-radius: 50%;
    overflow: hidden;
    background: #e8e4db;
    box-shadow: 0 0 0 3px var(--holt-card-bg, #f5f2ec);
    flex: 0 0 auto;
  }
  .holt-bento__av img { width: 100%; height: 100%; object-fit: cover; display: block; }
  /* same treatment as the highlighted chip, so the two stay in step */
  .holt-bento__av--more {
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--holt-chip-on-bg, #e7fe88);
    color: var(--holt-chip-on-ink, #111111);
    font-size: 1.4rem;
    font-weight: 700;
  }

  /* ---------------- responsive ---------------- */
  @media screen and (max-width: 1100px) {
    .holt-bento__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .holt-bento__card[data-span="big"] { grid-column: span 2; }
  }
  @media screen and (max-width: 749px) {
    .holt-bento__grid {
      grid-template-columns: 1fr;
      grid-auto-rows: auto;
    }
    .holt-bento__card {
      grid-row: auto !important;
      grid-column: auto !important;
      padding: 2.4rem;
    }
    .holt-bento__media { height: auto; aspect-ratio: 4 / 3; }
    .holt-bento__title   { font-size: calc(var(--holt-title-size, 40px) * .74); }
    .holt-bento__heading { font-size: calc(var(--holt-head-size, 30px) * .82); }
  }
/* END_SECTION:holt-bento */

/* START_SECTION:holt-bundle-builder (INDEX:29) */
.holt-bb {
    background: var(--holt-bg, #fff);
    color: var(--holt-ink, #111);
    padding-top: var(--holt-pad, 48px);
    padding-bottom: var(--holt-pad, 48px);
  }
  .holt-bb__inner {
    max-width: var(--holt-max, 1200px);
    margin: 0 auto;
    padding: 0 2rem;
    box-sizing: border-box;
  }
  .holt-bb__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 4rem;
    align-items: start;
  }
  @media screen and (max-width: 989px) {
    .holt-bb__grid { grid-template-columns: 1fr; gap: 2.4rem; }
  }

  /* gallery */
  .holt-bb__gallery { width: 100%; max-width: var(--holt-gallery, 520px); margin: 0 auto; }
  .holt-bb__main { aspect-ratio: 1/1; overflow: hidden; border-radius: var(--holt-radius, 4px); background: #f4f4f4; }
  .holt-bb__main img, .holt-bb__placeholder { width: 100%; height: 100%; object-fit: cover; display: block; }
  .holt-bb__thumbs { display: flex; gap: .8rem; margin-top: .8rem; }
  .holt-bb__thumb {
    flex: 1; aspect-ratio: 1/1; padding: 0; cursor: pointer; overflow: hidden;
    background: #f4f4f4; border: 2px solid transparent; border-radius: var(--holt-radius, 4px);
  }
  .holt-bb__thumb.is-active { border-color: var(--holt-ink, #111); }
  .holt-bb__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

  /* panel */
  .holt-bb__panel { background: var(--holt-panel, transparent); padding: 0; }
  .holt-bb__promo {
    display: inline-block; margin-bottom: 1.4rem;
    background: var(--holt-promo-bg); color: var(--holt-promo-ink, #111);
    font-size: 1.15rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
    padding: .7rem 1.4rem;
  }
  .holt-bb__rating { display: flex; align-items: center; gap: .8rem; font-size: 1.3rem; }
  .holt-bb__stars { letter-spacing: .1em; }
  .holt-bb__title {
    margin: .6rem 0 1rem; font-size: var(--holt-title-size, 36px);
    font-weight: 800; line-height: 1.05; letter-spacing: .02em; text-transform: uppercase;
  }
  .holt-bb__price { display: flex; align-items: baseline; gap: .8rem; flex-wrap: wrap; }
  .holt-bb__price-now { font-size: var(--holt-price-size, 26px); font-weight: 800; }
  .holt-bb__price-note { font-size: 1.2rem; opacity: .7; }
  .holt-bb__price-was { font-size: 1.6rem; opacity: .45; }
  .holt-bb__save {
    background: var(--holt-savebadge-bg); color: var(--holt-savebadge-ink, #111);
    font-size: 1.1rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase;
    padding: .4rem 1rem;
  }
  .holt-bb__desc { margin-top: 1.4rem; font-size: var(--holt-body-size, 15px); line-height: 1.55; }
  .holt-bb__desc p { margin: 0 0 .8rem; }

  .holt-bb__label {
    margin: 2.4rem 0 1rem; font-size: var(--holt-label-size, 13px);
    font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
  }

  /* pack selector */
  .holt-bb__packs {
    position: relative;
    display: grid; grid-auto-flow: column; grid-auto-columns: 1fr;
    border: 1px solid var(--holt-line, rgba(0,0,0,.16));
    border-radius: var(--holt-radius, 4px);
  }
  /* the rail the dots sit on, like Humantra */
  .holt-bb__packs::before {
    content: "";
    position: absolute;
    top: var(--holt-rail-top, 62px);
    left: 12%;
    right: 12%;
    height: 3px;
    background: var(--holt-line, rgba(0,0,0,.16));
    border-radius: 3px;
    pointer-events: none;
  }
  /* filled portion up to the active tier */
  .holt-bb__packs::after {
    content: "";
    position: absolute;
    top: var(--holt-rail-top, 62px);
    left: 12%;
    width: var(--holt-rail-fill, 0%);
    max-width: 76%;
    height: 3px;
    background: var(--holt-ink, #111);
    border-radius: 3px;
    pointer-events: none;
    transition: width .25s ease;
  }
  .holt-bb__pack {
    position: relative; background: none; border: 0; cursor: pointer;
    padding: 3rem 1rem 1.6rem; font-family: inherit; color: inherit; text-align: center;
    display: flex; flex-direction: column; align-items: center; gap: .8rem;
  }
  .holt-bb__pack { position: relative; z-index: 1; }
  .holt-bb__pack-tag {
    position: absolute; top: 0; left: 50%; transform: translateX(-50%);
    background: var(--holt-packtag-bg); color: var(--holt-packtag-ink, #111);
    font-size: 1rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
    padding: .35rem .9rem; white-space: nowrap;
  }
  .holt-bb__pack-name { font-size: 1.4rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
  .holt-bb__pack-dot {
    width: 18px; height: 18px; border-radius: 50%;
    border: 3px solid var(--holt-line, rgba(0,0,0,.3));
    background: #fff;
    transition: border-color .2s ease, background-color .2s ease;
  }
  .holt-bb__pack.is-active .holt-bb__pack-dot { border-color: var(--holt-ink, #111); background: var(--holt-ink, #111); }
  .holt-bb__pack-unit { font-size: 1.2rem; opacity: .75; }

  .holt-bb__saving {
    display: flex; align-items: center; justify-content: center; gap: 1rem;
    margin-top: 1rem; padding: 1rem;
    background: var(--holt-savingbar-bg); color: var(--holt-savingbar-ink, #111);
    font-size: 1.2rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
  }

  .holt-bb__counter { margin: 2rem 0 1rem; font-size: 1.3rem; font-weight: 700; }

  /* flavour list */
  .holt-bb__list {
    display: flex; flex-direction: column; gap: 1rem;
    max-height: var(--holt-list-height, 340px);
    overflow-y: auto;
    padding-right: .6rem;
    scrollbar-width: thin;
  }
  .holt-bb__list::-webkit-scrollbar { width: 6px; }
  .holt-bb__list::-webkit-scrollbar-thumb {
    background: var(--holt-line, rgba(0,0,0,.2)); border-radius: 3px;
  }
  .holt-bb__item {
    display: flex; align-items: center; gap: 1.4rem;
    padding: 1rem 1.4rem;
    border: 1px solid var(--holt-line, rgba(0,0,0,.16));
    border-radius: var(--holt-radius, 4px);
  }
  .holt-bb__item.is-selected { border-color: var(--holt-ink, #111); border-width: 2px; padding: calc(1rem - 1px) calc(1.4rem - 1px); }
  .holt-bb__item.is-sold-out { opacity: .5; }
  .holt-bb__thumb-img {
    flex: none; width: var(--holt-thumb, 56px); height: var(--holt-thumb, 56px);
    overflow: hidden; border-radius: var(--holt-radius, 4px); background: #f0f0f0;
  }
  .holt-bb__thumb-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .holt-bb__swatch { display: block; width: 100%; height: 100%; }
  .holt-bb__item-body { flex: 1; display: flex; flex-direction: column; gap: .3rem; }
  .holt-bb__item-name { font-size: var(--holt-name-size, 15px); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
  .holt-bb__item-note { font-size: 1.2rem; opacity: .7; }
  .holt-bb__soldout {
    align-self: flex-start;
    background: var(--holt-soldout-bg); color: var(--holt-soldout-ink, #111);
    font-size: 1rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase;
    padding: .2rem .6rem;
  }
  .holt-bb__add {
    flex: none; padding: 1rem 1.8rem; cursor: pointer; border: 0;
    background: var(--holt-add-bg); color: var(--holt-add-ink, #111);
    border-radius: var(--holt-radius, 4px);
    font-family: inherit; font-size: 1.2rem; font-weight: 800;
    letter-spacing: .06em; text-transform: uppercase;
  }
  .holt-bb__add.is-disabled { opacity: .45; cursor: not-allowed; }
  .holt-bb__qty {
    flex: none; display: flex; align-items: center; gap: .6rem;
    border: 1px solid var(--holt-line, rgba(0,0,0,.3));
    border-radius: var(--holt-radius, 4px);
  }
  .holt-bb__qty button {
    width: 3.4rem; height: 3.8rem; background: none; border: 0;
    cursor: pointer; font-size: 1.7rem; color: inherit; font-family: inherit;
  }
  .holt-bb__qty [data-bb-count] { min-width: 2rem; text-align: center; font-size: 1.4rem; font-weight: 700; }


  /* offer */
  .holt-bb__offer {
    position: relative; margin-top: 2.4rem; padding: 1.8rem 1.6rem 1.6rem;
    border: 2px solid var(--holt-ink, #111);
    border-radius: var(--holt-radius, 4px);
  }
  .holt-bb__offer-tag {
    position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%);
    background: var(--holt-offertag-bg); color: var(--holt-offertag-ink, #111);
    font-size: 1.1rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
    padding: .4rem 1.2rem; white-space: nowrap;
  }
  .holt-bb__offer-head { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
  .holt-bb__offer-head input { width: 18px; height: 18px; accent-color: #111; flex: none; }
  .holt-bb__offer-title { font-size: 1.5rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
  .holt-bb__offer-price { margin-left: auto; display: flex; align-items: baseline; gap: .8rem; font-size: 1.7rem; }
  .holt-bb__offer-price s { opacity: .45; font-size: 1.4rem; }
  .holt-bb__perks { display: flex; flex-direction: column; gap: .7rem; margin-top: 1.2rem; }
  .holt-bb__perk { display: flex; align-items: center; gap: .8rem; font-size: 1.35rem; }

  .holt-bb__guarantee {
    display: flex; align-items: center; justify-content: center; gap: .8rem;
    margin-top: 1.6rem; font-size: 1.25rem; font-weight: 800;
    letter-spacing: .06em; text-transform: uppercase;
  }

  .holt-bb__cta {
    display: flex; align-items: center; justify-content: center; gap: 1.2rem;
    width: 100%; margin-top: 1.6rem; padding: 1.6rem;
    background: var(--holt-btn-bg); color: var(--holt-btn-ink, #111);
    border: 0; cursor: pointer; border-radius: var(--holt-radius, 4px);
    font-family: inherit; font-size: 1.4rem; font-weight: 800;
    letter-spacing: .1em; text-transform: uppercase;
    transition: filter .15s ease;
  }
  .holt-bb__cta:hover { filter: brightness(1.05); }
  .holt-bb__cta[disabled] { opacity: .5; cursor: not-allowed; }
  .holt-bb__msg { margin-top: 1rem; font-size: 1.3rem; text-align: center; }
  .holt-bb__msg.is-error { color: #c62828; }
  .holt-bb__onetime {
    display: block; width: 100%; margin-top: 1.2rem; padding: .6rem;
    background: none; border: 0; cursor: pointer; color: inherit;
    font-family: inherit; font-size: 1.3rem; text-decoration: underline;
  }
/* END_SECTION:holt-bundle-builder */

/* START_SECTION:holt-claims (INDEX:30) */
.holt-cs {
    position: relative;
    background: var(--holt-bg, #fff);
    color: var(--holt-ink, #111);
    padding-top: var(--holt-pad, 28px);
    padding-bottom: var(--holt-pad, 28px);
  }
  .holt-cs[data-bg="aura"]::before,
  .holt-cs[data-bg="linear"]::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: var(--holt-aura, 1);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 var(--holt-fade-top, 0%), #000 calc(100% - var(--holt-fade-bottom, 0%)), transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 var(--holt-fade-top, 0%), #000 calc(100% - var(--holt-fade-bottom, 0%)), transparent 100%);
  }
  .holt-cs[data-bg="linear"]::before { background: var(--holt-grad); }
  .holt-cs[data-bg="aura"]::before {
    background:
      radial-gradient(34% 40% at 8% 6%,   var(--holt-g1) 0%, var(--holt-g1) 16%, transparent 74%),
      radial-gradient(42% 48% at 92% 10%, var(--holt-g3) 0%, var(--holt-g3) 22%, transparent 74%),
      radial-gradient(46% 46% at 98% 64%, var(--holt-g2) 0%, var(--holt-g2) 22%, transparent 72%),
      radial-gradient(44% 50% at 58% 98%, var(--holt-g2) 0%, var(--holt-g2) 20%, transparent 74%),
      radial-gradient(38% 44% at 18% 84%, var(--holt-g3) 0%, var(--holt-g3) 22%, transparent 74%);
  }
  .holt-cs[data-border-top="true"] { border-top: 1px solid var(--holt-line, #e6e6e6); }
  .holt-cs[data-border-bottom="true"] { border-bottom: 1px solid var(--holt-line, #e6e6e6); }

  .holt-cs__inner {
    position: relative;
    z-index: 1;
    max-width: var(--holt-max, 1400px);
    margin: 0 auto;
    padding: 0 2rem;
    box-sizing: border-box;
  }
  .holt-cs__heading {
    margin: 0 0 2rem;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  .holt-cs__row {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: var(--holt-gap, 64px);
    flex-wrap: wrap;
  }
  .holt-cs__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    text-align: center;
    min-width: 0;
  }

  .holt-cs__icon {
    display: block;
    width: var(--holt-icon, 34px);
    height: var(--holt-icon, 34px);
    color: var(--holt-icon-ink, #111);
  }
  .holt-cs__icon svg,
  .holt-cs__icon img { width: 100%; height: 100%; display: block; object-fit: contain; }

  .holt-cs__label {
    font-size: var(--holt-label, 13px);
    letter-spacing: var(--holt-label-spacing, .02em);
    line-height: 1.3;
  }

  @media screen and (max-width: 749px) {
    .holt-cs__icon { width: var(--holt-m-icon, 28px); height: var(--holt-m-icon, 28px); }
    .holt-cs__label { font-size: var(--holt-m-label, 11px); }

    .holt-cs[data-mobile="grid"] .holt-cs__row {
      display: grid;
      grid-template-columns: repeat(var(--holt-m-cols, 3), minmax(0, 1fr));
      gap: 2.4rem 1rem;
    }
    .holt-cs[data-mobile="scroll"] .holt-cs__row {
      flex-wrap: nowrap;
      overflow-x: auto;
      justify-content: flex-start;
      gap: 3.2rem;
      scroll-snap-type: x proximity;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
      padding-bottom: .5rem;
    }
    .holt-cs[data-mobile="scroll"] .holt-cs__row::-webkit-scrollbar { display: none; }
    .holt-cs[data-mobile="scroll"] .holt-cs__item { scroll-snap-align: center; flex: 0 0 auto; }
  }
/* END_SECTION:holt-claims */

/* START_SECTION:holt-closer-look (INDEX:31) */
.holt-cl {
    background: var(--holt-bg, #fff);
    color: var(--holt-ink, #111);
    padding-top: var(--holt-pad, 64px);
    padding-bottom: var(--holt-pad, 64px);
  }
  /* background sits on a pseudo-element so the edges can be faded, letting
     the colour run into the section above without a visible join */
  .holt-cl { position: relative; }
  .holt-cl[data-bg="aura"]::before,
  .holt-cl[data-bg="linear"]::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: var(--holt-aura, 1);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 var(--holt-fade-top, 0%), #000 calc(100% - var(--holt-fade-bottom, 0%)), transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 var(--holt-fade-top, 0%), #000 calc(100% - var(--holt-fade-bottom, 0%)), transparent 100%);
  }
  .holt-cl[data-bg="linear"]::before { background: var(--holt-grad); }
  .holt-cl[data-bg="aura"]::before {
    background:
      radial-gradient(34% 40% at 8% 6%,   var(--holt-g1) 0%, var(--holt-g1) 16%, transparent 74%),
      radial-gradient(42% 48% at 92% 10%, var(--holt-g3) 0%, var(--holt-g3) 22%, transparent 74%),
      radial-gradient(46% 46% at 98% 64%, var(--holt-g2) 0%, var(--holt-g2) 22%, transparent 72%),
      radial-gradient(44% 50% at 58% 98%, var(--holt-g2) 0%, var(--holt-g2) 20%, transparent 74%),
      radial-gradient(38% 44% at 18% 84%, var(--holt-g3) 0%, var(--holt-g3) 22%, transparent 74%);
  }
  .holt-cl__inner {
    position: relative;
    z-index: 1;
    max-width: var(--holt-max, 1500px);
    margin: 0 auto;
    padding: 0 2rem;
    box-sizing: border-box;
  }

  .holt-cl__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2.8rem;
  }
  .holt-cl__heading {
    margin: 0;
    color: var(--holt-head-ink, #111);
    font-size: var(--holt-head-size, 40px);
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -0.02em;
  }
  .holt-cl__sub {
    margin: .8rem 0 0;
    color: var(--holt-sub-ink, #333333);
    font-size: var(--holt-body-size, 15px);
    max-width: 60ch;
  }

  .holt-cl__arrows { display: flex; gap: .8rem; flex: 0 0 auto; }
  .holt-cl__arrow {
    width: var(--holt-arrow-size, 44px);
    height: var(--holt-arrow-size, 44px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    cursor: pointer;
    background: var(--holt-arrow-bg, #f2f2f2);
    color: var(--holt-arrow-ink, #111);
    border-radius: var(--holt-radius, 4px);
    transition: filter .2s ease, opacity .2s ease;
  }
  .holt-cl__arrow:hover { filter: brightness(1.08); }
  .holt-cl__arrow[disabled] { opacity: .35; cursor: default; }

  .holt-cl__rail {
    display: flex;
    gap: var(--holt-gap, 20px);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: .5rem;
  }
  .holt-cl__rail::-webkit-scrollbar { display: none; }

  .holt-cl__card {
    flex: 0 0 var(--holt-card-w, 300px);
    width: var(--holt-card-w, 300px);
    scroll-snap-align: start;
  }

  .holt-cl__media {
    position: relative;
    aspect-ratio: var(--holt-shape, 1);
    overflow: hidden;
    border-radius: var(--holt-radius, 4px);
    background: var(--holt-card-bg, #ddd);
  }
  .holt-cl__media img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
  }
  .holt-cl__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,var(--holt-scrim, .28)) 0%, rgba(0,0,0,0) 55%);
    pointer-events: none;
  }
  .holt-cl__label {
    position: absolute;
    top: 1.4rem; left: 1.6rem;
    z-index: 1;
    color: var(--holt-label-ink, #fff);
    font-size: var(--holt-label-size, 13px);
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
  }
  .holt-cl__amount {
    position: absolute;
    bottom: 1.4rem; left: 1.6rem;
    z-index: 1;
    color: var(--holt-label-ink, #fff);
    font-size: var(--holt-label-size, 13px);
    letter-spacing: .06em;
    color: var(--holt-amount-ink, #ffffff);
  }

  .holt-cl__text {
    margin-top: 1.4rem;
    font-size: var(--holt-body-size, 15px);
    line-height: 1.55;
  }
  .holt-cl__text p { margin: 0 0 .8rem; }
  .holt-cl__text p:last-child { margin-bottom: 0; }

  .holt-cl__note {
    margin: 2.4rem 0 0;
    color: var(--holt-note-ink, #666666);
    font-size: var(--holt-note-size, 11px);
    line-height: 1.5;
  }

  @media screen and (max-width: 749px) {
    .holt-cl__heading { font-size: var(--holt-head-size-m, 26px); }
    .holt-cl__card {
      flex-basis: var(--holt-card-w-m, 72vw);
      width: var(--holt-card-w-m, 72vw);
    }
    .holt-cl__head { align-items: flex-start; }
  }

  @media (prefers-reduced-motion: reduce) {
    .holt-cl__rail { scroll-behavior: auto; }
  }
/* END_SECTION:holt-closer-look */

/* START_SECTION:holt-community (INDEX:34) */
.holt-comm {
    position: relative;
    overflow: hidden;
    background: var(--holt-bg, #fff);
    color: var(--holt-ink, #111);
    padding-top: var(--holt-pad, 64px);
    padding-bottom: var(--holt-pad, 64px);
  }

  /* soft gradient wash behind the heading */
  .holt-comm__wash {
    position: absolute;
    inset: -18% -12%;
    z-index: 0;
    pointer-events: none;
    opacity: var(--holt-wash-op, 0.65);
    background:
      radial-gradient(34% 40% at 8% 6%,   var(--holt-g1) 0%, var(--holt-g1) 16%, transparent 74%),
      radial-gradient(42% 48% at 92% 10%, var(--holt-g3) 0%, var(--holt-g3) 22%, transparent 74%),
      radial-gradient(46% 46% at 98% 64%, var(--holt-g2) 0%, var(--holt-g2) 22%, transparent 72%),
      radial-gradient(44% 50% at 58% 98%, var(--holt-g2) 0%, var(--holt-g2) 20%, transparent 74%),
      radial-gradient(38% 44% at 18% 84%, var(--holt-g3) 0%, var(--holt-g3) 22%, transparent 74%);
    filter: blur(var(--holt-wash-blur, 70px)) saturate(var(--holt-wash-sat, 1.6));
  }

  .holt-comm__top {
    position: relative;
    z-index: 1;
    text-align: var(--holt-head-align, center);
    padding: 0 2rem 3.2rem;
  }
  .holt-comm__heading {
    margin: 0 auto;
    max-width: var(--holt-heading-max, 900px);
    font-size: var(--holt-heading-size, 40px);
    line-height: var(--holt-heading-lh, 1.15);
    font-weight: 800;
    letter-spacing: -0.02em;
  }
  .holt-comm__sub {
    margin: 1.4rem auto 0;
    max-width: 60ch;
    font-size: 1.5rem;
    line-height: 1.55;
    opacity: .85;
  }
  .holt-comm__sub p { margin: 0; }

  /* full-bleed row of tiles */
  .holt-comm__row {
    position: relative;
    z-index: 1;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 0 var(--holt-gap, 10px);
    scroll-snap-type: x mandatory;
  }
  .holt-comm__row::-webkit-scrollbar { display: none; }

  .holt-comm__track {
    display: flex;
    gap: var(--holt-gap, 10px);
    width: max-content;
  }
  .holt-comm__dupe { display: contents; }

  /* auto-scrolling marquee */
  .holt-comm__row--marquee {
    overflow: hidden;
    scroll-snap-type: none;
  }
  .holt-comm__row--marquee .holt-comm__track {
    animation: holt-comm-scroll var(--holt-speed, 40s) linear infinite;
    animation-direction: var(--holt-direction, normal);
    will-change: transform;
  }
  @keyframes holt-comm-scroll {
    from { transform: translate3d(0, 0, 0); }
    to   { transform: translate3d(calc(-50% - (var(--holt-gap, 10px) / 2)), 0, 0); }
  }
  @media (prefers-reduced-motion: reduce) {
    .holt-comm__row--marquee .holt-comm__track { animation: none; }
    .holt-comm__row--marquee { overflow-x: auto; }
  }

  .holt-comm__tile {
    position: relative;
    flex: 0 0 var(--holt-tile, 260px);
    aspect-ratio: 100 / var(--holt-shape, 130);
    border-radius: var(--holt-radius, 0px);
    overflow: hidden;
    background: #eee;
    scroll-snap-align: start;
    display: block;
    text-decoration: none;
  }
  .holt-comm__media,
  .holt-comm__placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .holt-comm__embed { position: relative; width: 100%; height: 100%; overflow: hidden; }
  .holt-comm__embed iframe {
    position: absolute;
    top: 50%; left: 50%;
    width: 178%; height: 178%;
    transform: translate(-50%, -50%);
    border: 0;
    pointer-events: none;
  }

  /* caption over a tile */
  .holt-comm__caption {
    position: absolute;
    left: 0; right: 0;
    display: flex;
    flex-direction: column;
    gap: .3rem;
    padding: 1.4rem;
    color: var(--holt-cap-ink, #fff);
    text-align: var(--holt-cap-align, left);
    pointer-events: none;
  }
  .holt-comm__caption--bottom {
    bottom: 0;
    background: linear-gradient(to top, rgba(0,0,0,var(--holt-cap-scrim, .5)), rgba(0,0,0,0));
  }
  .holt-comm__caption--top {
    top: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,var(--holt-cap-scrim, .5)), rgba(0,0,0,0));
  }
  .holt-comm__caption--centre {
    top: 50%;
    transform: translateY(-50%);
    background: none;
  }
  .holt-comm__caption-main {
    font-size: var(--holt-cap-size, 15px);
    font-weight: 800;
    line-height: 1.2;
  }
  .holt-comm__caption-sub {
    font-size: var(--holt-cap-sub-size, 12px);
    line-height: 1.3;
    opacity: .9;
  }

  .holt-comm__cta { position: relative; z-index: 1; text-align: center; margin-top: 3.2rem; }
  .holt-comm__cta a {
    display: inline-block;
    padding: 1.3rem 3.2rem;
    background: #111; color: #fff;
    text-decoration: none;
    font-size: 1.3rem; font-weight: 800;
    letter-spacing: .1em; text-transform: uppercase;
    border-radius: var(--holt-radius, 0px);
  }

  /* ================= MOBILE — ARMRA layout ================= */
  @media screen and (max-width: 749px) {
    /* vw, not %, so it resolves against the viewport not the max-content track */
    .holt-comm__tile {
      flex: 0 0 calc(var(--holt-mobile-tile, 62) * 1vw);
    }
    .holt-comm__track { gap: var(--holt-m-gap, 8px); }
    .holt-comm__row { padding: 0 var(--holt-m-gap, 8px); }

    /* heading: left-aligned and tighter, like ARMRA on mobile */
    .holt-comm__top {
      text-align: var(--holt-m-head-align, left);
      padding: 0 1.6rem 2rem;
    }
    .holt-comm__heading {
      font-size: var(--holt-m-heading-size, 28px);
      margin-left: 0;
      margin-right: 0;
      max-width: 100%;
    }
    .holt-comm__sub { margin-left: 0; font-size: 1.4rem; }

    @keyframes holt-comm-scroll {
      from { transform: translate3d(0, 0, 0); }
      to   { transform: translate3d(calc(-50% - (var(--holt-m-gap, 8px) / 2)), 0, 0); }
    }
  }
/* END_SECTION:holt-community */

/* START_SECTION:holt-flavours (INDEX:38) */
.holt-flav {
    background: var(--holt-bg, #ffffff);
    color: var(--holt-ink, #111);
    padding-top: var(--holt-pad, 20px);
    padding-bottom: var(--holt-pad, 20px);
  }
  .holt-flav__heading {
    margin: 0 0 2.4rem;
    text-align: center;
    font-size: clamp(2rem, 2.6vw, 3.2rem);
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
  }
  .holt-flav__grid {
    display: grid;
    grid-template-columns: repeat(var(--cols, 4), minmax(0, var(--holt-card-max, 300px)));
    justify-content: center;
    gap: 1.4rem;
  }
  @media screen and (max-width: 860px) {
    .holt-flav__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }

  /* mobile: swipe sideways instead of stacking, like Humantra */
  @media screen and (max-width: 749px) {
    .holt-flav[data-mobile-scroll="true"] .holt-flav__grid {
      display: flex;
      grid-template-columns: none;
      justify-content: flex-start;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
      gap: 1.2rem;
      /* bleed to the screen edge so the next card peeks in */
      margin-left: calc(var(--holt-edge, 16px) * -1);
      margin-right: calc(var(--holt-edge, 16px) * -1);
      padding: 0 var(--holt-edge, 16px) .8rem;
    }
    .holt-flav[data-mobile-scroll="true"] .holt-flav__grid::-webkit-scrollbar { display: none; }
    .holt-flav[data-mobile-scroll="true"] .holt-flav__card {
      flex: 0 0 var(--holt-mobile-card, 74%);
      scroll-snap-align: start;
    }
  }
  @media screen and (max-width: 560px) {
    .holt-flav:not([data-mobile-scroll="true"]) .holt-flav__grid { grid-template-columns: 1fr; }
  }

  .holt-flav__card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--holt-card-bg, #f4f4f4);
    border-radius: var(--holt-radius, 12px);
    overflow: hidden;
  }
  /* full-card click target, sits under the button so the button still works */
  .holt-flav__cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    font-size: 0;
    line-height: 0;
    text-indent: -9999px;
    overflow: hidden;
  }
  /* the button must stay above the overlay so it keeps its own link */
  .holt-flav__btn { position: relative; z-index: 4; }
  .holt-flav__card { cursor: pointer; }
  .holt-flav__media {
    position: relative;
    background: #fff;
    aspect-ratio: 1 / 1;
    margin: 1rem 1rem 0;
    padding: var(--holt-img-pad, 0px);
    border-radius: calc(var(--holt-radius, 12px) - 4px);
    overflow: hidden;
  }
  /* Fill mode crops to the square and centres — no letterboxing, no padding.
     Contain keeps the whole image visible and needs the inset back, which is
     what a pack shot on a white background wants. */
  .holt-flav__media img,
  .holt-flav__placeholder {
    width: 100%;
    height: 100%;
    object-fit: var(--holt-img-fit, cover);
    object-position: center;
    display: block;
  }

  /* video cards: the <video> has to fill the frame exactly as the <img>
     does, and Shopify's video_tag wraps output in a container that needs
     the same treatment or the clip sits letterboxed inside the card. */
  .holt-flav__video,
  .holt-flav__media video {
    width: 100%;
    height: 100%;
    object-fit: var(--holt-img-fit, cover);
    display: block;
  }
  .holt-flav__media .shopify-video-wrapper,
  .holt-flav__media [data-shopify-video-component] {
    position: absolute;
    inset: var(--holt-img-pad, 0px);
    width: calc(100% - (var(--holt-img-pad, 0px) * 2));
    height: calc(100% - (var(--holt-img-pad, 0px) * 2));
  }
  /* Someone who has asked the OS to reduce motion should not be handed four
     looping videos. The poster frame is shown instead. */
  @media (prefers-reduced-motion: reduce) {
    .holt-flav__video { display: none; }
    .holt-flav__media { background: #f4f4f2; }
  }

  /* hover image swap */
  .holt-flav__img {
    transition: opacity var(--holt-hover-speed, .35s) ease, transform var(--holt-hover-speed, .35s) ease;
  }
  .holt-flav__img--hover {
    position: absolute;
    inset: var(--holt-img-pad, 0px);
    width: calc(100% - (var(--holt-img-pad, 0px) * 2));
    height: calc(100% - (var(--holt-img-pad, 0px) * 2));
    opacity: 0;
    pointer-events: none;
  }
  .holt-flav__card:hover .holt-flav__media--has-hover .holt-flav__img--main { opacity: 0; }
  .holt-flav__card:hover .holt-flav__media--has-hover .holt-flav__img--hover { opacity: 1; }

  /* optional zoom */
  .holt-flav[data-hover-zoom="true"] .holt-flav__card:hover .holt-flav__img { transform: scale(1.06); }

  @media (hover: none) {
    .holt-flav__img--hover { display: none; }
  }
  .holt-flav__body {
    padding: 1.6rem 1.4rem 2rem;
    flex: 1;
  }
  .holt-flav__name {
    margin: 0 0 1rem;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    line-height: 1.2;
  }
  .holt-flav__rating {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin: -.4rem 0 1rem;
    font-size: var(--holt-rating-size, 12px);
  }
  .holt-flav__stars {
    letter-spacing: .1em;
    color: var(--holt-star-colour, #111);
    font-size: var(--holt-star-size, 13px);
  }
  .holt-flav__rating-text { opacity: .85; }

  .holt-flav__desc {
    margin: 0;
    font-size: 1.3rem;
    line-height: 1.65;
    opacity: .8;
  }

  .holt-flav__price {
    display: flex;
    align-items: baseline;
    gap: .8rem;
    margin-top: 1.2rem;
    font-size: var(--holt-price-size, 16px);
  }
  .holt-flav__price-now { font-weight: 800; }
  .holt-flav__price-was {
    opacity: .5;
    font-size: calc(var(--holt-price-size, 16px) * 0.85);
  }
  .holt-flav__btn {
    display: block;
    margin: 0 1rem 1rem;
    padding: 1.2rem .8rem;
    text-align: center;
    text-decoration: none;
    background: var(--holt-btn-bg, var(--holt-grad));
    color: var(--holt-btn-ink, #111);
    font-weight: 800;
    font-size: 1.25rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    border-radius: calc(var(--holt-radius, 12px) - 6px);
    transition: filter .15s ease;
  }
  .holt-flav__btn:hover { filter: brightness(1.05); }
/* END_SECTION:holt-flavours */

/* START_SECTION:holt-footer (INDEX:39) */
.holt-footer {
    background: var(--holt-bg, #fff);
    color: var(--holt-ink, #111);
    padding-top: var(--holt-pad, 64px);
    padding-bottom: calc(var(--holt-pad, 64px) / 2);
  }

  /* Rule across the top of the footer, matched to ARMRA's — measured on
     their site as border-top: 1px solid rgb(51,51,51) on the <footer>
     element itself, so it runs the full viewport width rather than
     stopping at the content gutters.

     A border rather than an ::after: the footer already sits at the end
     of the document, so a border adds the line without adding a
     positioned element that could stack over the cart drawer — which is
     exactly the bug we chased on the header border earlier. */
  .holt-footer[data-top-line="true"] {
    border-top: var(--holt-top-line-w, 1px) solid var(--holt-top-line, #333333);
  }
  .holt-footer__inner {
    max-width: var(--holt-max, 1400px);
    margin: 0 auto;
    padding-left: 2rem;
    padding-right: 2rem;
    box-sizing: border-box;
  }
  .holt-footer__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: 4rem;
    align-items: start;
  }
  @media screen and (max-width: 989px) {
    .holt-footer__top { grid-template-columns: 1fr; gap: 3.2rem; }
  }

  /* ---- brand column ---- */
  .holt-footer__logo img { width: var(--holt-logo-w, 220px); height: auto; display: block; }
  .holt-footer__wordmark {
    font-size: 3.2rem; font-weight: 800; letter-spacing: -0.02em;
    text-decoration: none; color: inherit;
  }
  .holt-footer__newsletter { margin-top: 2.4rem; max-width: var(--holt-form-w, 420px); }
  .holt-footer__form { display: flex; gap: var(--holt-form-gap, 10px); align-items: stretch; }
  .holt-footer__form input[type="email"] {
    flex: 1; min-width: 0;
    padding: var(--holt-input-pad-y, 12px) 14px;
    border: 1px solid var(--holt-line, rgba(0,0,0,.25));
    border-radius: var(--holt-input-radius, 4px);
    background: transparent; color: inherit;
    font-family: inherit; font-size: var(--holt-input-size, 14px);
  }
  .holt-footer__submit {
    flex: none;
    padding: var(--holt-btn-pad-y, 12px) var(--holt-btn-pad-x, 20px);
    cursor: pointer; border: 0;
    background: var(--holt-btn-bg); color: var(--holt-btn-ink, #111);
    border-radius: var(--holt-btn-radius, 4px);
    font-family: inherit; font-size: var(--holt-btn-size, 14px); font-weight: 700;
    line-height: 1;
    transition: filter .15s ease;
  }
  .holt-footer__submit:hover { filter: brightness(1.06); }
  .holt-footer__success { margin: 1rem 0 0; font-size: 1.3rem; }
  .holt-footer__connect { margin-top: 1.8rem; font-size: 1.4rem; }
  .holt-footer__socials { display: flex; gap: 1rem; margin: 1.4rem 0 0; padding: 0; }
  .holt-footer__socials a {
    display: flex; align-items: center; justify-content: center;
    width: 4rem; height: 4rem; border-radius: 50%;
    border: 1px solid var(--holt-line, rgba(0,0,0,.25));
    color: inherit; transition: background-color .15s ease;
  }
  .holt-footer__socials a:hover { background: rgba(0,0,0,.05); }
  .holt-footer__socials svg { width: 1.8rem; height: 1.8rem; }

  /* ---- link columns ---- */
  /* content-width columns sitting together, not stretched across the half */
  .holt-footer__columns {
    display: grid;
    grid-template-columns: repeat(var(--holt-col-count, 3), auto);
    justify-content: start;
    column-gap: var(--holt-col-gap, 56px);
    row-gap: 3.2rem;
  }
  @media screen and (max-width: 749px) {
    .holt-footer__columns {
      grid-template-columns: repeat(2, auto);
      column-gap: 4rem;
    }
  }
  .holt-footer__heading {
    font-size: var(--holt-heading-size, 15px);
    font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
    margin-bottom: 1.6rem;
    list-style: none;
  }
  .holt-footer__heading::-webkit-details-marker { display: none; }
  /* the chevron is mobile-only */
  .holt-footer__chev { display: none; }
  .holt-footer__links { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1rem; }
  .holt-footer__links a {
    text-decoration: none; color: inherit;
    font-size: var(--holt-link-size, 14px); line-height: 1.4;
  }
  .holt-footer__links a:hover { text-decoration: underline; }

  /* ---- bottom bar ---- */
  .holt-footer__bottom {
    display: flex; align-items: center; justify-content: space-between;
    gap: 2rem; flex-wrap: wrap;
    margin-top: 4rem; padding-top: 2rem;
  }
  .holt-footer__copy { font-size: 1.3rem; opacity: .85; }
  /* ================= MOBILE — Humantra layout ================= */
  @media screen and (max-width: 749px) {
    .holt-footer__top { grid-template-columns: 1fr; gap: 2.4rem; }

    /* brand block centred */
    .holt-footer__brand { text-align: center; }
    .holt-footer__logo img { margin-left: auto; margin-right: auto; }
    .holt-footer__newsletter { margin-left: auto; margin-right: auto; }
    .holt-footer__socials { justify-content: center; }
    .holt-footer__connect { text-align: center; }

    /* columns become full-width accordions with dividers */
    .holt-footer__columns {
      grid-template-columns: 1fr;
      column-gap: 0;
      row-gap: 0;
      margin-top: 1.6rem;
    }
    .holt-footer__column {
      border-top: 1px solid var(--holt-line, rgba(0,0,0,.18));
      padding: 0;
    }
    .holt-footer__column:last-of-type {
      border-bottom: 1px solid var(--holt-line, rgba(0,0,0,.18));
    }
    .holt-footer__heading {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 0;
      padding: 1.8rem 0;
      cursor: pointer;
    }
    .holt-footer__chev {
      display: inline-flex;
      transition: transform .2s ease;
    }
    .holt-footer__column[open] .holt-footer__chev { transform: rotate(180deg); }
    .holt-footer__links { padding-bottom: 1.8rem; }

    /* bottom bar stacked and centred */
    .holt-footer__bottom {
      flex-direction: column-reverse;
      align-items: center;
      text-align: center;
      gap: 1.6rem;
      margin-top: 2.4rem;
    }
  }

  .holt-footer__loc-form select {
    padding: .8rem 1.2rem;
    border: 1px solid var(--holt-line, rgba(0,0,0,.25));
    border-radius: var(--holt-radius, 4px);
    background: transparent; color: inherit;
    font-family: inherit; font-size: 1.3rem; cursor: pointer;
  }
/* END_SECTION:holt-footer */

/* START_SECTION:holt-mega-menu (INDEX:40) */
.holt-mm__panel {
    background: var(--holt-mm-bg, #fff);
    color: var(--holt-mm-ink, #111);
    padding: 3.2rem 3.6rem 3.6rem;
    border-radius: var(--holt-mm-radius, 0px);
  }
  .holt-mm__cols {
    display: grid;
    grid-template-columns: 1.15fr 1.35fr .8fr .8fr;
    gap: 3.6rem;
    align-items: start;
  }
  @media screen and (max-width: 1200px) {
    .holt-mm__cols { grid-template-columns: 1fr 1fr; gap: 2.8rem; }
  }
  .holt-mm__col-title {
    font-size: var(--holt-col-title-size, 13px);
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 1.4rem;
  }

  /* shared button style — controlled from the editor */
  .holt-mm__featured-btn,
  .holt-mm__bundle-btn {
    background: var(--holt-btn-bg) !important;
    color: var(--holt-btn-ink) !important;
    border-radius: var(--holt-btn-radius, 0px);
    font-size: var(--holt-btn-size, 11px);
    font-weight: var(--holt-btn-weight, 800);
    letter-spacing: var(--holt-btn-spacing, .1em);
    text-transform: var(--holt-btn-transform, uppercase);
    padding: var(--holt-btn-pad-y, 8px) var(--holt-btn-pad-x, 20px);
    line-height: 1;
    display: inline-block;
    transition: filter .15s ease;
  }
  .holt-mm__featured:hover .holt-mm__featured-btn,
  .holt-mm__bundle:hover .holt-mm__bundle-btn { filter: brightness(1.06); }
  .holt-mm__list { margin: 0; padding: 0; display: flex; flex-direction: column; gap: .9rem; }

  /* featured */
  .holt-mm__featured {
    position: relative;
    display: block;
    text-decoration: none;
    color: #fff;
    border-radius: var(--holt-mm-radius, 0px);
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #ddd;
  }
  .holt-mm__featured img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .holt-mm__featured-body {
    position: absolute; inset: auto 0 0 0;
    display: flex; flex-direction: column; align-items: flex-start; gap: .5rem;
    padding: 1.8rem;
    background: linear-gradient(
      to top,
      rgba(0, 0, 0, var(--holt-scrim, .55)),
      rgba(0, 0, 0, 0)
    );
  }
  .holt-mm__featured-eyebrow { font-size: 1.1rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
  .holt-mm__featured-heading { font-size: 2.4rem; font-weight: 800; line-height: 1.05; }
  .holt-mm__featured-text { font-size: 1.2rem; line-height: 1.4; opacity: .92; max-width: 26ch; }
  .holt-mm__featured-btn { margin-top: .8rem; }

  /* bundles */
  .holt-mm__bundles { display: flex; flex-direction: column; gap: 1.2rem; }
  .holt-mm__bundle {
    display: flex; align-items: center; gap: 1.6rem;
    padding: 1.2rem; text-decoration: none; color: inherit;
    border: 1px solid rgba(0,0,0,.12);
    border-radius: var(--holt-mm-radius, 0px);
    transition: border-color .15s ease;
  }
  .holt-mm__bundle:hover { border-color: rgba(0,0,0,.4); }
  .holt-mm__bundle-media { flex: none; width: 96px; height: 96px; background: #f4f4f4; overflow: hidden; border-radius: 6px; }
  .holt-mm__bundle-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .holt-mm__bundle-body { display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; }
  .holt-mm__bundle-title { font-size: var(--holt-title-size, 15px); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
  .holt-mm__bundle-sub { font-size: 1.2rem; opacity: .7; letter-spacing: .03em; text-transform: uppercase; }
  .holt-mm__bundle-btn { margin-top: .4rem; }

  /* flavours */
  .holt-mm__flavour, .holt-mm__help {
    display: flex; align-items: center; gap: 1rem;
    text-decoration: none; color: inherit; font-size: var(--holt-link-size, 14px);
  }
  .holt-mm__flavour:hover span:last-child,
  .holt-mm__help:hover span:last-child { text-decoration: underline; }
  .holt-mm__dot {
    flex: none;
    width: var(--holt-thumb-size, 30px);
    height: var(--holt-thumb-size, 30px);
    border-radius: 50%;
    overflow: hidden; display: block; background: #eee;
  }
  .holt-mm__dot img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .holt-mm__help-icon { flex: none; display: inline-flex; }

  /* ---------- mobile drawer ---------- */
  /* the theme's colour scheme paints a gradient here — override it flat */
  .holt-mm--mobile,
  .holt-mm--mobile .mobile-mega-menu-top,
  .holt-mm--mobile .mobile-mega-menu-main,
  .holt-mm--mobile .mobile-mega-menu-main__container {
    background: var(--holt-mm-bg, #fff) !important;
    background-image: none !important;
  }
  .holt-mm--mobile .mobile-mega-menu-top {
    padding: 1.2rem 1.8rem;
  }
  .holt-mm--mobile .holt-mm__panel,
  .holt-mm--mobile .mobile-mega-menu-main__container {
    padding: 1.6rem 1.8rem 3.2rem;
  }
  .holt-mm--mobile .holt-mm__cols {
    grid-template-columns: 1fr;
    gap: 2.8rem;
  }
  .holt-mm--mobile .holt-mm__featured { aspect-ratio: 16 / 10; }
  .holt-mm--mobile .holt-mm__featured-heading { font-size: 2.2rem; }

  /* bundles stay image-left, text-right */
  .holt-mm--mobile .holt-mm__bundle { padding: 1rem; gap: 1.2rem; }
  .holt-mm--mobile .holt-mm__bundle-media { width: 84px; height: 84px; }

  /* flavour + help links get a bit more tap room */
  .holt-mm--mobile .holt-mm__list { gap: 0; }
  .holt-mm--mobile .holt-mm__list li + li { border-top: 1px solid rgba(0,0,0,.1); }
  .holt-mm--mobile .holt-mm__flavour,
  .holt-mm--mobile .holt-mm__help {
    padding: 1.2rem 0;
    font-size: calc(var(--holt-link-size, 14px) + 1px);
  }
  .holt-mm--mobile .holt-mm__col-title { margin-bottom: 1rem; }

  /* the drawer is white, so nothing here should inherit the header's white text */
  .holt-mm--mobile,
  .holt-mm--mobile a,
  .holt-mm--mobile span,
  .holt-mm--mobile div,
  .holt-mm--mobile li {
    color: var(--holt-mm-ink, #111);
  }
/* END_SECTION:holt-mega-menu */

/* START_SECTION:holt-page-banner (INDEX:41) */
.holt-pb__media {
    position: relative;
    height: var(--holt-h, 260px);
    overflow: hidden;
    border-radius: var(--holt-radius, 0px);
  }
  .holt-pb__img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .holt-pb__img--mobile { display: none; }
  .holt-pb__placeholder {
    width: 100%; height: 100%;
    background: linear-gradient(135deg, #e7fe88, #ffd9a8, #c9b6ff);
  }

  .holt-pb__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: var(--holt-align, center);
    color: var(--holt-ink, #fff);
    background: rgba(0, 0, 0, var(--holt-scrim, 0.25));
    padding: 2rem;
    box-sizing: border-box;
  }
  .holt-pb__inner {
    width: 100%;
    max-width: var(--holt-max, 1400px);
    margin: 0 auto;
    padding: 0 2rem;
    box-sizing: border-box;
  }
  .holt-pb__title {
    margin: 0;
    font-size: var(--holt-title, 48px);
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -0.02em;
  }
  .holt-pb__sub {
    margin: 1rem 0 0;
    font-size: var(--holt-sub, 14px);
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .holt-pb__crumbs {
    padding: 1.6rem 0 0;
    font-size: var(--holt-crumb-size, 12px);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--holt-crumb-ink, #666);
  }
  .holt-pb__crumbs .holt-pb__inner { display: flex; gap: .8rem; align-items: center; }
  .holt-pb__crumbs a { color: inherit; text-decoration: none; }
  .holt-pb__crumbs a:hover { text-decoration: underline; }
  .holt-pb__crumb-current { color: var(--holt-ink, #111); font-weight: 700; }

  @media screen and (max-width: 749px) {
    .holt-pb__media { height: var(--holt-h-mobile, 180px); }
    .holt-pb__title { font-size: var(--holt-title-mobile, 30px); }
    .holt-pb__img--mobile { display: block; }
    .holt-pb__img--mobile ~ .holt-pb__img--desktop,
    .holt-pb__media:has(.holt-pb__img--mobile) .holt-pb__img--desktop { display: none; }
  }
/* END_SECTION:holt-page-banner */

/* START_SECTION:holt-product (INDEX:42) */
.holt-pdp {
    color: var(--holt-ink, #111);
    padding-top: var(--holt-pad, 40px);
    padding-bottom: var(--holt-pad, 40px);
  }
  /* ARMRA's content column is not full-bleed — cap and centre it.
     !important because the theme's .container sets its own max-width
     on this same element. */
  .holt-pdp .holt-pdp__inner {
    max-width: var(--holt-max-width, 1080px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--holt-side-pad, 20px) !important;
    padding-right: var(--holt-side-pad, 20px) !important;
    box-sizing: border-box;
  }
  /* ---------- breadcrumb ---------- */
  .holt-pdp__crumbs {
    display: flex;
    align-items: center;
    gap: .9rem;
    margin: 0 0 1.4rem;
    /* System mono rather than a webfont: the reference uses a bespoke mono,
       and loading a whole face for one line of 12px text is not worth the
       request. */
    font-family: ui-monospace, SFMono-Regular, Menlo, "IBM Plex Mono", monospace;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    text-transform: uppercase;
  }
  .holt-pdp__crumbs a,
  .holt-pdp__crumb-sep {
    color: rgba(0, 0, 0, .55);
    text-decoration: none;
  }
  .holt-pdp__crumb-sep { font-size: 10px; text-transform: none; }
  .holt-pdp__crumbs a:hover { color: rgba(0, 0, 0, .8); }
  .holt-pdp__crumb-current { color: #000; }
  @media screen and (max-width: 749px) {
    .holt-pdp__crumbs { margin-bottom: 1.2rem; font-size: 11px; }
  }

  /* desktop: gallery top-left, extras below it, buy panel spanning the right */
  /* The accordions sit under the buy panel on the right, and the gallery
     spans both rows on the left. That gives the right-hand column enough
     height for the gallery to stay pinned the whole way down, and it is
     why the accordions are no longer below the image. */
  .holt-pdp__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
      "gallery panel"
      "gallery extras";
    grid-template-rows: auto 1fr;
    gap: 0 4rem;
    align-items: start;
  }
  .holt-pdp__col--gallery { grid-area: gallery; }
  .holt-pdp__col--extras  { grid-area: extras; }
  .holt-pdp__col--panel   { grid-area: panel; }
  .holt-pdp__col { width: 100%; min-width: 0; }

  /* extras: accordions then bundle on desktop */
  .holt-pdp__col--extras { display: flex; flex-direction: column; }
  .holt-pdp__col--extras .holt-pdp__rows   { order: 1; }
  .holt-pdp__col--extras .holt-pdp__bundle { order: 2; }

  /* mobile: gallery, buy panel, then bundle, then accordions — Humantra's order */
  @media screen and (max-width: 989px) {
    .holt-pdp__grid {
      grid-template-columns: 1fr;
      grid-template-areas:
        "gallery"
        "panel"
        "extras";
      gap: 3.2rem;
    }
    .holt-pdp__col--gallery { position: static; }
    .holt-pdp__col--extras .holt-pdp__bundle { order: 1; margin-top: 0; }
    .holt-pdp__col--extras .holt-pdp__rows   { order: 2; margin-top: 2.4rem; }
  }

  /* ---------- gallery ---------- */
  /* centred in its column rather than pinned left */
  .holt-pdp__gallery {
    width: 100%;
    max-width: var(--holt-gallery-max, 460px);
    /* Left-aligned, not centred. Centring inside a wider grid column was
       pushing the image right of the breadcrumb, so the two never lined up.
       Still centred on mobile, where the column is the full width. */
    margin-left: 0;
    margin-right: auto;
  }
  @media screen and (max-width: 989px) {
    .holt-pdp__gallery { margin-left: auto; }
  }
  .holt-pdp__main {
    position: relative;
    aspect-ratio: 1 / 1;
    background: #f4f4f4;
    border-radius: var(--holt-radius, 0px);
    overflow: hidden;
  }
  .holt-pdp__main img,
  .holt-pdp__placeholder { width: 100%; height: 100%; object-fit: cover; display: block; }
  /* Translucent like ARMRA's: the image reads through the control, and it
     firms up on hover so it still feels like a button. */
  .holt-pdp__arrow {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 4rem; height: 4rem; display: flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,.42); border: 0; cursor: pointer; color: #111;
    -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
    transition: background-color .18s ease;
  }
  .holt-pdp__arrow:hover,
  .holt-pdp__arrow:focus-visible { background: rgba(255,255,255,.72); }
  .holt-pdp__arrow--prev { left: 0; }
  .holt-pdp__arrow--next { right: 0; }
  .holt-pdp__corner-badge {
    position: absolute; top: 1.6rem; right: 1.6rem;
    background: var(--holt-grad); color: #111;
    font-size: 1.1rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
    padding: .5rem 1.2rem; border-radius: var(--holt-badge-radius, 999px);
  }
  /* Thumbs are a fixed size, not 1fr — with only two images, equal columns
     made each one half the gallery width. Magna-style: small, left-aligned,
     scrolling sideways if there are more than fit. */
  .holt-pdp__thumbs {
    display: grid; grid-auto-flow: column;
    grid-auto-columns: var(--holt-pdp-thumb, 104px);
    justify-content: start;
    gap: .8rem; margin-top: .8rem; overflow-x: auto;
    scrollbar-width: none;
    scroll-behavior: smooth;
  }
  /* Fade whichever edge still has thumbnails beyond it, so the strip reads as
     continuing rather than simply ending. */
  .holt-pdp__thumbs.can-right {
    -webkit-mask-image: linear-gradient(to right, #000 86%, transparent 100%);
            mask-image: linear-gradient(to right, #000 86%, transparent 100%);
  }
  .holt-pdp__thumbs.can-left {
    -webkit-mask-image: linear-gradient(to left, #000 86%, transparent 100%);
            mask-image: linear-gradient(to left, #000 86%, transparent 100%);
  }
  .holt-pdp__thumbs.can-left.can-right {
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 7%, #000 93%, transparent 100%);
            mask-image: linear-gradient(to right, transparent 0, #000 7%, #000 93%, transparent 100%);
  }
  @media (prefers-reduced-motion: reduce) { .holt-pdp__thumbs { scroll-behavior: auto; } }
  .holt-pdp__thumbs::-webkit-scrollbar { display: none; }
  .holt-pdp__thumb {
    aspect-ratio: 1 / 1; padding: 0; border: 1px solid transparent;
    background: #f4f4f4; cursor: pointer; overflow: hidden;
    border-radius: calc(var(--holt-radius, 0px) / 2);
  }
  .holt-pdp__thumb.is-active { border-color: #111; }
  .holt-pdp__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

  /* ---------- collapsible rows ---------- */
  .holt-pdp__rows { margin-top: 2.4rem; }
  .holt-pdp__row { border-top: 1px solid var(--holt-accent); }
  .holt-pdp__row:last-child { border-bottom: 1px solid var(--holt-accent); }

  /* divider: between = no top rule on the first row and no bottom rule at all,
     so the rows read as a list rather than a ladder of green lines */
  .holt-pdp__rows[data-divider="between"] .holt-pdp__row:first-child { border-top: 0; }
  .holt-pdp__rows[data-divider="between"] .holt-pdp__row:last-child { border-bottom: 0; }
  .holt-pdp__rows[data-divider="none"] .holt-pdp__row,
  .holt-pdp__rows[data-divider="none"] .holt-pdp__row:last-child { border: 0; }
  .holt-pdp__row-summary {
    display: flex; align-items: center; justify-content: space-between;
    padding: var(--holt-row-pad, 14px) 0; cursor: pointer; list-style: none;
    font-size: var(--holt-row-size, 15px);
  }
  .holt-pdp__row-summary::-webkit-details-marker { display: none; }
  .holt-pdp__row-icon { position: relative; width: 16px; height: 16px; flex: none; }
  .holt-pdp__row-icon::before,
  .holt-pdp__row-icon::after {
    content: ""; position: absolute; background: currentColor;
    transition: transform .2s ease;
  }
  .holt-pdp__row-icon::before { inset: 7px 0 7px 0; height: 2px; }
  .holt-pdp__row-icon::after  { inset: 0 7px 0 7px; width: 2px; }
  .holt-pdp__row[open] .holt-pdp__row-icon::after { transform: scaleY(0); }
  .holt-pdp__row-body { padding: 0 0 1.6rem; font-size: calc(var(--holt-row-size, 15px) - 1px); line-height: 1.6; opacity: .9; }
  .holt-pdp__row-body p { margin: 0 0 1rem; }

  /* ---------- circular + button (SULT style) ----------
     The existing icon is a 16px box drawing two bars with ::before/::after in
     currentColor. For the circle we grow that box into the button itself and
     recolour the bars, so the open/close animation keeps working untouched. */
  .holt-pdp__rows[data-icon="circle"] .holt-pdp__row-summary {
    padding: calc(var(--holt-row-pad, 14px) + 4px) 0;
  }
  .holt-pdp__rows[data-icon="circle"] .holt-pdp__row-icon {
    width: var(--holt-row-btn, 34px);
    height: var(--holt-row-btn, 34px);
    border-radius: 50%;
    background: var(--holt-row-btn-bg, #E7FE88);
    color: var(--holt-row-btn-ink, #111111);
    transition: filter .15s ease;
  }
  .holt-pdp__rows[data-icon="circle"] .holt-pdp__row-summary:hover .holt-pdp__row-icon {
    filter: brightness(.94);
  }
  .holt-pdp__rows[data-icon="circle"] .holt-pdp__row-icon::before {
    inset: 50% 28% auto 28%;
    height: 2px;
    transform: translateY(-50%);
  }
  .holt-pdp__rows[data-icon="circle"] .holt-pdp__row-icon::after {
    inset: 28% auto 28% 50%;
    width: 2px;
    transform: translateX(-50%);
  }
  .holt-pdp__rows[data-icon="circle"] .holt-pdp__row[open] .holt-pdp__row-icon::after {
    transform: translateX(-50%) scaleY(0);
  }

  /* ---------- filled rows ----------
     Each <details> becomes its own grey card. Borders are dropped entirely —
     the gap between cards does the separating, so lines would double up. */
  .holt-pdp__rows[data-fill="true"] .holt-pdp__row,
  .holt-pdp__rows[data-fill="true"] .holt-pdp__row:first-child,
  .holt-pdp__rows[data-fill="true"] .holt-pdp__row:last-child {
    border: 0;
    background: var(--holt-row-bg, #f4f4f4);
    border-radius: var(--holt-row-radius, 10px);
    margin-bottom: var(--holt-row-gap, 8px);
    overflow: hidden;
  }
  .holt-pdp__rows[data-fill="true"] .holt-pdp__row:last-child { margin-bottom: 0; }
  .holt-pdp__rows[data-fill="true"] .holt-pdp__row-summary {
    padding-left: var(--holt-row-inset, 18px);
    padding-right: var(--holt-row-inset, 18px);
  }
  .holt-pdp__rows[data-fill="true"] .holt-pdp__row-body {
    padding-left: var(--holt-row-inset, 18px);
    padding-right: var(--holt-row-inset, 18px);
  }

  /* ---------- bundle card ---------- */
  .holt-pdp__bundle {
    display: flex; align-items: center; gap: 1.6rem;
    margin-top: 2.4rem; padding: 1.2rem;
    border: 1px solid rgba(0,0,0,.14); border-radius: var(--holt-radius, 0px);
    text-decoration: none; color: inherit; transition: border-color .15s ease;
  }
  .holt-pdp__bundle:hover { border-color: rgba(0,0,0,.45); }
  .holt-pdp__bundle-media {
    flex: none;
    width: var(--holt-bundle-img, 120px);
    height: calc(var(--holt-bundle-img, 120px) * 0.75);
    background: #f4f4f4; overflow: hidden;
  }
  .holt-pdp__bundle-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .holt-pdp__bundle-body { display: flex; flex-direction: column; gap: .5rem; }
  .holt-pdp__bundle-title { font-size: var(--holt-bundle-title, 15px); font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
  .holt-pdp__bundle-text { font-size: var(--holt-bundle-text, 13px); opacity: .8; }

  /* ---------- right panel ---------- */
  @media screen and (min-width: 990px) {
    /* The gallery is pinned and the buy panel scrolls, not the other way
       round. With the panel pinned, the gallery had to scroll past before
       anything in the panel moved, which pushed add-to-cart further away
       rather than closer. Pinning the image means the panel comes up to
       meet the reader immediately.

       align-self is needed because the grid stretches both columns to
       equal height by default, and a stretched item can't stick — it is
       already as tall as its container. */
    .holt-pdp__col--gallery {
      position: sticky;
      top: calc(var(--header-height, 64px) + 2rem);
      align-self: start;
    }
    /* breathing room where the accordions now meet the panel above them */
    .holt-pdp__col--extras { margin-top: 2.4rem; }
  }
  .holt-pdp__rating { display: flex; align-items: center; gap: .8rem; font-size: 1.3rem; letter-spacing: .04em; }
  .holt-pdp__stars {
    letter-spacing: .1em;
    background: linear-gradient(90deg, {{ s.grad_1 }}, {{ s.grad_2 }}, {{ s.grad_3 }});
    -webkit-background-clip: text;
            background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    /* The brand gradient is pale, so a soft outline keeps the stars legible
       on white rather than letting the lemon end disappear. */
    paint-order: stroke fill;
    -webkit-text-stroke: .4px rgba(0,0,0,.18);
  }
  @supports not ((-webkit-background-clip: text) or (background-clip: text)) {
    .holt-pdp__stars { color: {{ s.grad_1 }}; -webkit-text-fill-color: currentColor; }
  }
  .holt-pdp__title {
    margin: .8rem 0 0; font-size: var(--holt-title-size, 40px);
    font-weight: 800; line-height: 1.05; letter-spacing: -0.02em;
  }
  @media screen and (max-width: 749px) {
    .holt-pdp__title { font-size: calc(var(--holt-title-size, 40px) * 0.72); }
  }
  .holt-pdp__pills { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.2rem; }
  .holt-pdp__pill {
    background: var(--holt-pill-bg, var(--holt-accent));
    color: var(--holt-pill-ink, #111);
    font-size: var(--holt-pill-size, 12px);
    font-weight: var(--holt-pill-weight, 500); letter-spacing: .06em; text-transform: uppercase;
    padding: var(--holt-pill-pad-y, 7px) var(--holt-pill-pad-x, 13px);
    border-radius: var(--holt-pill-radius, 0px);
    line-height: 1;
  }
  .holt-pdp__desc {
    margin-top: 1.6rem;
    font-size: var(--holt-desc-size, 18px);
    line-height: 1.5;
    max-width: var(--holt-desc-max, 460px);
  }
  .holt-pdp__desc p { margin: 0 0 .8rem; }
  .holt-pdp__bullets { margin: 1.4rem 0 0; padding: 0; display: flex; flex-direction: column; gap: .7rem; }
  .holt-pdp__bullets li { display: flex; gap: .8rem; font-size: var(--holt-bullet-size, 16px); line-height: 1.4; }
  .holt-pdp__bullet-arrow { flex: none; }

  .holt-pdp__label {
    margin: 2rem 0 .8rem; font-size: var(--holt-label-size, 12px); font-weight: 800;
    letter-spacing: .1em; text-transform: uppercase;
  }

  /* ---------- flavours ---------- */
  .holt-pdp__flavours { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
  @media screen and (max-width: 480px) { .holt-pdp__flavours { grid-template-columns: 1fr; } }
  .holt-pdp__flavour {
    position: relative;
    display: flex; align-items: center; gap: 1rem;
    padding: var(--holt-flavour-pad-y, 8px) 1.1rem;
    text-decoration: none; color: inherit;
    border: 1px solid rgba(0,0,0,.16); border-radius: var(--holt-radius, 0px);
    font-size: var(--holt-flavour-size, 13px);
    transition: border-color .15s ease, background-color .15s ease;
  }
  .holt-pdp__flavour:hover { border-color: rgba(0,0,0,.5); }
  /* selected tile fills with that flavour's own colour, like ARMRA */
  .holt-pdp__flavour.is-active {
    border-color: #111;
    border-width: 2px;
    padding: calc(var(--holt-flavour-pad-y, 8px) - 1px) calc(1.1rem - 1px);
    background: var(--f-colour, rgba(0,0,0,.03));
  }
  .holt-pdp__flavour.is-active .holt-pdp__tick { display: inline-flex; }
  .holt-pdp__tick { display: none; flex: none; }
  .holt-pdp__flavour.is-sold-out { opacity: .55; }
  .holt-pdp__flavour-dot {
    flex: none;
    width: var(--holt-flavour-dot, 30px);
    height: var(--holt-flavour-dot, 30px);
    border-radius: 50%;
    overflow: hidden; display: block; background: #eee;
  }
  .holt-pdp__flavour-dot img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .holt-pdp__soldout {
    position: absolute; top: -.8rem; right: .8rem;
    background: var(--holt-accent); color: #111;
    font-size: 1rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
    padding: .2rem .6rem;
  }

  /* ---------- offers ---------- */
  .holt-pdp__promo {
    background: var(--holt-accent); color: #111; text-align: center;
    font-size: 1.2rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
    padding: 1rem;
  }
  .holt-pdp__offers { display: flex; flex-direction: column; gap: 1rem; margin-top: 1rem; }
  .holt-pdp__offer {
    display: block; padding: 1.4rem; cursor: pointer;
    border: 1px solid rgba(0,0,0,.16); border-radius: var(--holt-radius, 0px);
    transition: border-color .15s ease, background-color .15s ease;
  }
  /* the chosen offer fills with the accent colour */
  .holt-pdp__offer.is-selected {
    border-color: #111;
    border-width: 2px;
    padding: calc(1.4rem - 1px);
    background: var(--holt-offer-sel-bg, var(--holt-accent));
  }
  .holt-pdp__offer-head { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
  .holt-pdp__offer-head input { accent-color: #111; width: 18px; height: 18px; flex: none; }
  .holt-pdp__offer-title { font-size: 1.6rem; font-weight: 800; }
  .holt-pdp__save {
    background: var(--holt-accent); color: #111; font-size: 1.05rem; font-weight: 800;
    letter-spacing: .06em; text-transform: uppercase; padding: .3rem .8rem;
  }
  .holt-pdp__offer-price { margin-left: auto; display: flex; align-items: baseline; gap: .8rem; font-size: 1.7rem; }
  .holt-pdp__offer-price s { opacity: .45; font-size: 1.4rem; }
  .holt-pdp__perks { display: flex; flex-direction: column; gap: .7rem; margin-top: 1.2rem; }
  .holt-pdp__perk { display: flex; align-items: center; gap: .8rem; font-size: 1.35rem; }
  .holt-pdp__frequency {
    width: 100%; margin-top: 1.2rem; padding: 1.1rem 1.2rem;
    border: 1px solid rgba(0,0,0,.3); border-radius: var(--holt-radius, 0px);
    font-size: 1.4rem; font-family: inherit; background: #fff; color: inherit;
  }

  /* ---------- buy row ---------- */
  .holt-pdp__buy { display: flex; gap: 1rem; margin-top: 1.8rem; }
  .holt-pdp__qty {
    display: flex; align-items: center; flex: none;
    border: 1px solid rgba(0,0,0,.3); border-radius: var(--holt-radius, 0px);
  }
  .holt-pdp__qty button {
    width: 4.2rem; height: 100%; min-height: 5.4rem;
    background: none; border: 0; cursor: pointer; font-size: 1.8rem; color: inherit;
  }
  .holt-pdp__qty input {
    width: 4rem; text-align: center; border: 0; background: none;
    font-size: 1.5rem; color: inherit; -moz-appearance: textfield;
  }
  .holt-pdp__qty input::-webkit-outer-spin-button,
  .holt-pdp__qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
  .holt-pdp__atc {
    flex: 1; min-height: 5.4rem; padding: 1.4rem 2rem;
    background: var(--holt-atc-bg, #111);
    color: var(--holt-atc-ink, #fff);
    border: 0; cursor: pointer;
    border-radius: var(--holt-radius, 0px);
    font-family: inherit; font-size: var(--holt-atc-size, 14px); font-weight: 800;
    letter-spacing: .1em; text-transform: uppercase;
    transition: filter .15s ease;
  }
  .holt-pdp__atc:hover { filter: brightness(1.25); }
  .holt-pdp__atc[disabled] { opacity: .5; cursor: not-allowed; }
  /* ---------- desktop: pinned bar, like ARMRA ---------- */
  .holt-pdp__bar {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 40;
    background: var(--holt-bar-bg, #111);
    color: var(--holt-bar-ink, #fff);
    border-top: 1px solid var(--holt-bar-line, rgba(255,255,255,0));
    transform: translateY(100%);
    transition: transform .28s ease;
    will-change: transform;
  }
  .holt-pdp__bar.is-visible { transform: translateY(0); }
  .holt-pdp__bar[hidden] { display: none; }

  .holt-pdp__bar-inner {
    max-width: var(--holt-max-width, 1080px);
    margin: 0 auto;
    padding: 0 2rem;
    min-height: var(--holt-bar-height, 76px);
    display: flex;
    align-items: center;
    gap: 1.8rem;
    box-sizing: border-box;
  }
  .holt-pdp__bar-img {
    width: 5.2rem;
    height: 5.2rem;
    object-fit: contain;
    flex: 0 0 auto;
  }
  .holt-pdp__bar-text {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    margin-right: auto;
    min-width: 0;
  }
  .holt-pdp__bar-name {
    font-size: var(--holt-bar-name-size, 19px);
    font-weight: 600;
    line-height: 1.2;
  }
  .holt-pdp__bar-price {
    display: flex;
    align-items: baseline;
    gap: .8rem;
    font-size: var(--holt-bar-price-size, 15px);
    color: var(--holt-bar-price-ink, #ffffff);
  }
  .holt-pdp__bar-price s { color: var(--holt-bar-compare-ink, #9a9a9a); font-weight: 400; }
  .holt-pdp__bar-accent { color: var(--holt-bar-accent, #e7fe88); }

  .holt-pdp__bar-btn {
    flex: 0 0 auto;
    border: 0;
    cursor: pointer;
    background: var(--holt-bar-btn-bg, #e7fe88);
    color: var(--holt-bar-btn-ink, #111);
    border-radius: var(--holt-bar-btn-radius, 0px);
    padding: 1.3rem 3.2rem;
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    transition: filter .2s ease;
  }
  .holt-pdp__bar-btn:hover { filter: brightness(1.08); }
  .holt-pdp__bar-btn[disabled] { opacity: .5; cursor: not-allowed; }

  /* --- outline, matched to the cart's Subscribe & Save button ----------
     Same technique as holt-cart-extras.css: an inset box-shadow rather
     than a real border, because .holt-pdp__bar-btn is `border: 0` and
     sized entirely by padding — a border would add 3px of height and
     knock the button out of vertical centre in the bar.

     Keyed to the same body attribute the cart uses, so the two outlines
     can't drift apart: turning the cart setting off turns this off too.
     Colour follows the bar button's own ink, the way the cart's follows
     the upsell button's. */
  body[data-holt-up-outline="true"] .holt-pdp__bar-btn,
  body[data-holt-up-outline="true"] .holt-pdp__bar-btn:hover {
    box-shadow: inset 0 0 0 1.5px var(--holt-bar-btn-ink, #111111);
  }

  /* the mobile bar owns the bottom of the screen below this width */
  @media screen and (max-width: 989px) {
    .holt-pdp__bar { display: none; }
  }

  /* ---------- mobile: sticky buy bar, like Humantra ---------- */
  @media screen and (max-width: 749px) {
    .holt-pdp[data-sticky-buy="true"] .holt-pdp__buy {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 30;
      margin: 0;
      padding: 1rem 1.4rem calc(1rem + env(safe-area-inset-bottom, 0px));
      background: var(--holt-sticky-bg, #fff);
      border-top: 1px solid rgba(0, 0, 0, 0.12);
      box-shadow: 0 -2px 14px rgba(0, 0, 0, 0.08);
    }
    /* room so the bar never covers the last content */
    .holt-pdp[data-sticky-buy="true"] { padding-bottom: 9rem; }
    .holt-pdp[data-sticky-buy="true"] .holt-pdp__qty { min-height: 4.8rem; }
    .holt-pdp[data-sticky-buy="true"] .holt-pdp__qty button { min-height: 4.8rem; }
    .holt-pdp[data-sticky-buy="true"] .holt-pdp__atc { min-height: 4.8rem; }
  }

  .holt-pdp__msg { margin-top: 1rem; font-size: 1.3rem; text-align: center; }
  .holt-pdp__msg.is-error { color: #c62828; }
  .holt-pdp__footnote { margin-top: 1.2rem; font-size: 1.2rem; text-align: center; opacity: .7; }
/* END_SECTION:holt-product */

/* START_SECTION:holt-reviews (INDEX:43) */
.holt-reviews {
    background: var(--holt-bg, #fafafa);
    color: var(--holt-ink, #111);
    padding-top: var(--holt-pad, 60px);
    padding-bottom: var(--holt-pad, 60px);
  }
  .holt-reviews__inner { text-align: center; }

  .holt-reviews__rating {
    display: inline-flex;
    align-items: center;
    gap: .9rem;
    font-size: 1.5rem;
  }
  .holt-reviews__stars { letter-spacing: .12em; font-size: 1.7rem; }
  .holt-reviews__heading {
    margin: 1rem auto 0;
    max-width: 26ch;
    font-size: clamp(2rem, 2.4vw, 3rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.01em;
  }

  .holt-reviews__grid {
    display: grid;
    grid-template-columns: repeat(var(--cols, 3), minmax(0, var(--holt-card-max, 340px)));
    justify-content: center;
    gap: 1.8rem;
    margin-top: 3.2rem;
  }
  @media screen and (max-width: 990px) {
    .holt-reviews__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media screen and (max-width: 620px) {
    .holt-reviews__grid { grid-template-columns: 1fr; }
  }

  /* gradient border via padded gradient background + inner solid fill */
  .holt-reviews__card {
    background: var(--holt-border-fill, var(--holt-grad));
    padding: var(--holt-border, 2px);
    border-radius: var(--holt-radius, 0px);
  }
  .holt-reviews__card-inner {
    height: 100%;
    justify-content: center;
    background: var(--holt-bg, #fafafa);
    border-radius: calc(var(--holt-radius, 0px) - 1px);
    padding: 2rem 1.8rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .9rem;
  }
  .holt-reviews__card-stars { letter-spacing: .12em; font-size: 1.4rem; }
  .holt-reviews__card-title {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
    line-height: 1.25;
  }
  .holt-reviews__card-quote {
    margin: 0;
    font-size: 1.3rem;
    line-height: 1.5;
    opacity: .9;
  }
  .holt-reviews__card-author {
    margin-top: .6rem;
    padding-top: .8rem;
    font-size: 1.25rem;
  }
  .holt-reviews__card-verified {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    font-size: 1.25rem;
    opacity: .75;
  }
  .holt-reviews__card-verified svg { flex: none; }
/* END_SECTION:holt-reviews */

/* START_SECTION:holt-starter-pack (INDEX:44) */
.holt-sp { background: var(--holt-bg,#fff); color: var(--holt-ink,#111);
    padding-top: var(--holt-pad,40px); padding-bottom: var(--holt-pad,40px); }
  .holt-sp__grid { display: grid; grid-template-columns: minmax(0,0.85fr) minmax(0,1fr); gap: 4rem; align-items: start; justify-items: center; }
  @media screen and (max-width: 900px) { .holt-sp__grid { grid-template-columns: 1fr; gap: 2.4rem; } }

  .holt-sp__gallery { width: 100%; max-width: var(--holt-img-max, 420px); }
  .holt-sp__panel { width: 100%; max-width: 560px; justify-self: start; }
  .holt-sp__main { aspect-ratio: 1/1; border-radius: var(--holt-radius,12px); overflow: hidden; background: #f4f4f4; }
  .holt-sp__main img, .holt-sp__placeholder { width: 100%; height: 100%; object-fit: cover; display: block; }
  .holt-sp__thumbs { display: flex; gap: .8rem; margin-top: .8rem; }
  .holt-sp__thumb { width: 68px; height: 68px; padding: 0; border: 2px solid transparent; background: #f4f4f4;
    border-radius: 8px; overflow: hidden; cursor: pointer; }
  .holt-sp__thumb.is-active { border-color: #111; }
  .holt-sp__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

  .holt-sp__title { margin: 0; font-size: clamp(2.2rem,3vw,3.4rem); font-weight: 800; letter-spacing: .04em;
    text-transform: uppercase; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
  .holt-sp__badge { background: var(--holt-badge-bg, var(--holt-grad)); color: var(--holt-badge-ink, #111); font-size: 1.1rem; font-weight: 800;
    letter-spacing: .08em; padding: .35rem 1rem; border-radius: 999px; text-transform: uppercase; }
  .holt-sp__rating { margin-top: 1rem; font-size: 1.4rem; letter-spacing: .08em; }
  .holt-sp__desc { margin-top: 1.6rem; font-size: 1.5rem; line-height: 1.6; opacity: .9; }
  .holt-sp__desc p { margin: 0 0 1rem; }
  .holt-sp__urgency { margin-top: 1.6rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; font-size: 1.3rem; }
  .holt-sp__price { margin-top: .8rem; display: flex; align-items: baseline; gap: 1rem; flex-wrap: wrap; }
  .holt-sp__price-now { font-size: 2.6rem; font-weight: 800; }
  .holt-sp__price-was { font-size: 2rem; opacity: .45; }
  .holt-sp__off { background: var(--holt-off-bg, var(--holt-grad)); color: var(--holt-off-ink, #111); font-size: 1.15rem; font-weight: 800;
    padding: .35rem .9rem; letter-spacing: .05em; text-transform: uppercase; }

  .holt-sp__label { margin: 1.8rem 0 .7rem; font-size: 1.25rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
  .holt-sp__selects { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
  @media screen and (max-width: 560px) { .holt-sp__selects { grid-template-columns: 1fr; } }

  .holt-dd { position: relative; }
  .holt-dd__toggle { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    padding: 1.15rem 1.3rem; background: #fff; border: 1px solid #111; border-radius: 0; cursor: pointer;
    font-size: 1.4rem; color: inherit; text-align: left; }
  .holt-dd__menu { position: absolute; z-index: 20; top: calc(100% - 1px); left: 0; right: 0;
    background: #fff; border: 1px solid #111; max-height: 320px; overflow: auto; }
  .holt-dd__opt { display: flex; align-items: center; gap: 1.2rem; width: 100%; padding: 1rem 1.4rem;
    background: none; border: 0; cursor: pointer; font-size: 1.4rem; text-align: left; color: inherit; }
  .holt-dd__opt:hover { background: #f4f4f4; }
  .holt-dd__opt img, .holt-dd__swatch { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; flex: none; display: block; }

  .holt-sp__cta { display: block; width: 100%; margin-top: 1.6rem; padding: 1.25rem; text-align: center; text-decoration: none;
    background: var(--holt-btn-bg, var(--holt-grad)); color: var(--holt-btn-ink, #111);
    font-weight: 800; letter-spacing: .1em; text-transform: uppercase; font-size: 1.3rem;
    border: 0; cursor: pointer; font-family: inherit; }
  .holt-sp__cta[disabled] { opacity: .6; cursor: wait; }
  .holt-sp__msg { margin-top: .9rem; font-size: 1.25rem; text-align: center; }
  .holt-sp__msg.is-error { color: #c62828; }
  .holt-dd[data-chosen="true"] .holt-dd__toggle { font-weight: 700; }
  .holt-sp__cta2 { display: flex; align-items: center; justify-content: center; gap: .7rem;
    margin-top: .6rem; padding: 1.05rem; text-decoration: none;
    background: #3a3a3a; color: #fff; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; font-size: 1.15rem; }
  .holt-sp__cta2 svg { flex: none; }
  .holt-sp__perks { margin-top: 1.2rem; display: flex; flex-wrap: wrap; gap: .5rem 1.6rem; justify-content: center; text-align: center;
    font-size: 1.15rem; opacity: .85; }
  .holt-sp__perk { display: inline-flex; align-items: center; gap: .5rem; }
/* END_SECTION:holt-starter-pack */

/* START_SECTION:holt-stat-rings (INDEX:46) */
.holt-sr {
    position: relative;
    padding-top: var(--holt-pad, 64px);
    padding-bottom: var(--holt-pad, 64px);
    background: var(--holt-bg, #fff);
  }
  .holt-sr[data-rule="true"] { border-top: 3px solid var(--holt-rule, #5ad3d8); }

  .holt-sr[data-bg="aura"]::before,
  .holt-sr[data-bg="linear"]::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: var(--holt-aura, 1);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 var(--holt-fade-top, 0%), #000 calc(100% - var(--holt-fade-bottom, 0%)), transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 var(--holt-fade-top, 0%), #000 calc(100% - var(--holt-fade-bottom, 0%)), transparent 100%);
  }
  .holt-sr[data-bg="linear"]::before { background: var(--holt-grad); }
  .holt-sr[data-bg="aura"]::before {
    background:
      radial-gradient(34% 40% at 8% 6%,   var(--holt-g1) 0%, var(--holt-g1) 16%, transparent 74%),
      radial-gradient(42% 48% at 92% 10%, var(--holt-g3) 0%, var(--holt-g3) 22%, transparent 74%),
      radial-gradient(46% 46% at 98% 64%, var(--holt-g2) 0%, var(--holt-g2) 22%, transparent 72%),
      radial-gradient(44% 50% at 58% 98%, var(--holt-g2) 0%, var(--holt-g2) 20%, transparent 74%),
      radial-gradient(38% 44% at 18% 84%, var(--holt-g3) 0%, var(--holt-g3) 22%, transparent 74%);
  }

  .holt-sr__inner {
    position: relative;
    z-index: 1;
    max-width: var(--holt-max, 1400px);
    margin: 0 auto;
    padding: 0 2rem;
    box-sizing: border-box;
  }

  .holt-sr__head { margin-bottom: 3.2rem; }
  .holt-sr__heading {
    margin: 0;
    color: var(--holt-head-ink, #111);
    font-size: var(--holt-head-size, 34px);
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -0.01em;
    white-space: pre-line;
  }
  .holt-sr__sub {
    margin: 1.2rem 0 0;
    color: var(--holt-body-ink, #333);
    font-size: var(--holt-body-size, 16px);
    max-width: 60ch;
  }

  .holt-sr__grid {
    display: grid;
    grid-template-columns: repeat(var(--holt-cols, 2), minmax(0, 1fr));
    column-gap: var(--holt-col-gap, 64px);
    row-gap: var(--holt-row-gap, 48px);
  }

  .holt-sr__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 2.4rem;
    align-items: start;
  }

  .holt-sr__ring {
    position: relative;
    width: var(--holt-ring-size, 120px);
    height: var(--holt-ring-size, 120px);
    flex: 0 0 auto;
  }
  .holt-sr__ring svg { width: 100%; height: 100%; display: block; }
  .holt-sr__track { stroke: var(--holt-this-track, var(--holt-track, #d9d9d9)); }
  .holt-sr__arc {
    stroke: var(--holt-this-ring, #5ad3d8);
    stroke-dasharray: var(--holt-dash) var(--holt-gap);
  }
  .holt-sr[data-animate="true"] .holt-sr__arc {
    stroke-dasharray: 0 282.74;
    transition: stroke-dasharray 1.1s cubic-bezier(.22,.61,.36,1);
  }
  .holt-sr[data-animate="true"] .holt-sr__ring.is-in .holt-sr__arc {
    stroke-dasharray: var(--holt-dash) var(--holt-gap);
  }

  .holt-sr__pct {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--holt-this-pct, var(--holt-pct-ink, #5ad3d8));
    font-size: var(--holt-pct-size, 26px);
    font-weight: 700;
    letter-spacing: -0.01em;
  }

  .holt-sr__title {
    margin: 0 0 1rem;
    color: var(--holt-this-title, var(--holt-title-ink, #111));
    font-size: var(--holt-title-size, 16px);
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: var(--holt-title-spacing, .06em);
    text-transform: uppercase;
  }
  .holt-sr__body {
    color: var(--holt-this-body, var(--holt-body-ink, #333));
    font-size: var(--holt-body-size, 16px);
    line-height: 1.6;
  }
  .holt-sr__body p { margin: 0 0 1rem; }
  .holt-sr__body p:last-child { margin-bottom: 0; }

  .holt-sr__note {
    margin: 2.8rem 0 0;
    color: var(--holt-note-ink, #666);
    font-size: var(--holt-note-size, 11px);
    line-height: 1.5;
  }

  @media screen and (max-width: 989px) {
    .holt-sr__grid { grid-template-columns: 1fr; }
  }
  @media screen and (max-width: 749px) {
    .holt-sr__ring { width: var(--holt-ring-size-m, 88px); height: var(--holt-ring-size-m, 88px); }
    .holt-sr__item { gap: 1.6rem; }
  }
  @media (prefers-reduced-motion: reduce) {
    .holt-sr[data-animate="true"] .holt-sr__arc { transition: none; }
  }
/* END_SECTION:holt-stat-rings */

/* START_SECTION:holt-stats (INDEX:47) */
.holt-stats {
    position: relative;
    overflow: hidden;
    background: var(--holt-bg, #ffffff);
    padding-top: var(--holt-pad, 90px);
    padding-bottom: var(--holt-pad, 90px);
    color: var(--holt-ink, #111111);
  }
  .holt-stats__aura {
    position: absolute;
    inset: -18% -12%;
    background:
      radial-gradient(34% 40% at 8% 6%,   var(--holt-g1) 0%, var(--holt-g1) 16%, transparent 74%),
      radial-gradient(42% 48% at 92% 10%, var(--holt-g3) 0%, var(--holt-g3) 22%, transparent 74%),
      radial-gradient(46% 46% at 98% 64%, var(--holt-g2) 0%, var(--holt-g2) 22%, transparent 72%),
      radial-gradient(44% 50% at 58% 98%, var(--holt-g2) 0%, var(--holt-g2) 20%, transparent 74%),
      radial-gradient(38% 44% at 18% 84%, var(--holt-g3) 0%, var(--holt-g3) 22%, transparent 74%);
    filter: blur(70px) saturate(1.05);
    opacity: var(--holt-aura, 1);
    z-index: 0;
    pointer-events: none;
  }
  .holt-stats__inner {
    position: relative;
    z-index: 1;
    text-align: center;
  }
  .holt-stats__heading {
    margin: 0 auto;
    max-width: 20ch;
    font-size: clamp(3.2rem, 4.8vw, 6.4rem);
    line-height: 1.04;
    font-weight: 800;
    letter-spacing: -0.025em;
  }
  .holt-stats__sub {
    margin: 2rem auto 0;
    max-width: 58ch;
    font-size: 1.6rem;
    line-height: 1.55;
    opacity: .78;
  }
  .holt-stats__sub p { margin: 0; }

  .holt-stats__grid {
    display: grid;
    grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr));
    gap: 4rem 2.4rem;
    margin-top: 6.4rem;
  }
  @media screen and (max-width: 990px) {
    .holt-stats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media screen and (max-width: 480px) {
    .holt-stats__grid { grid-template-columns: 1fr; }
  }

  .holt-stats__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
  }
  .holt-stats__label {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin-bottom: 1.2rem;
  }
  .holt-stats__value {
    font-size: clamp(4.8rem, 6.4vw, 8rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.035em;
  }
  .holt-stats__desc {
    margin-top: 1.4rem;
    max-width: 24ch;
    font-size: 1.4rem;
    line-height: 1.45;
    opacity: .82;
  }
  .holt-stats__footnote {
    margin: 5.6rem auto 0;
    max-width: 72ch;
    font-size: 1.1rem;
    line-height: 1.5;
    opacity: .55;
  }
/* END_SECTION:holt-stats */

/* START_SECTION:holt-testimonial (INDEX:48) */
.holt-tm {
    padding-top: var(--holt-pad-y, 32px);
    padding-bottom: var(--holt-pad-y, 32px);
  }
  .holt-tm__inner {
    max-width: var(--holt-max, 1600px);
    margin: 0 auto;
    padding: 0 var(--holt-gutter, 16px);
    box-sizing: border-box;
  }
  /* edge to edge, no gutter, no rounding */
  .holt-tm[data-full="true"] .holt-tm__inner { max-width: none; padding: 0; }
  .holt-tm[data-full="true"] .holt-tm__card { border-radius: 0; }

  .holt-tm__card {
    position: relative;
    height: var(--holt-h, 460px);
    border-radius: var(--holt-radius, 16px);
    overflow: hidden;
    display: flex;
    align-items: center;
  }

  .holt-tm__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .holt-tm__img--ph { background: linear-gradient(135deg, #e7fe88, #ffd9a8, #c9b6ff); }
  .holt-tm__img--m { display: none; }

  .holt-tm__card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
  }
  .holt-tm[data-scrim="gradient"] .holt-tm__card::after {
    background: linear-gradient(90deg,
      rgba(0,0,0,var(--holt-scrim,.45)) 0%,
      rgba(0,0,0,calc(var(--holt-scrim,.45) * .7)) 45%,
      transparent 78%);
  }
  .holt-tm[data-scrim="even"] .holt-tm__card::after { background: rgba(0,0,0,var(--holt-scrim,.45)); }
  .holt-tm[data-scrim="none"] .holt-tm__card::after { background: none; }
  .holt-tm[data-align="right"][data-scrim="gradient"] .holt-tm__card::after {
    background: linear-gradient(270deg,
      rgba(0,0,0,var(--holt-scrim,.45)) 0%,
      rgba(0,0,0,calc(var(--holt-scrim,.45) * .7)) 45%,
      transparent 78%);
  }

  .holt-tm__body {
    position: relative;
    z-index: 2;
    width: var(--holt-text-w, 50%);
    padding: 0 var(--holt-text-pad, 50px);
    box-sizing: border-box;
  }
  .holt-tm[data-align="right"] .holt-tm__body { margin-left: auto; }
  .holt-tm[data-align="center"] .holt-tm__body {
    margin: 0 auto;
    text-align: center;
    width: min(var(--holt-text-w, 50%), 80rem);
  }

  /* gradient badge */
  .holt-tm__badge {
    display: inline-block;
    margin: 0 0 1.8rem;
    padding: .7rem 1.6rem;
    background: var(--holt-badge-bg);
    color: var(--holt-badge-ink, #111111);
    border-radius: var(--holt-badge-radius, 999px);
    font-size: var(--holt-badge-size, 12px);
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    line-height: 1;
  }

  /* the theme adds rules and indents to blockquote — strip them */
  .holt-tm__quote {
    margin: 0;
    padding: 0;
    border: 0;
    quotes: none;
    color: var(--holt-quote-ink, #ffffff);
    font-size: var(--holt-quote-size, 34px);
    line-height: 1.16;
    font-weight: var(--holt-quote-weight, 700);
    letter-spacing: -0.01em;
  }
  .holt-tm__quote::before,
  .holt-tm__quote::after { content: none; }
  .holt-tm__quote p { margin: 0; }

  .holt-tm__name {
    margin: 2rem 0 0;
    color: var(--holt-name-ink, #ffffff);
    font-size: var(--holt-name-size, 15px);
    font-weight: 500;
    opacity: .92;
  }

  .holt-tm__btn {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    margin-top: 3rem;
    padding: 1.4rem 2.8rem;
    color: var(--holt-btn-ink, #ffffff);
    background: var(--holt-btn-bg, rgba(255,255,255,.12));
    border: var(--holt-btn-border-w, 2px) solid var(--holt-btn-border, #ffffff);
    border-radius: var(--holt-btn-radius, 40px);
    font-size: var(--holt-btn-size, 14px);
    font-weight: 600;
    text-decoration: none;
    backdrop-filter: blur(6px);
    transition: background .2s ease, transform .2s ease;
  }
  .holt-tm__btn:hover {
    background: rgba(255,255,255,.24);
    color: var(--holt-btn-ink, #ffffff);
    transform: translateX(2px);
  }

  @media screen and (max-width: 749px) {
    .holt-tm__inner { padding: 0 1.2rem; }
    .holt-tm[data-full="true"] .holt-tm__inner { padding: 0; }
    .holt-tm__card { height: var(--holt-h-m, 520px); align-items: flex-end; }

    .holt-tm__img--m { display: block; }
    .holt-tm__card:has(.holt-tm__img--m) .holt-tm__img--d { display: none; }

    .holt-tm[data-scrim="gradient"] .holt-tm__card::after,
    .holt-tm[data-align="right"][data-scrim="gradient"] .holt-tm__card::after {
      background: linear-gradient(0deg,
        rgba(0,0,0,calc(var(--holt-scrim,.45) + .2)) 0%,
        rgba(0,0,0,var(--holt-scrim,.45)) 40%,
        transparent 85%);
    }

    .holt-tm__body,
    .holt-tm[data-align="right"] .holt-tm__body,
    .holt-tm[data-align="center"] .holt-tm__body {
      width: 100%;
      margin: 0;
      text-align: left;
      padding: 0 2.4rem 3.2rem;
    }
    .holt-tm__quote { font-size: var(--holt-quote-size-m, 24px); }
    .holt-tm__btn { margin-top: 2.2rem; }
  }
/* END_SECTION:holt-testimonial */