/** Shopify CDN: Minification failed

Line 965:18 Unexpected "{"
Line 965:27 Expected ":"
Line 968:46 Unexpected "{"
Line 968:55 Expected ":"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:hab-brand-bestsellers (INDEX:26) */
.hab-brand-bestsellers { background: #fff; }
  .hab-brand-bestsellers__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(14px, 1.6vw, 20px);
  }
  .hab-brand-bestsellers__body { padding: 14px 16px 18px; }
  /* Heading role — section H2 inside shared .hab-brand__sechead.
     Descendant selector beats hab-editorial.css by specificity, so cascade
     order is not required. Fluid clamp preserved; desktop max is settings-driven. */
  .hab-brand-bestsellers .hab-brand__sechead h2 {
    font-family: var(--hab-fs-heading-family, var(--hab-role-heading-family));
    font-weight: var(--hab-fs-heading-weight, var(--hab-role-heading-weight));
    font-size: var(--hab-fs-heading-size, 28px);
    letter-spacing: var(--hab-fs-heading-letter, -.015em);
    line-height: var(--hab-fs-heading-line, 1.15);
    text-transform: var(--hab-fs-heading-transform, var(--hab-role-heading-transform));
    font-style: var(--hab-fs-heading-style, var(--hab-role-heading-style));
    margin: 0;
  }
  /* Accent role — "Shop all N →" meta link. */
  .hab-brand-bestsellers .hab-brand__sechead .all {
    font-family: var(--hab-fs-accent-family, var(--hab-role-accent-family));
    font-weight: var(--hab-fs-accent-weight, var(--hab-role-accent-weight));
    font-size: var(--hab-fs-accent-size, 11px);
    letter-spacing: var(--hab-fs-accent-letter, .16em);
    line-height: var(--hab-fs-accent-line, 1.2);
    text-transform: var(--hab-fs-accent-transform, var(--hab-role-accent-transform));
    font-style: var(--hab-fs-accent-style, var(--hab-role-accent-style));
  }
  .hab-brand-bestsellers__title {
    font-family: var(--font-heading-family);
    font-weight: var(--hab-w-emphasis);
    font-size: 14px;
    line-height: 1.25;
    margin-bottom: 6px;
    color: var(--hab-ink);
  }
  .hab-brand-bestsellers__price {
    font-family: var(--font-heading-family);
    font-weight: var(--hab-w-emphasis);
    font-size: 14px;
    color: var(--hab-ink);
  }
  @media (max-width: 900px) {
    .hab-brand-bestsellers__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 540px) {
    .hab-brand-bestsellers__grid { grid-template-columns: 1fr; }
  }
/* END_SECTION:hab-brand-bestsellers */

/* START_SECTION:hab-brand-hero (INDEX:31) */
.hab-brand-hero { position: relative; color: var(--hab-ivory); font-family: var(--font-body-family); }
  .hab-brand-hero__stage { position: relative; min-height: var(--hab-fs-hero-stage-min-height, 100vh); overflow: hidden; isolation: isolate; display: flex; }
  .hab-brand-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: var(--hab-media-fit-cover, cover); z-index: -2; }
  .hab-brand-hero__bg--grad { background: linear-gradient(160deg, #6E6A4E, #2A3127 60%, #1b2018); }
  .hab-brand-hero__scrim {
    position: absolute; inset: 0;
    background: linear-gradient(180deg,
      color-mix(in srgb, var(--hab-fs-hero-overlay-tone, #14110D) 15%, transparent) 0%,
      color-mix(in srgb, var(--hab-fs-hero-overlay-tone, #14110D) 15%, transparent) 30%,
      color-mix(in srgb, var(--hab-fs-hero-overlay-tone, #14110D) 85%, transparent) 100%);
    z-index: -1;
  }
  .hab-brand-hero[data-overlay="light"] .hab-brand-hero__scrim {
    background: linear-gradient(180deg,
      color-mix(in srgb, var(--hab-fs-hero-overlay-tone, #14110D) 8%, transparent) 0%,
      color-mix(in srgb, var(--hab-fs-hero-overlay-tone, #14110D) 8%, transparent) 30%,
      color-mix(in srgb, var(--hab-fs-hero-overlay-tone, #14110D) 65%, transparent) 100%);
  }
  .hab-brand-hero[data-overlay="heavy"] .hab-brand-hero__scrim {
    background: linear-gradient(180deg,
      color-mix(in srgb, var(--hab-fs-hero-overlay-tone, #14110D) 25%, transparent) 0%,
      color-mix(in srgb, var(--hab-fs-hero-overlay-tone, #14110D) 25%, transparent) 30%,
      color-mix(in srgb, var(--hab-fs-hero-overlay-tone, #14110D) 92%, transparent) 100%);
  }
  .hab-brand-hero__inner {
    display: flex; flex-direction: column;
    gap: var(--hab-layout-gap-md, 24px);
    /* Top padding already controls header clearance; avoid a second negative lift that can clip the H1 beneath the site header. */
    transform: none;
    min-height: var(--hab-fs-hero-stage-min-height, 100vh);
    padding-top: var(--hab-fs-hero-pad-top, 172px);
    padding-bottom: clamp(
      var(--hab-fs-hero-pad-bot-min, 40px),
      var(--hab-fs-hero-pad-bot-slope, 7vh),
      var(--hab-fs-hero-pad-bot-max, 84px)
    );
    max-width: var(--hab-fs-hero-inner-max-width, 1280px);
    margin: 0 auto;
    width: 100%;
  }
  .hab-brand-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(24px, 4vw, 56px);
    align-items: end;
    margin-top: 0;
  }
  /* Vertical alignment belongs to the usable padded hero area. Do not use auto margins that can pin CTAs to the section edge. */
  .hab-brand-hero__inner { justify-content: var(--hab-fs-hero-copy-vertical, flex-start); }
  .hab-brand-hero__inner > .hab-brand-hero__grid { flex: 0 0 auto; }
  .hab-brand-hero__copy { max-width: var(--hab-fs-hero-copy-max-width, 640px); }
  /* Rail-logo — sits above the topmost fact item inside .hab-brand-hero__facts-rail. */
  /* Mobile-only inline logo — hidden by default, shown <768px (see mobile media block). */
  .hab-brand-hero__logo-inline { display: none; }
  .hab-brand-hero__logo-rail {
    width: var(--hab-fs-hero-lr-width, 150px);
    max-width: none;
    margin-bottom: var(--hab-fs-hero-lr-gap-bottom, 24px);
    align-self: var(--hab-fs-hero-lr-align, flex-end);
    flex: 0 0 auto;
    display: inline-flex;
    background: var(--hero-lr-scrim-bg, transparent);
    padding: var(--hero-lr-scrim-padding, 0px);
    border-radius: var(--hero-lr-scrim-radius, 0px);
    box-sizing: border-box;
  }
  .hab-brand-hero__logo-rail img {
    width: 100%;
    height: auto;
    display: block;
    max-height: none;
    object-fit: var(--hab-media-fit-contain, contain);
  }
  /* Accent role — .hab-brand-hero__eyebrow. Overrides shared .hab-brand__eyebrow
     rules from hab-editorial.css by cascade order (section stylesheet loads later). */
  .hab-brand-hero__eyebrow {
    font-family: var(--hab-fs-accent-family, var(--hab-role-accent-family));
    font-weight: var(--hab-fs-accent-weight, 600);
    font-size: var(--hab-fs-accent-size, 12px);
    letter-spacing: var(--hab-fs-accent-letter, .22em);
    line-height: var(--hab-fs-accent-line, 1.2);
    text-transform: var(--hab-fs-accent-transform, var(--hab-role-accent-transform));
    font-style: var(--hab-fs-accent-style, var(--hab-role-accent-style));
    color: var(--hab-fs-hero-eb-color, var(--hab-brass));
    margin-bottom: 12px;
  }
  /* Heading role — H1 title. Fluid clamp preserved; desktop max is settings-driven. */
  .hab-brand-hero__title {
    font-family: var(--hab-fs-heading-family, var(--hab-role-heading-family));
    font-weight: var(--hab-fs-heading-weight, 800);
    font-size: var(--hab-fs-heading-size, 78px);
    line-height: var(--hab-fs-heading-line, .98);
    letter-spacing: var(--hab-fs-heading-letter, -.03em);
    text-transform: var(--hab-fs-heading-transform, var(--hab-role-heading-transform));
    font-style: var(--hab-fs-heading-style, var(--hab-role-heading-style));
    color: var(--hab-fs-hero-h1-color, var(--hab-ivory));
    margin: 0 0 18px;
  }
  /* Body role — brand profile lead. Fluid clamp preserved. */
  .hab-brand-hero__lead {
    font-family: var(--hab-fs-body-family, var(--hab-role-body-family));
    font-weight: var(--hab-fs-body-weight, var(--hab-role-body-weight));
    font-size: var(--hab-fs-body-size, 18px);
    line-height: var(--hab-fs-body-line, 1.6);
    letter-spacing: var(--hab-fs-body-letter, 0);
    text-transform: var(--hab-fs-body-transform, var(--hab-role-body-transform));
    font-style: var(--hab-fs-body-style, var(--hab-role-body-style));
    color: var(--hab-fs-hero-ld-color, #F5F1E8);
    opacity: var(--hab-fs-hero-ld-opacity, .7);
    margin: 0 0 26px;
    max-width: var(--hab-fs-hero-ld-max-width, 52ch);
  }
  .hab-brand-hero__lead p { margin: 0 0 8px; }
  .hab-brand-hero__lead p:last-child { margin-bottom: 0; }
  .hab-brand-hero__ctas { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
  /* Universal CTA icon size — without this, an inline <svg> with no width/height
     attributes and no CSS constraint expands to fill available flex space
     (was inflating the primary CTA to ~111px tall on mobile because min-width:
     320px let the flex row grow the SVG to ~81px). */
  .hab-brand-hero .hab-btn svg,
  .hab-brand-hero .hab-btn .icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
  }
  /* CTA sizing safeguards — nowrap prevents label wrap that turns pill into circle;
     flex-shrink:0 stops parent from compressing below content width. Padding is
     explicit (overriding .hab-btn--lg's calc) so both buttons match in height. */
  .hab-brand-hero__ctas .hab-btn--primary,
  .hab-brand-hero__ctas .hab-brand-hero__btn-primary--ivory,
  .hab-brand-hero__ctas .hab-btn--secondary,
  .hab-brand-hero__ctas .hab-brand-hero__btn-secondary {
    white-space: nowrap;
    flex-shrink: 0;
    padding: var(--hab-hero-button-padding, 14px 28px) !important;
    min-height: 46px;
    box-sizing: border-box;
  }
  .hab-brand-hero__btn-primary--ivory {
    background: var(--hab-fs-hero-bt-p-bg, rgba(20,17,13,.35)) !important;
    color: var(--hab-fs-hero-bt-p-text, #F5F1E8) !important;
    border: var(--hab-fs-hero-bt-p-border-width, 1px) solid var(--hab-fs-hero-bt-p-border, rgba(245,241,232,.55)) !important;
    border-radius: var(--hab-fs-hero-bt-radius, 100px) !important;
    backdrop-filter: blur(var(--hab-fs-hero-bt-s-blur, 4px));
    -webkit-backdrop-filter: blur(var(--hab-fs-hero-bt-s-blur, 4px));
  }
  .hab-brand-hero__btn-primary--ivory:hover,
  .hab-brand-hero__btn-primary--ivory:focus-visible {
    background: var(--hab-fs-hero-bt-p-bg, rgba(20,17,13,.55)) !important;
    color: var(--hab-fs-hero-bt-p-text, #F5F1E8) !important;
    border-color: var(--hab-fs-hero-bt-p-border, rgba(245,241,232,.55)) !important;
  }
  .hab-brand-hero__btn-secondary {
    background: var(--hab-fs-hero-bt-s-bg, rgba(20,17,13,.35)) !important;
    backdrop-filter: blur(var(--hab-fs-hero-bt-s-blur, 4px));
    -webkit-backdrop-filter: blur(var(--hab-fs-hero-bt-s-blur, 4px));
    color: var(--hab-fs-hero-bt-s-text, #F5F1E8) !important;
    border: var(--hab-fs-hero-bt-s-border-width, 1px) solid var(--hab-fs-hero-bt-s-border, #F5F1E8) !important;
    border-radius: var(--hab-fs-hero-bt-radius, 12px) !important;
    padding: 13px 24px;
  }
  .hab-brand-hero__btn-secondary:hover,
  .hab-brand-hero__btn-secondary:focus-visible {
    background: var(--hab-fs-hero-bt-s-bg, rgba(20,17,13,.55)) !important;
    color: var(--hab-fs-hero-bt-s-text, #F5F1E8) !important;
    border-color: var(--hab-fs-hero-bt-s-border, #F5F1E8) !important;
  }
  .hab-brand-hero__facts {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px 32px;
    padding: 20px 24px;
    background: rgba(0,0,0,.28);
    border: 1px solid rgba(245,241,232,.18);
    border-radius: 4px;
    backdrop-filter: blur(6px);
    min-width: 220px;
  }
  .hab-brand-hero__fact .fn {
    font-family: var(--font-heading-family);
    font-weight: var(--hab-w-display);
    font-size: 20px;
    line-height: 1.1;
    color: var(--hab-ivory);
  }
  .hab-brand-hero__fact .fl {
    font-family: var(--font-heading-family);
    font-size: 10px;
    letter-spacing: .14em;
    text-transform: var(--hab-type-transform-eyebrow, uppercase);
    font-weight: var(--hab-w-emphasis);
    color: rgba(245,241,232,.65);
    margin-top: 3px;
  }
  /* Vertical facts rail (desktop) — sibling of __bg / __scrim / __inner inside __stage.
     Absolute-positioned right rail; each item stacked (value on top, label beneath),
     right-aligned; thin hairline divider between items via border-top on siblings. */
  .hab-brand-hero__facts-rail {
    position: absolute;
    right: var(--hab-fs-hero-fr-right, 44px);
    top: 50%;
    transform: translateY(-50%);
    width: var(--hab-fs-hero-fr-width, 180px);
    max-height: 80vh;
    overflow: visible;
    display: flex;
    flex-direction: column;
    gap: var(--hab-fs-hero-fr-gap, 16px);
    text-align: right;
    z-index: 3;
  }
  .hab-brand-hero__rail-item {
    width: 100%;
    align-self: flex-end;
    text-align: right;
    padding-inline: 0;
    margin-inline: 0;
  }
  .hab-brand-hero__rail-item .fn,
  .hab-brand-hero__rail-item .fl {
    display: block;
    width: 100%;
    padding: 0;
    margin-left: 0;
    margin-right: 0;
    text-align: right;
    box-sizing: border-box;
  }
  .hab-brand-hero__rail-item + .hab-brand-hero__rail-item {
    border-top: var(--hab-fs-hero-fr-div-width, 1px) solid var(--hab-fs-hero-fr-div-color, rgba(245,241,232,.22));
    padding-top: var(--hab-fs-hero-fr-item-pad, 12px);
  }
  .hab-brand-hero__rail-item .fn {
    font-family: var(--hab-fs-hero-rv-family, var(--font-heading-family));
    font-weight: var(--hab-fs-hero-rv-weight, var(--hab-w-display, 700));
    font-size: var(--hab-fs-hero-rv-size, 18px);
    line-height: var(--hab-fs-hero-rv-line, 1);
    letter-spacing: var(--hab-fs-hero-rv-letter, 0);
    text-transform: var(--hab-fs-hero-rv-transform, none);
    font-style: var(--hab-fs-hero-rv-style, normal);
    color: var(--hab-fs-hero-rv-color, var(--hab-ivory));
  }
  .hab-brand-hero__rail-item .fl {
    font-family: var(--hab-fs-hero-rl-family, var(--font-heading-family));
    font-weight: var(--hab-fs-hero-rl-weight, var(--hab-w-emphasis, 600));
    font-size: var(--hab-fs-hero-rl-size, 9px);
    letter-spacing: var(--hab-fs-hero-rl-letter, .12em);
    line-height: var(--hab-fs-hero-rl-line, 1.2);
    text-transform: var(--hab-fs-hero-rl-transform, uppercase);
    font-style: var(--hab-fs-hero-rl-style, normal);
    color: var(--hab-fs-hero-rl-color, #F5F1E8);
    opacity: var(--hab-fs-hero-rl-opacity, .65);
    margin-top: 4px;
  }
  /* Part 2: CTA typography scoping — merchant controls per-hero CTA label style */
  .hab-brand-hero__ctas .hab-btn--primary,
  .hab-brand-hero__ctas .hab-brand-hero__btn-primary--ivory {
    font-family: var(--hab-fs-hero-pc-family, var(--hab-ff-heading));
    font-weight: var(--hab-fs-hero-pc-weight, 600);
    font-size: var(--hab-fs-hero-pc-size, 14px);
    letter-spacing: var(--hab-fs-hero-pc-letter, .02em);
    text-transform: var(--hab-fs-hero-pc-transform, none);
  }
  .hab-brand-hero__ctas .hab-btn--secondary,
  .hab-brand-hero__ctas .hab-brand-hero__btn-secondary {
    font-family: var(--hab-fs-hero-sc-family, var(--hab-ff-heading));
    font-weight: var(--hab-fs-hero-sc-weight, 600);
    font-size: var(--hab-fs-hero-sc-size, 14px);
    letter-spacing: var(--hab-fs-hero-sc-letter, .02em);
    text-transform: var(--hab-fs-hero-sc-transform, none);
  }
  @media (max-width: 900px) {
    .hab-brand-hero__grid { grid-template-columns: 1fr; gap: var(--hab-layout-gap-md, 24px); align-items: start; }
    .hab-brand-hero__facts {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      order: 2;
    }
    .hab-brand-hero__copy { order: 1; }
    .hab-brand-hero__stage,
    .hab-brand-hero__inner {
      min-height: var(--hab-fs-hero-stage-min-height-mobile, auto);
    }
    .hab-brand-hero__inner {
      padding: 32px 20px 40px;
    }
  }
  /* Rail collapses to a horizontal strip below the copy on mobile.
     Chosen strategy: flex-direction:column on __stage + order:2 on the rail so it
     flows AFTER __inner in the natural document order. */
  @media (max-width: 768px) {
    .hab-brand-hero__stage { flex-direction: column; }
    .hab-brand-hero__facts-rail {
      position: static;
      width: 100%;
      flex-direction: row;
      flex-wrap: wrap;
      gap: 20px 28px;
      text-align: left;
      margin-top: 20px;
      transform: none;
      right: auto;
      top: auto;
      order: 2;
      padding: 0 clamp(20px, 4vw, 42px) 24px;
    }
    .hab-brand-hero__rail-item + .hab-brand-hero__rail-item {
      border-top: none;
      padding-top: 0;
    }
  }
  /* Wave hero-mobile-rebalance · scoped <768px readability + rhythm overrides.
     Layered ATOP the two blocks above so cascade order lets these win. */
  @media (max-width: 768px) {
    /* Doubled selector bumps specificity to 0-2-0 so the shared .hab-brand__eyebrow
       rule (0-1-0) can't win the cascade after being re-loaded by another section. */
    .hab-brand-hero__eyebrow.hab-brand__eyebrow {
      margin-top: 48px;
      margin-bottom: 8px;
      font-size: var(--hab-fs-accent-size, 11px);
      letter-spacing: 0.15em;
    }
    .hab-brand-hero__title {
      font-size: var(--hab-fs-heading-size, 48px);
      line-height: var(--hab-fs-heading-line, var(--hab-type-line-headline, 1.05));
      letter-spacing: var(--hab-fs-heading-letter, -0.02em);
      margin-top: 4px;
      padding-right: 0;
      text-wrap: balance;
    }
    .hab-brand-hero__lead {
      font-size: var(--hab-fs-body-size, 15px);
      line-height: var(--hab-fs-body-line, var(--hab-type-line-body, 1.5));
      color: var(--hab-fs-hero-ld-color, rgba(255,255,255,.92));
      opacity: var(--hab-fs-hero-ld-opacity, 1);
      text-shadow: 0 1px 3px rgba(0,0,0,.5);
      max-width: 90%;
      margin-block: 12px 20px;
    }
    .hab-brand-hero__scrim {
      background-image: linear-gradient(
        180deg,
        rgba(0,0,0,.55) 0%,
        rgba(0,0,0,.35) 35%,
        rgba(0,0,0,.15) 55%,
        rgba(0,0,0,.4) 85%,
        rgba(0,0,0,.7) 100%
      );
    }
    /* Full flex chain so CTAs sit at the bottom of __copy, which visually sits
       just above __facts-rail (sibling of __inner in the __stage flex column).
       Chain: __stage(flex column, 100vh) > __inner(flex-grow:1) > __grid(flex column
       + flex-grow:1) > __copy(flex-grow:1) > ctas(margin-top:auto). */
    .hab-brand-hero__stage {
      min-height: calc(100vh - 60px) !important;
    }
    .hab-brand-hero__inner {
      flex-grow: 1 !important;
      transform: none !important;
    }
    .hab-brand-hero__grid {
      display: flex !important;
      flex-direction: column !important;
      flex-grow: 1 !important;
    }
    .hab-brand-hero__ctas {
      flex-direction: column;
      align-items: center;
      gap: 10px;
      margin-top: auto !important;
      margin-bottom: 16px !important;
    }
    .hab-brand-hero__ctas .hab-btn,
    .hab-brand-hero__ctas .hab-btn--primary,
    .hab-brand-hero__ctas .hab-btn--secondary {
      width: 100% !important;
      max-width: 320px !important;
      min-width: 320px !important;
      box-sizing: border-box !important;
      justify-content: center !important;
      text-align: center !important;
    }
    .hab-brand-hero__ctas .hab-btn--primary svg,
    .hab-brand-hero__ctas .hab-btn--primary .icon {
      margin-left: 8px;
    }
    .hab-brand-hero__facts,
    .hab-brand-hero__facts-rail {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: var(--hab-layout-gap-sm, 16px) 12px;
      margin-top: 0 !important;
      padding: 16px 0 40px;
      text-align: center;
      background: transparent;
      border: none;
      border-top: 1px solid rgba(255,255,255,.15);
      border-radius: 0;
      backdrop-filter: none;
    }
    .hab-brand-hero__fact,
    .hab-brand-hero__rail-item {
      text-align: center;
      padding: 0;
    }
    .hab-brand-hero__fact .fn,
    .hab-brand-hero__rail-item .fn {
      font-size: 14px;
      text-align: center;
    }
    .hab-brand-hero__fact .fl,
    .hab-brand-hero__rail-item .fl {
      font-size: 11px;
      text-align: center;
    }
    /* Desktop rail-logo hidden on mobile — mobile shows the inline logo inside __copy instead. */
    .hab-brand-hero__logo-rail { display: none; }
    .hab-brand-hero__logo-inline {
      display: block;
      max-width: 210px;
      width: 100%;
      height: auto;
      margin: 0 0 12px;
      filter: drop-shadow(0 2px 8px rgba(0,0,0,.6));
    }
    .hab-brand-hero__copy {
      padding-block: 24px 0;
      display: flex !important;
      flex-direction: column !important;
      flex-grow: 1 !important;
      min-height: auto !important;
    }
    .hab-brand-hero__logo-inline {
      max-width: var(--hero-mobile-logo-size, 210px) !important;
      background: var(--hero-mobile-logo-scrim-bg, transparent) !important;
      padding: var(--hero-mobile-logo-scrim-padding, 0px) !important;
      border-radius: var(--hero-mobile-logo-scrim-radius, 0px) !important;
      box-sizing: border-box !important;
    }
  }
/* END_SECTION:hab-brand-hero */

/* START_SECTION:hab-brand-journal (INDEX:33) */
.hab-brand-journal { font-family: var(--font-body-family); }
  .hab-brand-journal__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 2.4vw, 26px);
  }
  /* Adaptive grid — column count scales to article count (1 = full, 2 = 50/50, 3 = thirds) */
  .hab-brand-journal__grid[data-count="1"] { grid-template-columns: minmax(0, 1fr); }
  .hab-brand-journal__grid[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hab-brand-journal__grid[data-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  /* 1-article horizontal editorial — image left 40 / text right 60, capped at 380px height */
  .hab-brand-journal__grid[data-count="1"] .hab-brand-journal__card {
    display: grid;
    grid-template-columns: 40fr 60fr;
    gap: clamp(24px, 3vw, 48px);
    align-items: center;
    max-height: 380px;
    overflow: hidden;
  }
  .hab-brand-journal__grid[data-count="1"] .hab-brand__media,
  .hab-brand-journal__grid[data-count="1"] .hab-brand-journal__ph {
    max-height: 380px;
    aspect-ratio: auto;
    height: 100%;
  }
  .hab-brand-journal__grid[data-count="1"] .hab-brand__media img {
    width: 100%;
    height: 100%;
    max-height: 380px;
    object-fit: cover;
  }
  .hab-brand-journal__grid[data-count="1"] .hab-brand-journal__body {
    padding: clamp(20px, 2.5vw, 40px);
  }
  .hab-brand-journal__card { background: #fff; }
  .hab-brand-journal__ph { background: linear-gradient(135deg, #c9d2b4, #5c654d); }
  .hab-brand-journal__body { padding: 16px 18px 20px; }
  /* Heading role — section h2 in shared .hab-brand__sechead.
     Scoped with .hab-brand-journal prefix to raise specificity above
     the base rule in hab-editorial.css (0,0,3 > 0,0,2). */
  .hab-brand-journal .hab-brand__sechead h2 {
    font-family: var(--hab-fs-heading-family, var(--hab-role-heading-family));
    font-weight: var(--hab-fs-heading-weight, var(--hab-role-heading-weight));
    font-size: var(--hab-fs-heading-size, 28px);
    letter-spacing: var(--hab-fs-heading-letter, -.015em);
    line-height: var(--hab-fs-heading-line, 1.15);
    text-transform: var(--hab-fs-heading-transform, var(--hab-role-heading-transform));
    font-style: var(--hab-fs-heading-style, var(--hab-role-heading-style));
  }
  /* Accent role — per-card eyebrow / kicker tag. */
  .hab-brand-journal__eyebrow {
    font-family: var(--hab-fs-accent-family, var(--hab-role-accent-family));
    font-weight: var(--hab-fs-accent-weight, var(--hab-role-accent-weight));
    font-size: var(--hab-fs-accent-size, 10px);
    letter-spacing: var(--hab-fs-accent-letter, .16em);
    line-height: var(--hab-fs-accent-line, 1.2);
    text-transform: var(--hab-fs-accent-transform, var(--hab-role-accent-transform));
    font-style: var(--hab-fs-accent-style, var(--hab-role-accent-style));
    color: var(--hab-brass);
    margin-bottom: 6px;
  }
  .hab-brand-journal__title {
    font-family: var(--font-heading-family);
    font-weight: var(--hab-w-emphasis);
    font-size: 17px;
    line-height: 1.25;
    letter-spacing: -.01em;
    margin: 0 0 8px;
    color: var(--hab-ink);
  }
  /* Body role — article excerpt prose. */
  .hab-brand-journal__excerpt {
    font-family: var(--hab-fs-body-family, var(--hab-role-body-family));
    font-weight: var(--hab-fs-body-weight, var(--hab-role-body-weight));
    font-size: var(--hab-fs-body-size, 13.5px);
    line-height: var(--hab-fs-body-line, 1.55);
    letter-spacing: var(--hab-fs-body-letter, 0);
    text-transform: var(--hab-fs-body-transform, var(--hab-role-body-transform));
    font-style: var(--hab-fs-body-style, var(--hab-role-body-style));
    opacity: .72;
    margin: 0;
  }
  @media (max-width: 900px) {
    .hab-brand-journal__grid,
    .hab-brand-journal__grid[data-count] { grid-template-columns: 1fr !important; }
    .hab-brand-journal__grid[data-count="1"] .hab-brand-journal__card {
      grid-template-columns: 1fr !important;
      max-height: none !important;
    }
    .hab-brand-journal__grid[data-count="1"] .hab-brand__media img {
      max-height: 280px !important;
    }
  }
/* END_SECTION:hab-brand-journal */

/* START_SECTION:hab-brand-manuals (INDEX:34) */
.hab-brand-manuals { font-family: var(--font-body-family); background: #fff; }
  /* Heading role — section H2. Fluid clamp preserved; desktop max is settings-driven.
     Overrides shared .hab-brand__sechead h2 rule from hab-editorial.css via added
     specificity (section root class + descendants) and later cascade order. */
  .hab-brand-manuals .hab-brand__sechead h2 {
    font-family: var(--hab-fs-heading-family, var(--hab-role-heading-family));
    font-weight: var(--hab-fs-heading-weight, var(--hab-role-heading-weight));
    font-size: var(--hab-fs-heading-size, 28px);
    line-height: var(--hab-fs-heading-line, 1.15);
    letter-spacing: var(--hab-fs-heading-letter, -.015em);
    text-transform: var(--hab-fs-heading-transform, var(--hab-role-heading-transform));
    font-style: var(--hab-fs-heading-style, var(--hab-role-heading-style));
  }
  .hab-brand-manuals__chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--hab-brass);
    font-size: 10px;
    line-height: 1;
  }
  .hab-brand-manuals__chevron-down { display: inline; }
  .hab-brand-manuals__chevron-up { display: none; }
  .hab-brand-manuals__group[open] .hab-brand-manuals__chevron-down { display: none; }
  .hab-brand-manuals__group[open] .hab-brand-manuals__chevron-up { display: inline; }
  .hab-brand-manuals__pdf {
    font-family: var(--font-heading-family);
    font-weight: var(--hab-w-display);
    font-size: 10px;
    letter-spacing: .1em;
    padding: 6px 8px;
    background: #fff;
    border: 1px solid rgba(42,34,27,.15);
    border-radius: 2px;
    color: var(--hab-rust);
    line-height: 1;
  }
  /* Body role — per-row manual title. Force single-line ellipsis so the
     accordion summary stays a compact one-liner even for long PDF filenames. */
  .hab-brand-manuals__title {
    font-family: var(--hab-fs-body-family, var(--hab-role-body-family));
    font-weight: var(--hab-fs-body-weight, var(--hab-role-body-weight));
    font-size: var(--hab-fs-body-size, 14px);
    line-height: var(--hab-fs-body-line, 1.3);
    letter-spacing: var(--hab-fs-body-letter, 0);
    text-transform: var(--hab-fs-body-transform, var(--hab-role-body-transform));
    font-style: var(--hab-fs-body-style, var(--hab-role-body-style));
    color: var(--hab-ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
  }
  /* Accent role — download label. */
  .hab-brand-manuals__dl {
    font-family: var(--hab-fs-accent-family, var(--hab-role-accent-family));
    font-weight: var(--hab-fs-accent-weight, var(--hab-role-accent-weight));
    font-size: var(--hab-fs-accent-size, 11px);
    letter-spacing: var(--hab-fs-accent-letter, .14em);
    line-height: var(--hab-fs-accent-line, 1.2);
    text-transform: var(--hab-fs-accent-transform, var(--hab-role-accent-transform));
    font-style: var(--hab-fs-accent-style, var(--hab-role-accent-style));
    color: var(--hab-brass);
    white-space: nowrap;
  }
  /* Grouped mode — one <details> per brand_range, with a flat <ul> of
     file download links inside. */
  .hab-brand-manuals__groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
  @media (max-width: 700px) {
    .hab-brand-manuals__groups { grid-template-columns: 1fr; }
  }
  .hab-brand-manuals__group {
    background: var(--hab-ivory);
    border: var(--hab-fs-bm-row-border-width, 1px) solid rgba(42,34,27,.08);
    border-radius: 4px;
    color: var(--hab-ink);
    transition: border-color .15s;
    overflow: hidden;
  }
  .hab-brand-manuals__group:hover { border-color: var(--hab-sage); }
  .hab-brand-manuals__group-summary {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    cursor: pointer;
    list-style: none;
    user-select: none;
  }
  .hab-brand-manuals__group-summary::-webkit-details-marker { display: none; }
  .hab-brand-manuals__group-summary::marker { content: ''; }
  .hab-brand-manuals__group-label {
    font-family: var(--hab-fs-body-family, var(--hab-role-body-family));
    font-weight: 600;
    font-size: 15px;
    color: var(--hab-ink);
    letter-spacing: -0.01em;
  }
  .hab-brand-manuals__group-count {
    font-family: var(--font-heading-family);
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(42,34,27,.55);
    white-space: nowrap;
  }
  .hab-brand-manuals__group-list {
    list-style: none;
    margin: 0;
    padding: 0 0 8px;
    border-top: 1px solid rgba(42,34,27,.06);
  }
  .hab-brand-manuals__group-item + .hab-brand-manuals__group-item {
    border-top: 1px solid rgba(42,34,27,.04);
  }
  .hab-brand-manuals__group-item a {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 10px 18px;
    text-decoration: none;
    color: var(--hab-ink);
    transition: background .12s;
  }
  .hab-brand-manuals__group-item a:hover {
    background: rgba(42,34,27,.03);
  }
/* END_SECTION:hab-brand-manuals */

/* START_SECTION:hab-brand-page (INDEX:35) */
/* Round 1 · Typography role hooks. Scoped by data-section-type so
     these consumers don't leak into hab-brand-hero (which also uses
     the .hab-brand root class). Emitter above sets tokens per section
     instance; consumers inherit through the cascade. */
  .hab-brand[data-section-type="hab-brand-page"] h1,
  .hab-brand[data-section-type="hab-brand-page"] h2 {
    font-family: var(--hab-fs-heading-family, var(--hab-role-heading-family));
    font-weight: var(--hab-fs-heading-weight, var(--hab-role-heading-weight));
    font-size: var(--hab-fs-heading-size, 48px);
    line-height: var(--hab-fs-heading-line, 1.05);
    letter-spacing: var(--hab-fs-heading-letter, -.02em);
    text-transform: var(--hab-fs-heading-transform, var(--hab-role-heading-transform));
    font-style: var(--hab-fs-heading-style, var(--hab-role-heading-style));
  }
  .hab-brand[data-section-type="hab-brand-page"] .lead {
    font-family: var(--hab-fs-body-family, var(--hab-role-body-family));
    font-weight: var(--hab-fs-body-weight, var(--hab-role-body-weight));
    font-size: var(--hab-fs-body-size, 18px);
    line-height: var(--hab-fs-body-line, 1.6);
    letter-spacing: var(--hab-fs-body-letter, 0);
    text-transform: var(--hab-fs-body-transform, var(--hab-role-body-transform));
    font-style: var(--hab-fs-body-style, var(--hab-role-body-style));
  }
  .hab-brand[data-section-type="hab-brand-page"] .eyebrow {
    font-family: var(--hab-fs-accent-family, var(--hab-role-accent-family));
    font-weight: var(--hab-fs-accent-weight, var(--hab-role-accent-weight));
    font-size: var(--hab-fs-accent-size, 11px);
    letter-spacing: var(--hab-fs-accent-letter, .22em);
    line-height: var(--hab-fs-accent-line, 1.2);
    text-transform: var(--hab-fs-accent-transform, var(--hab-role-accent-transform));
    font-style: var(--hab-fs-accent-style, var(--hab-role-accent-style));
  }
/* END_SECTION:hab-brand-page */

/* START_SECTION:hab-brand-take (INDEX:37) */
.hab-brand-take { font-family: var(--font-body-family); }
  .hab-brand-take__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(24px, 4vw, 56px);
    align-items: center;
  }
  .hab-brand-take__img { border-radius: 5px; overflow: hidden; aspect-ratio: 4/3; background: linear-gradient(135deg, #4a5240, #1a1d18); }
  .hab-brand-take__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  /* Accent role — section-scoped override of shared .hab-brand__eyebrow rules
     from hab-editorial.css (section stylesheet loads later, so scope wins). */
  .hab-brand-take .hab-brand__eyebrow {
    font-family: var(--hab-fs-accent-family, var(--hab-role-accent-family));
    font-weight: var(--hab-fs-accent-weight, var(--hab-role-accent-weight));
    font-size: var(--hab-fs-accent-size, 11px);
    letter-spacing: var(--hab-fs-accent-letter, .22em);
    line-height: var(--hab-fs-accent-line, 1.2);
    text-transform: var(--hab-fs-accent-transform, var(--hab-role-accent-transform));
    font-style: var(--hab-fs-accent-style, var(--hab-role-accent-style));
  }
  /* Heading role — H2 title. Fluid clamp preserved; desktop max is settings-driven. */
  .hab-brand-take__title {
    font-family: var(--hab-fs-heading-family, var(--hab-role-heading-family));
    font-weight: var(--hab-fs-heading-weight, var(--hab-role-heading-weight));
    font-size: var(--hab-fs-heading-size, 34px);
    letter-spacing: var(--hab-fs-heading-letter, -.015em);
    line-height: var(--hab-fs-heading-line, 1.15);
    text-transform: var(--hab-fs-heading-transform, var(--hab-role-heading-transform));
    font-style: var(--hab-fs-heading-style, var(--hab-role-heading-style));
    margin: 6px 0 14px;
  }
  /* Body role — rich-text lead. */
  .hab-brand-take__body {
    font-family: var(--hab-fs-body-family, var(--hab-role-body-family));
    font-weight: var(--hab-fs-body-weight, var(--hab-role-body-weight));
    font-size: var(--hab-fs-body-size, 16px);
    letter-spacing: var(--hab-fs-body-letter, 0);
    line-height: var(--hab-fs-body-line, 1.65);
    text-transform: var(--hab-fs-body-transform, var(--hab-role-body-transform));
    font-style: var(--hab-fs-body-style, var(--hab-role-body-style));
    opacity: .88;
  }
  .hab-brand-take__body p { margin: 0 0 12px; }
  .hab-brand-take__body p:last-child { margin-bottom: 0; }
  .hab-brand-take__points {
    list-style: none;
    padding: 0;
    margin: 18px 0 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .hab-brand-take__points li {
    font-size: 14px;
    line-height: 1.5;
    display: flex;
    gap: 12px;
    align-items: flex-start;
  }
  .hab-brand-take__points li::before {
    content: "✓";
    color: var(--hab-sage);
    font-weight: var(--hab-w-display);
    flex: 0 0 auto;
  }
  @media (max-width: 900px) {
    .hab-brand-take__grid { grid-template-columns: 1fr; }
  }
/* END_SECTION:hab-brand-take */

/* START_SECTION:hab-brand-video (INDEX:39) */
.hab-brand-video { font-family: var(--font-body-family); scroll-margin-top: 80px; }
  .hab-brand-video__grid {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(16px, 3vw, 24px);
  }
  .hab-brand-video__copy--top,
  .hab-brand-video__copy--bottom {
    text-align: center;
    width: 100%;
  }
  .hab-brand-video__copy--bottom { max-width: 720px; margin-left: auto; margin-right: auto; }
  /* Accent role — section eyebrow. Scoped by .hab-brand-video ancestor
     so we consume this section's --hab-fs-accent-* variables without
     affecting eyebrows in sibling sections. */
  .hab-brand-video .hab-brand__eyebrow {
    font-family: var(--hab-fs-accent-family, var(--hab-role-accent-family));
    font-weight: var(--hab-fs-accent-weight, var(--hab-role-accent-weight));
    font-size: var(--hab-fs-accent-size, 11px);
    letter-spacing: var(--hab-fs-accent-letter, .22em);
    line-height: var(--hab-fs-accent-line, 1.2);
    text-transform: var(--hab-fs-accent-transform, var(--hab-role-accent-transform));
    font-style: var(--hab-fs-accent-style, var(--hab-role-accent-style));
  }
  /* Heading role — H2 title. Fluid clamp preserved; desktop max is settings-driven. */
  .hab-brand-video__title {
    font-family: var(--hab-fs-heading-family, var(--hab-role-heading-family));
    font-weight: var(--hab-fs-heading-weight, var(--hab-role-heading-weight));
    font-size: var(--hab-fs-heading-size, 34px);
    line-height: var(--hab-fs-heading-line, 1.15);
    letter-spacing: var(--hab-fs-heading-letter, -.015em);
    text-transform: var(--hab-fs-heading-transform, var(--hab-role-heading-transform));
    font-style: var(--hab-fs-heading-style, var(--hab-role-heading-style));
    margin: 0 auto 10px;
    max-width: 800px;
    text-align: center;
  }
  /* Body role — intro paragraph. */
  .hab-brand-video__body {
    font-family: var(--hab-fs-body-family, var(--hab-role-body-family));
    font-weight: var(--hab-fs-body-weight, var(--hab-role-body-weight));
    font-size: var(--hab-fs-body-size, 16px);
    line-height: var(--hab-fs-body-line, 1.6);
    letter-spacing: var(--hab-fs-body-letter, 0);
    text-transform: var(--hab-fs-body-transform, var(--hab-role-body-transform));
    font-style: var(--hab-fs-body-style, var(--hab-role-body-style));
    opacity: .82;
    margin: 0 auto 14px;
    max-width: 60ch;
    text-align: center;
  }
  .hab-brand-video__points {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 640px;
    align-items: center;
  }
  .hab-brand-video__points li {
    font-size: 14px;
    line-height: 1.5;
    opacity: .88;
    display: flex;
    gap: 10px;
    align-items: flex-start;
  }
  .hab-brand-video__points li::before {
    content: "·";
    color: var(--hab-brass);
    font-weight: var(--hab-w-display);
    flex: 0 0 auto;
  }
  .hab-brand-video__player { position: relative; }
  .hab-brand-video__poster,
  .hab-brand-video__frame,
  .hab-brand-video__native {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
    padding: 0;
    background: #000;
    border-radius: 4px;
    overflow: hidden;
    cursor: pointer;
    position: relative;
  }
  /* Fix · defeat the display:block override of the HTML `hidden` attribute — otherwise native video renders alongside poster */
  .hab-brand-video__poster[hidden],
  .hab-brand-video__native[hidden],
  .hab-brand-video__frame[hidden] {
    display: none !important;
  }
  .hab-brand-video__native { cursor: default; }
  .hab-brand-video__poster img {
    width: 100%; height: 100%; object-fit: cover; display: block;
  }
  .hab-brand-video__poster-fallback {
    position: absolute; inset: 0;
    background: linear-gradient(135deg, #4a5240, #1a1d18);
  }
  .hab-brand-video__play {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    color: var(--hab-ivory);
    background: rgba(0, 0, 0, .18);
    transition: background .2s;
  }
  .hab-brand-video__poster:hover .hab-brand-video__play { background: rgba(0, 0, 0, .3); }
  .hab-brand-video__play svg { width: 68px; height: 68px; filter: drop-shadow(0 4px 12px rgba(0,0,0,.4)); }
/* END_SECTION:hab-brand-video */

/* START_SECTION:hab-category-grid (INDEX:44) */
.hab-trail__seo-intro { max-width: var(--hab-seo-intro-max, 880px); margin: 0 auto var(--hab-seo-intro-bottom, 40px); text-align: var(--hab-seo-intro-align, center); }
#shopify-section-{{ section.id }} .hab-trail__seo-intro .hab-trail__seo-heading { margin: 0; font-size: var(--hab-seo-h1-size, 40px); line-height: var(--hab-seo-h1-line, 1.15); letter-spacing: var(--hab-seo-h1-letter, 0em); font-family: var(--hab-seo-h1-family, inherit); font-weight: var(--hab-seo-h1-weight, inherit); color: var(--hab-seo-h1-color, inherit) !important; }
.hab-trail__seo-copy { margin-top: var(--hab-seo-intro-gap, 16px); font-size: var(--hab-seo-body-size, 16px); line-height: var(--hab-seo-body-line, 1.5); letter-spacing: var(--hab-seo-body-letter, 0em); font-family: var(--hab-seo-body-family, inherit); font-weight: var(--hab-seo-body-weight, inherit); color: var(--hab-seo-body-color, inherit); }
.hab-trail__seo-copy p:last-child { margin-bottom: 0; }
@media (max-width: 768px) { #shopify-section-{{ section.id }} .hab-trail__seo-intro .hab-trail__seo-heading { font-size: var(--hab-seo-h1-size-mobile, 30px); } .hab-trail__seo-copy { font-size: var(--hab-seo-body-size-mobile, 15px); } }
/* END_SECTION:hab-category-grid */

/* START_SECTION:hab-internal-links (INDEX:66) */
.hab-related-links a { color: inherit; text-decoration: underline; text-underline-offset: .15em; }
  .hab-related-links p { margin: 0 0 12px; }
/* END_SECTION:hab-internal-links */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:hab-brand-import-notice (INDEX:148) */
hab-location-delivery { display: block; }
  hab-location-delivery .hab-import-notice[hidden] { display: none !important; }
  .hab-import-notice {
    box-sizing: border-box;
    width: 100%;
    margin: 8px 0;
    padding: 8px 10px;
    border: 1px solid #c9d4c8;
    border-left: 3px solid #486348;
    border-radius: 6px;
    background: #f3f6ef;
    color: #243024;
    font-size: 12px;
    line-height: 1.3;
    text-align: left;
    overflow-wrap: anywhere;
  }
  .hab-import-notice .hab-import-notice__heading {
    margin: 0 0 2px;
    color: inherit;
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: normal;
    text-transform: none;
  }
  .hab-import-notice p { margin: 0 0 5px; }
  .hab-import-notice ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; margin: 0; padding: 0; list-style: none; }
  .hab-import-notice li { display: flex; gap: 7px; margin: 0; padding: 0; }
  .hab-import-notice li > span:first-child { color: #385738; font-weight: 700; }
  .hab-import-notice .hab-import-notice__total { margin: 0; font-weight: 700; }
/* END_SNIPPET:hab-brand-import-notice */