/* Minibeast field journal design system */

/* Lock page to the viewport width so no transient/off-screen child (marquee
   track, off-canvas menu, long unbreakable strings) can trigger the mobile
   shrink-to-fit zoom. clip (not hidden) keeps fixed/sticky positioning intact. */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

.mb-home,
.mb-category,
.mb-checkout,
.mb-account-page,
.mb-login-page,
.mb-frame-designer,
.foot,
.mb-dispatch,
.footer__newsletter,
.nl-bar,
#my-header,
#top.top,
#saleTop,
.mainmenu,
.search-desk,
#options_in_popup,
#slidable,
#slidable-pre,
#pgprod,
.mb-strip,
#pgprod .mb-product-related--dark,
.tooltip,
#couponInfo{
  --bone: #f2efe4;
  --bone-2: #ece5d3;
  --paper: #fbf8f0;
  --moss: #1c3a2c;
  --moss-deep: #122418;
  --moss-tint: #2e5340;
  --bz-green: #00513a;
  --bz-l-yellow: #fff7b5;
  --terracotta: #c2613a;
  --terracotta-deep: #a8421f;
  --terracotta-deep-hover: #8c3514;
  --terracotta-ink: #9a4528;
  --amber: #d8a45a;
  --ink: var(--moss-deep);
  --rule: var(--moss-deep);
  --muted: #6f6a62;
  --muted-light: #6f6a62;
  --hairline: rgba(18, 36, 24, 0.18);
  --serif: 'Nantes-Upright', 'Cormorant Garamond', 'Times New Roman', serif;
  --italic: 'Nantes-Italic', 'Cormorant Garamond', 'Times New Roman', serif;
  --sans: 'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  --sans-bold: 'DM Sans Bold', 'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  --fs-micro: 0.52rem;
  --fs-cap: 0.55rem;
  --fs-body: 1rem;
  --fs-field: 0.875rem;
  --fs-lead: 1.18rem;
  --fs-h6: 1.2rem;
  --fs-h5: 1.6rem;
  --fs-h4: 2.2rem;
  --fs-h3: 3rem;
  --fs-h2: clamp(2.6rem, 5.5vw, 5.2rem);
  --fs-h1: clamp(3.4rem, 9vw, 8.6rem);
  --fs-page-title: clamp(1.45rem, 3.25vw, 2rem);
  --fs-page-h1: clamp(1.35rem, 2.5vw, 1.75rem);
  --fs-page-h2: clamp(1.2rem, 2vw, 1.45rem);
  --fs-page-h3: 1.05rem;
  --fs-mega: clamp(5rem, 18vw, 18rem);
  --gutter: clamp(1.25rem, 2.5vw, 2rem);
  --pad-sec: clamp(3.5rem, 7vw, 7rem);
  --stack-cap-title: clamp(1.35rem, 2.75vw, 2.1rem);
  --stack-title-body: clamp(1.5rem, 3vw, 2.25rem);
  --stack-hero-kicker: clamp(0.4rem, 1.25vw, 0.75rem);
  --stack-title-line: 0.08em;
  --max: 1480px;
  --card-rail-peek: 2.75rem;
  --card-rail-gap: 0.75rem;
  --tracked: 0.18em;
  --tracked-wide: 0.32em;
  --menu-text: 14px;
  --menu-item-text: 12px;
  --menu-track: 0.5px;
  --bone-line: rgba(242, 239, 228, 0.22);
  --bone-line-2: rgba(242, 239, 228, 0.4);
  --bone-soft: rgba(242, 239, 228, 0.62);
  --field-fill: rgba(18, 36, 24, 0.045);
}

/* Mobile layout width - snap to device, avoid iOS input focus zoom */
@media (max-width: 767px){
  html,
  body{
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
  }

  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
  select,
  textarea,
  .form-control,
  .field__control{
    font-size: max(16px, var(--fs-field));
  }
}

/* Filmstrip bands - latest + customers also purchased (near-black, not moss-deep) */
.mb-strip,
#pgprod .mb-product-related--dark{
  --ink: #1e1e1e;
}

/* Browser autofill - match field fill, not default light blue */
.mb-home input:-webkit-autofill,
.mb-home input:-webkit-autofill:hover,
.mb-home input:-webkit-autofill:focus,
.mb-home input:-webkit-autofill:active,
.mb-category input:-webkit-autofill,
.mb-category input:-webkit-autofill:hover,
.mb-category input:-webkit-autofill:focus,
.mb-category input:-webkit-autofill:active,
.mb-checkout input:-webkit-autofill,
.mb-checkout input:-webkit-autofill:hover,
.mb-checkout input:-webkit-autofill:focus,
.mb-checkout input:-webkit-autofill:active,
.mb-checkout select:-webkit-autofill,
.mb-checkout textarea:-webkit-autofill,
.mb-login-page input:-webkit-autofill,
.mb-login-page input:-webkit-autofill:hover,
.mb-login-page input:-webkit-autofill:focus,
.mb-login-page input:-webkit-autofill:active,
.mb-account-page input:-webkit-autofill,
.mb-account-page input:-webkit-autofill:hover,
.mb-account-page input:-webkit-autofill:focus,
.mb-account-page input:-webkit-autofill:active,
.mb-dispatch input:-webkit-autofill,
.mb-dispatch input:-webkit-autofill:hover,
.mb-dispatch input:-webkit-autofill:focus,
.mb-dispatch input:-webkit-autofill:active,
#options_in_popup input:-webkit-autofill,
#options_in_popup input:-webkit-autofill:hover,
#options_in_popup input:-webkit-autofill:focus,
#options_in_popup input:-webkit-autofill:active,
#pgprod input:-webkit-autofill,
#pgprod input:-webkit-autofill:hover,
#pgprod input:-webkit-autofill:focus,
#pgprod input:-webkit-autofill:active,
select:-internal-autofill-selected{
  -webkit-box-shadow: 0 0 0 1000px var(--field-fill, var(--bone)) inset !important;
  box-shadow: 0 0 0 1000px var(--field-fill, var(--bone)) inset !important;
  -webkit-text-fill-color: var(--ink) !important;
  caret-color: var(--ink);
  transition: background-color 5000s ease-in-out 0s;
}

.mb-checkout b,
.mb-checkout strong,
.mb-home b,
.mb-home strong,
.mb-category b,
.mb-category strong,
.mb-account-page b,
.mb-account-page strong,
.mb-login-page b,
.mb-login-page strong,
.foot b,
.foot strong,
.mb-dispatch b,
.mb-dispatch strong,
.footer__newsletter b,
.footer__newsletter strong,
.nl-bar b,
.nl-bar strong,
#my-header b,
#my-header strong,
#saleTop b,
#saleTop strong,
.mainmenu b,
.mainmenu strong,
#options_in_popup b,
#options_in_popup strong,
#slidable b,
#slidable strong,
#slidable-pre b,
#slidable-pre strong,
#pgprod b,
#pgprod strong,
.tooltip b,
.tooltip strong{
  font-family: var(--sans-bold);
  font-weight: normal;
}

.mb-home{
  font-family: var(--sans);
  font-size: var(--fs-body);
  line-height: 1.55;
  color: var(--ink);
  background: var(--bone);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Theme sets all headings to near-black - reset inside homepage blocks (uses --ink / moss-deep) */
.common-home .mb-home h1,
.common-home .mb-home h2,
.common-home .mb-home h3,
.common-home .mb-home h4,
.common-home .mb-home h5,
.common-home .mb-home h6,
#pgprod .mb-home h1,
#pgprod .mb-home h2,
#pgprod .mb-home h3,
#pgprod .mb-home h4,
#pgprod .mb-home h5,
#pgprod .mb-home h6{
  color: inherit;
  letter-spacing: normal;
  font-variation-settings: normal;
  margin: 0;
  font-weight: 500;
  line-height: inherit;
  font-family: inherit;
}

/* Beat global h1–h6 rules from stylesheet.css / minibeast-core.css (loaded after this file) */
.common-home .mb-home [class*="__"] h1,
.common-home .mb-home [class*="__"] h2,
.common-home .mb-home [class*="__"] h3,
.common-home .mb-home [class*="__"] h4,
.common-home .mb-home [class*="__"] h5,
.common-home .mb-home [class*="__"] h6,
.common-home .mb-home [class*="__title"],
#pgprod .mb-home [class*="__"] h1,
#pgprod .mb-home [class*="__"] h2,
#pgprod .mb-home [class*="__"] h3,
#pgprod .mb-home [class*="__"] h4,
#pgprod .mb-home [class*="__"] h5,
#pgprod .mb-home [class*="__"] h6,
#pgprod .mb-home [class*="__title"]{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  letter-spacing: normal;
}

.common-home .mb-home [class*="__type"],
#pgprod .mb-home [class*="__type"]{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  letter-spacing: normal;
}

.common-home .mb-home .mb-micro,
#pgprod .mb-home .mb-micro{
  color: var(--muted);
}

/* Light micro copy on dark / image-backed blocks (beats muted default) */
.common-home .mb-home .mb-invite__meta .mb-micro,
.common-home .mb-home .mb-hero__feature-cap .mb-micro{
  color: var(--bone) !important;
}

.common-home .mb-home .mb-hero-bleed__stat .mb-micro,
.common-home .mb-home .mb-hero-split__stats .mb-hero-bleed__stat .mb-micro{
  color: rgba(242, 239, 228, 0.55) !important;
}

.common-home .mb-home .mb-hero__cell--d .mb-micro{
  color: #fff !important;
  font-family: var(--sans-bold);
  font-weight: normal;
}

.common-home .mb-home .mb-cap[style*="muted"]{
  color: var(--muted) !important;
}

.common-home #content-body,
.common-home .mb-home{
  background: var(--bone);
}

.mb-home img{
  display: block;
  max-width: 100%;
  height: auto;
}

.mb-home .shell{
  max-width: var(--max);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

#pgprod .mb-home .shell{
  max-width: var(--max);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

/* Site chrome - match homepage .shell width + gutters */
#top.top .container,
#top.top #topblock.container,
#my-header #top .container,
#my-header #topblock.container,
#my-header .pageheader__wrap.container,
.mainmenu .pageheader__wrap.container,
.mainmenu .pav-megamenu .dropdown-menu .dropdown-menu-inner,
.search-desk .container{
  max-width: var(--max) !important;
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--gutter) !important;
}

.mainmenu .pageheader__wrap{
  justify-content: stretch;
}

.mainmenu .pageheader__mainmenu.row{
  margin-left: 0;
  margin-right: 0;
  flex: 1;
  width: 100%;
  display: flex;
}

.mainmenu .pageheader__mainmenu.row > nav{
  flex: 1;
  width: 100%;
}

.mainmenu .pav-megamenu .navbar-nav{
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  margin: 0;
  float: none;
  justify-content: flex-start;
}

.mainmenu .pav-megamenu .navbar-nav > li{
  flex: 0 0 auto;
  float: none;
  text-align: left;
  overflow: visible;
}

.mainmenu .pav-megamenu .navbar-nav > li > a{
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: auto;
  max-width: none;
  padding-left: 0;
  padding-right: 4rem;
  box-sizing: border-box;
  overflow: visible;
  white-space: nowrap;
  text-overflow: clip;
}

/* Mega panel: full-width background, shell-aligned content */
.mainmenu .pav-megamenu .navbar-nav > li > .dropdown-menu,
.mainmenu .pav-megamenu .navbar-nav > li:hover > .dropdown-menu,
.mainmenu .pav-megamenu .navbar-nav > li:focus > .dropdown-menu{
  padding: 0;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  margin-left: 0 !important;
}

.mainmenu .pav-megamenu .dropdown-menu .dropdown-menu-inner{
  padding-block: 1.75rem 2.2rem;
  box-sizing: border-box;
}

.mainmenu .pav-megamenu .dropdown-menu .dropdown-menu-inner > .row{
  padding-top: 0;
  margin-left: 0;
  margin-right: 0;
}

.mainmenu .pav-megamenu .dropdown-menu .dropdown-menu-inner > .row > [class*='col-']{
  padding-left: 0;
  padding-right: 0;
}

.mainmenu .pav-megamenu .dropdown-menu .mega-col-inner{
  padding-right: 1.8rem;
}

.mainmenu .pav-megamenu .dropdown-menu .mega-col:last-child .mega-col-inner{
  padding-right: 0;
}

.mb-home .mb-cap,
#pgprod .mb-home .mb-cap{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

/* Copy stack - kicker → heading → body (hero, craft, livelihood, etc.) */
.mb-home .mb-cap + :is(h1, h2, h3, .mb-hero-bleed__title, .mb-hero-split__title, .mb-craft__title),
.mb-home .mb-hero-bleed__kicker + .mb-hero-bleed__title,
.mb-home .mb-hero-split__copy > .mb-cap + .mb-hero-split__title,
#pgprod .mb-home .mb-cap + :is(h1, h2, h3){
  margin-top: var(--stack-cap-title);
}

.mb-home :is(h1, h2, h3, .mb-hero-bleed__title, .mb-hero-split__title, .mb-craft__title) + :is(p, .mb-hero-bleed__lead, .mb-hero-split__lead, .mb-craft__body),
.mb-home .mb-livelihood__copy h3 + p,
.mb-home .mb-dispatch__copy h2 + p,
.mb-home .mb-invite__copy h2 + :is(p, .mb-invite__lead){
  margin-top: var(--stack-title-body);
}

.mb-home .mb-craft__body + .mb-craft__body,
.mb-home .mb-livelihood__copy p + p{
  margin-top: 0.85rem;
}

.mb-home .mb-micro{
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked-wide);
  text-transform: uppercase;
  color: var(--muted);
}

.mb-home .mb-serif{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
}

.mb-home .mb-italic{
  font-family: var(--italic);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-style: italic;
}

.mb-home .mb-arrow{
  display: inline-flex;
  align-items: center;
  gap: 0.7em;
  font-family: var(--sans-bold);
  font-weight: normal;
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  font-size: var(--fs-cap);
  padding-block: 0.6em;
  border-bottom: 1px solid currentColor;
  width: max-content;
  transition: gap 0.25s ease;
  color: inherit;
  text-decoration: none;
}

.mb-home .mb-arrow:hover{
  gap: 1.1em;
  color: inherit;
  text-decoration: none;
}

.mb-home .mb-arrow svg{
  width: 1.2em;
  height: 0.7em;
}

.mb-home .mb-btn{
  display: inline-flex;
  align-items: center;
  gap: 0.7em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  background: var(--bone);
  color: var(--ink);
  padding: 0.95em 1.6em;
  border: 1px solid var(--bone);
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  text-decoration: none;
}

.mb-home .mb-btn:hover{
  background: var(--amber);
  color: var(--ink);
  border-color: var(--amber);
  text-decoration: none;
}

.mb-home .mb-btn svg{
  width: 1.2em;
  height: 0.7em;
}

.mb-home .mb-ref{
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-family: var(--sans-bold);
  font-weight: normal;
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  font-size: var(--fs-micro);
}

.mb-home .mb-ref::before{
  content: '';
  width: 2px;
  height: 0.85em;
  background: var(--terracotta);
  border-radius: 1px;
  display: inline-block;
  flex-shrink: 0;
}

.mb-home .mb-spec{
  position: absolute;
  top: 1.1rem;
  left: 1.1rem;
  z-index: 2;
  display: inline-flex;
  gap: 0.6em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  background: var(--bone);
  padding: 0.35em 0.6em;
  border: 1px solid var(--ink);
}

.mb-home .mb-spec--light{
  background: var(--ink);
  color: var(--bone);
  border-color: var(--ink);
}

/* Hide legacy homepage chrome */
.common-home .swiper-container:not(.mb-usp-slider),
.common-home #homeslider{
  display: none !important;
}

/* Header promo bar - Swiper needs explicit height (fade slides are absolute) */
.mb-usp-slider.swiper-container{
  height: 30px;
  min-height: 30px;
  overflow: hidden;
}

.mb-usp-slider .swiper-wrapper{
  height: 100%;
  align-items: center;
}

.mb-usp-slider .swiper-slide.mb-usp-slider__item{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  height: 100%;
  line-height: 30px;
  white-space: nowrap;
}

.mb-usp-slider__item img{
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

.mb-usp-slider__item a{
  color: inherit;
  text-decoration: none;
}

/* Topbar carousel - always left-aligned at every breakpoint */
#my-header #top #topblock,
#top.top #topblock{
  justify-content: flex-start;
}

#my-header #top .top__slider-block,
#top.top .top__slider-block{
  text-align: left;
}

#my-header #top .top__slider-block{
  flex: 1;
  min-width: 0;
}

#my-header #top .top__slider-block .mb-usp-slider.swiper-container,
#my-header #top #usp-slider-desk,
#top.top #usp-slider-mob,
#top.top .top__slider-block .mb-usp-slider.swiper-container{
  width: 100%;
  max-width: none;
  margin: 0;
}

#my-header #top .top__slider-block .mb-usp-slider__item,
#my-header #top #usp-slider-desk .mb-usp-slider__item,
#top.top .top__slider-block .mb-usp-slider__item{
  justify-content: flex-start;
  text-align: left;
}

#my-header #top .top__social{
  flex-shrink: 0;
  margin-left: auto;
}

.common-home .service-two:not(.mb-asseen){
  display: none;
}

.common-home .service-three{
  background: transparent;
  padding: 0;
}

.common-home .service-three > .container{
  max-width: none;
  width: 100%;
  padding: 0;
}

.common-home .footer__newsletter{
  display: none !important;
}

.common-home .mb-home-modules .widget-html,
.common-home .mb-home-modules .gallery_outer{
  display: none !important;
}

/* 02 - Full-bleed studio editorial */
.mb-hero-bleed{
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-bottom: 1px solid var(--rule);
  overflow: hidden;
}

.mb-hero-bleed__media{
  position: absolute;
  inset: 0;
}

.mb-hero-bleed__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  filter: saturate(0.94) contrast(1.04);
}

.mb-hero-bleed__media::after{
  content: '';
  position: absolute;
  inset: 0;
  /* moss-deep / moss / moss-tint - brand greens rather than near-black */
  background:
    linear-gradient(
      to top,
      rgba(18, 36, 24, 0.98) 0%,
      rgba(18, 36, 24, 0.9) 20%,
      rgba(28, 58, 44, 0.72) 38%,
      rgba(46, 83, 64, 0.34) 52%,
      transparent 68%
    ),
    linear-gradient(
      105deg,
      rgba(18, 36, 24, 0.82) 0%,
      rgba(28, 58, 44, 0.5) 24%,
      rgba(46, 83, 64, 0.2) 42%,
      transparent 58%
    );
}

.mb-hero-bleed__inner{
  position: relative;
  z-index: 2;
  width: 100%;
  flex: 1 1 auto;
  min-height: inherit;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-block: clamp(1rem, 2.5vw, 2rem) clamp(1.25rem, 3vw, 2.25rem);
  color: var(--bone);
}

.mb-hero-bleed__ref{
  color: var(--amber);
}

.mb-hero-bleed__kicker{
  color: var(--amber);
  display: block;
  margin-bottom: clamp(0.25rem, 0.75vw, 0.45rem);
}

.mb-home .mb-hero-bleed__kicker + .mb-hero-bleed__title{
  margin-top: clamp(0.45rem, 1.25vw, 0.75rem);
}

.mb-home .mb-hero-bleed__title + .mb-hero-bleed__lead{
  margin-top: clamp(0.65rem, 1.75vw, 1.1rem);
}

.mb-hero-bleed__lead{
  margin: 0;
  max-width: 42ch;
  font-size: 1rem;
  line-height: 1.5;
  color: rgba(242, 239, 228, 0.88);
}

.mb-hero-bleed__foot{
  margin-top: 1.35rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(242, 239, 228, 0.28);
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  align-items: flex-end;
  justify-content: space-between;
}

.mb-hero-bleed__stats{
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
}

.mb-hero-bleed__stat{
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.mb-hero-bleed__stat strong{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: 1.15rem;
  color: var(--bone);
}

.mb-hero-bleed__foot .mb-arrow{
  padding-block: 0.45em;
}

@media (max-width: 640px){
  .mb-home .mb-hero-bleed__inner.shell {
    padding-block: 1.75rem 2.5rem;
    padding-inline: 1.5rem;
  }

  .mb-hero-bleed__kicker {
    margin-bottom: 0.65rem;
  }

  .mb-home .mb-hero-bleed__kicker + .mb-hero-bleed__title {
    margin-top: 0.85rem;
  }

  .mb-home .mb-hero-bleed__title + .mb-hero-bleed__lead {
    margin-top: 1.15rem;
  }

  .common-home .mb-home .mb-hero-bleed__title {
    line-height: 0.96;
  }

  .common-home .mb-home .mb-hero-bleed__title .mb-italic,
  .common-home .mb-home .mb-hero-bleed__title em {
    margin-top: 0.12em;
    line-height: 0.96;
  }

  .mb-hero-bleed__lead {
    font-size: 0.95rem;
    line-height: 1.58;
  }

  .mb-hero-bleed__foot {
    margin-top: 1.65rem;
    padding-top: 1.1rem;
    gap: 1.15rem 1.5rem;
  }

  .mb-hero-bleed__stats {
    flex-wrap: nowrap;
    justify-content: space-between;
    width: 100%;
    gap: 0.5rem 0.75rem;
  }

  .mb-hero-bleed__stat {
    flex: 1 1 0;
    min-width: 0;
    gap: 0.3rem;
  }

  .mb-hero-bleed__stat strong {
    font-size: 1rem;
  }

  .mb-hero-bleed__foot .mb-arrow {
    padding-block: 0.45em;
  }
}

/* 02a - Frosted glass hero variant */
.mb-hero-bleed--glass .mb-hero-bleed__media img{
  filter: saturate(1.04) contrast(1.03) brightness(1.06);
}

.mb-hero-bleed--glass .mb-hero-bleed__media::after{
  background:
    linear-gradient(
      to top,
      rgba(8, 16, 11, 0.52) 0%,
      rgba(10, 20, 14, 0.4) 22%,
      rgba(12, 24, 16, 0.26) 40%,
      rgba(14, 28, 19, 0.1) 56%,
      transparent 72%
    ),
    linear-gradient(
      105deg,
      rgba(8, 16, 11, 0.36) 0%,
      rgba(12, 24, 16, 0.2) 26%,
      rgba(16, 32, 21, 0.08) 44%,
      transparent 60%
    );
}

.mb-hero-bleed--glass .mb-hero-bleed__panel{
  max-width: min(640px, 100%);
  padding: clamp(1.15rem, 2.5vw, 1.85rem);
  background: linear-gradient(135deg, rgba(18, 36, 24, 0.62), rgba(28, 58, 44, 0.42));
  -webkit-backdrop-filter: blur(14px) saturate(1.1);
  backdrop-filter: blur(14px) saturate(1.1);
  border: 1px solid rgba(242, 239, 228, 0.22);
  border-radius: 0;
  box-shadow: 0 24px 60px rgba(8, 14, 10, 0.35);
}

.mb-hero-bleed--glass .mb-hero-bleed__foot{
  border-top-color: rgba(242, 239, 228, 0.35);
}

.mb-hero-bleed--glass .mb-hero-bleed__lead{
  color: rgba(248, 245, 236, 0.94);
}

/* 02b - Split editorial hero (hero-variations.html D) */
.mb-home .mb-hero-split{
  overflow: hidden;
}

@media (min-width: 861px){
  .mb-home .mb-hero-split__media{
    min-height: 0;
    height: 100%;
  }
}

.mb-home .mb-hero-split__media img{
  object-position: center 30%;
}

.mb-home .mb-hero-split__media::after{
  display: none;
}

.mb-home .mb-hero-split__plate{
  justify-content: space-between;
}

.mb-home .mb-hero-split__copy{
  padding: clamp(2rem, 4.5vw, 3.6rem);
}

.mb-home .mb-hero-split__title{
  font-size: clamp(2.4rem, 4.6vw, 4rem);
  margin: clamp(0.45rem, 1.25vw, 0.75rem) 0 0;
}

.mb-home .mb-hero-split__title .mb-italic,
.mb-home .mb-hero-split__title em{
  display: block;
}

.mb-home .mb-hero-split__lead{
  margin: clamp(0.65rem, 1.75vw, 1.1rem) 0 0;
  max-width: 40ch;
  font-weight: 400;
}

.mb-home .mb-hero-split__foot{
  margin-top: 1.6rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(242, 239, 228, 0.22);
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  align-items: flex-end;
  justify-content: space-between;
}

.mb-home .mb-hero-split__stats{
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
}

.mb-home .mb-hero-split__foot .mb-hero-bleed__stat strong{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: 1.15rem;
  color: var(--bone);
}

@media (max-width: 640px){
  .mb-home .mb-hero-split__foot{
    margin-top: 1.65rem;
    padding-top: 1.1rem;
    gap: 1.15rem 1.5rem;
  }

  .mb-home .mb-hero-split__stats{
    flex-wrap: nowrap;
    justify-content: space-between;
    width: 100%;
    gap: 0.5rem 0.75rem;
  }

  .mb-home .mb-hero-split__stats .mb-hero-bleed__stat{
    flex: 1 1 0;
    min-width: 0;
  }

  .mb-home .mb-hero-split__stats .mb-hero-bleed__stat strong{
    font-size: 1rem;
  }
}

/* 03 - Hero mosaic */
.mb-hero{
  border-bottom: 1px solid var(--rule);
  background: var(--bone);
}

.mb-hero__grid{
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  grid-template-rows: minmax(260px, 38vw) minmax(220px, 30vw);
  gap: 1px;
  background: var(--rule);
}

.mb-hero__cell{
  background: var(--bone);
  position: relative;
  overflow: hidden;
  padding: 2rem;
  display: flex;
}

.mb-hero__cell--img{
  padding: 0;
}

.mb-hero__cell--a{
  grid-row: 1 / span 2;
}

.mb-hero__cell--b{
  grid-column: 2 / span 2;
  background: var(--moss);
  color: var(--bone);
  flex-direction: column;
  justify-content: space-between;
  padding: 2.5rem;
}

.mb-hero__cell--b .mb-hero__wordmark,
.mb-hero__cell--b h1{
  color: var(--bone);
}

.mb-hero__cell--b .mb-hero__wordmark .mb-italic{
  color: var(--amber);
}

.mb-hero__cell--c{
  background: var(--bone-2);
  flex-direction: column;
  justify-content: space-between;
  padding: 1.6rem;
}

.mb-hero__cell--d{
  background: var(--terracotta);
  color: var(--bone);
  flex-direction: column;
  justify-content: space-between;
  padding: 1.6rem;
}

.mb-hero__cell--d .mb-hero__d-top,
.mb-hero__cell--d h2{
  color: var(--bone);
}

.mb-hero__cell--d .mb-micro{
  color: rgba(242, 239, 228, 0.88);
}

.mb-hero__cell--d .mb-arrow{
  color: var(--bone);
  border-color: var(--bone);
}

.mb-hero__feature{
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 260px;
}

.mb-hero__feature img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.95) contrast(1.02);
}

.mb-hero__feature::after{
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, 0.5));
}

.mb-hero__feature-cap{
  position: absolute;
  left: 1.5rem;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 2;
  color: var(--bone);
}

.mb-hero__feature-cap .mb-micro{
  color: rgba(242, 239, 228, 0.92);
}

.mb-hero__feature-cap .mb-italic{
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1;
  display: block;
}

.mb-hero__feature-meta{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 1.2rem;
  gap: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  padding-top: 1rem;
  flex-wrap: wrap;
}

.mb-hero__wordmark{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: clamp(2.4rem, 5.5vw, 5rem);
  line-height: 0.95;
  letter-spacing: -0.01em;
  margin: 0;
}

.mb-hero__wordmark .mb-italic{
  color: var(--amber);
}

.mb-hero__b-bottom{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(242, 239, 228, 0.3);
  flex-wrap: wrap;
}

.mb-hero__b-bottom p{
  margin: 0;
  max-width: 28ch;
  font-size: var(--fs-cap);
  line-height: 1.45;
  color: rgba(242, 239, 228, 0.95);
}

.mb-hero__c-top{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.mb-hero__c-num{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 3.4rem;
  line-height: 0.9;
}

.mb-hero__c-list{
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--ink);
}

.mb-hero__c-list li{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-block: 0.55rem;
  border-bottom: 1px solid var(--hairline);
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 1.2rem;
}

.mb-hero__c-list li span:last-child{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  color: var(--muted);
}

.mb-hero__d-top{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(1.5rem, 2.6vw, 2.4rem);
  line-height: 1.05;
  margin: 0;
}

.mb-hero__d-bottom{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.mb-hero__d-bottom .mb-arrow{
  border-color: var(--bone);
}

@media (max-width: 900px){
  .mb-hero__grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 60vw auto auto;
  }

  .mb-hero__cell--a {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .mb-hero__cell--b {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .mb-hero__cell--c {
    grid-column: 1;
    grid-row: 3;
  }

  .mb-hero__cell--d {
    grid-column: 2;
    grid-row: 3;
  }

  .mb-hero__feature {
    min-height: 60vw;
  }
}

@media (max-width: 520px){
  .mb-hero__cell--c,
  .mb-hero__cell--d {
    grid-column: 1 / -1;
  }

  .mb-hero__cell--c {
    grid-row: 3;
  }

  .mb-hero__cell--d {
    grid-row: 4;
  }

  .mb-hero__grid {
    grid-template-rows: 70vw auto auto auto;
  }
}

/* 04 - Manifesto */
.mb-manifesto{
  padding-block: var(--pad-sec);
  border-bottom: 1px solid var(--rule);
  background: var(--bone);
}

.mb-manifesto__inner{
  display: grid;
  grid-template-columns: 110px 1fr 110px;
  gap: 2rem;
  align-items: start;
}

.mb-manifesto__mark{
  width: 4.5rem;
  height: 4.5rem;
  flex-shrink: 0;
  color: var(--terracotta);
  line-height: 0;
}

.mb-manifesto__mark svg{
  display: block;
  width: 100%;
  height: auto;
}

.mb-manifesto__body{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: clamp(1.5rem, 2.6vw, 2.3rem);
  line-height: 1.25;
  max-width: 34ch;
  margin: 0 auto;
}

.mb-manifesto__body em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--moss);
  font-style: italic;
}

.mb-manifesto__meta{
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  align-items: flex-end;
}

.mb-manifesto__meta span{
  display: block;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.mb-manifesto__meta span:first-child{
  color: var(--terracotta);
}

.mb-manifesto__meta span:not(:first-child){
  color: var(--ink);
}

@media (max-width: 800px){
  .mb-manifesto__inner {
    grid-template-columns: 1fr;
  }

  .mb-manifesto__meta {
    align-items: flex-start;
  }
}

/* 06 - Invite */
.mb-invite{
  background: var(--moss);
  color: var(--bone);
  padding-block: var(--pad-sec);
  border-bottom: 1px solid var(--moss-deep);
  position: relative;
  overflow: hidden;
}

.mb-invite__inner{
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(2rem, 6vw, 5rem);
  align-items: end;
}

.mb-invite__copy h2{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: clamp(2.6rem, 6vw, 5.6rem);
  line-height: 0.95;
  margin: 0;
  letter-spacing: -0.01em;
  color: var(--bone);
}

.mb-invite__copy h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--amber);
  font-style: italic;
}

.mb-invite__lead{
  margin: 0;
  max-width: 48ch;
  font-size: var(--fs-lead);
  line-height: 1.55;
  color: rgba(242, 239, 228, 0.85);
}

.mb-invite__meta .mb-micro{
  color: rgba(242, 239, 228, 0.78);
}

.mb-invite__meta{
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(242, 239, 228, 0.25);
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
}

.mb-invite__meta div{
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.mb-invite__meta strong{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: 1.4rem;
}

.mb-invite__visual{
  position: relative;
  aspect-ratio: 1/1;
}

.mb-invite__visual img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mb-invite__pin{
  position: absolute;
  top: 8%;
  right: -1.2rem;
  z-index: 3;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: var(--terracotta);
  color: var(--bone);
  display: grid;
  place-items: center;
  text-align: center;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  line-height: 1.05;
  padding: 1rem;
  transform: rotate(-6deg);
}

.mb-invite__pin small{
  display: block;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: 0.55rem;
  letter-spacing: var(--tracked-wide);
  text-transform: uppercase;
  margin-bottom: 0.3rem;
}

@media (max-width: 900px){
  .mb-invite__inner {
    grid-template-columns: 1fr;
  }

  .mb-invite__pin {
    right: 1rem;
  }
}

/* 07 - Catalogue / bestsellers */
.mb-catalogue{
  padding-block: var(--pad-sec);
  border-bottom: 1px solid var(--rule);
}

.mb-catalogue__head{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, auto);
  gap: 2rem;
  align-items: end;
  padding-bottom: 2.5rem;
  min-width: 0;
}

.mb-catalogue__head h2{
  min-width: 0;
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: var(--fs-h2);
  line-height: 0.95;
  margin: 0;
}

.mb-catalogue__head h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--terracotta);
  font-style: italic;
}

.mb-catalogue__tabs{
  display: flex;
  gap: 0.5rem;
  flex-wrap: nowrap;
  align-items: flex-end;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -webkit-mask-image: linear-gradient(to right, #000 75%, transparent);
  mask-image: linear-gradient(to right, #000 75%, transparent);
}

.mb-catalogue__tabs.is-scrolled-end{
  -webkit-mask-image: none;
  mask-image: none;
}

.mb-catalogue__tabs::-webkit-scrollbar{
  display: none;
}

.mb-catalogue__tabs button{
  flex: 0 0 auto;
  white-space: nowrap;
  background: transparent;
  border: 1px solid var(--ink);
  padding: 0.7em 1.1em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--ink);
  transition: background 0.2s ease, color 0.2s ease;
  cursor: pointer;
}

.mb-catalogue__tabs button.is-active,
.mb-catalogue__tabs button:hover{
  background: var(--ink);
  color: var(--bone);
}

.mb-catalogue__grid.is-loading{
  opacity: 0.45;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

.mb-strip__title{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.1;
  margin: 0;
  max-width: 22ch;
}

.mb-strip__title em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--amber);
  font-style: italic;
}

.mb-families__head h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--terracotta);
  font-style: italic;
}

.mb-dispatch__copy h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--terracotta);
  font-style: italic;
}

.mb-catalogue__grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid var(--rule);
  border-left: 1px solid var(--rule);
}

.mb-spec-card{
  position: relative;
  border-right: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  padding: 1.4rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background: var(--bone);
  transition: background 0.25s ease;
}

.mb-spec-card__hit{
  position: absolute;
  inset: 0;
  z-index: 1;
}

.mb-spec-card__hit ~ *{
  pointer-events: none;
}

.mb-spec-card__foot .mb-cap{
  pointer-events: auto;
}

/* Legacy product-block grids - show wishlist on hover (master behaviour) */
.product-block .product-img .wishlist{
  display: block;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.product-block:hover .product-img .wishlist,
.product-block .product-img .wishlist button.in-wishlist{
  opacity: 1;
}

/* Save pill - shared heart glyph + bootstrap btn reset */
button.mb-wish-pill.btn,
button.mb-wish-pill.btn-sm{
  box-sizing: border-box;
}

button.mb-wish-pill .mb-wish-pill__ico svg path{
  fill: none;
  stroke: currentColor;
  stroke-width: 1.15;
  vector-effect: non-scaling-stroke;
  transition: fill 0.2s ease, stroke 0.2s ease;
}

/* Product cards - lighter heart outline */
.mb-spec-card__img .wishlist .mb-wish-pill__ico svg path,
.product-block .product-img .wishlist .mb-wish-pill__ico svg path,
.mb-strip__card-media .wishlist .mb-wish-pill__ico svg path{
  stroke-width: 0.75;
}

/* Save pill - legacy product-block grids (container already fades in on hover) */
.product-block .product-img .wishlist{
  --mb-wish-pill-size: 28px;
  --mb-wish-pill-ico: 12px;
  --mb-wish-pill-inset: calc((var(--mb-wish-pill-size) - var(--mb-wish-pill-ico)) / 2);
}

.product-block .product-img .wishlist button.mb-wish-pill{
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.35rem;
  width: auto;
  height: var(--mb-wish-pill-size);
  padding: var(--mb-wish-pill-inset) 0.55rem !important;
  overflow: hidden;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  color: var(--ink);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  line-height: 1;
  transition: background 0.2s ease, color 0.2s ease;
}

.product-block .product-img .wishlist .mb-wish-pill__ico{
  flex: 0 0 auto;
  width: var(--mb-wish-pill-ico);
  height: var(--mb-wish-pill-ico);
  display: grid;
  place-items: center;
  padding: 0;
}

.product-block .product-img .wishlist .mb-wish-pill__ico svg{
  width: 100%;
  height: 100%;
  overflow: visible;
  display: block;
}

.product-block .product-img .wishlist .mb-wish-pill__txt{
  white-space: nowrap;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  line-height: 1;
}

.product-block .product-img .wishlist .mb-wish-pill__on,
.product-block .product-img .wishlist .total_wishlist{
  display: none;
}

.product-block .product-img .wishlist button.mb-wish-pill:hover:not(.in-wishlist){
  background: transparent !important;
  color: var(--ink);
}

.product-block .product-img .wishlist button.mb-wish-pill.in-wishlist{
  background: transparent !important;
  color: #be1b37;
}

.product-block .product-img .wishlist button.mb-wish-pill.in-wishlist .mb-wish-pill__ico svg path{
  fill: currentColor;
}

.product-block .product-img .wishlist button.mb-wish-pill.in-wishlist .mb-wish-pill__off{
  display: none;
}

.product-block .product-img .wishlist button.mb-wish-pill.in-wishlist .mb-wish-pill__on{
  display: inline;
}

.mb-spec-card__hit:focus-visible{
  outline: 2px solid var(--terracotta);
  outline-offset: -2px;
}

.mb-spec-card:hover{
  background: var(--paper);
}

.mb-spec-card__head{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
  width: 100%;
}

.mb-spec-card__head .mb-ref,
.mb-spec-card__head .mb-spec-card__acc{
  min-width: 0;
}

.mb-spec-card__acc{
  font-family: 'Courier New', Courier, ui-monospace, monospace;
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  color: var(--muted);
  text-transform: none;
  font-weight: 500;
}

.mb-spec-card__price,
.mb-review-card__author{
  margin-left: auto;
  flex-shrink: 0;
}

.mb-spec-card__price{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: 1rem;
  line-height: 1;
  white-space: nowrap;
}

.mb-spec-card__price--sale{
  display: inline-flex;
  align-items: baseline;
  gap: 0.25rem;
}

.mb-spec-card__price-sale,
.mb-spec-card__price-was{
  color: var(--moss);
}

.mb-spec-card__price-was{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  font-size: 0.8em;
  text-decoration: line-through;
  text-decoration-color: currentColor;
}

/* Sale pricing - legacy product-block / module grids */
.mb-home .price .price-new.ajax-special,
.mb-category .price .price-new.ajax-special,
.mb-home .price .price-old + .price-new,
.mb-category .price .price-old + .price-new,
.product-section .price .price-new.ajax-special,
.product-section .price .price-old + .price-new,
.widget-product .price .price-old + .price-new,
.widget-product-list .price .price-old + .price-new,
.products-block .price .price-new.ajax-special,
.products-block .price .price-old + .price-new{
  color: var(--moss);
  font-weight: 500;
}

.mb-home .price .price-old,
.mb-category .price .price-old,
.product-section .price .price-old,
.widget-product .price .price-old,
.widget-product-list .price .price-old,
.products-block .price .price-old{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--moss);
  text-decoration: line-through;
  text-decoration-color: currentColor;
}

.mb-spec-card__img{
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: var(--paper);
  border: 1px solid var(--hairline);
  position: relative;
  z-index: 2;
  isolation: isolate;
}

.mb-spec-card__img .wishlist{
  position: absolute;
  top: 0.6rem;
  right: 0.6rem;
  z-index: 4;
  pointer-events: auto;
  --mb-wish-pill-size: 28px;
  --mb-wish-pill-ico: 12px;
  --mb-wish-pill-inset: calc((var(--mb-wish-pill-size) - var(--mb-wish-pill-ico)) / 2);
}

/* Save pill - icon-only square, expands to reveal the label on button hover / when saved */
.mb-spec-card__img .wishlist button.mb-wish-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: var(--mb-wish-pill-size);
  height: var(--mb-wish-pill-size);
  padding: var(--mb-wish-pill-inset) !important;
  overflow: hidden;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  color: var(--ink);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  line-height: 1;
  transition: width 0.25s ease, padding 0.25s ease, gap 0.25s ease, background 0.2s ease, color 0.2s ease;
}

.mb-spec-card__img .wishlist .mb-wish-pill__ico{
  flex: 0 0 auto;
  width: var(--mb-wish-pill-ico);
  height: var(--mb-wish-pill-ico);
  display: grid;
  place-items: center;
  padding: 0;
}

.mb-spec-card__img .wishlist .mb-wish-pill__ico svg{
  width: 100%;
  height: 100%;
  overflow: visible;
  display: block;
}

.mb-spec-card__img .wishlist .mb-wish-pill__txt{
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  padding: 0;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  line-height: 1;
  transition: max-width 0.25s ease, opacity 0.2s ease;
}

.mb-spec-card__img .wishlist .mb-wish-pill__on,
.mb-spec-card__img .wishlist .total_wishlist{
  display: none;
}

/* reveal label on button hover or brief "Saved" confirmation */
.mb-spec-card__img .wishlist button.mb-wish-pill:hover,
.mb-spec-card__img .wishlist button.mb-wish-pill.mb-wish-pill--label-flash{
  width: auto;
  justify-content: flex-start;
  padding: var(--mb-wish-pill-inset) 0.55rem !important;
  gap: 0.35rem;
}

.mb-spec-card__img .wishlist button.mb-wish-pill:hover .mb-wish-pill__txt,
.mb-spec-card__img .wishlist button.mb-wish-pill.mb-wish-pill--label-flash .mb-wish-pill__txt{
  max-width: 80px;
  opacity: 1;
}

/* hover (not yet saved) - icon only, no fill */
.mb-spec-card__img .wishlist button.mb-wish-pill:hover:not(.in-wishlist){
  background: transparent !important;
  color: var(--ink);
}

/* saved - wishlist red, filled heart; label only on hover or flash */
.mb-spec-card__img .wishlist button.mb-wish-pill.in-wishlist{
  background: transparent !important;
  color: #be1b37;
}

.mb-spec-card__img .wishlist button.mb-wish-pill.in-wishlist:hover,
.mb-spec-card__img .wishlist button.mb-wish-pill.in-wishlist.mb-wish-pill--label-flash{
  background: transparent !important;
  color: #be1b37;
}

.mb-spec-card__img .wishlist button.mb-wish-pill.in-wishlist .mb-wish-pill__ico svg path{
  fill: currentColor;
}

.mb-spec-card__img .wishlist button.mb-wish-pill.in-wishlist .mb-wish-pill__off{
  display: none;
}

.mb-spec-card__img .wishlist button.mb-wish-pill.in-wishlist .mb-wish-pill__on{
  display: inline;
}

.mb-spec-card__badges{
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  pointer-events: none;
}

.mb-spec-card__badge{
  background: var(--terracotta);
  color: var(--bone);
  padding: 0.35em 0.6em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
}

.mb-spec-card__badge--exact,
.mb-spec-card__badge--sale{
  background: var(--terracotta);
}

.common-home .product-label.bts,
.mb-category .product-label.bts,
.mb-catalogue .product-label.bts,
#pgprod .product-label.bts{
  background-color: var(--terracotta);
}

.common-home .product-label.bts .product-label-special,
.mb-category .product-label.bts .product-label-special,
.mb-catalogue .product-label.bts .product-label-special,
#pgprod .product-label.bts .product-label-special{
  background-color: var(--terracotta);
}

.mb-spec-card__img:has(img[src*="loading.svg"]){
  background: var(--bone);
}

.mb-spec-card__img img:not([src*="loading.svg"]):not(.lazy.mb-lazy-loaded),
.mb-spec-card__img img.lazy.mb-lazy-revealed{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.mb-spec-card:hover .mb-spec-card__img img:not([src*="loading.svg"]):not(.lazy.mb-lazy-loaded),
.mb-spec-card:hover .mb-spec-card__img img.lazy.mb-lazy-revealed{
  transform: scale(1.04);
}

.mb-spec-card__title{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 1.2rem;
  line-height: 1.15;
  margin: 0;
}

.mb-spec-card__title em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  display: block;
  font-size: 0.95rem;
  color: var(--muted);
}

.mb-spec-card__body{
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin-bottom: -0.65rem;
}

.mb-spec-card__thumbs{
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 5px 0px;
}

.mb-spec-card__thumbs li{
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--bone);
  margin-left: -12px;
}

.mb-spec-card__thumbs li:first-child{
  margin-left: 0;
}

.mb-spec-card__thumbs img{
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  border: 0;
  border-radius: 0;
  margin: 0;
}

.mb-spec-card:hover .mb-spec-card__thumbs li{
  border-color: var(--paper);
}

.mb-spec-card__foot{
  margin-top: auto;
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  padding-top: 1.3rem;
  border-top: 1px solid var(--hairline);
}

.mb-spec-card__foot .mb-micro{
  grid-area: 1 / 1;
  justify-self: start;
  text-align: left;
  color: var(--muted);
}

.mb-spec-card__foot .mb-cap{
  grid-area: 1 / 1;
  justify-self: end;
  position: relative;
  z-index: 2;
  font-size: var(--fs-cap);
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
  color: var(--ink);
}

.mb-spec-card__foot .mb-cap:hover{
  color: var(--terracotta);
}

@media (max-width: 1000px){
  .mb-catalogue__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 520px){
  .mb-catalogue__grid {
    grid-template-columns: 1fr;
  }

  .mb-catalogue__head {
    grid-template-columns: 1fr;
  }

  .mb-catalogue__tabs {
    width: 100%;
  }
}

/* 05 - Curated filmstrip w/ butterfly pattern ribbon */
.mb-strip{
  background: var(--ink);
  color: var(--bone);
  padding-block: clamp(3rem, 6vw, 5.5rem);
  border-bottom: 1px solid var(--moss);
}

.common-home .mb-strip{
  background: var(--ink);
  color: var(--bone);
}

.mb-strip .mb-home-product-track{
  padding-block: clamp(1.25rem, 2.5vw, 2rem);
}
.mb-strip__head{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 2rem;
  padding-bottom: 2rem;
  flex-wrap: wrap;
}

.mb-strip__head p{
  margin: 0;
  max-width: 38ch;
  opacity: 0.8;
  font-size: var(--fs-field);
}

.mb-strip__grid{
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1px;
  background: rgba(242, 239, 228, 0.2);
  border: 1px solid rgba(242, 239, 228, 0.2);
}

@media (min-width: 1001px){
  .mb-strip__grid.mb-home-rail {
    display: grid;
    overflow: visible;
    cursor: default;
    scroll-snap-type: none;
  }

  .mb-strip__grid.mb-home-rail > .mb-strip__card {
    flex: unset;
    width: auto;
    min-width: 0;
    scroll-snap-align: unset;
    border: 0;
  }
}

.mb-strip__card{
  background: var(--ink);
  display: flex;
  flex-direction: column;
  position: relative;
  color: var(--bone);
  text-decoration: none;
}

.mb-strip__card-hit{
  position: absolute;
  inset: 0;
  z-index: 1;
}

.mb-strip__card-hit ~ *{
  pointer-events: none;
}

.mb-strip__card-foot .mb-cap{
  pointer-events: auto;
}

.mb-strip__card:hover,
.mb-strip__card:focus{
  color: var(--bone);
  text-decoration: none;
}

.mb-strip__card-head{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 0.35rem;
  padding: 0.65rem 0.65rem;
  width: 100%;
  min-height: 2.5rem;
  box-sizing: border-box;
  border-bottom: 1px solid rgba(242, 239, 228, 0.2);
}

.mb-strip__card-head .mb-ref,
.mb-strip__card-head .mb-strip__card-acc{
  min-width: 0;
  line-height: 1;
}

.mb-strip__card-acc{
  font-family: 'Courier New', Courier, ui-monospace, monospace;
  font-size: 0.65rem;
  letter-spacing: 0.04em;
  color: rgba(242, 239, 228, 0.72);
  text-transform: none;
  font-weight: 500;
}

.mb-strip__card-price{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: 1rem;
  line-height: 1;
  white-space: nowrap;
  text-align: right;
  color: var(--bone);
}

.mb-strip__card-price--sale{
  display: inline-flex;
  align-items: baseline;
  gap: 0.2rem;
}

.mb-strip__card-price-sale,
.mb-strip__card-price-was{
  color: var(--amber);
}

.mb-strip__card-price-was{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  font-size: 0.8em;
  text-decoration: line-through;
  text-decoration-color: currentColor;
}

.mb-strip__card img:not([src*="loading.svg"]){
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(0.1) contrast(1.04);
  transition: filter 0.5s ease, transform 0.6s ease;
}

.mb-strip__card-media{
  aspect-ratio: 1 / 1;
  width: 100%;
  overflow: hidden;
  flex: 0 0 auto;
  border-bottom: 1px solid rgba(242, 239, 228, 0.2);
  position: relative;
  z-index: 2;
  isolation: isolate;
}

.mb-strip__card-media .wishlist{
  position: absolute;
  top: 0.6rem;
  right: 0.6rem;
  z-index: 4;
  pointer-events: auto;
  --mb-wish-pill-size: 28px;
  --mb-wish-pill-ico: 12px;
  --mb-wish-pill-inset: calc((var(--mb-wish-pill-size) - var(--mb-wish-pill-ico)) / 2);
}

.mb-strip__card-media .wishlist button.mb-wish-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: var(--mb-wish-pill-size);
  height: var(--mb-wish-pill-size);
  padding: var(--mb-wish-pill-inset) !important;
  overflow: hidden;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  color: var(--bone);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  line-height: 1;
  transition: width 0.25s ease, padding 0.25s ease, gap 0.25s ease, color 0.2s ease;
}

.mb-strip__card-media .wishlist .mb-wish-pill__ico{
  flex: 0 0 auto;
  width: var(--mb-wish-pill-ico);
  height: var(--mb-wish-pill-ico);
  display: grid;
  place-items: center;
  padding: 0;
}

.mb-strip__card-media .wishlist .mb-wish-pill__ico svg{
  width: 100%;
  height: 100%;
  overflow: visible;
  display: block;
}

.mb-strip__card-media .wishlist .mb-wish-pill__txt{
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  padding: 0;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  line-height: 1;
  transition: max-width 0.25s ease, opacity 0.2s ease;
}

.mb-strip__card-media .wishlist .mb-wish-pill__on,
.mb-strip__card-media .wishlist .total_wishlist{
  display: none;
}

.mb-strip__card-media .wishlist button.mb-wish-pill:hover,
.mb-strip__card-media .wishlist button.mb-wish-pill.mb-wish-pill--label-flash{
  width: auto;
  justify-content: flex-start;
  padding: var(--mb-wish-pill-inset) 0.55rem !important;
  gap: 0.35rem;
}

.mb-strip__card-media .wishlist button.mb-wish-pill:hover .mb-wish-pill__txt,
.mb-strip__card-media .wishlist button.mb-wish-pill.mb-wish-pill--label-flash .mb-wish-pill__txt{
  max-width: 80px;
  opacity: 1;
}

.mb-strip__card-media .wishlist button.mb-wish-pill:hover:not(.in-wishlist){
  background: transparent !important;
  color: var(--bone);
}

.mb-strip__card-media .wishlist button.mb-wish-pill.in-wishlist{
  background: transparent !important;
  color: #be1b37;
}

.mb-strip__card-media .wishlist button.mb-wish-pill.in-wishlist:hover,
.mb-strip__card-media .wishlist button.mb-wish-pill.in-wishlist.mb-wish-pill--label-flash{
  background: transparent !important;
  color: #be1b37;
}

.mb-strip__card-media .wishlist button.mb-wish-pill.in-wishlist .mb-wish-pill__ico svg path{
  fill: currentColor;
}

.mb-strip__card-media .wishlist button.mb-wish-pill.in-wishlist .mb-wish-pill__off{
  display: none;
}

.mb-strip__card-media .wishlist button.mb-wish-pill.in-wishlist .mb-wish-pill__on{
  display: inline;
}

.mb-strip__card-media:has(img[src*="loading.svg"]){
  background: var(--ink);
}

.mb-strip__card-media:has(> img.lazy[src*="loading.svg"])::after{
  filter: invert(1);
  opacity: 0.85;
}

.mb-strip__card:hover img:not([src*="loading.svg"]){
  filter: grayscale(0) contrast(1.06);
  transform: scale(1.03);
}

.mb-strip__card-body{
  padding: 0.75rem 0.65rem 0.65rem;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
  flex: 1 1 auto;
}

.mb-strip__card-foot{
  margin-top: auto;
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  padding: 0.65rem 0.65rem 0.85rem;
  border-top: 1px solid rgba(242, 239, 228, 0.2);
}

.mb-strip__card-foot .mb-cap{
  grid-area: 1 / 1;
  justify-self: end;
  position: relative;
  z-index: 2;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  color: var(--bone);
}

.mb-strip__card-foot .mb-cap:hover{
  color: var(--amber);
}

.mb-strip__pattern{
  width: 100%;
  height: clamp(32px, 4vw, 54px);
  background-color: var(--ink);
  background-image: url('/catalog/view/theme/minibeast/svg/b-pattern-L-white.svg');
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 100% auto;
}

.mb-strip__card .mb-italic{
  font-size: 0.92rem;
  line-height: 1.2;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.mb-strip__card .mb-micro{
  color: rgba(242, 239, 228, 0.55);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

/* Homepage + product-page product strips - scroll-snap rails (tablet and below) */
@media (max-width: 1000px){
  .mb-strip > .shell,
  .mb-catalogue .shell,
  .mb-reviews .shell,
  .mb-asseen .shell {
    overflow: hidden;
  }

  .mb-catalogue .mb-home-product-track,
  .mb-reviews .mb-home-product-track,
  .mb-asseen .mb-home-product-track {
    margin-inline: calc(-1 * var(--gutter));
  }

  .mb-strip .mb-home-product-track {
    margin-inline: calc(-1 * var(--gutter));
    overflow: hidden;
    min-width: 0;
  }

  .mb-families > .mb-home-product-track {
    overflow: visible;
  }

  .mb-catalogue__grid.mb-home-rail,
  .mb-strip__grid.mb-home-rail,
  .mb-reviews .mb-catalogue__grid.mb-home-rail,
  .mb-reviews #reviews-block.mb-home-rail,
  .mb-asseen__logos.mb-home-rail {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw;
    max-width: 100vw;
    min-width: 0;
    margin-inline: calc(50% - 50vw);
    gap: var(--card-rail-gap);
    padding-inline: var(--gutter);
    scroll-padding-inline: var(--gutter);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    cursor: grab;
    border-left: 0;
  }

  .mb-catalogue__grid.mb-home-rail,
  .mb-reviews .mb-catalogue__grid.mb-home-rail,
  .mb-reviews #reviews-block.mb-home-rail {
    border-top: 0;
  }

  .mb-strip__grid.mb-home-rail {
    background: var(--ink);
    border: 0;
  }

  .mb-strip .mb-strip__pattern {
    width: 150%;
    max-width: none;
    margin-inline: 0;
    background-size: 100% auto;
    height: 65px;
    margin-top: 50px;
    opacity: 0.4;
  }

  .mb-strip__grid.mb-home-rail > .mb-strip__card {
    flex: 0 0 calc((100vw - 2 * var(--gutter) - var(--card-rail-peek) - var(--card-rail-gap)) / 2);
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    height: auto;
    border: 1px solid rgba(242, 239, 228, 0.2);
    box-sizing: border-box;
  }

  .mb-asseen__logos.mb-home-rail {
    gap: var(--card-rail-gap);
    background: transparent;
    border: 0;
    list-style: none;
    margin: 0;
    padding-block: 0;
  }

  .mb-asseen__logos.mb-home-rail > li {
    flex: 0 0 calc(100vw - 2 * var(--gutter) - var(--card-rail-gap));
    min-width: 0;
    scroll-snap-align: center;
    scroll-snap-stop: always;
    min-height: 0;
    padding: 0;
    background: transparent;
  }

  .mb-asseen__logos.mb-home-rail .mb-asseen__logo-mark {
    min-height: 6.5rem;
    padding: 1.35rem 1.25rem;
    border: 1px solid var(--hairline);
    background: var(--bone-2);
    box-sizing: border-box;
  }

  .mb-asseen__logos.mb-home-rail .mb-asseen__logo-mark img {
    max-height: 6.25rem;
  }

  .mb-families__grid.mb-home-rail {
    width: 100vw;
    max-width: 100vw;
    margin-inline: calc(50% - 50vw);
    padding-inline: var(--gutter);
    scroll-padding-inline: var(--gutter);
  }

  .mb-catalogue__grid.mb-home-rail::-webkit-scrollbar,
  .mb-strip__grid.mb-home-rail::-webkit-scrollbar,
  .mb-reviews .mb-catalogue__grid.mb-home-rail::-webkit-scrollbar,
  .mb-reviews #reviews-block.mb-home-rail::-webkit-scrollbar,
  .mb-asseen__logos.mb-home-rail::-webkit-scrollbar {
    display: none;
  }

  .mb-catalogue__grid.mb-home-rail.is-dragging,
  .mb-strip__grid.mb-home-rail.is-dragging,
  .mb-reviews .mb-catalogue__grid.mb-home-rail.is-dragging,
  .mb-reviews #reviews-block.mb-home-rail.is-dragging,
  .mb-asseen__logos.mb-home-rail.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    user-select: none;
  }

  .mb-catalogue__grid.mb-home-rail > .mb-spec-card,
  .mb-reviews .mb-catalogue__grid.mb-home-rail > .mb-spec-card,
  .mb-reviews #reviews-block.mb-home-rail > .mb-spec-card {
    flex: 0 0 calc((100vw - 2 * var(--gutter) - var(--card-rail-peek) - var(--card-rail-gap)) / 2);
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    height: auto;
    border: 1px solid var(--rule);
    border-right: 1px solid var(--rule);
  }

  .mb-families > .mb-home-product-track .mb-families__grid.mb-home-rail > .mb-family {
    flex: 0 0 calc((100vw - 2 * var(--gutter) - var(--card-rail-peek) - var(--card-rail-gap)) / 2);
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .mb-families__grid.mb-home-rail > .mb-family:last-child {
    margin-inline-end: var(--gutter);
  }

  .mb-families__head {
    padding-bottom: 2rem;
  }

  .mb-families__grid.mb-home-rail.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    user-select: none;
  }
}

@media (hover: none) and (pointer: coarse) {
  .mb-families__grid.mb-home-rail {
    cursor: default;
  }
}

/* Product rails - phone: one card per view */
@media (max-width: 520px){
  .mb-catalogue__grid.mb-home-rail > .mb-spec-card,
  .mb-reviews .mb-catalogue__grid.mb-home-rail > .mb-spec-card,
  .mb-reviews #reviews-block.mb-home-rail > .mb-spec-card,
  .mb-strip__grid.mb-home-rail > .mb-strip__card,
  #pgprod .mb-product-related .mb-catalogue__grid.mb-home-rail > .mb-spec-card {
    flex: 0 0 calc(100vw - 2 * var(--gutter) - var(--card-rail-gap));
    scroll-snap-align: center;
  }
}

/* 10 - Families */
.mb-families{
  --families-rail-slots: 4.45; /* 4 full tiles + ~45% of the 5th visible */
  --family-hover-lift: 6px;
  padding-block: var(--pad-sec);
  border-bottom: 1px solid var(--rule);
  background: var(--bone-2);
}

.mb-families__head{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 2rem;
  padding-bottom: 3rem;
  flex-wrap: wrap;
}

.mb-families__head h2{
  margin: 0;
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: var(--fs-h2);
  line-height: 0.95;
}

.mb-families .shell{
  overflow: visible;
}

.mb-families__grid.mb-home-rail{
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  min-width: 0;
  gap: var(--card-rail-gap);
  /* Room above disks for hover lift inside overflow-x scroll rail */
  padding-top: calc(var(--family-hover-lift) + 2px);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  cursor: grab;
}

.mb-families__grid.mb-home-rail::-webkit-scrollbar{
  display: none;
}

.mb-families__grid.mb-home-rail.is-dragging{
  cursor: grabbing;
  scroll-snap-type: none;
  user-select: none;
}

@media (min-width: 761px){
  .mb-families > .mb-home-product-track {
    overflow: visible;
    width: 100%;
    margin-inline: 0;
  }

  .mb-families > .mb-home-product-track .mb-families__grid.mb-home-rail {
    gap: 1.5rem;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-inline-start: max(var(--gutter), calc((100vw - min(100vw, var(--max))) / 2 + var(--gutter)));
    padding-inline-end: 0;
    scroll-padding-inline-start: max(var(--gutter), calc((100vw - min(100vw, var(--max))) / 2 + var(--gutter)));
  }

  .mb-families > .mb-home-product-track .mb-families__grid.mb-home-rail > .mb-family {
    flex: 0 0 calc((100% - 3 * 1.5rem) / var(--families-rail-slots));
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .mb-families__grid.mb-home-rail > .mb-family:last-child {
    margin-inline-end: var(--gutter);
  }
}

.mb-family{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  text-align: center;
  color: inherit;
  text-decoration: none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(18, 36, 24, 0.08);
}

.mb-family:hover{
  color: inherit;
  text-decoration: none;
}

.mb-family__disk{
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: var(--bone);
  overflow: hidden;
  position: relative;
  border: 1px solid var(--ink);
  transition: transform 0.4s ease;
}

/* Keep ::before free - generic lazy-load uses it for aspect spacer on other slots */
.mb-family__disk::before{
  display: none;
}

.mb-family__disk::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  box-shadow: inset 0 0 0 6px var(--bone-2);
  pointer-events: none;
  z-index: 1;
}

.mb-family:hover .mb-family__disk{
  transform: translateY(calc(-1 * var(--family-hover-lift)));
}

.mb-family__disk img:not([src*="loading.svg"]){
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mb-family__num{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 2.2rem;
  color: var(--bone);
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.5);
  z-index: 2;
  pointer-events: none;
}

.mb-family__name{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 1.15rem;
}

.mb-family__name em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  display: block;
  color: var(--muted);
  font-size: 0.85rem;
  font-style: italic;
}

/* 08 - Ethically sourced (rainforest livelihood) */
.mb-livelihood{
  background: var(--paper);
  padding-block: var(--pad-sec);
  border-bottom: 1px solid var(--rule);
}

.mb-livelihood__inner{
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 0;
  border: 1px solid var(--rule);
  background: var(--paper);
  min-width: 0;
}

.mb-livelihood__copy{
  padding: clamp(2rem, 5vw, 4rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid var(--rule);
  min-width: 0;
}

.mb-livelihood__copy h3{
  margin: 0;
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.05;
}

.mb-livelihood__copy h3 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--moss);
}

.mb-livelihood__copy p{
  margin: 0;
  max-width: 48ch;
  line-height: 1.6;
}

.mb-livelihood__chips{
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.8rem;
}

.mb-livelihood__chips span{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  padding: 0.45em 0.75em;
  border: 1px solid var(--hairline);
  background: var(--bone);
}

.mb-livelihood__copy .mb-arrow{
  margin-top: 1.8rem;
  max-width: 100%;
  display: inline;
  width: auto;
  white-space: normal;
}

.mb-livelihood__copy .mb-arrow svg{
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.7em;
  transition: margin-left 0.25s ease;
}

.mb-livelihood__copy .mb-arrow:hover svg{
  margin-left: 1.1em;
}

.mb-livelihood__hero{
  position: relative;
  margin: 0;
  min-width: 0;
  overflow: hidden;
}

.mb-spec-card__img:has(> img.lazy[src*="loading.svg"])::before,
.mb-spec-card__img:has(> img.lazy.mb-lazy-loaded)::before,
.mb-family__disk:has(> img.lazy[src*="loading.svg"])::before,
.mb-family__disk:has(> img.lazy.mb-lazy-loaded)::before,
.mb-strip__card-media:has(> img.lazy[src*="loading.svg"])::before,
.mb-strip__card-media:has(> img.lazy.mb-lazy-loaded)::before,
.mb-review-card__media:has(> img.lazy[src*="loading.svg"])::before,
.mb-review-card__media:has(> img.lazy.mb-lazy-loaded)::before,
.mb-asseen__logo-mark:has(> img.lazy[src*="loading.svg"])::before,
.mb-asseen__logo-mark:has(> img.lazy.mb-lazy-loaded)::before{
  display: none;
}

.mb-livelihood__hero:has(> img.lazy[src*="loading.svg"]),
.mb-livelihood__hero:has(> img.lazy.mb-lazy-loaded){
  background: var(--bone);
}

.mb-livelihood__hero:has(> img.lazy[src*="loading.svg"])::before,
.mb-livelihood__hero:has(> img.lazy.mb-lazy-loaded)::before{
  display: block;
  aspect-ratio: 4 / 5;
  min-height: 420px;
}

.mb-asseen__logo-mark img.lazy.mb-lazy-loaded{
  position: static !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 4.75rem !important;
  object-fit: contain !important;
}

#gallery figure a:has(> img.lazy.mb-lazy-loaded)::before{
  display: none;
}

.mb-livelihood__hero img:not([src*="loading.svg"]){
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4/5;
  min-height: 420px;
}

.mb-livelihood__pull{
  position: absolute;
  bottom: 0;
  right: 1.2rem;
  left: 25%;
  box-sizing: border-box;
  max-width: calc(100% - 2.4rem);
  background: var(--moss-deep);
  color: var(--bone);
  padding: 1.4rem 1.6rem;
  border: 1px solid rgba(242, 239, 228, 0.2);
  margin: 0;
  z-index: 1;
}

.mb-livelihood__pull p{
  margin: 0;
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  font-size: clamp(1.1rem, 1.6vw, 1.45rem);
  line-height: 1.3;
  color: rgba(242, 239, 228, 0.92);
}

.mb-livelihood__pull cite{
  display: block;
  margin-top: 0.8rem;
  font-style: normal;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--amber);
}

@media (max-width: 1100px){
  .mb-livelihood__pull {
    left: 1.2rem;
    right: 1.2rem;
    max-width: none;
  }
}

@media (max-width: 900px){
  .mb-livelihood__inner {
    grid-template-columns: 1fr;
  }

  .mb-livelihood__copy {
    border-right: 0;
    border-bottom: 1px solid var(--rule);
  }

  .mb-livelihood__hero {
    aspect-ratio: 4 / 5;
    min-height: 280px;
  }

  .mb-livelihood__pull {
    bottom: 0;
    right: 1.2rem;
    left: 1.2rem;
    max-width: none;
  }

  .mb-livelihood__hero img:not([src*="loading.svg"]) {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    aspect-ratio: auto;
  }
}

/* 11 - Expedition / feature */
.mb-expedition{
  background: var(--moss-deep);
  color: var(--bone);
  padding-block: clamp(3rem, 6vw, 6rem);
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--moss);
}

.mb-expedition p{
  color: rgba(242, 239, 228, 0.92);
  line-height: 1.55;
}

.mb-expedition__inner{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}

.mb-expedition__type{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: clamp(3.4rem, 9vw, 8rem);
  line-height: 0.86;
  letter-spacing: -0.02em;
  margin: 0.4rem 0 0;
  color: var(--bone);
}

.mb-expedition__type span{
  display: block;
}

.mb-expedition__type .mb-italic{
  color: var(--amber);
  padding-left: 0.5em;
}

.mb-expedition__meta{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  padding-block: 1.5rem;
  border-block: 1px solid rgba(242, 239, 228, 0.25);
  margin-top: 1.5rem;
  max-width: 540px;
}

.mb-expedition__meta div{
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.mb-expedition__meta strong{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: 1.3rem;
  color: var(--bone);
}

.mb-expedition__visual{
  position: relative;
  aspect-ratio: 1/1;
  border: 1px solid rgba(242, 239, 228, 0.3);
}

.mb-expedition__visual img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mb-expedition__caption{
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  right: 1rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  background: rgba(18, 36, 24, 0.85);
  padding: 0.8rem 1rem;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--bone);
}

.mb-expedition__cta{
  margin-top: 2rem;
}

.mb-expedition__cta .mb-arrow{
  border-color: var(--bone);
  color: var(--bone);
  font-size: var(--fs-cap);
}

@media (max-width: 900px){
  .mb-expedition__inner {
    grid-template-columns: 1fr;
  }
}

/* Reviews */
.mb-reviews{
  padding-block: var(--pad-sec);
  border-bottom: 1px solid var(--rule);
  background: var(--bone);
}

.mb-reviews__head{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: end;
  padding-bottom: 2.5rem;
}

.mb-reviews__head h2{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: var(--fs-h2);
  line-height: 0.95;
  margin: 0;
}

.mb-reviews__head h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
}

.mb-reviews .panel-default{
  border: 0;
  background: transparent;
  box-shadow: none;
  margin: 0;
}

.mb-reviews .container{
  max-width: var(--max);
  padding-inline: var(--gutter);
}

.mb-reviews #reviews-block{
  padding: 0;
  background: transparent;
}

/* Closed outer rule border - overrides legacy #reviews-block padding and incomplete grid edges */
@media (min-width: 761px){
  .mb-reviews .mb-catalogue__grid {
    border-right: 1px solid var(--rule);
  }

  .mb-reviews .mb-catalogue__grid > .mb-spec-card:nth-child(4n) {
    border-right: 0;
  }

  /* All-reviews promo sits between two grid segments - nth-child is per segment in template */
  .mb-all-reviews-page .mb-reviews .mb-all-reviews__grid-wrap .mb-catalogue__grid > .mb-spec-card:nth-child(4n) {
    border-right: 0;
  }
}

@media (max-width: 1000px) and (min-width: 761px){
  .mb-reviews .mb-catalogue__grid > .mb-spec-card:nth-child(4n) {
    border-right: 1px solid var(--rule);
  }

  .mb-reviews .mb-catalogue__grid > .mb-spec-card:nth-child(2n) {
    border-right: 0;
  }
}

.mb-reviews .mb-catalogue__grid > .mb-review-card{
  height: 100%;
}

.mb-review-card{
  color: inherit;
  text-decoration: none;
}

.mb-review-card:hover{
  color: inherit;
  text-decoration: none;
}

.mb-review-card__author{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  font-size: 0.9rem;
  color: var(--muted);
  text-align: right;
  line-height: 1.25;
}

.mb-review-card .mb-spec-card__img,
.mb-review-card__media{
  aspect-ratio: 1 / 1;
  overflow: visible;
  margin-bottom: 0.85rem;
  position: relative;
}

.mb-review-card .mb-spec-card__img > .mb-review-card__photo,
.mb-review-card__media > .mb-review-card__photo{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100% !important;
  max-width: none;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}

.mb-review-card .mb-spec-card__title{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

.mb-review-card:hover .mb-spec-card__img > .mb-review-card__photo,
.mb-review-card:hover .mb-review-card__media > .mb-review-card__photo{
  transform: scale(1.04);
}

/* Lazy spacer from stylesheet.css - review media defines its own 1:1 slot */
.mb-home .mb-review-card__media::before,
.mb-home .mb-review-card__thumb::before{
  display: none !important;
}

.mb-home .mb-review-card__media img.lazy.mb-review-card__photo:not([src*="loading.svg"]){
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
}

.mb-review-card__thumb{
  position: absolute;
  bottom: -12px;
  left: 8px;
  z-index: 3;
  width: clamp(52px, 7.5vw, 88px);
  height: clamp(52px, 7.5vw, 88px);
  border-radius: 50%;
  overflow: hidden;
  background: var(--paper);
  border: 2px solid var(--bone);
  box-shadow: 0 0 0 1px var(--hairline), 0 2px 8px rgba(18, 36, 24, 0.1);
}

.mb-review-card:hover .mb-review-card__thumb{
  border-color: var(--paper);
}

.mb-review-card__thumb img:not([src*="loading.svg"]){
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mb-review-card__foot{
  margin-top: auto;
  padding-top: 0.8rem;
  border-top: 1px solid var(--hairline);
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.mb-review-card__quote{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: 0.9rem;
  line-height: 1.25;
  margin: 0;
  color: var(--ink);
}

.mb-review-card__text{
  font-family: var(--sans);
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.55;
  color: var(--muted);
  margin: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  -webkit-box-orient: vertical;
}

.mb-review-card__verified{
  margin-top: 0.15rem;
}

/* As seen in - press logo strip */
.mb-asseen{
  padding-block: clamp(2.5rem, 5vw, 4rem);
  border-bottom: 1px solid var(--rule);
  background: var(--bone-2);
}

.mb-asseen__head{
  padding-bottom: 2rem;
}

.mb-asseen__head h2{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: var(--fs-h2);
  line-height: 0.95;
  margin: 0;
}

.mb-asseen__head h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
}

.mb-asseen__logos{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 1px;
  background: var(--hairline);
  border: 1px solid var(--hairline);
}

.mb-asseen__logos li{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5.5rem;
  padding: 1.1rem 0.85rem;
  background: var(--bone-2);
}

.mb-asseen__logo-mark{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: var(--bone-2);
  isolation: isolate;
}

.mb-asseen__logo-mark img{
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 4.75rem;
  object-fit: contain;
  mix-blend-mode: multiply;
  filter: grayscale(1) contrast(2.6) brightness(1.12);
  transition: filter 0.25s ease, opacity 0.25s ease;
}

.mb-asseen__logo-mark img[src*="loading.svg"]{
  filter: none;
  mix-blend-mode: normal;
}

.mb-craft__media:has(img[src*="loading.svg"]){
  background: var(--moss-deep);
}

.mb-craft__media:has(> img.lazy[src*="loading.svg"])::after{
  filter: invert(1);
  opacity: 0.85;
}

.mb-craft__media:has(> img.lazy[src*="loading.svg"])::before{
  display: none;
}

.mb-asseen__logos li:hover .mb-asseen__logo-mark img{
  filter: grayscale(0) contrast(1.15) brightness(1.02);
}

@media (max-width: 1100px){
  .mb-asseen__logos:not(.mb-home-rail) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* 12 - Dispatch / newsletter */
.mb-dispatch{
  background: var(--bone);
  padding-block: var(--pad-sec);
  border-bottom: 1px solid var(--rule);
}

.mb-dispatch__inner{
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}

.mb-dispatch__map img{
  width: 100%;
  height: auto;
}

.mb-dispatch__copy h2{
  margin: 0;
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: var(--fs-h2);
  line-height: 0.95;
}

.mb-dispatch .mb-cap{
  color: var(--terracotta);
}

.mb-dispatch__copy p{
  margin: 0;
  max-width: 48ch;
  line-height: 1.6;
}

.mb-dispatch__form{
  margin-top: 2rem;
  display: grid;
  grid-template-columns: 1fr auto;
  border: 1px solid var(--ink);
  background: var(--bone);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.mb-dispatch__form:focus-within{
  border-color: var(--terracotta);
  box-shadow: 0 0 0 1px var(--terracotta);
}

.mb-dispatch__form input[type='email'],
.mb-dispatch__form input.email{
  border: 0;
  border-right: 1px solid var(--hairline);
  background: transparent;
  padding: 1.05em 1.2em;
  font-family: var(--sans);
  font-size: var(--fs-field);
  font-weight: 500;
  line-height: 1.4;
  color: var(--ink);
  width: 100%;
  min-width: 0;
  box-shadow: none;
  height: auto;
  border-radius: 0;
  appearance: none;
  -webkit-appearance: none;
  transition: background-color 0.2s ease;
}

.mb-dispatch__form .form-control{
  background: transparent;
  border: 0;
  border-right: 1px solid var(--hairline);
  height: auto;
  padding: 1.05em 1.2em;
  font-size: var(--fs-field);
  line-height: 1.4;
  box-shadow: none;
}

.mb-dispatch__form input::placeholder{
  color: var(--muted);
  opacity: 1;
}

.mb-dispatch__form input:focus,
.mb-dispatch__form input:focus-visible{
  outline: none;
  background: rgba(18, 36, 24, 0.04);
}

.mb-dispatch__form input:-webkit-autofill,
.mb-dispatch__form input:-webkit-autofill:hover,
.mb-dispatch__form input:-webkit-autofill:focus{
  -webkit-box-shadow: 0 0 0 1000px var(--bone) inset;
  -webkit-text-fill-color: var(--ink);
  transition: background-color 5000s ease-in-out 0s;
}

.mb-dispatch__form button,
.mb-dispatch__form .btn-success{
  background: var(--ink);
  color: var(--bone);
  border: 0;
  padding: 1.05em 1.6em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  border-radius: 0;
  height: auto;
  transition: background 0.2s ease, color 0.2s ease;
}

.mb-dispatch__form button:hover,
.mb-dispatch__form .btn-success:hover{
  background: var(--terracotta);
  color: var(--bone);
}

.mb-dispatch__form button:focus-visible,
.mb-dispatch__form .btn-success:focus-visible{
  outline: 2px solid var(--amber);
  outline-offset: -2px;
}

.mb-dispatch .page-header,
.mb-dispatch .breadcrumb{
  display: none;
}

.mb-dispatch .newsletter__container{
  padding: 0;
}

.mb-dispatch .newsletter__inputs{
  display: contents;
}

.mb-dispatch .valid{
  grid-column: 1 / -1;
}

.mb-dispatch .description{
  margin-top: 1rem;
  font-size: var(--fs-cap);
  color: var(--muted);
}

@media (max-width: 900px){
  .mb-dispatch__inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px){
  .mb-dispatch__form {
    grid-template-columns: 1fr;
  }

  .mb-dispatch__form input[type='email'],
  .mb-dispatch__form input.email,
  .mb-dispatch__form .form-control {
    border-right: 0;
    border-bottom: 1px solid var(--hairline);
  }

  .mb-dispatch__form button,
  .mb-dispatch__form .btn-success {
    width: 100%;
  }
}

/* Hide old module chrome on homepage */
.common-home .mb-home-modules .panel-heading{
  display: none;
}

.common-home .mb-home-modules .panel-default{
  border: 0;
  background: transparent;
  box-shadow: none;
  margin: 0;
}

.common-home .mb-home-modules .owl-carousel,
.common-home .mb-home-modules .owl-dots{
  display: none !important;
}

.common-home .mb-home-modules .products-block{
  display: contents;
}

.common-home .mb-home-modules .block__{
  display: contents;
}

/* 07b - Workshop craft (full-bleed editorial) */
.mb-craft{
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  background: var(--moss-deep);
  border-bottom: 1px solid var(--rule);
  color: var(--bone);
}

.mb-craft__media{
  position: absolute;
  inset: 0;
  z-index: 0;
}

/* Global lazy CSS sets position:relative on :has(> img.lazy) parents - keep full-bleed overlay */
.mb-craft__media:has(> img.lazy){
  position: absolute !important;
  inset: 0 !important;
}

.mb-craft__media img:not([src*="loading.svg"]){
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: bottom;
  filter: saturate(0.97) contrast(1.03);
}

.mb-craft__plate{
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  right: 1rem;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(1.25rem, 3vw, 2.5rem);
  flex-wrap: wrap;
  background: rgba(18, 36, 24, 0.88);
  padding: 0.75rem 1rem;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: rgba(242, 239, 228, 0.75);
  pointer-events: none;
}

.mb-craft__plate .mb-italic{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  text-transform: none;
  font-size: 0.9rem;
  letter-spacing: 0;
  color: var(--bone);
  text-align: center;
}

.mb-craft::after{
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(12, 24, 18, 0.94) 0%,
    rgba(18, 36, 24, 0.82) 38%,
    rgba(18, 36, 24, 0.45) 62%,
    rgba(18, 36, 24, 0.28) 100%
  );
}

.mb-craft__inner{
  position: relative;
  z-index: 2;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.4rem 3rem;
  padding-block: clamp(1.6rem, 3vw, 2.4rem);
  color: var(--bone);
}

.mb-craft__copy{
  flex: 1;
  min-width: 0;
}

.mb-craft .mb-cap + .mb-craft__title{
  margin-top: 0.35rem;
}

.mb-craft__title{
  margin: 0;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--bone);
  font-size: clamp(2rem, 4.5vw, 3.4rem);
  line-height: 0.95;
  letter-spacing: -0.01em;
}

.mb-craft__title em,
.mb-craft__title .mb-italic{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--amber);
}

.mb-craft__body{
  margin: 0;
  max-width: 48ch;
  font-family: var(--sans);
  font-weight: 500;
  line-height: 1.55;
  color: rgba(242, 239, 228, 0.85);
}

.mb-craft__body + .mb-craft__body{
  margin-top: 0.75rem;
}

.mb-craft__foot{
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(242, 239, 228, 0.22);
  flex-shrink: 0;
}

.mb-craft__inner .mb-btn{
  margin-top: 0;
}

@media (min-width: 621px){
  .mb-craft {
    min-height: clamp(28rem, 55vh, 44rem);
  }

  .mb-craft__plate {
    display: none;
  }

  .mb-craft::after {
    background:
      linear-gradient(
        to top,
        rgba(8, 16, 11, 0.98) 0%,
        rgba(10, 20, 14, 0.94) 32%,
        rgba(12, 24, 16, 0.78) 52%,
        rgba(14, 28, 19, 0.42) 70%,
        rgba(14, 28, 19, 0.15) 100%
      ),
      linear-gradient(
        100deg,
        rgba(8, 16, 11, 0.94) 0%,
        rgba(12, 24, 16, 0.78) 38%,
        rgba(16, 32, 21, 0.32) 58%,
        transparent 80%
      );
  }

  .mb-craft__inner {
    flex: 1 1 auto;
    min-height: inherit;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    max-width: min(100%, 72rem);
    padding-top: clamp(3rem, 8vw, 5rem);
    padding-bottom: clamp(2.4rem, 4vw, 3.2rem);
    gap: 0;
  }

  .mb-craft .mb-cap + .mb-craft__title {
    margin-top: clamp(0.75rem, 1.5vw, 1rem);
  }

  .mb-craft__foot {
    margin-top: 2rem;
  }
}

@media (max-width: 620px){
  /* Stack like mb-hero-split - image band, then moss copy panel */
  .mb-craft {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 0;
    background: var(--moss-deep);
  }

  .mb-craft::after {
    display: none;
  }

  .mb-craft__media,
  .mb-craft__media:has(> img.lazy) {
    position: relative !important;
    inset: auto !important;
    flex: 0 0 auto;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
  }

  .mb-craft__media img:not([src*="loading.svg"]) {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: center 42%;
    transform: scale(1.2);
    transform-origin: center 42%;
  }

  .mb-craft__plate {
    display: flex;
  }

  .mb-craft__inner {
    position: relative;
    z-index: 2;
    flex: 1 1 auto;
    min-height: 0;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    max-width: none;
    padding: clamp(2rem, 5vw, 4rem);
    gap: 0;
    border-top: 1px solid rgba(242, 239, 228, 0.15);
    background: var(--moss-deep);
  }

  .mb-craft__copy {
    flex: 1 1 auto;
  }

  .mb-craft__title {
    font-size: clamp(2.4rem, 9vw, 3.2rem);
    line-height: 0.92;
    margin-top: clamp(0.75rem, 2.5vw, 1rem);
  }

  .mb-craft__title em,
  .mb-craft__title .mb-italic {
    display: block;
  }

  .mb-craft__body {
    max-width: none;
    margin-top: 1.25rem;
  }

  .mb-craft__body + .mb-craft__body {
    margin-top: 0.75rem;
  }

  .mb-craft__foot {
    margin-top: 1.65rem;
    padding-top: 1.1rem;
  }

  .mb-craft__inner .mb-btn {
    width: auto;
  }
}

/* Dispatch legend */
.mb-dispatch__legend{
  display: flex;
  gap: 1.4rem;
  flex-wrap: wrap;
  margin-top: 1.2rem;
}

.mb-dispatch__legend span{
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--muted);
}

.mb-dispatch__legend span::before{
  content: "";
  width: 8px;
  height: 8px;
  background: var(--terracotta);
  border-radius: 50%;
}

/* 12b - Footer newsletter minimal bar (design/homepage-redesign/newsletter.html #nl-06) */
.footer__newsletter{
  margin: 0;
  padding: 0;
}

.footer__newsletter .nl-bar{
  border-left: 0;
  border-right: 0;
}

.nl-bar{
  position: relative;
  overflow: hidden;
  border: 1px solid var(--rule);
  color: var(--bone);
}

.nl-bar__media{
  position: absolute;
  inset: 0;
  background-image: url('/image/catalog/page-headers/macro-b-3.jpg');
  background-size: cover;
  background-position: center 35%;
}

.nl-bar__media::after{
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(18, 36, 24, 0.82);
}

.nl-bar__inner{
  position: relative;
  z-index: 2;
  max-width: var(--max);
  margin-inline: auto;
  padding-inline: var(--gutter);
  padding-block: clamp(1.6rem, 3vw, 2.4rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 480px);
  align-items: center;
  gap: clamp(1.4rem, 3vw, 2.5rem);
}

.nl-bar__copy{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  min-width: 0;
}

.nl-bar__copy h2{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: clamp(2.6rem, 4.8vw, 3.8rem);
  line-height: 1.05;
  margin: 0;
  color: var(--bone);
}

.nl-bar__copy h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--amber);
}

.nl-bar__copy span{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  font-size: clamp(1.3rem, 2.4vw, 1.9rem);
  line-height: 1.3;
  color: rgba(242, 239, 228, 0.72);
  max-width: 36ch;
  margin-top: 0.15rem;
}

.nl-bar__form-wrap{
  width: 100%;
  justify-self: end;
}

.nl-bar__form{
  width: 100%;
}

.nl-bar .nl-form{
  grid-template-columns: 1fr;
  gap: 0.65rem;
  border: 0;
  background: transparent;
  backdrop-filter: none;
}

.nl-bar .nl-form:focus-within{
  border: 0;
  box-shadow: none;
  background: transparent;
}

.nl-bar .nl-form input[type='email'],
.nl-bar .nl-form input.email,
.nl-bar .nl-form .form-control{
  border: 0;
  border-bottom: 1px solid rgba(242, 239, 228, 0.32);
  padding: 0.65em 0;
  font-size: var(--fs-field);
  line-height: 1.4;
  color: var(--bone);
  text-align: left;
}

.nl-bar .nl-form input::placeholder{
  color: rgba(242, 239, 228, 0.5);
}

.nl-bar .nl-form input:focus,
.nl-bar .nl-form input:focus-visible{
  background: transparent;
  border-bottom-color: rgba(242, 239, 228, 0.55);
}

.nl-bar .nl-form button,
.nl-bar .nl-form .btn-success{
  width: 100%;
  padding: 0.8em 1em;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  white-space: nowrap;
  background: var(--moss);
  color: var(--bone);
  border: 1px solid rgba(242, 239, 228, 0.22);
  box-sizing: border-box;
}

.nl-bar .nl-form button:hover,
.nl-bar .nl-form .btn-success:hover,
.nl-bar .nl-form button:active,
.nl-bar .nl-form .btn-success:active,
.nl-bar .nl-form button:focus,
.nl-bar .nl-form .btn-success:focus{
  background: var(--moss-deep);
  color: var(--bone);
  border: 1px solid rgba(242, 239, 228, 0.22);
  outline: none;
  box-shadow: none;
}

.nl-form{
  display: grid;
  grid-template-columns: 1fr auto;
  border: 1px solid var(--ink);
  background: var(--bone);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.nl-form:focus-within{
  border-color: var(--terracotta);
  box-shadow: 0 0 0 1px var(--terracotta);
}

.nl-form input[type='email'],
.nl-form input.email{
  border: 0;
  border-right: 1px solid var(--hairline);
  background: transparent;
  padding: 1.05em 1.2em;
  font-family: var(--sans);
  font-size: var(--fs-field);
  font-weight: 500;
  line-height: 1.4;
  color: var(--ink);
  min-width: 0;
  width: 100%;
  box-shadow: none;
  height: auto;
  border-radius: 0;
  appearance: none;
  -webkit-appearance: none;
  transition: background-color 0.2s ease;
}

.nl-form .form-control{
  background: transparent;
  border: 0;
  border-right: 1px solid var(--hairline);
  height: auto;
  padding: 1.05em 1.2em;
  font-size: var(--fs-field);
  line-height: 1.4;
  box-shadow: none;
}

.nl-form input::placeholder{
  color: var(--muted);
  opacity: 1;
}

.nl-form input:focus,
.nl-form input:focus-visible{
  outline: none;
  background: rgba(18, 36, 24, 0.04);
}

.nl-form input:-webkit-autofill,
.nl-form input:-webkit-autofill:hover,
.nl-form input:-webkit-autofill:focus{
  -webkit-box-shadow: 0 0 0 1000px var(--bone) inset;
  -webkit-text-fill-color: var(--ink);
  transition: background-color 5000s ease-in-out 0s;
}

.nl-form button,
.nl-form .btn-success{
  background: var(--ink);
  color: var(--bone);
  border: 1px solid transparent;
  box-sizing: border-box;
  padding: 1.05em 1.6em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  border-radius: 0;
  height: auto;
  transition: background 0.2s ease, color 0.2s ease;
}

.nl-form button:hover,
.nl-form .btn-success:hover{
  background: var(--terracotta);
  color: var(--bone);
  border-color: transparent;
}

.nl-form button:focus-visible,
.nl-form .btn-success:focus-visible{
  outline: 2px solid var(--amber);
  outline-offset: -2px;
}

.nl-form--light{
  background: rgba(242, 239, 228, 0.1);
  border-color: rgba(242, 239, 228, 0.45);
  backdrop-filter: blur(4px);
}

.nl-form--light:focus-within{
  border-color: rgba(242, 239, 228, 0.85);
  box-shadow: 0 0 0 1px rgba(216, 164, 90, 0.45);
  background: rgba(242, 239, 228, 0.14);
}

.nl-form--light input[type='email'],
.nl-form--light input.email,
.nl-form--light .form-control{
  border-right-color: rgba(242, 239, 228, 0.35);
  color: var(--bone);
}

.nl-form--light input::placeholder{
  color: rgba(242, 239, 228, 0.55);
}

.nl-form--light input:focus,
.nl-form--light input:focus-visible{
  background: rgba(242, 239, 228, 0.08);
}

.nl-form--light input:-webkit-autofill,
.nl-form--light input:-webkit-autofill:hover,
.nl-form--light input:-webkit-autofill:focus{
  -webkit-box-shadow: 0 0 0 1000px rgba(18, 36, 24, 0.55) inset;
  -webkit-text-fill-color: var(--bone);
}

.nl-form--light button,
.nl-form--light .btn-success{
  background: var(--moss);
  color: var(--bone);
  border: 1px solid transparent;
  box-sizing: border-box;
}

.nl-form--light button:hover,
.nl-form--light .btn-success:hover{
  background: var(--moss-deep);
  color: var(--bone);
  border-color: transparent;
}

.nl-form--light button:focus-visible,
.nl-form--light .btn-success:focus-visible{
  outline-color: var(--bone);
}

.nl-bar .nl-form .valid{
  grid-column: 1 / -1;
  margin: 0;
}

.nl-bar .valid .alert{
  position: static;
  margin: 0;
  font-size: var(--fs-cap);
  padding: 0.75rem 1rem;
  border-radius: 0;
}

.nl-bar__description{
  margin: 0.75rem 0 0;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: 0.04em;
  color: rgba(242, 239, 228, 0.6);
}

.footer__newsletter .page-header,
.footer__newsletter .breadcrumb,
.footer__newsletter h4.cat-name{
  display: none !important;
}

@media (max-width: 680px){
  .nl-bar__inner {
    grid-template-columns: 1fr;
    align-items: flex-start;
    gap: 1rem;
  }

  .nl-bar__copy span {
    max-width: none;
  }

  .nl-bar__form-wrap {
    justify-self: stretch;
    max-width: none;
    margin-inline: 0;
  }
}

@media (hover: none) and (pointer: coarse){
  .nl-bar .nl-form button:hover,
  .nl-bar .nl-form .btn-success:hover {
    background: var(--moss);
    border-color: rgba(242, 239, 228, 0.22);
  }
}

/* Newsletter - Postage stamp (matches design/homepage-redesign/newsletter.html · concept 03) */
.mb-newsletter{
  --macro: url('https://www.minibeast.co/image/catalog/page-headers/macro-b-3.jpg');
  padding-block: clamp(3rem, 6vw, 5rem);
}

.footer__newsletter .mb-newsletter{
  padding-block: clamp(2rem, 5vw, 4rem);
}

.mb-newsletter .nl-stamp{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: center;
  border: 1px solid var(--rule);
  background: var(--paper);
  padding: clamp(1.6rem, 4vw, 3rem);
}

.mb-newsletter .nl-stamp__frame{
  width: clamp(150px, 22vw, 240px);
  aspect-ratio: 4 / 5;
  padding: 10px;
  background: var(--bone);
  border: 1px solid var(--rule);
  box-shadow: 0 0 0 4px var(--bone), 0 0 0 5px var(--rule);
  position: relative;
}

.mb-newsletter .nl-stamp__frame::before{
  content: '';
  position: absolute;
  inset: -9px;
  border: 2px dashed var(--rule);
  opacity: 0.45;
  pointer-events: none;
}

.mb-newsletter .nl-stamp__img{
  width: 100%;
  height: 100%;
  background-image: var(--macro);
  background-size: cover;
  background-position: center;
  position: relative;
}

.mb-newsletter .nl-stamp__value{
  position: absolute;
  top: 8px;
  right: 8px;
  background: var(--terracotta);
  color: var(--bone);
  padding: 0.25em 0.5em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.mb-newsletter .ref{
  display: inline-flex;
  align-items: center;
  gap: 0.55em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.mb-newsletter .ref::before{
  content: '';
  width: 2px;
  height: 0.95em;
  background: var(--terracotta);
  border-radius: 1px;
  flex: 0 0 auto;
}

.mb-newsletter .nl-stamp__copy h2{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: clamp(2rem, 3.6vw, 3.2rem);
  line-height: 1;
  letter-spacing: -0.01em;
  margin: 0.7rem 0 0;
  color: var(--ink);
}

.mb-newsletter .nl-stamp__copy h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
}

.mb-newsletter .nl-stamp__copy p{
  margin: 1rem 0 0;
  max-width: 46ch;
  color: #3a372f;
}

.mb-newsletter .nl-stamp__form{
  margin-top: 1.6rem;
  max-width: 520px;
}

.mb-newsletter .nl-stamp__valid:empty{
  display: none;
}

.mb-newsletter .nl-stamp__valid{
  margin-top: 1rem;
  max-width: 520px;
}

.mb-newsletter .nl-stamp__valid .alert{
  margin: 0;
  font-size: var(--fs-cap);
  padding: 0.75rem 1rem;
  border-radius: 0;
}

.mb-newsletter .nl-stamp__social{
  margin-top: 1.2rem;
}

@media (max-width: 560px){
  .mb-newsletter .nl-stamp {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }

  .mb-newsletter .nl-stamp__copy p {
    margin-inline: auto;
  }

  .mb-newsletter .nl-stamp__form {
    margin-inline: auto;
    width: 100%;
  }

  .mb-newsletter .nl-form {
    grid-template-columns: 1fr;
  }

  .mb-newsletter .nl-form input[type='email'],
  .mb-newsletter .nl-form .form-control {
    border-right: 0;
    border-bottom: 1px solid var(--hairline);
  }

  .mb-newsletter .nl-form button {
    padding: 1em;
    width: 100%;
  }
}

/* 13 - Footer / colophon (matches design/homepage-redesign/index.html) */
#footer{
  background: transparent;
  padding: 0;
  margin: 0;
  border: 0;
}

#pavo-footer-bottom{
  display: none !important;
}

.foot{
  background: var(--moss-deep);
  color: var(--bone);
  position: relative;
  overflow: hidden;
  font-family: var(--sans);
  font-size: var(--fs-body);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.foot .shell{
  max-width: var(--max);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.foot__micro{
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked-wide);
  text-transform: uppercase;
  color: rgba(242, 239, 228, 0.6);
  display: block;
  margin-bottom: 0.7rem;
}

/* conservation pledge band */
.foot__pledge{
  background: var(--moss);
  border-bottom: 1px solid rgba(242, 239, 228, 0.18);
}

.foot__pledge-inner{
  display: flex;
  flex-wrap: wrap;
  gap: 1.4rem 3rem;
  align-items: center;
  justify-content: space-between;
  padding-block: clamp(1.6rem, 3vw, 2.4rem);
}

.foot__pledge-stat{
  margin: 0;
  max-width: 34ch;
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: clamp(1.3rem, 2.4vw, 1.9rem);
  line-height: 1.2;
}

.foot__pledge-stat em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--amber);
}

.foot__pledge-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 1.6rem;
}

.foot__pledge-list li{
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: rgba(242, 239, 228, 0.85);
}

.foot__pledge-list li::before{
  content: "";
  width: 0.95em;
  height: 0.95em;
  flex-shrink: 0;
  background-color: var(--terracotta);
  -webkit-mask: url('/catalog/view/theme/minibeast/svg/Minibeast_Icon.svg') center / contain no-repeat;
  mask: url('/catalog/view/theme/minibeast/svg/Minibeast_Icon.svg') center / contain no-repeat;
}

/* main colophon */
.foot__main{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.55fr);
  gap: clamp(2rem, 5vw, 4rem);
  padding-block: clamp(3rem, 5vw, 4.5rem);
  align-items: start;
}

.foot__lead{
  min-width: 0;
}

.foot__logo{
  display: inline-block;
  line-height: 0;
  text-decoration: none;
}

.foot__logo img{
  display: block;
  width: auto;
  height: 1.25rem;
  max-width: min(147px, 38vw);
}

.foot__tagline{
  max-width: 48ch;
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  font-size: 1.18rem;
  color: rgba(242, 239, 228, 0.85);
  line-height: 1.4;
}

.foot__currency{
  margin-top: 2rem;
  max-width: 48ch;
}

.foot__chips{
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.foot__chip{
  background: transparent;
  color: var(--bone);
  border: 1px solid rgba(242, 239, 228, 0.35);
  padding: 0.5em 0.8em;
  border-radius: 2em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  transition: all 0.2s ease;
  cursor: pointer;
}

.foot__chip:hover,
.foot__chip.is-active{
  background: var(--amber);
  color: var(--moss-deep);
  border-color: var(--amber);
}

/* link drawers */
.foot__drawers{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(2rem, 3.5vw, 3.5rem);
  width: 100%;
  min-width: 0;
  justify-self: stretch;
}

.foot__drawer{
  min-width: 0;
}

.foot__drawer-toggle{
  margin: 0 0 1.2rem;
  padding: 0 0 0.8rem;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border: 0;
  border-bottom: 1px solid rgba(242, 239, 228, 0.25);
  background: transparent;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked-wide);
  text-transform: uppercase;
  color: var(--amber);
  text-align: left;
  cursor: default;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
}

.foot__drawer-ref{
  color: rgba(242, 239, 228, 0.4);
  letter-spacing: var(--tracked);
  flex-shrink: 0;
}

.foot__drawer-car{
  display: none;
  width: 0.5em;
  height: 0.5em;
  flex-shrink: 0;
  margin-left: auto;
  align-self: center;
  border-right: 1.5px solid rgba(242, 239, 228, 0.4);
  border-bottom: 1.5px solid rgba(242, 239, 228, 0.4);
  transform: rotate(45deg);
  transition: transform 0.25s ease;
}

.foot__drawer ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.foot__drawer a{
  display: inline-flex;
  align-items: center;
  gap: 0;
  font-family: var(--sans);
  font-weight: 500;
  font-size: 13px;
  line-height: 1.35;
  letter-spacing: normal;
  color: var(--bone);
  opacity: 0.85;
  text-decoration: none;
  transition: opacity 0.2s ease, gap 0.25s ease, color 0.2s ease;
}

.foot__drawer a::before{
  content: "";
  width: 0;
  height: 1px;
  background: var(--terracotta);
  transition: width 0.25s ease;
}

.foot__drawer a:hover{
  opacity: 1;
  color: var(--bone);
  gap: 0.8em;
}

.foot__drawer a:hover::before{
  width: 1em;
}

/* butterfly pattern ribbon */
.foot__pattern{
  height: clamp(48px, 5vw, 74px);
  background-image: url('/catalog/view/theme/minibeast/svg/b-pattern-L-white.svg');
  background-repeat: repeat-x;
  background-position: center;
  background-size: auto 100%;
  opacity: 0.2;
}

.foot__bottom{
  padding: 1.6rem 0 0.35rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: rgba(242, 239, 228, 0.6);
}

.foot__social{
  display: flex;
  gap: 1.2rem;
}

.foot__social a{
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: rgba(242, 239, 228, 0.8);
  text-decoration: none;
}

.foot__social a:hover{
  color: var(--terracotta);
}

.foot__promise{
  max-width: 42ch;
  text-align: right;
  text-transform: none;
  letter-spacing: normal;
  font-size: 0.8125rem;
  line-height: 1.4;
}

/* back-cover signature - SVG outline wordmark, half clipped at page bottom */
.foot__bleed{
  font-size: clamp(3.6rem, 21vw, 21rem);
  line-height: 0;
  text-align: center;
  margin-top: -0.6rem;
  transform: translateY(0.42em);
  pointer-events: none;
  user-select: none;
  overflow: hidden;
  padding: 0;
}

.foot__bleed-logo{
  display: block;
  width: 4.34em;
  height: 1em;
  max-width: none;
  margin-inline: auto;
}

.foot__bleed-logo path{
  fill: none;
  stroke: rgba(242, 239, 228, 0.16);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
  stroke-linejoin: round;
  stroke-linecap: round;
}

#footer .foot h4,
#pavo-site-footer.foot .foot__drawer-toggle{
  margin: 0 0 1.2rem;
  padding: 0 0 0.8rem;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  line-height: 1.4;
  letter-spacing: var(--tracked-wide);
  text-transform: uppercase;
  color: var(--amber);
  text-align: left;
}

/* Beat legacy theme footer rules (#pavo-site-footer h4, footer ul li a) */
#pavo-site-footer.foot .foot__drawer ul li{
  font-size: inherit;
}

#footer .foot ul,
#pavo-site-footer.foot ul{
  list-style: none;
  margin: 0;
  padding: 0;
}

#footer .foot .foot__drawer a,
#pavo-site-footer.foot .foot__drawer a{
  display: inline-flex;
  align-items: center;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: normal;
  margin-bottom: 0;
  text-decoration: none;
  color: var(--bone);
  opacity: 0.85;
}

#footer .foot .foot__drawer a:hover,
#pavo-site-footer.foot .foot__drawer a:hover{
  opacity: 1;
  color: var(--bone);
  text-decoration: none;
}

#pavo-site-footer.foot .foot__pledge-stat{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: clamp(1.3rem, 2.4vw, 1.9rem);
  line-height: 1.2;
}

#pavo-site-footer.foot .foot__pledge-stat em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
}

#pavo-site-footer.foot .foot__pledge-list li{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
}

#pavo-site-footer.foot .foot__logo{
  display: none; /* hidden for now - bottom bleed wordmark remains */
}

#pavo-site-footer.foot .foot__tagline{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  font-size: 1.18rem;
  line-height: 1.4;
}

#pavo-site-footer.foot .foot__micro{
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked-wide);
}

#pavo-site-footer.foot .foot__chip{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
}

#pavo-site-footer.foot .foot__bottom,
#pavo-site-footer.foot .foot__bottom > span{
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  line-height: 1.55;
}

@media (max-width: 900px){
  .foot__main {
    grid-template-columns: 1fr;
  }

  .foot__drawers {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px){
  #footer .foot h4,
  #pavo-site-footer.foot .foot__drawer-toggle {
    font-size: var(--fs-micro);
    text-align: left;
  }
}

@media (max-width: 767px){
  .foot__drawers {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .foot__drawer {
    border-bottom: 0;
  }

  .foot__drawer-toggle,
  #pavo-site-footer.foot .foot__drawer-toggle {
    margin: 0;
    padding: 0.75rem 0;
    border-bottom: 1px solid rgba(242, 239, 228, 0.15);
    cursor: pointer;
  }

  .foot__drawer-car {
    display: block;
  }

  .foot__drawer.is-open .foot__drawer-car {
    transform: rotate(-135deg);
  }

  .foot__drawer ul {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
    gap: 0.7rem;
  }

  .foot__drawer ul li {
    padding-bottom: 0.35rem;
  }

  .foot__drawer.is-open ul {
    max-height: 600px;
    padding: 0.5rem 0 1.25rem;
  }
}

@media (max-width: 620px){
  .foot__pledge-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .foot__promise {
    max-width: none;
    text-align: left;
  }

  #pavo-site-footer.foot .foot__drawer ul li {
    font-size: inherit;
  }
}

/* ------------------------------------------------------------------
   Design-system type scale - beats global theme h1–h6 (see head.tpl)
   Tokens match design/homepage-redesign/guidelines.html
------------------------------------------------------------------ */
.common-home .mb-home .mb-catalogue__head h2,
.common-home .mb-home .mb-reviews__head h2,
.common-home .mb-home .mb-asseen__head h2,
.common-home .mb-home .mb-families__head h2,
.common-home .mb-home .mb-wingcolour__head h2,
#pgprod .mb-home .mb-catalogue__head h2{
  font-size: var(--fs-h2);
  line-height: 0.95;
}

.common-home .mb-home .mb-strip__title{
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.1;
}

.common-home .mb-home .mb-craft__title{
  line-height: 1;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(2rem, 4.5vw, 3.4rem);
  letter-spacing: -0.005em;
}

.common-home .mb-home .mb-craft__title em,
.common-home .mb-home .mb-craft__title .mb-italic{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--amber);
}

.common-home .mb-home .mb-invite__copy h2{
  font-size: clamp(2.6rem, 6vw, 5.6rem);
  line-height: 0.95;
}

.common-home .mb-home .mb-hero-bleed__title{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(2.4rem, 5.5vw, 4rem);
  line-height: 0.92;
  letter-spacing: -0.02em;
  margin: 0;
  max-width: 16ch;
  color: var(--bone);
}

.common-home .mb-home .mb-hero-split__title{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  line-height: 0.92;
  letter-spacing: -0.02em;
  color: var(--bone);
}

.common-home .mb-home .mb-hero-bleed__title .mb-italic,
.common-home .mb-home .mb-hero-bleed__title em,
.common-home .mb-home .mb-hero-split__title .mb-italic,
.common-home .mb-home .mb-hero-split__title em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  display: block;
  padding-left: 0.08em;
  margin-top: 0.04em;
  color: var(--amber);
  line-height: 0.92;
  letter-spacing: -0.02em;
}

.common-home .mb-home .mb-livelihood__copy h3{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.05;
  letter-spacing: -0.005em;
}

.common-home .mb-home .mb-livelihood__copy h3 em,
.common-home .mb-home .mb-livelihood__copy h3 .mb-italic{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--moss);
}

.common-home .mb-home .gm__map-head h3{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.05;
  letter-spacing: -0.005em;
}

.common-home .mb-home .gm__map-head h3 em,
.common-home .mb-home .gm__map-head h3 .mb-italic{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--amber);
}

.common-home .mb-home .mb-spec-card__title,
#pgprod .mb-home .mb-spec-card__title{
  font-size: 1.2rem;
  line-height: 1.15;
}

#pgprod .mb-home .mb-spec-card__title em{
  font-size: 0.95rem;
}

/* ------------------------------------------------------------------
   Header & megamenu - nav + dropdown links (guidelines.html)
   Literal hex used here: .mainmenu sits outside #my-header, so the
   design-token custom properties are not in scope on the category bar.
------------------------------------------------------------------ */

.mainmenu{
  position: relative;
  z-index: 10040;
  background: var(--bone-2);
  --bone: #f2efe4;
  --bone-2: #ece5d3;
  --terracotta: #c2613a;
  --muted: #6f6a62;
  --moss-deep: #122418;
  --ink: var(--moss-deep);
  --rule: var(--moss-deep);
  --hairline: rgba(18, 36, 24, 0.18);
  --serif: 'Nantes-Upright', 'Cormorant Garamond', 'Times New Roman', serif;
  --italic: 'Nantes-Italic', 'Cormorant Garamond', 'Times New Roman', serif;
  --sans: 'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  --sans-bold: 'DM Sans Bold', 'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  --menu-text: 14px;
  --menu-item-text: 12px;
  --menu-track: 0.5px;
  --fs-micro: 0.45rem;
  --tracked: 0.18em;
}

/* Desktop live search - fixed opaque panel; only results scroll */
html.body-fixed-search,
body.body-fixed-search{
  overflow: hidden;
  height: 100%;
}

body.body-fixed-search{
  position: fixed;
  width: 100%;
  left: 0;
  right: 0;
}

.search-desk{
  position: fixed;
  top: 153px;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  z-index: 10055;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--bone);
  overscroll-behavior: none;
  touch-action: none;
  --bone: #f2efe4;
  --bone-2: #ece5d3;
  --moss-deep: #122418;
  --ink: var(--moss-deep);
  --rule: var(--moss-deep);
  --hairline: rgba(18, 36, 24, 0.18);
  --muted: #6f6a62;
  --terracotta: #c2613a;
  --amber: #d8a45a;
  --serif: 'Nantes-Upright', 'Cormorant Garamond', 'Times New Roman', serif;
  --italic: 'Nantes-Italic', 'Cormorant Garamond', 'Times New Roman', serif;
  --sans: 'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  --sans-bold: 'DM Sans Bold', 'DM Sans', 'Helvetica Neue', Arial, sans-serif;
}

.search-desk__bar{
  flex-shrink: 0;
  background: var(--bone);
}

.search-desk__bar > .container{
  padding-top: clamp(1.5rem, 2.5vw, 2rem);
  padding-bottom: 0;
}

.search-desk:has(#search-results-desk .mb-search-results) .search-desk__bar > .container{
  padding-bottom: clamp(0.75rem, 1.5vw, 1rem);
}

/* Toolbar - dispatch form + close control (design-system.html) */
.search-desk__toolbar{
  --search-desk-control-h: 48px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--search-desk-control-h);
  gap: clamp(0.75rem, 2vw, 1.25rem);
  align-items: stretch;
}

.mb-search-desk__form{
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: stretch;
  min-width: 0;
  height: var(--search-desk-control-h);
  margin: 0;
  border: 1px solid var(--ink);
  background: var(--bone);
  box-sizing: border-box;
}

.mb-search-desk__input{
  min-width: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-right: 1px solid var(--hairline);
  border-radius: 0;
  background: transparent;
  box-sizing: border-box;
  padding: 0 1.2em;
  font-family: var(--sans);
  font-size: var(--fs-field);
  font-weight: 500;
  line-height: var(--search-desk-control-h);
  color: var(--ink);
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
}

.mb-search-desk__input::placeholder{
  color: var(--muted);
  opacity: 1;
}

.mb-search-desk__input:focus,
.mb-search-desk__input:focus-visible{
  outline: none;
  box-shadow: none;
  border-color: transparent;
}

.mb-search-desk__submit{
  display: grid;
  place-items: center;
  width: 52px;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: var(--ink);
  color: var(--bone);
  cursor: pointer;
  transition: background 0.2s ease;
}

.mb-search-desk__submit img{
  display: block;
  width: 22px;
  height: 22px;
  filter: brightness(0) invert(1);
  opacity: 0.95;
}

.mb-search-desk__submit:hover{
  background: var(--terracotta);
}

.mb-search-desk__submit:focus-visible{
  outline: 2px solid var(--amber);
  outline-offset: -2px;
}

.search-desk__close{
  width: var(--search-desk-control-h);
  height: var(--search-desk-control-h);
  margin: 0;
  padding: 0;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  align-self: stretch;
  border: 1px solid var(--ink);
  background: var(--bone);
  color: var(--ink);
  cursor: pointer;
  box-sizing: border-box;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.search-desk__close:hover{
  background: var(--amber);
  border-color: var(--amber);
  color: var(--ink);
}

.search-desk__close:focus-visible{
  outline: 2px solid var(--amber);
  outline-offset: 2px;
}

/* Separator is the results grid border-top - not a second hr */
.search-desk__rule{
  display: none !important;
}

.search-desk__results,
#search-results-desk{
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
  background: var(--bone);
}

.search-desk__results .container,
#search-results-desk .container{
  padding-bottom: 2rem;
}

.search-desk .mb-search-results{
  padding-top: 0;
}

.search-desk .mb-catalogue__grid,
.search-desk #livesearch_search_results{
  position: static;
  top: auto;
  left: auto;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  border-radius: 0;
  list-style: none;
}

.search-desk #livesearch_search_results .mb-spec-card.highlighted{
  background: var(--paper);
  outline: 2px solid var(--terracotta);
  outline-offset: -2px;
}

.search-desk .mb-spec-card__img{
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--paper);
  border: 1px solid var(--hairline);
  position: relative;
}

.search-desk .mb-spec-card__img > img,
.search-desk .mb-spec-card__product-img{
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  float: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.search-desk .mb-spec-card__acc{
  display: inline-block;
  font-family: 'Courier New', Courier, ui-monospace, monospace;
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  color: var(--muted);
}

/* Beat global h1-h6 rules from stylesheet.css - match homepage bestseller spec-cards */
.search-desk .mb-home h1,
.search-desk .mb-home h2,
.search-desk .mb-home h3,
.search-desk .mb-home h4,
.search-desk .mb-home h5,
.search-desk .mb-home h6{
  color: inherit;
  letter-spacing: normal;
  font-variation-settings: normal;
  margin: 0;
  font-weight: 500;
  line-height: inherit;
  font-family: inherit;
}

.search-desk .mb-home [class*="__"] h1,
.search-desk .mb-home [class*="__"] h2,
.search-desk .mb-home [class*="__"] h3,
.search-desk .mb-home [class*="__"] h4,
.search-desk .mb-home [class*="__"] h5,
.search-desk .mb-home [class*="__"] h6,
.search-desk .mb-home .mb-spec-card__title{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  letter-spacing: normal;
}

.search-desk .mb-home .mb-spec-card__title{
  font-size: 1.2rem;
  line-height: 1.15;
}

.search-desk .mb-home .mb-spec-card__title em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  display: block;
  font-size: 0.95rem;
  line-height: 1.15;
  color: var(--muted);
  letter-spacing: normal;
}

.search-desk .mb-spec-card__thumbs{
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.search-desk .mb-spec-card__thumbs li{
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--bone);
  margin-left: -12px;
}

.search-desk .mb-spec-card__thumbs li:first-child{
  margin-left: 0;
}

.search-desk .mb-spec-card__thumbs img{
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  border: 0;
  border-radius: 0;
  margin: 0;
}

@media (max-width: 1000px){
  .search-desk .mb-catalogue__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 520px){
  .search-desk .mb-catalogue__grid {
    grid-template-columns: 1fr;
  }
}

/* Success/error toasts (add to cart etc.) - above nav (10040) + megamenu (10050), below minicart (10060) */
#notification-stack{
  position: fixed;
  top: 1rem;
  left: 50%;
  z-index: 10055;
  transform: translateX(-50%);
  width: auto;
  min-width: min(92vw, 20rem);
  max-width: min(92vw, 28rem);
  margin: 0;
  text-align: center;
  pointer-events: none;
}

#notification-stack[style*="block"]{
  pointer-events: auto;
}

#sys-notification{
  position: relative;
  z-index: 10055;
  width: 100%;
}

#sys-notification:empty,
#sys-notification .container:empty,
#sys-notification #warning-messages:empty + #success-messages:empty{
  display: none;
}

.alert.alert-success,
.alert.alert-danger{
  z-index: 10055;
}

/* Minicart + recommendations - above header nav (10040) and megamenu dropdowns (10050) */
.sidebar-opacity,
.sidebar-opacity-trans{
  position: fixed;
  z-index: 10060;
}

.slidable-pre{
  z-index: 10070;
}

.slidable{
  z-index: 10080;
}

/* lightGallery defaults (~1050) sit below .mainmenu (10040) - lift when open */
html.lg-on .lg-backdrop{
  z-index: 10090;
}

html.lg-on .lg-outer{
  z-index: 10100;
}

html.lg-on .lg-components,
html.lg-on .lg-toolbar,
html.lg-on .lg-pager-outer,
html.lg-on .lg-prev,
html.lg-on .lg-next,
html.lg-on .lg-sub-html{
  z-index: 10130;
}

/* Top nav hover - colour only, no underline (overrides stylesheet.css) */
.pav-megamenu .navbar-nav > li > a,
.pav-megamenu .navbar-nav > li > a > span,
.pav-megamenu .navbar-nav > li:hover > a,
.pav-megamenu .navbar-nav > li:hover > a > span,
.pav-megamenu .navbar-nav > li.open > a,
.pav-megamenu .navbar-nav > li.open > a > span,
.pav-megamenu .navbar-nav > li:focus > a > span{
  text-decoration: none;
  border-bottom: 0;
  padding-bottom: 0;
}

.mainmenu .pav-megamenu .navbar-nav > li > a{
  padding-left: 0;
  padding-right: 3rem;
  font-size: var(--menu-text);
}

.pav-megamenu .navbar-nav > li:hover > a,
.mainmenu .pav-megamenu .navbar-nav > li:hover > a,
.mainmenu .pav-megamenu .navbar-nav > li.open > a{
  color: #1c3a2c;
}

/* ---- mega dropdown panel: hairline top rule + soft lift ---- */
.pav-megamenu .navbar-nav > li > .dropdown-menu{
  background: var(--bone-2, #ece5d3);
  border-top: 1px solid rgba(18, 36, 24, 0.18);
  box-shadow: 0 24px 40px -28px rgba(18, 36, 24, 0.55);
}

.mainmenu .pav-megamenu .navbar-nav > li > .dropdown-menu{
  z-index: 10050;
  background: var(--bone-2);
}

/* ---- column heading hover ---- */
.pav-megamenu .navbar-nav > li > .dropdown-menu .widget-heading a:hover{
  color: #1c3a2c;
}

/* ------------------------------------------------------------------
   Megamenu category sections (header-menu.html mega__group)
------------------------------------------------------------------ */

.mainmenu .pav-megamenu .navbar-nav > li > .dropdown-menu .dropdown-menu-inner{
  counter-reset: mega-group;
}

.mainmenu .pavo-widget{
  position: static;
  padding-bottom: 2rem;
}

.mainmenu .mega-col-inner > .pavo-widget:last-child{
  padding-bottom: 0;
}

.mainmenu .menuCatTile{
  display: none;
}

.mainmenu .mega__group + .mega__group{
  margin-top: 2rem;
  padding-top: 1.6rem;
  border-top: 1px solid var(--hairline);
}

.mainmenu .mega__group{
  counter-increment: mega-group;
}

.mainmenu .mega__heading,
.mainmenu .pav-megamenu .navbar-nav > li > .dropdown-menu .mega__heading.widget-heading,
#my-header .mb-header-nav__panel .mega__heading,
#my-header #top #form-currency .topbar-currency__head .mega__heading,
.top__currency_mob #form-currency .topbar-currency__head .mega__heading,
#top.top #form-currency .topbar-currency__head .mega__heading{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: var(--menu-text);
  line-height: 1.15;
  margin: 0 0 1.1rem;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid var(--rule);
  letter-spacing: var(--menu-track);
  text-align: left;
}

/* Header nav + currency panels (not .mainmenu) - normal tracking, not #top 1px inherit */
#my-header .mb-header-nav__panel .mega__heading,
#my-header #top #form-currency .topbar-currency__head .mega__heading,
.top__currency_mob #form-currency .topbar-currency__head .mega__heading,
#top.top #form-currency .topbar-currency__head .mega__heading{
  letter-spacing: normal;
}

.mainmenu .mega__heading a{
  color: inherit;
  border-bottom: 0;
  position: static;
  margin: 0;
  font: inherit;
  letter-spacing: inherit;
}

.mainmenu .mega__heading a:hover{
  color: #1c3a2c;
}

.mainmenu .mega__heading .num::before{
  content: 'Nº ' counter(mega-group, decimal-leading-zero);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  color: var(--terracotta);
  text-transform: uppercase;
}

.mainmenu .mega__list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.mainmenu .mega__list > li{
  list-style: none;
  padding: 0;
  color: inherit;
}

.mainmenu .mega__list a{
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.15rem 0;
  position: static;
  margin: 0;
  border-bottom: 1px solid transparent;
  color: var(--ink);
  transition: padding-left 0.2s ease, color 0.2s ease;
}

.mainmenu .mega__list a:hover{
  padding-left: 0.4rem;
  color: var(--terracotta);
  border-bottom-color: transparent;
}

.mainmenu .mega__disk{
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid var(--ink);
  background: var(--bone);
  position: relative;
}

.mainmenu .mega__disk::after{
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  box-shadow: inset 0 0 0 3px var(--bone);
  pointer-events: none;
}

.mainmenu .mega__disk img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  box-shadow: none;
  padding: 0;
  border-radius: 0;
}

.mainmenu .mega__txt{
  display: flex;
  flex-direction: column;
  line-height: 1.25;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--menu-item-text);
  letter-spacing: normal;
}

.mainmenu .mega__txt--plain{
  padding-left: 0.2rem;
}

.mainmenu .mega__txt small{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  font-size: 0.82rem;
  color: var(--muted);
}

/* Override legacy megamenu list/link rules inside category sections */
.mainmenu .pav-megamenu .dropdown-menu .mega__list li{
  color: inherit;
  padding-bottom: 0;
  font-size: inherit;
}

.mainmenu .pav-megamenu .dropdown-menu .mega__list li a{
  position: static;
  margin-top: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--menu-item-text);
  letter-spacing: normal;
  color: var(--ink);
}

.mainmenu .pav-megamenu .dropdown-menu .mega__list li a:hover,
.mainmenu .pav-megamenu .dropdown-menu.ento .mega__list li a:hover,
.mainmenu .pav-megamenu .dropdown-menu.dome .mega__list li a:hover,
.mainmenu .pav-megamenu .dropdown-menu.ammo .mega__list li a:hover{
  color: var(--terracotta);
  border-bottom: 0;
  text-decoration: none;
}

/* ------------------------------------------------------------------
   Header primary nav - isolated from megamenu (#my-header)
------------------------------------------------------------------ */

/* .mainmenu is a sibling at z-index 10040 - header must stack above it so
   Ethics + topbar dropdowns are not trapped underneath on hover. */
@media (min-width: 769px){
  #my-header{
    position: relative;
    z-index: 10041;
  }
}

/* Mobile header scroll hide - fixed pin once promo bar scrolls away (sticky+transform was not visible on scroll up). */
header#my-header.style-header.header-v1 {
  transform: translate3d(0, 0, 0);
  transition: transform 0.4s ease-in-out;
}

.mb-header-spacer {
  display: none;
}

@media (max-width: 768px) {
  header#my-header.style-header.header-v1.is-header-stuck {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 10042;
    background: #f3efe4;
  }

  header#my-header.style-header.header-v1.is-header-stuck.nav-up {
    transform: translate3d(0, -100%, 0);
    pointer-events: none;
  }

  header#my-header.style-header.header-v1.is-header-stuck.nav-down {
    transform: translate3d(0, 0, 0);
    pointer-events: auto;
  }
}

#my-header .pageheader,
#my-header .pageheader__mainmenu,
#my-header .pageheader__wrap{
  overflow: visible;
}

#my-header .pageheader__wrap{
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

#my-header .pageheader__mainmenu{
  margin-left: clamp(2rem, 4vw, 3.5rem);
}

#my-header .pageheader__carticons{
  margin-inline-start: auto;
}

#my-header .mb-header-nav{
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  list-style: none;
  margin: 0;
  padding: 0;
}

@media (min-width: 768px){
  #my-header .pageheader__logo {
    margin-left: -15px;
  }

  #my-header .pageheader__logo img {
    width: 220px;
    max-width: none;
    height: auto;
  }
}

#my-header .mb-header-nav__item{
  position: relative;
  flex: 0 0 auto;
}

#my-header .mb-header-nav__link{
  display: inline-flex;
  align-items: center;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  line-height: 80px;
  height: 80px;
  padding: 0 15px;
  color: var(--ink);
  text-decoration: none;
  font-variation-settings: normal;
  transition: color 0.2s ease;
}

#my-header .mb-header-nav__item:hover > .mb-header-nav__link,
#my-header .mb-header-nav__item:focus-within > .mb-header-nav__link{
  color: #1c3a2c;
}

#my-header .mb-header-nav__panel{
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 10050;
  list-style: none;
  margin: 0;
  padding: 1.1rem 1.25rem 1.15rem;
  min-width: 18rem;
  max-width: 22rem;
  background: var(--bone);
  border: 1px solid var(--rule);
  box-shadow: 0 24px 40px -28px rgba(18, 36, 24, 0.55);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
}

#my-header .mb-header-nav__item--menu:hover .mb-header-nav__panel,
#my-header .mb-header-nav__item--menu:focus-within .mb-header-nav__panel{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

#my-header .mb-header-nav__panel li{
  list-style: none;
  margin: 0;
  padding: 0;
}

#my-header .mb-header-nav__panel .mega__list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

#my-header .mb-header-nav__panel a{
  display: block;
  padding: 0.15rem 0;
  font-family: var(--sans);
  font-weight: 500;
  font-size: 12px;
  line-height: 1.25;
  letter-spacing: normal;
  text-transform: none;
  color: var(--ink);
  text-decoration: none;
  white-space: normal;
  border-bottom: 1px solid transparent;
  transition: padding-left 0.2s ease, color 0.2s ease;
}

#my-header .mb-header-nav__panel a:hover{
  padding-left: 0.4rem;
  color: var(--terracotta);
  border-bottom-color: transparent;
}

@media (max-width: 1199px){
  #my-header .pageheader {
    border-bottom: 1px solid var(--rule);
  }
}

/* Topbar utility links - flat caps row, right-aligned above header icons */
@media (min-width: 768px){
  #my-header #top #topblock {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem;
  }

  #my-header #top .top__social {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1.35rem;
    flex-shrink: 0;
    margin-left: auto;
  }
}

#my-header #top{
  background-color: var(--moss-deep);
  color: var(--bone);
}

#my-header #top .top__social > a i,
#my-header #top .top__social .social-block i{
  display: none;
}

#my-header #top .mb-usp-slider__item,
#my-header #top .top__link,
#my-header #top .top__social > a,
#my-header #top #form-currency .dropdown-toggle{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: 8px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--bone);
  background: transparent;
  text-decoration: none;
  line-height: 30px;
  white-space: nowrap;
  border: 0;
  box-shadow: none;
}

#my-header #top .top__link:hover,
#my-header #top .top__link:focus,
#my-header #top .top__social > a:hover,
#my-header #top .top__social > a:focus,
#my-header #top #form-currency .dropdown-toggle:hover,
#my-header #top #form-currency .dropdown-toggle:focus,
#my-header #top #form-currency .btn-group.open .dropdown-toggle{
  color: var(--bone);
  opacity: 0.72;
  text-decoration: none;
  border: 0;
  box-shadow: none;
}

#my-header #top .top__currency{
  display: flex;
  align-items: center;
  padding-left: 0;
}

#my-header #top #form-currency .topbar-currency__caret,
.top__currency_mob #form-currency .topbar-currency__caret,
#top.top #form-currency .topbar-currency__caret{
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 0.3rem;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  border-top: 4px solid currentColor;
  vertical-align: middle;
  transition: transform 0.2s ease;
}

#my-header #top #form-currency .btn-group.open .topbar-currency__caret,
.top__currency_mob #form-currency .btn-group.open .topbar-currency__caret,
#top.top #form-currency .btn-group.open .topbar-currency__caret{
  transform: rotate(180deg);
}

/* Header icon row - right-aligned under topbar links */
#my-header .pageheader__carticons{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.15rem;
  min-width: 0;
}

#my-header .pageheader__carticons .user-icons{
  display: flex;
  align-items: center;
  gap: 1.15rem;
  height: 100%;
}

#my-header .pageheader__carticons .user-icons:not(.cart) a,
#my-header .pageheader__carticons #search-block,
#my-header .pageheader__carticons .button-i{
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

#my-header .pageheader__carticons .user-icons:not(.cart) img,
#my-header .pageheader__carticons .button-i img{
  width: 22px;
  height: 22px;
  margin: 0;
}

@media (max-width: 1199px){
  #my-header .pageheader__carticons {
    flex: 1;
    justify-content: flex-end;
  }
}

/* Topbar - bookend the footer: deep-moss brand chrome instead of generic
   near-black, so the header reads as brand colour against the bone body. */
/* Topbar currency dropdown */
#my-header #top,
#top.top{
  overflow: visible;
}

#my-header #top #topblock,
#top.top #topblock{
  overflow: visible;
}

#my-header #top .top__currency--switcher{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 30px;
  z-index: 10045;
}

.top__currency_mob.top__currency--switcher{
  position: absolute;
  top: 0;
  right: var(--gutter, 1.25rem);
  left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 30px;
  z-index: 10055;
}

@media (max-width: 767px){
  #top.top {
    position: relative;
    z-index: 1000;
  }

  #top.top #topblock {
    position: relative;
    justify-content: flex-start;
  }

  #top.top .top__slider-block {
    width: 100%;
  }

  #top.top .top__currency_mob #form-currency .btn-group.dropdown {
    position: relative;
  }

  #top.top .top__currency_mob #form-currency .dropdown-menu {
    z-index: 10056;
  }
}

#my-header #top .topbar-currency,
.top__currency_mob .topbar-currency{
  display: block;
  height: 100%;
}

#my-header #top #form-currency,
.top__currency_mob #form-currency{
  margin: 0;
  height: 100%;
}

#my-header #top #form-currency .btn-group.dropdown,
.top__currency_mob #form-currency .btn-group.dropdown{
  position: static;
  display: inline-flex;
  align-items: center;
  height: 100%;
}

#my-header #top #form-currency .dropdown-toggle,
.top__currency_mob #form-currency .dropdown-toggle,
#top.top #form-currency .dropdown-toggle{
  display: inline-flex;
  align-items: center;
  padding: 0;
  border: 0;
  line-height: 30px;
  box-shadow: none;
}

#my-header #top #form-currency .dropdown-toggle:hover,
#my-header #top #form-currency .dropdown-toggle:focus,
#my-header #top #form-currency .btn-group.open .dropdown-toggle,
.top__currency_mob #form-currency .dropdown-toggle:hover,
.top__currency_mob #form-currency .dropdown-toggle:focus,
.top__currency_mob #form-currency .btn-group.open .dropdown-toggle{
  border: 0;
  border-bottom: 0;
  box-shadow: none;
  outline: 0;
}

/* Match mb-header-nav__panel (Ethics) dropdown chrome */
#my-header #top #form-currency .dropdown-menu,
.top__currency_mob #form-currency .dropdown-menu,
#top.top #form-currency .dropdown-menu{
  position: absolute;
  top: 100%;
  left: auto;
  right: 0;
  z-index: 10046;
  min-width: 18rem;
  max-width: 22rem;
  padding: 1.1rem 1.25rem 1.15rem;
  margin: 0;
  list-style: none;
  background: var(--bone);
  border: 1px solid var(--rule);
  border-radius: 0;
  box-shadow: 0 24px 40px -28px rgba(18, 36, 24, 0.55);
}

#my-header #top #form-currency .dropdown-menu > li,
.top__currency_mob #form-currency .dropdown-menu > li,
#top.top #form-currency .dropdown-menu > li{
  height: auto;
  margin: 0;
  padding: 0;
  text-align: left;
  background: transparent;
}

#my-header #top #form-currency .topbar-currency__head,
.top__currency_mob #form-currency .topbar-currency__head,
#top.top #form-currency .topbar-currency__head{
  pointer-events: none;
  margin-bottom: 0.25rem;
}

/* Reset #top bar typography inheritance - match mb-header-nav__panel .mega__heading */
#my-header #top #form-currency .topbar-currency__head .mega__heading,
.top__currency_mob #form-currency .topbar-currency__head .mega__heading,
#top.top #form-currency .topbar-currency__head .mega__heading{
  color: var(--ink);
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: var(--menu-text);
  line-height: 1.15;
  letter-spacing: normal;
  text-transform: none;
  text-align: left;
  margin: 0 0 1.1rem;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid var(--rule);
}

#my-header #top #form-currency .dropdown-menu .currency-select,
.top__currency_mob #form-currency .dropdown-menu .currency-select,
#top.top #form-currency .dropdown-menu .currency-select{
  display: block;
  width: 100%;
  padding: 0.15rem 0;
  text-align: left;
  white-space: normal;
  color: var(--ink);
  font-family: var(--sans);
  font-weight: 500;
  font-size: 12px;
  line-height: 1.25;
  letter-spacing: normal;
  text-transform: none;
  border: 0;
  border-bottom: 1px solid transparent;
  background: transparent;
  box-shadow: none;
  transition: padding-left 0.2s ease, color 0.2s ease;
}

#my-header #top #form-currency .dropdown-menu .currency-select:hover,
#my-header #top #form-currency .dropdown-menu .currency-select:focus,
.top__currency_mob #form-currency .dropdown-menu .currency-select:hover,
.top__currency_mob #form-currency .dropdown-menu .currency-select:focus,
#top.top #form-currency .dropdown-menu .currency-select:hover,
#top.top #form-currency .dropdown-menu .currency-select:focus{
  padding-left: 0.4rem;
  color: var(--terracotta);
  border: 0;
  border-bottom: 1px solid transparent;
  background: transparent;
  text-decoration: none;
  box-shadow: none;
}

#my-header #top #form-currency .dropdown-menu .currency-select--active,
.top__currency_mob #form-currency .dropdown-menu .currency-select--active,
#top.top #form-currency .dropdown-menu .currency-select--active{
  padding-left: 0.4rem;
  color: var(--terracotta);
  font-family: var(--sans-bold);
  font-weight: normal;
}

#my-header #top #form-currency .dropdown-menu .currency-select--active:hover,
#my-header #top #form-currency .dropdown-menu .currency-select--active:focus,
.top__currency_mob #form-currency .dropdown-menu .currency-select--active:hover,
.top__currency_mob #form-currency .dropdown-menu .currency-select--active:focus,
#top.top #form-currency .dropdown-menu .currency-select--active:hover,
#top.top #form-currency .dropdown-menu .currency-select--active:focus{
  color: var(--terracotta);
}

/* Tablet/mobile - scale hamburger to match logo + cart icons */
@media (max-width: 1199px){
  #my-header .pageheader__hamburger {
    align-items: center;
  }

  #my-header .pageheader__hamburger .mburger {
    --mb-button-size: 30px;
    --mb-bar-height: 2px;
    --mb-bar-spacing: 5px;
    color: var(--ink);
  }
}


/* ===== Global partners map (above customer reviews) ===== */
.mb-globalmap{ padding-block:clamp(2.5rem,6vw,5rem); }
.gm .cap{ font-family:var(--sans-bold); font-weight:normal; font-size:var(--fs-cap); letter-spacing:var(--tracked); text-transform:uppercase; }
.gm .arrow{ display:inline-flex; align-items:center; gap:.7em; font-family:var(--sans-bold); font-weight:normal; letter-spacing:var(--tracked); text-transform:uppercase; font-size:var(--fs-cap); padding-block:.6em; border-bottom:1px solid currentColor; width:max-content; max-width:100%; transition:gap .25s ease; }
.gm .arrow:hover{ gap:1.1em; }
.gm .arrow svg{ width:1.2em; height:.7em; }
.gm{
  background:var(--bone); border:1px solid var(--rule);
  display:grid; grid-template-columns:1.35fr 1fr;
  align-items:start;
}

/* ── map panel (dark) ───────────────────────────────── */
.gm__map{
  position:relative; background:var(--moss-deep); color:var(--bone);
  border-right:1px solid var(--rule);
  padding:clamp(1.6rem,3vw,2.4rem);
  display:flex; flex-direction:column; gap:1.4rem;
}
.gm__map-head .mb-cap{ color:var(--amber); }
.gm__map-head h3{
  margin:0; font-family:var(--serif); font-weight:400;
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size:clamp(1.8rem,3vw,2.6rem); line-height:1.05; letter-spacing:-.005em;
}
.gm__map-head h3 em,
.gm__map-head h3 .mb-italic{ font-family:var(--italic); font-style:italic; color:var(--amber); 
 font-variation-settings: 'wght' 400;
 font-weight: normal;}
.gm__map-head p{ margin:.7rem 0 0; max-width:46ch; color:rgba(242,239,228,.72); font-size:.92rem; }

.gm__stage{ position:relative; width:100%; }
.gm__svg{ display:block; width:100%; height:auto; }
.gm__land{
  fill:rgba(242,239,228,.035);
  stroke:rgba(242,239,228,.62);
  stroke-width:1.15; stroke-linejoin:round; stroke-linecap:round;
}
/* lighter, offset second pass - the loose "pencil" doubling */
.gm__land--ghost{
  fill:none; stroke:rgba(242,239,228,.2);
  stroke-width:1; stroke-linejoin:round; stroke-linecap:round;
}

/* ── pins (brand butterfly marker) ──────────────────── */
.gm__pin{
  position:absolute; transform:translate(-50%,-100%);
  width:clamp(26px,3.4vw,40px); height:auto; padding:0; margin:0;
  background:none; border:0; cursor:pointer; color:var(--amber);
  transition:transform .22s cubic-bezier(.2,.7,.2,1), filter .22s ease;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.45));
  transform-origin:50% 100%;
}
.gm__pin svg{ display:block; width:100%; height:auto; overflow:visible; }
.gm__pin svg .mark{
  fill:none; stroke:currentColor; stroke-width:34; stroke-miterlimit:10;
}
.gm__pin svg .disc{ fill:var(--moss-deep); opacity:0; transition:opacity .2s ease; }
.gm__pin:hover, .gm__pin:focus-visible{ outline:none; transform:translate(-50%,-100%) scale(1.28); z-index:6; }
.gm__pin:hover svg .disc, .gm__pin:focus-visible svg .disc,
.gm__pin.is-active svg .disc{ opacity:1; }
.gm__pin.is-active{ transform:translate(-50%,-100%) scale(1.28); z-index:6; }

/* pulsing locator ring at the pin tip */
.gm__pin::after{
  content:""; position:absolute; left:50%; bottom:-3px; width:7px; height:7px;
  margin-left:-3.5px; border-radius:50%; background:currentColor;
  box-shadow:0 0 0 0 currentColor;
}
.gm__pin.is-active::after, .gm__pin:hover::after, .gm__pin:focus-visible::after{
  animation:gmPulse 1.6s ease-out infinite;
}
@keyframes gmPulse{
  0%{ box-shadow:0 0 0 0 color-mix(in srgb,currentColor 60%,transparent); }
  70%{ box-shadow:0 0 0 12px transparent; }
  100%{ box-shadow:0 0 0 0 transparent; }
}

/* pin label */
.gm__pin .gm__label{
  position:absolute; left:50%; bottom:calc(100% + 8px); transform:translateX(-50%);
  background:var(--ink); color:var(--bone); white-space:nowrap;
  padding:.45em .7em; font-family:var(--sans-bold); font-weight:normal;
  font-size:var(--fs-micro); letter-spacing:var(--tracked); text-transform:uppercase;
  opacity:0; pointer-events:none; transition:opacity .18s ease, transform .18s ease;
  transform:translateX(-50%) translateY(4px);
}
.gm__pin .gm__label b{ color:currentColor; }
.gm__pin:hover .gm__label, .gm__pin:focus-visible .gm__label, .gm__pin.is-active .gm__label{
  opacity:1; transform:translateX(-50%) translateY(0);
}

.gm__legend{
  display:flex; flex-wrap:wrap; gap:.4rem 1rem; margin-top:.2rem;
  font-family:var(--sans); font-weight:500; font-size:var(--fs-micro);
  letter-spacing:var(--tracked); text-transform:uppercase; color:rgba(242,239,228,.6);
}
.gm__legend span{ display:inline-flex; align-items:center; gap:.45em; }
.gm__legend i{ width:.6em; height:.6em; border-radius:50%; background:currentColor; }

/* ── ledger panel (bone) ────────────────────────────── */
.gm__ledger{ display:flex; flex-direction:column; min-height:0; }
.gm__ledger-intro{
  padding:clamp(1.4rem,3vw,2rem) clamp(1.2rem,3vw,2rem) 1.2rem;
  border-bottom:1px solid var(--hairline);
  flex-shrink:0;
}
.gm__ledger-intro .cap{ color:var(--terracotta); }
.gm__ledger-intro h4{
  margin:.5rem 0 0; font-family:var(--serif); font-weight:400;
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size:clamp(1.5rem,2.4vw,2rem); line-height:1.04;
}
.gm__ledger-intro h4 em{ font-family:var(--italic); color:var(--terracotta); 
 font-variation-settings: 'wght' 400;
 font-weight: normal;}
.gm__ledger-intro p{ margin:.7rem 0 0; max-width:40ch; color:#3a372f; font-size:.9rem; }

.gm__ledger-scroll{
  min-height:0; overflow-x:hidden; overscroll-behavior:contain;
  background:var(--paper);
  scrollbar-width:thin; scrollbar-color:rgba(18,36,24,.22) transparent;
  -webkit-mask-image:linear-gradient(to bottom, #000 70%, transparent);
  mask-image:linear-gradient(to bottom, #000 70%, transparent);
}
.gm__ledger-scroll.is-scrolled-end{
  -webkit-mask-image:none;
  mask-image:none;
}
.gm__ledger-scroll::-webkit-scrollbar{ width:5px; }
.gm__ledger-scroll::-webkit-scrollbar-thumb{
  background:rgba(18,36,24,.22); border-radius:3px;
}
.gm__rows{ display:flex; flex-direction:column; }
.gm__row{
  display:grid; grid-template-columns:auto 1fr auto; gap:1rem; align-items:center;
  width:100%; text-align:left; background:none; border:0; cursor:pointer;
  padding:1rem clamp(1.2rem,3vw,2rem);
  border-bottom:1px solid var(--hairline); border-left:3px solid transparent;
  font:inherit; color:inherit; transition:background .2s ease, border-color .2s ease;
}
.gm__row:last-child{ border-bottom:0; }
.gm__row:hover, .gm__row:focus-visible, .gm__row.is-active{
  background:var(--bone); border-left-color:var(--c); outline:none;
}
.gm__row-swatch{
  width:30px; height:30px; color:var(--c); flex-shrink:0;
}
.gm__row-swatch svg{ display:block; width:100%; height:100%; overflow:visible; }
.gm__row-swatch svg .mark{ fill:none; stroke:currentColor; stroke-width:34; stroke-miterlimit:10; }
.gm__row-body h5{
  margin:0; font-family:var(--serif); font-weight:400; font-size:1.18rem; line-height:1.1;
  font-variation-settings: 'wght' 400;
  font-weight: normal;
}
.gm__row-body h5 em{ display:block; font-family:var(--italic); font-size:.82rem; color:var(--muted); 
 font-variation-settings: 'wght' 400;
 font-weight: normal;}
.gm__row-body p{ margin:.3rem 0 0; color:#3a372f; max-width:40ch; font-size: 0.75rem; }
.gm__row-tag{
  font-family:var(--sans-bold); font-weight:normal; font-size:var(--fs-micro);
  letter-spacing:var(--tracked); text-transform:uppercase; color:var(--muted); white-space:nowrap;
}
.gm__ledger-foot{
  padding:1.2rem clamp(1.2rem,3vw,2rem); border-top:1px solid var(--hairline);
  display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  flex-shrink:0;
}
.gm__count{ font-family:var(--serif); font-size:1.5rem; line-height:1; 
 font-variation-settings: 'wght' 400;
 font-weight: normal;}
.gm__count small{
  display:block; margin-top:.3rem; font-family:var(--sans); font-weight:500;
  font-size:var(--fs-micro); letter-spacing:var(--tracked-wide); text-transform:uppercase; color:var(--muted);
}

@media (min-width:881px){
  .gm__ledger{ overflow:hidden; }
  .gm__ledger-scroll{
    flex:1 1 auto; overflow-y:auto;
  }
}
@media (max-width:880px){
  .gm{ grid-template-columns:1fr; }
  .gm__map{ border-right:0; border-bottom:1px solid var(--rule); }
  .gm__ledger-scroll{
    max-height:clamp(16rem, 38vh, 20rem);
    overflow-y:auto;
  }
  .mb-globalmap .gm__row-tag{
    display: none;
  }
  .mb-globalmap .gm__row{
    grid-template-columns: auto 1fr;
  }
}
@media (prefers-reduced-motion:reduce){
  .gm__pin, .gm__pin .gm__label{ transition:none; }
  .gm__pin.is-active::after, .gm__pin:hover::after, .gm__pin:focus-visible::after{ animation:none; }
}

/* ------------------------------------------------------------------
   Category page - shell widths + bestseller product grid
------------------------------------------------------------------ */

body.product-category #content-body,
body.product-category .mb-category,
body.product-latest #content-body,
body.product-latest .mb-category,
body.product-search #content-body,
body.product-search .mb-category{
  background: var(--bone);
  color: var(--ink);
}

.mb-category{
  font-family: var(--sans);
  font-size: var(--fs-body);
  line-height: 1.55;
}

.mb-category .container,
.mb-category .product-filter.container{
  max-width: var(--max) !important;
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--gutter) !important;
}

/* Category header band - paper block, full-bleed black bottom rule */
.mb-cathead-band{
  background: var(--paper);
  border-bottom: 1px solid var(--rule);
  width: 100%;
}

.mb-cathead-band > .container{
  padding-block: clamp(1.75rem, 3.5vw, 2.75rem);
}

.mb-category .mb-cathead{
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: center;
  min-width: 0;
}

.mb-category .mb-cathead--solo{
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

/* Solo categories (no subcategory tiles) - specimen disk per guidelines */
.mb-category .mb-cathead--solo .mb-cathead__info{
  padding-inline-end: clamp(0.5rem, 2vw, 1.5rem);
}

.mb-category .mb-cathead--solo .mb-cathead__desc{
  max-height: none;
  overflow: visible;
  font-size: 0.98rem;
  -webkit-mask-image: none;
  mask-image: none;
}

.mb-category .mb-cathead--solo .mb-cathead__desc p{
  max-height: none;
  overflow: visible;
  -webkit-mask-image: none;
  mask-image: none;
}

.mb-cathead__specimen{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-shrink: 0;
}

.mb-cathead__disk{
  width: clamp(7rem, 14vw, 11rem);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--bone);
  overflow: hidden;
  position: relative;
  border: 1px solid var(--ink);
  flex-shrink: 0;
}

.mb-cathead__disk img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.mb-cathead__disk::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  box-shadow: inset 0 0 0 clamp(4px, 0.55vw, 6px) var(--bone-2);
  pointer-events: none;
}

.mb-category .mb-cathead__info{
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  min-width: 0;
}

.mb-cathead__crumbs{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -webkit-mask-image: linear-gradient(to right, #000 75%, transparent);
  mask-image: linear-gradient(to right, #000 75%, transparent);
}

.mb-cathead__crumbs.is-scrolled-end{
  -webkit-mask-image: none;
  mask-image: none;
}

.mb-cathead__crumbs::-webkit-scrollbar{
  display: none;
}

.mb-cathead__crumbs li{
  flex: 0 0 auto;
  white-space: nowrap;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: 8px;
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--muted);
}

.mb-cathead__crumbs li a{
  color: var(--muted);
  transition: color 0.2s ease;
}

.mb-cathead__crumbs li a:hover{
  color: var(--ink);
}

.mb-cathead__crumbs li:not(:last-child)::after{
  content: "/";
  margin-left: 0.55rem;
  margin-right: 0.55rem;
  color: var(--hairline);
}

.mb-cathead__crumbs li:last-child{
  color: var(--ink);
}

.mb-category .mb-cathead__title{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-h3);
  line-height: 1;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0;
}

.mb-category .mb-cathead__desc{
  color: var(--muted);
  font-size: var(--fs-field);
  line-height: 1.6;
  max-width: 52ch;
}

.mb-category .mb-cathead__desc::-webkit-scrollbar{
  display: none;
}

.mb-category .mb-cathead__desc p{
  margin: 0;
  height: 60px;
  max-height: 60px;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 68%, transparent);
  mask-image: linear-gradient(to bottom, #000 68%, transparent);
}

.mb-category .mb-cathead__desc p::-webkit-scrollbar{
  display: none;
}

.mb-category .mb-cathead__desc p.is-scrolled-end{
  -webkit-mask-image: none;
  mask-image: none;
}

/* Legacy: desc container scroll fade when no p wrapper */
.mb-category .mb-cathead__desc:not(:has(> p)){
  max-height: 60px;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 68%, transparent);
  mask-image: linear-gradient(to bottom, #000 68%, transparent);
}

.mb-category .mb-cathead__desc.is-scrolled-end{
  -webkit-mask-image: none;
  mask-image: none;
}

.mb-category .mb-cathead__rail{
  --cat-rail-gap: 0.6rem;
  --cat-rail-slots: 5.5;
  --cat-rail-gaps: calc(var(--cat-rail-slots) - 0.5);
  container-type: inline-size;
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: var(--cat-rail-gap);
  min-width: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
  -webkit-mask-image: linear-gradient(to right, #000 94%, rgba(0, 0, 0, 0.45) 98%, transparent);
  mask-image: linear-gradient(to right, #000 94%, rgba(0, 0, 0, 0.45) 98%, transparent);
}

.mb-category .mb-cathead__rail.is-scrolled-end{
  -webkit-mask-image: none;
  mask-image: none;
}

.mb-category .mb-cathead__rail::-webkit-scrollbar{
  display: none;
}

.mb-category .mb-cathead__rail.is-dragging{
  cursor: grabbing;
  scroll-snap-type: none;
  user-select: none;
}

.mb-category .mb-cathead__tile{
  --cat-tile-w: calc((100cqw - var(--cat-rail-gaps) * var(--cat-rail-gap)) / var(--cat-rail-slots));
  --cat-tile-max-w: var(--cat-tile-w);
  --cat-tile-max-h: calc(var(--cat-tile-w) * 9 / 6);
  position: relative;
  display: block;
  box-sizing: border-box;
  flex: 0 0 var(--cat-tile-w);
  width: var(--cat-tile-w);
  min-width: var(--cat-tile-w);
  max-width: var(--cat-tile-max-w);
  max-height: var(--cat-tile-max-h);
  flex-shrink: 0;
  overflow: hidden;
  aspect-ratio: 6 / 9;
  background: var(--ink);
  border: 1px solid var(--rule);
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.mb-category .mb-cathead:not(.mb-cathead--solo){
  container-type: inline-size;
}

@media (min-width: 901px){
  .mb-category .mb-cathead__rail {
    --cat-rail-slots: 4.5;
    align-self: center;
  }
}

@media (min-width: 1200px){
  .mb-category .mb-cathead__rail {
    --cat-rail-slots: 5.5;
  }
}

/* 1–2 tiles - shrink bordered rail to content (no empty third “slot”) */
.mb-category .mb-cathead__rail:has(> .mb-cathead__tile:only-child),
.mb-category .mb-cathead__rail:has(> .mb-cathead__tile:nth-child(2):last-child){
  width: fit-content;
  max-width: 100%;
  container-type: normal;
}

.mb-category .mb-cathead__rail:has(> .mb-cathead__tile:only-child) > .mb-cathead__tile,
.mb-category .mb-cathead__rail:has(> .mb-cathead__tile:nth-child(2):last-child) > .mb-cathead__tile{
  --cat-rail-col-w: calc(100cqw * 1.5 / 2.5);
  --cat-tile-w: calc((var(--cat-rail-col-w) - var(--cat-rail-gaps) * var(--cat-rail-gap)) / var(--cat-rail-slots));
  --cat-tile-max-w: var(--cat-tile-w);
  --cat-tile-max-h: calc(var(--cat-tile-w) * 9 / 6);
  flex: 0 0 var(--cat-tile-w);
  width: var(--cat-tile-w);
  min-width: var(--cat-tile-w);
  max-width: var(--cat-tile-max-w);
}

@media (min-width: 901px){
  .mb-category .mb-cathead__rail:has(> .mb-cathead__tile:only-child),
  .mb-category .mb-cathead__rail:has(> .mb-cathead__tile:nth-child(2):last-child) {
    margin-inline-start: auto;
  }
}

@media (max-width: 900px){
  .mb-category .mb-cathead__rail:has(> .mb-cathead__tile:only-child) > .mb-cathead__tile,
  .mb-category .mb-cathead__rail:has(> .mb-cathead__tile:nth-child(2):last-child) > .mb-cathead__tile {
    --cat-rail-col-w: 100cqw;
  }
}

/* 3+ tiles - grow to fill the bordered rail (no trailing gap) */
@media (max-width: 900px){
  .mb-category .mb-cathead__rail:has(> .mb-cathead__tile:nth-child(3):last-child) > .mb-cathead__tile,
  .mb-category .mb-cathead__rail:has(> .mb-cathead__tile:nth-child(4):last-child) > .mb-cathead__tile,
  .mb-category .mb-cathead__rail:has(> .mb-cathead__tile:nth-child(5):last-child) > .mb-cathead__tile {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    max-width: none;
  }
}

@media (min-width: 901px) and (max-width: 1199px){
  .mb-category .mb-cathead__rail:has(> .mb-cathead__tile:nth-child(3):last-child) > .mb-cathead__tile,
  .mb-category .mb-cathead__rail:has(> .mb-cathead__tile:nth-child(4):last-child) > .mb-cathead__tile {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    max-width: none;
  }
}

@media (min-width: 1200px){
  .mb-category .mb-cathead__rail:has(> .mb-cathead__tile:nth-child(3):last-child) > .mb-cathead__tile,
  .mb-category .mb-cathead__rail:has(> .mb-cathead__tile:nth-child(4):last-child) > .mb-cathead__tile,
  .mb-category .mb-cathead__rail:has(> .mb-cathead__tile:nth-child(5):last-child) > .mb-cathead__tile {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    max-width: none;
  }
}

.mb-category .mb-cathead__tile img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.18) contrast(1.04);
  transition: transform 0.65s ease, filter 0.65s ease;
  -webkit-user-drag: none;
  user-select: none;
}

.mb-category .mb-cathead__tile:hover img{
  transform: scale(1.06);
  filter: grayscale(0) contrast(1.07);
}

.mb-category .mb-cathead__tile::after{
  content: "";
  position: absolute;
  inset: 30% 0 0 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    to top,
    rgba(18, 36, 24, 0.92) 0%,
    rgba(18, 36, 24, 0.45) 50%,
    transparent 100%
  );
  transition: background 0.4s ease;
}

.mb-category .mb-cathead__tile:hover::after{
  background: linear-gradient(
    to top,
    rgba(18, 36, 24, 0.96) 0%,
    rgba(18, 36, 24, 0.55) 55%,
    transparent 100%
  );
}

.mb-category .mb-cathead__tile-cap{
  position: absolute;
  inset: auto 0 0 0;
  z-index: 2;
  padding: 0.8rem 0.6rem;
  color: var(--bone);
  font-family: var(--sans);
  font-weight: 600;
  font-size: var(--fs-cap);
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: var(--tracked);
}

@media (max-width: 900px){
  .mb-category .mb-cathead {
    grid-template-columns: 1fr;
  }

  .mb-category .mb-cathead--solo {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 0.85rem 1rem;
  }

  .mb-cathead__disk {
    width: clamp(3.75rem, 16vw, 5rem);
  }

  .mb-cathead-band > .container:has(.mb-cathead__rail) {
    padding-block: clamp(1.25rem, 3vw, 1.75rem);
  }

  .mb-category .mb-cathead:has(.mb-cathead__rail) {
    gap: 0.85rem;
  }

  .mb-category .mb-cathead:has(.mb-cathead__rail) .mb-cathead__info {
    gap: 0.65rem;
  }

  .mb-category .mb-cathead__desc {
    max-width: none;
  }

  .mb-category .mb-cathead__rail {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    padding-inline: 0;
    scroll-padding-inline: 0;
  }

  .mb-category .mb-cathead__tile {
    --cat-tile-max-h: calc(var(--cat-tile-w) * 7 / 5);
    max-height: var(--cat-tile-max-h);
    aspect-ratio: 5 / 7;
    height: auto;
    align-self: auto;
    scroll-snap-align: start;
  }
}

@media (min-width: 601px) and (max-width: 900px){
  .mb-category .mb-cathead__rail {
    --cat-rail-slots: 4.5;
  }
}

@media (max-width: 600px){
  .mb-category .mb-cathead__title {
    font-size: 2rem;
    line-height: 1.02;
    letter-spacing: -0.01em;
  }

  .mb-category .mb-cathead__rail {
    --cat-rail-slots: 3.5;
  }
}

/* Category header embedded in product grid - two-tile compact layout */
.mb-category--grid-cathead .mb-cathead-grid{
  min-width: 0;
  min-height: 0;
  border-right: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  display: flex;
  flex-direction: column;
  align-self: stretch;
  overflow: hidden;
}

/* Tile 1 - dark specimen card (crumbs, title, description) */
.mb-category--grid-cathead .mb-cathead-grid--intro{
  background: var(--ink);
  color: var(--bone);
  padding: clamp(1.1rem, 2vw, 1.4rem);
}

@media (min-width: 768px){
  .mb-category--grid-cathead .mb-cathead-grid--intro{
    position: relative;
    isolation: isolate;
  }

  .mb-category--grid-cathead .mb-cathead-grid--intro::before{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: min(78%, 520px);
    height: min(92%, 420px);
    background-image: url(/catalog/view/theme/minibeast/svg/4_Illustrations/2_Patterns/2_Scattered/c_Square/SVG/2_WHITE.svg);
    background-repeat: repeat;
    background-position: top right;
    background-size: 280px;
    opacity: 0.3;
    pointer-events: none;
    z-index: 0;
    -webkit-mask-image: radial-gradient(ellipse 115% 95% at 100% 0%, #000 18%, transparent 72%);
    mask-image: radial-gradient(ellipse 115% 95% at 100% 0%, #000 18%, transparent 72%);
  }

  .mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead-intro{
    position: relative;
    z-index: 1;
  }

  .mb-cathead-band{
    position: relative;
    isolation: isolate;
    overflow: hidden;
  }

  .mb-cathead-band::before{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: min(72%, 560px);
    height: min(88%, 440px);
    background-image: url(/catalog/view/theme/minibeast/svg/4_Illustrations/2_Patterns/2_Scattered/c_Square/SVG/1_BLACK.svg);
    background-repeat: repeat;
    background-position: top right;
    background-size: 300px;
    opacity: 0.1;
    pointer-events: none;
    z-index: 0;
    -webkit-mask-image: radial-gradient(ellipse 115% 95% at 100% 0%, #000 18%, transparent 72%);
    mask-image: radial-gradient(ellipse 115% 95% at 100% 0%, #000 18%, transparent 72%);
  }

  .mb-cathead-band > .container{
    position: relative;
    z-index: 1;
  }
}

.mb-category--grid-cathead .mb-cathead-intro{
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  scrollbar-width: none;
}

.mb-cathead-intro__thumb{
  display: none;
}

.mb-category--grid-cathead .mb-cathead-intro::-webkit-scrollbar{
  display: none;
}

.mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__crumbs,
.mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__title{
  flex-shrink: 0;
}

.mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__crumbs li,
.mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__crumbs li a{
  color: rgba(242, 239, 228, 0.52);
}

.mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__crumbs li:last-child{
  color: rgba(242, 239, 228, 0.52);
}

.mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__crumbs li:last-child a{
  color: rgba(242, 239, 228, 0.52);
}

.mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__crumbs li:first-child{
  color: rgba(242, 239, 228, 0.88);
}

.mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__crumbs li:first-child a{
  color: rgba(242, 239, 228, 0.88);
}

.mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__crumbs li a:hover{
  color: var(--bone);
}

.mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__crumbs li:not(:last-child)::after{
  color: rgba(242, 239, 228, 0.28);
}

.mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__title{
  color: var(--bone);
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  line-height: 1.02;
  letter-spacing: -0.015em;
}

.mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__desc{
  color: rgba(242, 239, 228, 0.72);
  max-width: none;
  margin-top: auto;
  flex: 0 1 auto;
  min-height: 0;
  max-height: none;
  overflow: visible;
  font-size: var(--fs-field);
  line-height: 1.55;
  -webkit-mask-image: none;
  mask-image: none;
}

/* Tile 2 - ledger panel + vertical swiper (menu-style disk thumbs) */
.mb-category--grid-cathead .mb-cathead-grid--ledger,
.mb-category--grid-cathead .mb-cathead-grid--specimen{
  background: var(--bone-2);
  padding: 0;
  min-height: 0;
  overflow: hidden;
}

.mb-category--grid-cathead .mb-cathead-ledger-band{
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}

.mb-category--grid-cathead .mb-cathead-ledger{
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

.mb-category--grid-cathead .mb-cathead-ledger__cap{
  flex-shrink: 0;
  padding: 0.85rem 1rem 0.65rem;
  border-bottom: 1px solid var(--hairline);
}

.mb-category--grid-cathead .mb-cathead-ledger__cap .mb-micro{
  color: var(--terracotta);
}

.mb-category--grid-cathead .mb-cathead-ledger__scroll{
  flex: 1 1 0;
  min-height: 0;
  height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 75%, transparent);
  mask-image: linear-gradient(to bottom, #000 75%, transparent);
}

.mb-category--grid-cathead .mb-cathead-ledger__scroll.is-scrolled-end{
  -webkit-mask-image: none;
  mask-image: none;
}

.mb-category--grid-cathead .mb-cathead-ledger__scroll::-webkit-scrollbar{
  display: none;
}

.mb-category--grid-cathead .mb-cathead-ledger__rail{
  display: flex;
  flex-direction: column;
}

.mb-category--grid-cathead .mb-cathead-subcat{
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.72rem 1rem;
  border-bottom: 1px solid var(--hairline);
  color: var(--ink);
  text-decoration: none;
  transition: background 0.2s ease, padding-left 0.2s ease, color 0.2s ease;
}

.mb-category--grid-cathead .mb-cathead-subcat:last-child{
  border-bottom: 0;
}

.mb-category--grid-cathead .mb-cathead-subcat:hover,
.mb-category--grid-cathead .mb-cathead-subcat:focus-visible{
  background: var(--bone);
  padding-left: 1.25rem;
  color: var(--terracotta);
  outline: none;
}

.mb-category--grid-cathead .mb-cathead-subcat__disk{
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid var(--ink);
  background: var(--bone);
  position: relative;
}

.mb-category--grid-cathead .mb-cathead-subcat__disk::after{
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  box-shadow: inset 0 0 0 3px var(--bone);
  pointer-events: none;
}

.mb-category--grid-cathead .mb-cathead-subcat__disk img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  filter: grayscale(0.12) contrast(1.04);
  transition: filter 0.35s ease, transform 0.35s ease;
}

.mb-category--grid-cathead .mb-cathead-subcat:hover .mb-cathead-subcat__disk img{
  filter: grayscale(0) contrast(1.06);
  transform: scale(1.04);
}

.mb-category--grid-cathead .mb-cathead-subcat__name{
  display: flex;
  flex-direction: column;
  line-height: 1.25;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--menu-item-text, 0.8125rem);
  letter-spacing: normal;
  min-width: 0;
}

.mb-category--grid-cathead .mb-cathead-subcat__name > span{
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Tile 2 solo - specimen disk */
.mb-category--grid-cathead .mb-cathead-specimen{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 0;
  padding: 1rem;
  overflow: hidden;
}

.mb-category--grid-cathead .mb-cathead-grid--specimen .mb-cathead__disk{
  width: clamp(5.5rem, 10vw, 8.5rem);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--bone);
  overflow: hidden;
  position: relative;
  border: 1px solid var(--ink);
}

.mb-category--grid-cathead .mb-cathead-grid--specimen .mb-cathead__disk::after{
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  box-shadow: inset 0 0 0 clamp(4px, 0.55vw, 6px) var(--bone-2);
  pointer-events: none;
}

.mb-category--grid-cathead .mb-cathead-grid--specimen .mb-cathead__disk img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

@media (min-width: 521px) and (max-width: 1000px){
  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead{
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: repeat(2, 1fr) !important;
    align-items: stretch;
  }

  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-cathead-grid{
    min-height: 0;
    overflow: hidden;
  }

  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-cathead-grid--intro{
    grid-column: 1;
    grid-row: 1;
  }

  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-cathead-grid--ledger,
  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-cathead-grid--specimen{
    grid-column: 2;
    grid-row: 1;
    min-height: 0;
    overflow: hidden;
  }

  /* Filter stays in page header on tablet - slot is mobile-only */
  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-category-toolbar-slot{
    display: none;
  }

  .mb-category--grid-cathead .mb-catalogue__grid--with-cathead > .mb-cathead-grid:nth-child(n+3){
    display: none !important;
  }

  .mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__title{
    font-size: clamp(1.85rem, 4vw, 2.5rem);
  }

  .mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__desc{
    font-size: 0.8125rem;
  }

  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead.mb-catalogue__grid--solo-cat > .mb-spec-card:nth-child(3){
    grid-column: 2;
    grid-row: 1;
  }
}

@media (min-width: 1001px){
  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead{
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: repeat(4, 1fr) !important;
    align-items: stretch;
  }

  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-cathead-grid{
    min-height: 0;
    max-height: none;
    overflow: hidden;
  }

  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-cathead-grid--intro{
    grid-column: 1;
    grid-row: 1;
  }

  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-cathead-grid--ledger,
  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-cathead-grid--specimen{
    grid-column: 2;
    grid-row: 1;
    min-height: 0;
    overflow: hidden;
  }

  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-cathead-grid ~ .mb-spec-card:nth-child(4),
  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-cathead-grid ~ .mb-spec-card:nth-child(5){
    grid-row: 1;
  }

  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-category-toolbar-slot{
    display: none;
  }

  /* Toolbar slot is child 3 in DOM - row 1 products sit in cols 3 and 4 */
  .mb-category--grid-cathead:has(.mb-category-toolbar-slot) #products > .mb-catalogue__grid--with-cathead > .mb-spec-card:nth-child(4){
    grid-column: 3;
    grid-row: 1;
    border-right: 1px solid var(--rule);
  }

  .mb-category--grid-cathead:has(.mb-category-toolbar-slot) #products > .mb-catalogue__grid--with-cathead > .mb-spec-card:nth-child(5){
    grid-column: 4;
    grid-row: 1;
  }

  .mb-category--grid-cathead:not(:has(.mb-category-toolbar-slot)) #products > .mb-catalogue__grid--with-cathead > .mb-spec-card:nth-child(3){
    grid-column: 3;
    grid-row: 1;
    border-right: 1px solid var(--rule);
  }

  .mb-category--grid-cathead:not(:has(.mb-category-toolbar-slot)) #products > .mb-catalogue__grid--with-cathead > .mb-spec-card:nth-child(4){
    grid-column: 4;
    grid-row: 1;
  }

  /* Solo categories (no subcats) - first product fills column 2 instead of specimen disk */
  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead.mb-catalogue__grid--solo-cat > .mb-cathead-grid ~ .mb-spec-card:nth-child(3),
  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead.mb-catalogue__grid--solo-cat > .mb-cathead-grid ~ .mb-spec-card:nth-child(4),
  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead.mb-catalogue__grid--solo-cat > .mb-cathead-grid ~ .mb-spec-card:nth-child(5){
    grid-row: 1;
  }

  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead.mb-catalogue__grid--solo-cat > .mb-spec-card:nth-child(3){
    grid-column: 2;
    border-right: 1px solid var(--rule);
  }

  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead.mb-catalogue__grid--solo-cat > .mb-spec-card:nth-child(4){
    grid-column: 3;
    border-right: 1px solid var(--rule);
  }

  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead.mb-catalogue__grid--solo-cat > .mb-spec-card:nth-child(5){
    grid-column: 4;
  }

  /* Hide duplicate header tiles from infinite scroll */
  .mb-category--grid-cathead .mb-catalogue__grid--with-cathead > .mb-cathead-grid:nth-child(n+3){
    display: none !important;
  }

  .mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__title{
    font-size: 3rem;
  }

  .mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__desc{
    font-size: 0.8125rem;
  }

  .mb-category--grid-cathead .mb-cathead-grid--specimen .mb-cathead__disk{
    width: min(42cqw, clamp(4rem, 7vw, 6rem));
    height: auto;
    max-height: calc(100% - 1rem);
    aspect-ratio: 1 / 1;
  }

  .mb-category--grid-cathead .mb-cathead-grid--specimen{
    container-type: size;
  }
}

@media (max-width: 520px){
  .mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__title{
    font-size: 2rem;
  }

  .mb-category--grid-cathead .mb-cathead-specimen{
    min-height: 7rem;
  }
}

/* Grid-cathead product cards - mobile-only inset; reset on tablet/desktop */
@media (min-width: 768px){
  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-spec-card{
    margin-inline: 0;
    border-left: 0;
    border-top: 0;
  }

  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-category-toolbar-slot + .mb-spec-card{
    border-top: 0;
  }

  .mb-cathead-intro__thumb{
    display: none;
  }
}

/* Tablet cathead grid - column dividers (DOM-offset nth-child breaks after toolbar slot) */
@media (min-width: 768px) and (max-width: 1000px){
  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead{
    border-right: 1px solid var(--rule);
  }

  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-cathead-grid--ledger,
  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-cathead-grid--specimen{
    border-right: 0;
  }

  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-spec-card:nth-child(odd of .mb-spec-card){
    border-right: 1px solid var(--rule);
  }

  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-spec-card:nth-child(even of .mb-spec-card){
    border-right: 0;
  }
}

/* Mobile category header - full-bleed light band + edge-to-edge subcat rail */
@media (max-width: 767px){
  .mb-category--grid-cathead .container{
    padding-inline: 0 !important;
    overflow-x: visible;
  }

  .mb-category--grid-cathead .container > .row{
    overflow-x: visible;
  }

  .mb-category--grid-cathead #products,
  .mb-category--grid-cathead #content{
    overflow-x: visible;
  }

  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead{
    grid-template-columns: 1fr !important;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    border-left: 0;
    border-top: 0;
  }

  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-cathead-grid,
  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-cathead-grid--intro,
  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-cathead-grid--ledger,
  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-cathead-grid--specimen,
  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-category-toolbar-slot{
    grid-column: 1 / -1;
    grid-row: auto;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    border: 0 !important;
    min-height: 0;
    overflow: visible;
  }

  .mb-category--grid-cathead .mb-cathead-grid--intro,
  .mb-category--grid-cathead .mb-cathead-grid--specimen{
    background: var(--bone);
    color: var(--ink);
  }

  .mb-category--grid-cathead .mb-cathead-grid--ledger{
    padding: 0;
    background: transparent;
    overflow: visible !important;
    width: 100%;
    max-width: none;
    margin-inline: 0;
  }

  .mb-category--grid-cathead .mb-cathead-grid--intro{
    padding: clamp(1.15rem, 4vw, 1.65rem) var(--gutter) clamp(0.85rem, 3vw, 1.15rem);
  }

  .mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__crumbs,
  .mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__title{
    width: 80%;
    max-width: 80%;
  }

  .mb-category--grid-cathead .mb-cathead-intro__title-row{
    position: relative;
    display: block;
    padding-right: calc(clamp(3.25rem, 16vw, 4.5rem) + 0.75rem);
  }

  .mb-category--grid-cathead .mb-cathead-intro__title-row .mb-cathead__title{
    min-width: 0;
    margin: 0;
  }

  .mb-category--grid-cathead .mb-cathead-intro__thumb{
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
  }

  .mb-category--grid-cathead .mb-cathead__disk--intro{
    width: clamp(3.25rem, 16vw, 4.5rem);
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: var(--bone);
    overflow: hidden;
    position: relative;
    border: 1px solid var(--ink);
    margin-top: -28px;
  }

  .mb-category--grid-cathead .mb-cathead__disk--intro::after{
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    box-shadow: inset 0 0 0 3px var(--bone);
    pointer-events: none;
  }

  .mb-category--grid-cathead .mb-cathead__disk--intro img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
  }

  .mb-category--grid-cathead .mb-cathead-grid--specimen{
    display: none !important;
  }

  .mb-category--grid-cathead .mb-cathead-ledger-band{
    width: 100%;
    border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
    background: var(--bone-2);
    overflow: visible;
  }

  .mb-category--grid-cathead .mb-cathead-ledger{
    overflow: visible;
  }

  .mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__crumbs li,
  .mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__crumbs li a,
  .mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__crumbs li:last-child,
  .mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__crumbs li:last-child a{
    color: var(--muted);
  }

  .mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__crumbs li:first-child,
  .mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__crumbs li:first-child a{
    color: var(--ink);
  }

  .mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__crumbs li a:hover{
    color: var(--terracotta);
  }

  .mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__crumbs li:not(:last-child)::after{
    color: var(--hairline);
  }

  .mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__title{
    color: var(--ink);
    font-size: clamp(1.85rem, 8vw, 2.35rem);
  }

  .mb-category--grid-cathead .mb-cathead-grid--intro .mb-cathead__desc{
    color: var(--muted);
    font-size: 0.75rem;
    max-height: none;
    margin-top: 0;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .mb-category--grid-cathead .mb-cathead-grid--ledger,
  .mb-category--grid-cathead .mb-cathead-grid--specimen{
    padding: 0;
  }

  .mb-category--grid-cathead .mb-cathead-ledger__cap{
    padding: 0.85rem var(--gutter) 0.5rem;
    border-bottom: 0;
  }

  .mb-category--grid-cathead .mb-cathead-ledger__scroll{
    flex: none;
    height: auto;
    max-height: none;
    overflow: visible;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .mb-category--grid-cathead .mb-cathead-ledger__rail.mb-home-rail{
    --cat-subcat-rail-slots: 3.5;
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    flex-direction: row;
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    margin-inline: 0 !important;
    gap: var(--card-rail-gap);
    padding-inline: var(--gutter) !important;
    padding-block: 0 1.2rem;
    scroll-padding-inline: var(--gutter);
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    cursor: grab;
    -webkit-mask-image: linear-gradient(to right, #000 88%, transparent);
    mask-image: linear-gradient(to right, #000 88%, transparent);
  }

  .mb-category--grid-cathead .mb-cathead-ledger__rail.mb-home-rail.is-scrolled-end{
    -webkit-mask-image: none;
    mask-image: none;
  }

  .mb-category--grid-cathead .mb-cathead-ledger__rail.mb-home-rail::-webkit-scrollbar{
    display: none;
  }

  .mb-category--grid-cathead .mb-cathead-ledger__rail.mb-home-rail.is-dragging{
    cursor: grabbing;
    scroll-snap-type: none;
    user-select: none;
  }

  .mb-category--grid-cathead .mb-cathead-ledger__rail.mb-home-rail > .mb-cathead-subcat{
    flex: 0 0 calc((100vw - 2 * var(--gutter) - (var(--cat-subcat-rail-slots) - 1) * var(--card-rail-gap)) / var(--cat-subcat-rail-slots));
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    flex-direction: column;
    align-items: center;
    gap: 0.55rem;
    padding: 0;
    border-bottom: 0;
    text-align: center;
    color: inherit;
  }

  .mb-category--grid-cathead .mb-cathead-ledger__rail.mb-home-rail > .mb-cathead-subcat:last-child{
    margin-inline-end: var(--gutter);
  }

  .mb-category--grid-cathead .mb-cathead-ledger__rail.mb-home-rail > .mb-cathead-subcat:hover,
  .mb-category--grid-cathead .mb-cathead-ledger__rail.mb-home-rail > .mb-cathead-subcat:focus-visible{
    background: transparent;
    padding-left: 0;
    color: var(--terracotta);
  }

  .mb-category--grid-cathead .mb-cathead-subcat__disk{
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
  }

  .mb-category--grid-cathead .mb-cathead-subcat__disk::after{
    box-shadow: inset 0 0 0 4px var(--bone);
  }

  .mb-category--grid-cathead .mb-cathead-subcat__name{
    width: 100%;
    padding-inline: 0.35rem;
    font-family: var(--serif);
    font-variation-settings: 'wght' 400;
    font-weight: normal;
    font-size: 0.82rem;
    line-height: 1.2;
    color: var(--ink);
  }

  .mb-category--grid-cathead .mb-cathead-subcat__name > span{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
  }

  .mb-category--grid-cathead .mb-cathead-subcat:hover .mb-cathead-subcat__name,
  .mb-category--grid-cathead .mb-cathead-subcat:focus-visible .mb-cathead-subcat__name{
    color: var(--terracotta);
  }

  .mb-category--grid-cathead .mb-cathead-grid--specimen{
    padding: 0 var(--gutter) 1.25rem;
  }

  .mb-category--grid-cathead .mb-category-toolbar-slot{
    padding-inline: var(--gutter);
    margin-block: clamp(0.875rem, 2.5vw, 1.25rem);
  }

  .mb-category--grid-cathead .mb-category-toolbar-slot .product-filter.container{
    padding-inline: 0 !important;
  }

  /* Product cards - standard grid borders, inset with external margin */
  .mb-category--grid-cathead #products > .mb-catalogue__grid--with-cathead > .mb-spec-card{
    margin-inline: var(--gutter);
    border-left: 1px solid var(--rule);
  }
}

.mb-category .mb-cap{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.mb-category .mb-micro{
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked-wide);
  text-transform: uppercase;
  color: var(--muted);
}

/* Beat global h1–h6 rules from stylesheet.css on spec-card titles */
.mb-category [class*="__"] h1,
.mb-category [class*="__"] h2,
.mb-category [class*="__"] h3,
.mb-category [class*="__"] h4,
.mb-category [class*="__"] h5,
.mb-category [class*="__"] h6,
.mb-category .mb-spec-card__title{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  letter-spacing: normal;
  margin: 0;
}

.mb-category .mb-spec-card__title{
  font-size: 1.2rem;
  line-height: 1.15;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.mb-category .mb-spec-card__title-main{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  margin: 0;
}

.mb-category .mb-spec-card__title em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  display: block;
  font-size: 0.95rem;
  line-height: 1.15;
  color: var(--muted);
  letter-spacing: normal;
  margin: 0;
}

/* Product grid - inner catalogue grid (keep #products free for legacy JS class toggles) */
.mb-category .product-filter .display{
  display: none;
}

/* ============================================================
   Category toolbar - filter button + segmented sort
   Mockup: design/homepage-redesign/form-controls.html
   ============================================================ */
.mb-category .product-filter.container{
  padding-bottom: 0 !important;
}

.mb-category .filter-left{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.4rem;
  margin: 0;
  padding-block: clamp(1rem, 2vw, 1.25rem);
}

/* Journal Bar - filter + count group; children join filter-left flex on desktop */
.mb-category .mb-toolbar__primary{
  display: contents;
}

.mb-category .mb-toolbar__count{
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--muted);
  white-space: nowrap;
}

.mb-category .mb-toolbar__count b{
  color: var(--ink);
}

.mb-category .filter-left > .product-compare{
  margin: 0;
  width: auto;
}

/* push the sort group to the right; wraps full-width when the row is tight */
.mb-category .filter-left > .sort{
  margin-left: auto;
  min-width: 0;
}

/* - Filter button - outline on paper (.fbtn--outline) + terracotta count badge - */
.mb-category #menu-toggle-filter.mb-fbtn{
  display: inline-flex;
  align-items: stretch;
  gap: 0;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--ink);
  border-radius: 0;
  background: var(--bone);
  color: var(--ink);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  line-height: 1;
  transition: background 0.2s ease, color 0.2s ease;
}

.mb-category #menu-toggle-filter.mb-fbtn:hover,
.mb-category #menu-toggle-filter.mb-fbtn:active,
.mb-category #menu-toggle-filter.mb-fbtn.is-open{
  background: var(--ink);
  color: var(--bone);
}

.mb-category #menu-toggle-filter.mb-fbtn:focus{
  outline: none;
}

.mb-category #menu-toggle-filter.mb-fbtn:focus-visible{
  outline: 2px solid var(--terracotta);
  outline-offset: 2px;
}

.mb-category #menu-toggle-filter.mb-fbtn:hover .mb-fbtn__icon,
.mb-category #menu-toggle-filter.mb-fbtn:active .mb-fbtn__icon,
.mb-category #menu-toggle-filter.mb-fbtn.is-open .mb-fbtn__icon{
  border-right-color: rgba(242, 239, 228, 0.3);
}

.mb-category .mb-fbtn__icon{
  display: grid;
  place-items: center;
  padding: 0 0.7em;
  border-right: 1px solid var(--hairline);
}

.mb-category .mb-fbtn__icon svg{
  display: block;
  width: 14px;
  height: 14px;
}

.mb-category .mb-fbtn__label{
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
  padding: 0.85em 1.1em;
}

.mb-category .mb-fbtn__badge{
  display: inline-grid;
  place-items: center;
  min-width: 1.5em;
  height: 1.5em;
  padding: 0 0.35em;
  background: var(--terracotta);
  color: var(--bone);
  border-radius: 999px;
  font-family: var(--sans-bold);
  font-size: 0.62rem;
  line-height: 1;
  font-weight: normal;
  letter-spacing: 0;
}

.mb-category .mb-fbtn__badge[hidden]{
  display: none;
}

/* - Sort - individual tab-style buttons (matches product page pp-tabs) - */
.mb-category .sort{
  display: flex;
  align-items: stretch;
  float: none !important;
  width: auto !important;
  min-width: 0;
}

.mb-category .mb-sortseg-wrap{
  display: inline-flex;
  align-items: center;
  gap: clamp(0.85rem, 2vw, 1.25rem);
  max-width: 100%;
  min-width: 0;
}

.mb-category .mb-sortseg__tag{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  white-space: nowrap;
}

.mb-category .mb-sortseg{
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.5rem;
  min-width: 0;
  border: 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -webkit-mask-image: linear-gradient(to right, #000 88%, transparent);
  mask-image: linear-gradient(to right, #000 88%, transparent);
}

.mb-category .mb-sortseg.is-scrolled-end{
  -webkit-mask-image: none;
  mask-image: none;
}

.mb-category .mb-sortseg::-webkit-scrollbar{
  display: none;
}

.mb-category .mb-sortseg__btn{
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  border: 1px solid var(--ink);
  padding: 0.7em 1.1em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  line-height: 1.2;
  color: var(--ink);
  background: transparent;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}

.mb-category .mb-sortseg__btn:hover,
.mb-category .mb-sortseg__btn.is-active{
  background: var(--ink);
  color: var(--bone);
}

@media (max-width: 767px){
  /* Sticky toolbar - one tight block, no gaps, stays within container */
  .mb-category .product-filter,
  .mb-category .product-filter.container {
    position: sticky;
    z-index: 994;
    top: 0;
    background: var(--bone);
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    transition: top 0.4s ease-in-out;
  }

  .mb-category .product-filter.nav-down {
    top: 79px;
  }

  .mb-category .product-filter.nav-up {
    top: 0;
  }

  .mb-category .filter-left {
    display: flex !important;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    align-content: normal;
    justify-content: flex-start;
    grid-template-columns: none;
    gap: 0;
    margin: 0 !important;
    padding: 0.4rem 0.65rem;
    border: 1px solid var(--ink);
    background: var(--bone);
    overflow: hidden;
  }

  /* Legacy theme CSS forces direct children to width:100% and stacks them */
  .mb-category .product-filter .filter-left > div {
    width: auto !important;
    float: none !important;
  }

  .mb-category .mb-toolbar__primary {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    align-self: stretch;
    width: auto !important;
    padding-right: 0.65rem;
    margin-right: 0.65rem;
    border-right: 1px solid var(--ink);
  }

  .mb-category .filter-left > .product-compare,
  .mb-category .filter-left > .sort,
  .mb-category .filter-left > .limit {
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }

  .mb-category .mb-toolbar__primary > .product-compare {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    width: auto !important;
  }

  .mb-category .filter-left > .sort {
    flex: 1 1 0;
    width: auto !important;
    min-width: 0;
  }

  .mb-category .filter-left > .limit {
    display: none !important;
  }

  .mb-category .mb-toolbar__count {
    display: none !important;
  }

  /* Shared mobile toolbar pill height */
  .mb-category .mb-sortseg__btn,
  .mb-category #menu-toggle-filter.mb-fbtn,
  .mb-category .product-compare a#menu-toggle-filter.mb-fbtn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: 1.6rem !important;
    min-height: 1.6rem;
    padding: 0 0.75em !important;
    font-family: var(--sans-bold);
    font-weight: normal;
    font-size: var(--fs-micro);
    letter-spacing: var(--tracked);
    text-transform: uppercase;
    line-height: 1;
    white-space: nowrap;
  }

  /* Filter pill - dark moss fill on mobile */
  .mb-category #menu-toggle-filter.mb-fbtn,
  .mb-category #menu-toggle-filter.mb-fbtn:focus,
  .mb-category #menu-toggle-filter.mb-fbtn:focus-visible,
  .mb-category .product-compare a#menu-toggle-filter.mb-fbtn {
    gap: 0.35em;
    width: auto !important;
    max-width: none;
    margin: 0 !important;
    border: 1px solid var(--moss-deep) !important;
    border-radius: 0;
    background: var(--moss-deep) !important;
    color: var(--bone) !important;
    outline: none;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  }

  .mb-category #menu-toggle-filter.mb-fbtn:hover,
  .mb-category #menu-toggle-filter.mb-fbtn:active,
  .mb-category #menu-toggle-filter.mb-fbtn.is-open {
    background: var(--moss) !important;
    border-color: var(--moss) !important;
    color: var(--bone) !important;
  }

  .mb-category #menu-toggle-filter.mb-fbtn:focus-visible {
    outline: 2px solid var(--terracotta);
    outline-offset: 2px;
  }

  .mb-category #menu-toggle-filter.mb-fbtn .mb-fbtn__icon,
  .mb-category #menu-toggle-filter.mb-fbtn:hover .mb-fbtn__icon,
  .mb-category #menu-toggle-filter.mb-fbtn:focus .mb-fbtn__icon,
  .mb-category #menu-toggle-filter.mb-fbtn:focus-visible .mb-fbtn__icon,
  .mb-category #menu-toggle-filter.mb-fbtn:active .mb-fbtn__icon,
  .mb-category #menu-toggle-filter.mb-fbtn.is-open .mb-fbtn__icon {
    display: grid;
    place-items: center;
    padding: 0;
    border-right: 0;
  }

  .mb-category #menu-toggle-filter.mb-fbtn .mb-fbtn__icon svg {
    width: 12px;
    height: 12px;
  }

  .mb-category #menu-toggle-filter.mb-fbtn .mb-fbtn__label {
    display: inline-flex;
    align-items: center;
    gap: 0.35em;
    flex: 0 0 auto;
    padding: 0;
  }

  /* Sort label + scrolling pills beside filter */
  .mb-category .sort {
    display: flex !important;
    align-items: center;
    flex: 1 1 0;
    width: auto !important;
    min-width: 0;
  }

  .mb-category .mb-sortseg-wrap {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    width: 100% !important;
    min-width: 0;
    box-sizing: border-box;
    padding: 0;
    overflow: hidden;
  }

  .mb-category .mb-sortseg__tag {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--muted);
    font-family: var(--sans-bold);
    font-weight: normal;
    font-size: var(--fs-micro);
    letter-spacing: var(--tracked);
    text-transform: uppercase;
    white-space: nowrap;
  }

  .mb-category .mb-sortseg {
    display: flex !important;
    align-items: center;
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    gap: 0.5rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-padding-inline: 0;
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 2rem), transparent);
    mask-image: linear-gradient(to right, #000 calc(100% - 2rem), transparent);
  }

  .mb-category .mb-sortseg.is-scrolled-start.is-scrolled-end {
    -webkit-mask-image: none;
    mask-image: none;
  }

  .mb-category .mb-sortseg:not(.is-scrolled-start):not(.is-scrolled-end) {
    -webkit-mask-image: linear-gradient(to right, transparent, #000 2rem, #000 calc(100% - 2rem), transparent);
    mask-image: linear-gradient(to right, transparent, #000 2rem, #000 calc(100% - 2rem), transparent);
  }

  .mb-category .mb-sortseg.is-scrolled-end:not(.is-scrolled-start) {
    -webkit-mask-image: linear-gradient(to right, transparent, #000 2rem);
    mask-image: linear-gradient(to right, transparent, #000 2rem);
  }

  .mb-category .mb-sortseg__btn {
    border: 1px solid var(--ink);
    color: var(--ink);
    background: transparent;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
  }

  .mb-category .mb-sortseg__btn:hover,
  .mb-category .mb-sortseg__btn.is-active {
    background: var(--ink);
    color: var(--bone);
  }

  /* No extra rule/gap between toolbar and product grid */
  .mb-category div#products {
    border-block-start: 0 !important;
    padding-block-start: 0 !important;
    margin-block-start: 0 !important;
  }

  .mb-category #products > .mb-catalogue__grid {
    border-top: 0;
  }

  .mb-category #products > .mb-catalogue__grid > .mb-spec-card {
    border-top: 1px solid var(--rule);
  }

  .mb-category #products > .mb-catalogue__grid > .mb-spec-card + .mb-spec-card {
    border-top: 0;
  }

  /* Toolbar slot sits below cathead intro + subcategories on mobile */
  .mb-category--grid-cathead:not(.is-toolbar-ready) > .mb-category-toolbar-header .product-filter{
    visibility: hidden;
    pointer-events: none;
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .mb-category--grid-cathead:not(.is-toolbar-ready) .mb-category-toolbar-slot{
    display: block;
    grid-column: 1 / -1;
    min-width: 0;
  }

  .mb-category--grid-cathead.is-toolbar-ready .mb-category-toolbar-skeleton,
  .mb-category-toolbar-slot:has(.product-filter) .mb-category-toolbar-skeleton{
    display: none;
  }

  .mb-category--grid-cathead:has(.mb-category-toolbar-slot .product-filter) > .mb-category-toolbar-header {
    display: none;
  }

  .mb-category-toolbar-header:empty {
    display: none;
  }

  .mb-category-toolbar-slot:empty {
    display: none;
  }

  /* In-grid toolbar - JS pins with position:fixed (CSS sticky breaks inside grid) */
  .mb-category--grid-cathead .mb-category-toolbar-slot:has(.product-filter) {
    display: block;
    grid-column: 1 / -1;
    min-width: 0;
  }

  .mb-category--grid-cathead .mb-category-toolbar-slot .product-filter:not(.is-toolbar-pinned),
  .mb-category--grid-cathead .mb-category-toolbar-slot .product-filter.container:not(.is-toolbar-pinned) {
    position: relative;
    top: auto;
    z-index: auto;
  }

  .mb-category--grid-cathead .mb-category-toolbar-slot .product-filter.container:not(.is-toolbar-pinned) {
    display: block !important;
    max-width: none !important;
    width: 100% !important;
    padding-inline: 0 !important;
  }

  .mb-category--grid-cathead .mb-category-toolbar-slot .product-filter.is-toolbar-pinned,
  .mb-category--grid-cathead .mb-category-toolbar-slot .product-filter.container.is-toolbar-pinned {
    position: fixed !important;
    z-index: 10041;
    margin: 0 !important;
    box-sizing: border-box;
    transition: top 0.4s ease-in-out;
  }

  .mb-category .product-filter.is-toolbar-pinned {
    position: fixed !important;
    z-index: 10041;
    margin: 0 !important;
    box-sizing: border-box;
    transition: top 0.4s ease-in-out;
  }

  .mb-category-toolbar-spacer {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
  }

  /* Placeholder while JS moves filter/sort into the grid slot */
  .mb-category-toolbar-skeleton{
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    border: 1px solid var(--ink);
    background: var(--bone);
    min-height: 2.75rem;
    padding: 0.5rem 0.65rem;
  }

  .mb-category-toolbar-skeleton__row{
    display: block;
    background: rgba(18, 36, 24, 0.06);
    animation: mb-toolbar-skel-pulse 1.6s ease-in-out infinite;
    border-radius: 0;
  }

  .mb-category-toolbar-skeleton__row--filter{
    flex: 0 0 auto;
    width: 4.5rem;
    height: 1.75rem;
    padding-right: 0.65rem;
    margin-right: 0.65rem;
    border: 0;
    border-right: 1px solid var(--ink);
  }

  .mb-category-toolbar-skeleton__row--sort{
    flex: 1;
    min-width: 0;
    height: 1.75rem;
    border: 0;
  }

  @keyframes mb-toolbar-skel-pulse{
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.45; }
  }

  /* Debug: ?debug-toolbar=1 or localStorage mb-debug-toolbar=1 */
  .mb-debug-toolbar .mb-category-toolbar-header .product-filter{
    outline: 2px solid #e85d04;
    outline-offset: -2px;
  }

  .mb-debug-toolbar .mb-category-toolbar-slot{
    outline: 2px solid #0077b6;
    outline-offset: -2px;
  }

  .mb-debug-toolbar .mb-category-toolbar-skeleton{
    outline: 2px dashed #9b2226;
    outline-offset: -2px;
  }
}

.mb-category-toolbar-header:empty,
.mb-category-toolbar-slot:empty {
  display: none;
}

@media (min-width: 768px){
  .mb-category-toolbar-skeleton{
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .mb-category-toolbar-skeleton__row{
    animation: none;
  }
}

.mb-category #products{
  border-block-start: 0;
  padding-block-start: 0;
}

.mb-category #products > .mb-catalogue__grid{
  width: 100%;
  min-width: 0;
  margin: 0;
}

.mb-category #products > .mb-catalogue__grid > .mb-spec-card{
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
}

.mb-category #products > .mb-catalogue__grid > .mb-spec-card.mb-spec-card--spotlight {
  padding: 0;
  gap: 0;
  overflow: hidden;
}

.mb-category #products > .mb-catalogue__grid > .mb-spec-card.mb-spec-card--spotlight .mb-spec-card__spotlight-link {
  display: block;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0;
  line-height: 0;
  text-decoration: none;
}

.mb-category #products > .mb-catalogue__grid > .mb-spec-card.mb-spec-card--spotlight .mb-spec-card__spotlight-link img {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

@media (min-width: 761px){
  .mb-category #products > .mb-catalogue__grid:not(.mb-catalogue__grid--with-cathead) {
    border-right: 1px solid var(--rule);
  }

  .mb-category #products > .mb-catalogue__grid:not(.mb-catalogue__grid--with-cathead) > .mb-spec-card:nth-child(4n) {
    border-right: 0;
  }
}

@media (max-width: 1000px) and (min-width: 761px){
  .mb-category #products > .mb-catalogue__grid:not(.mb-catalogue__grid--with-cathead) > .mb-spec-card:nth-child(4n) {
    border-right: 1px solid var(--rule);
  }

  .mb-category #products > .mb-catalogue__grid:not(.mb-catalogue__grid--with-cathead) > .mb-spec-card:nth-child(2n) {
    border-right: 0;
  }
}

@media (max-width: 520px){
  .mb-category #products > .mb-catalogue__grid > .mb-spec-card {
    border-right: 1px solid var(--rule);
  }
}

/* Fewer products than row capacity - shrink the grid so empty columns
   don't leave a bordered void to the right. :has() keeps this in sync
   after Brainy Filter AJAX updates. */
@media (min-width: 1001px){
  .mb-category #products > .mb-catalogue__grid:has(> .mb-spec-card:only-child) {
    grid-template-columns: 1fr;
    width: 25%;
    max-width: 100%;
  }

  .mb-category #products > .mb-catalogue__grid:has(> .mb-spec-card:only-child) > .mb-spec-card {
    border-right: 0;
  }

  .mb-category #products > .mb-catalogue__grid:has(> .mb-spec-card:nth-child(2):last-child) {
    grid-template-columns: repeat(2, 1fr);
    width: 50%;
    max-width: 100%;
  }

  .mb-category #products > .mb-catalogue__grid:has(> .mb-spec-card:nth-child(2):last-child) > .mb-spec-card:last-child {
    border-right: 0;
  }

  .mb-category #products > .mb-catalogue__grid:has(> .mb-spec-card:nth-child(3):last-child) {
    grid-template-columns: repeat(3, 1fr);
    width: 75%;
    max-width: 100%;
  }

  .mb-category #products > .mb-catalogue__grid:has(> .mb-spec-card:nth-child(3):last-child) > .mb-spec-card:last-child {
    border-right: 0;
  }
}

@media (max-width: 1000px) and (min-width: 521px){
  .mb-category #products > .mb-catalogue__grid:has(> .mb-spec-card:only-child) {
    grid-template-columns: 1fr;
    width: 50%;
    max-width: 100%;
  }

  .mb-category #products > .mb-catalogue__grid:has(> .mb-spec-card:only-child) > .mb-spec-card {
    border-right: 0;
  }
}

/* Neutralise Bootstrap row negative margins so the grid lines up with the
   header gutter edge instead of overflowing the container. */
.mb-category .container > .row{
  margin-left: 0;
  margin-right: 0;
}

.mb-category #content.col-md-12,
.mb-category #content.col-md-9{
  padding-left: 0;
  padding-right: 0;
  min-width: 0;
}

.mb-category #products .products-block.row,
.mb-category #products .mb-catalogue__grid{
  margin-left: 0;
  margin-right: 0;
}

.mb-category #products .product-col{
  padding: 0 !important;
}

.mb-category .paging{
  border-top: 0;
  padding-top: 1.5rem;
  padding-bottom: var(--pad-sec);
  font-family: var(--sans);
  font-size: var(--fs-cap);
}

.mb-category .paging .pagination > li > a,
.mb-category .paging .pagination > li > span{
  border-radius: 0;
  border-color: var(--hairline);
  color: var(--ink);
}

.mb-category .paging .pagination > .active > a{
  background: var(--ink);
  border-color: var(--ink);
  color: var(--bone);
}

.mb-category #faq{
  background: var(--paper);
  border-top: 1px solid var(--rule);
  padding-block: var(--pad-sec);
}

.mb-category #faq h2,
.mb-category #faq h3{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
}

/* Top banner - infinite scroll marquee (#saleTop) */
#saleTop .mb-marquee{
  --speed: 100s;
  position: relative;
  width: 100%;
  overflow: hidden;
}

/*
  The track holds two identical groups side by side and slides left by
  exactly half its width (= one group). Because the second group is a
  perfect copy of the first, the reset is invisible and the scroll is
  seamless. NOTE: deliberately not gated behind prefers-reduced-motion
  so the promo banner always scrolls.
*/
#saleTop .mb-marquee__track{
  display: flex;
  flex-wrap: nowrap;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  animation: mb-marquee-scroll var(--speed) linear infinite;
  -webkit-animation: mb-marquee-scroll var(--speed) linear infinite;
  will-change: transform;
}

#saleTop .mb-marquee__group{
  display: flex;
  flex: 0 0 auto;
  flex-shrink: 0;
  align-items: center;
  white-space: nowrap;
}

#saleTop .mb-marquee:hover .mb-marquee__track{
  animation-play-state: paused;
  -webkit-animation-play-state: paused;
}

@-webkit-keyframes mb-marquee-scroll{
  from { -webkit-transform: translateX(0); transform: translateX(0); }
  to   { -webkit-transform: translateX(-50%); transform: translateX(-50%); }
}

@keyframes mb-marquee-scroll{
  from { -webkit-transform: translateX(0); transform: translateX(0); }
  to   { -webkit-transform: translateX(-50%); transform: translateX(-50%); }
}

#saleTop .mb-marquee__item{
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 0.5em;
  padding: 0 1.6rem;
  white-space: nowrap;
}

#saleTop .mb-marquee--hero{
  background: #00513a;
  color: #f2efe4;
  padding: 0.7rem 0;
}

#saleTop .mb-marquee--hero .mb-marquee__item{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: 1.3rem;
  letter-spacing: -0.01em;
  line-height: 1;
}

@media (max-width: 767px){
  #saleTop .mb-marquee--hero .mb-marquee__item {
    padding: 0 1.1rem;
    font-size: 1rem;
  }
}

#saleTop .mb-marquee--hero .mb-marquee__item em,
#saleTop .mb-marquee--hero .mb-marquee__item i{
  font-family: var(--italic);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-style: italic;
  color: #fff7b5;
}

#saleTop .mb-marquee--hero .mb-marquee__item .star{
  color: #fff7b5;
  font-family: var(--sans);
  font-size: 0.5em;
  transform: translateY(-0.1em);
}

#saleTop .mb-marquee--hero .mb-marquee__item a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

#saleTop .mb-marquee--hero .mb-marquee__item a:hover {
  opacity: 0.85;
}

/* Options-in-popup styles: catalog/view/theme/minibeast/stylesheet/product-buy-panel-oip.css */

/* --------------------------------------------------------------------------
   Product page - related products & specimen variations
   Reuses mb-catalogue / mb-home / mb-spec-card from homepage bestsellers
   -------------------------------------------------------------------------- */
#pgprod .mb-product-related{
  width: 100%;
  border-bottom: 1px solid var(--rule);
}

#pgprod .mb-product-related--light{
  background: var(--bone);
  color: var(--ink);
}

#pgprod .mb-product-related--dark{
  background: var(--ink);
  color: var(--bone);
  border-bottom-color: rgba(242, 239, 228, 0.25);
}

#pgprod .mb-product-related--dark .mb-catalogue__head h2 em{
  color: var(--amber);
}

#pgprod .mb-product-related__intro{
  max-width: none;
}

#pgprod .mb-product-related--light .mb-product-related__intro{
  max-width: none;
}

#pgprod .mb-product-related--dark .mb-catalogue__grid{
  border-color: rgba(242, 239, 228, 0.25);
  background: rgba(242, 239, 228, 0.25);
}

#pgprod .mb-product-related--dark .mb-spec-card{
  background: var(--ink);
  color: var(--bone);
  border-right-color: rgba(242, 239, 228, 0.22);
  border-bottom-color: rgba(242, 239, 228, 0.22);
}

#pgprod .mb-product-related--dark .mb-spec-card:hover{
  background: #2a2a2a;
}

/* Tablet rail: 2 cards visible; phone uses 1-card rule above (~line 1812) */
@media (max-width: 1000px) and (min-width: 521px){
  #pgprod .mb-product-related .mb-catalogue__grid.mb-home-rail > .mb-spec-card {
    flex: 0 0 calc((100vw - 2 * var(--gutter) - var(--card-rail-peek) - var(--card-rail-gap)) / 2);
    scroll-snap-align: start;
  }
}

@media (max-width: 1000px){
  #pgprod .mb-product-related--dark .mb-catalogue__grid.mb-home-rail {
    background: var(--ink);
    border: 0;
  }

  #pgprod .mb-product-related--dark .mb-catalogue__grid.mb-home-rail > .mb-spec-card {
    border: 1px solid rgba(242, 239, 228, 0.22);
    border-right: 1px solid rgba(242, 239, 228, 0.22);
  }
}

#pgprod .mb-product-related--dark .mb-spec-card__acc,
#pgprod .mb-product-related--dark .mb-spec-card__title em,
#pgprod .mb-product-related--dark .mb-spec-card__foot .mb-micro{
  color: rgba(242, 239, 228, 0.62);
}

#pgprod .mb-product-related--dark .mb-spec-card__price{
  color: var(--bone);
}

#pgprod .mb-product-related--dark .mb-spec-card__price-sale,
#pgprod .mb-product-related--dark .mb-spec-card__price-was{
  color: var(--amber);
}

#pgprod .mb-product-related--dark .mb-spec-card__img{
  background: rgba(242, 239, 228, 0.06);
  border-color: rgba(242, 239, 228, 0.22);
}

#pgprod .mb-product-related--dark .mb-spec-card__foot{
  border-top-color: rgba(242, 239, 228, 0.22);
}

#pgprod .mb-product-related--dark .mb-spec-card__foot .mb-cap{
  color: var(--bone);
}

#pgprod .mb-product-related--dark .mb-spec-card__foot .mb-cap:hover{
  color: var(--amber);
}

#pgprod .mb-product-related--dark .mb-spec-card__thumbs li{
  border-color: var(--ink);
}

#pgprod .mb-product-related--dark .mb-spec-card:hover .mb-spec-card__thumbs li{
  border-color: #2a2a2a;
}

/* Fewer cards than row capacity - shrink grid so top/side borders
   don't extend across empty columns (specimen variations often has 1–3). */
@media (min-width: 761px){
  #pgprod .mb-product-related .mb-catalogue__grid:not(.mb-home-rail) {
    border-right: 1px solid var(--rule);
  }

  #pgprod .mb-product-related--dark .mb-catalogue__grid:not(.mb-home-rail) {
    border-right-color: rgba(242, 239, 228, 0.25);
  }

  #pgprod .mb-product-related .mb-catalogue__grid:not(.mb-home-rail) > .mb-spec-card:nth-child(4n) {
    border-right: 0;
  }
}

/* Specimen variations / also-purchased use mb-home-rail for tablet scroll;
   above 1000px the grid is still 4-col - restore the outer right edge. */
@media (min-width: 1001px){
  #pgprod .mb-product-related .mb-catalogue__grid.mb-home-rail {
    border-right: 1px solid var(--rule);
  }

  #pgprod .mb-product-related--dark .mb-catalogue__grid.mb-home-rail {
    border-right-color: rgba(242, 239, 228, 0.25);
  }

  #pgprod .mb-product-related .mb-catalogue__grid.mb-home-rail > .mb-spec-card:nth-child(4n) {
    border-right: 0;
  }
}

@media (max-width: 1000px) and (min-width: 761px){
  #pgprod .mb-product-related .mb-catalogue__grid:not(.mb-home-rail) > .mb-spec-card:nth-child(4n) {
    border-right: 1px solid var(--rule);
  }

  #pgprod .mb-product-related--dark .mb-catalogue__grid:not(.mb-home-rail) > .mb-spec-card:nth-child(4n) {
    border-right-color: rgba(242, 239, 228, 0.22);
  }

  #pgprod .mb-product-related .mb-catalogue__grid:not(.mb-home-rail) > .mb-spec-card:nth-child(2n) {
    border-right: 0;
  }
}

@media (min-width: 1001px){
  #pgprod .mb-product-related .mb-catalogue__grid:has(> .mb-spec-card:only-child) {
    grid-template-columns: 1fr;
    width: 25%;
    max-width: 100%;
  }

  #pgprod .mb-product-related .mb-catalogue__grid:has(> .mb-spec-card:only-child) > .mb-spec-card {
    border-right: 0;
  }

  #pgprod .mb-product-related .mb-catalogue__grid:has(> .mb-spec-card:nth-child(2):last-child) {
    grid-template-columns: repeat(2, 1fr);
    width: 50%;
    max-width: 100%;
  }

  #pgprod .mb-product-related .mb-catalogue__grid:has(> .mb-spec-card:nth-child(2):last-child) > .mb-spec-card:last-child {
    border-right: 0;
  }

  #pgprod .mb-product-related .mb-catalogue__grid:has(> .mb-spec-card:nth-child(3):last-child) {
    grid-template-columns: repeat(3, 1fr);
    width: 75%;
    max-width: 100%;
  }

  #pgprod .mb-product-related .mb-catalogue__grid:has(> .mb-spec-card:nth-child(3):last-child) > .mb-spec-card:last-child {
    border-right: 0;
  }
}

@media (max-width: 1000px) and (min-width: 521px){
  #pgprod .mb-product-related .mb-catalogue__grid:not(.mb-home-rail):has(> .mb-spec-card:only-child) {
    grid-template-columns: 1fr;
    width: 50%;
    max-width: 100%;
  }

  #pgprod .mb-product-related .mb-catalogue__grid:not(.mb-home-rail):has(> .mb-spec-card:only-child) > .mb-spec-card {
    border-right: 0;
  }
}

/* ── Homepage + product-page related rails: lazy-load polish ── */
.common-home .mb-home section [data-aos],
.common-home .mb-home-modules section [data-aos],
#pgprod .mb-home section [data-aos]{
  overflow: hidden;
}

/* Pull quote extends past image height - do not clip livelihood block */
.common-home .mb-home .mb-livelihood [data-aos]{
  overflow: visible;
}

/* Edge-to-edge collection rail breaks out of .shell padding */
.common-home .mb-home .mb-families [data-aos],
.common-home .mb-home .mb-families .mb-home-product-track{
  overflow: visible;
}

.common-home [data-aos].aos-animate,
#pgprod [data-aos].aos-animate{
  will-change: auto;
}

.common-home .mb-home :is(
  .mb-family__disk,
  .mb-spec-card__img,
  .mb-strip__card-media,
  .mb-asseen__logo-mark,
  .mb-livelihood__hero,
  .mb-craft__media,
  .mb-review-card__media
),
#pgprod .mb-home :is(
  .mb-spec-card__img
){
  isolation: isolate;
}

/* Containers already define aspect-ratio - skip generic 1:1 lazy spacer */
.common-home .mb-home :is(
  .mb-spec-card__img,
  .mb-strip__card-media,
  .mb-asseen__logo-mark,
  .mb-livelihood__hero,
  .mb-craft__media,
  .mb-review-card__media
)::before,
#pgprod .mb-home .mb-spec-card__img::before{
  display: none !important;
}

.common-home .mb-home :is(
  .mb-family__disk,
  .mb-spec-card__img,
  .mb-strip__card-media,
  .mb-livelihood__hero,
  .mb-craft__media,
  .mb-review-card__media
) img.lazy,
#pgprod .mb-home .mb-spec-card__img img.lazy{
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.common-home .mb-home .mb-craft__media img.lazy:not([src*="loading.svg"]),
.common-home .mb-home .mb-livelihood__hero img.lazy:not([src*="loading.svg"]){
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
}

.common-home .mb-home .mb-craft__media img.lazy:not([src*="loading.svg"]){
  object-position: bottom !important;
}

@media (max-width: 620px){
  .common-home .mb-home .mb-craft__media img.lazy:not([src*="loading.svg"]),
  .common-home .mb-home .mb-craft__media img.lazy.mb-lazy-loaded,
  .common-home .mb-home .mb-craft__media img.lazy.mb-lazy-revealed{
    object-position: center 42% !important;
    transform: scale(1.2) !important;
    transform-origin: center 42% !important;
  }
}

@media (max-width: 900px){
  .common-home .mb-home .mb-livelihood__hero img.lazy:not([src*="loading.svg"]) {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
  }
}

.common-home .mb-home .mb-asseen__logo-mark img.lazy{
  object-fit: contain !important;
}

.common-home .mb-home img.lazy.mb-lazy-loaded,
#pgprod .mb-home img.lazy.mb-lazy-loaded{
  transition: opacity 0.45s ease !important;
}

#pgprod .mb-product-related--dark .mb-spec-card__img:has(> img.lazy[src*="loading.svg"])::after{
  filter: invert(1);
  opacity: 0.85;
}

/* Category + search grids - same lazy spinner as homepage spec-cards */
.mb-category .mb-spec-card__img,
.mb-catalogue .mb-spec-card__img{
  width: 100%;
  isolation: isolate;
}

.mb-category .mb-spec-card__img::before,
.mb-catalogue .mb-spec-card__img::before{
  display: none !important;
}

.mb-category .mb-spec-card__img img.lazy,
.mb-catalogue .mb-spec-card__img img.lazy{
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}


@media (prefers-reduced-motion: reduce){
  .common-home .mb-home img.lazy.mb-lazy-loaded,
  #pgprod .mb-home img.lazy.mb-lazy-loaded {
    transition-duration: 0.01s !important;
  }

  .common-home .mb-home [data-aos],
  #pgprod [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ------------------------------------------------------------------
   Offcanvas minicart - design/homepage-redesign/minicart-offcanvas.html
   Ink plate colourway on #slidable.mc
------------------------------------------------------------------ */
#slidable.mc{
  /* Match design/homepage-redesign/minicart-offcanvas.html tokens */
  --fs-micro: 0.55rem;
  --fs-cap: 0.65rem;
  width: 100%;
  max-width: 420px;
  align-items: stretch;
  box-sizing: border-box;
  text-align: left;
  font-size: var(--fs-body);
  font-family: var(--sans);
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Beat global h1–h6 rules from stylesheet.css (weight, tracking, variable font) */
#slidable.mc h1,
#slidable.mc h2,
#slidable.mc h3,
#slidable.mc h4,
#slidable.mc h5,
#slidable.mc h6{
  font-variation-settings: normal;
  letter-spacing: normal;
  margin-bottom: 0;
}

#slidable.mc .mc__pad{
  position: relative;
  width: 100%;
  box-sizing: border-box;
  padding: 0 1.75rem 2.5rem;
}

#slidable.mc #cart{
  width: 100%;
}

#slidable.mc .mc__head{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding-top: 1.25rem;
  padding-bottom: 1rem;
  text-align: left;
  border-bottom: 1px solid var(--bone-line);
}

#slidable.mc .mc__title{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 1.35rem;
  line-height: 1.1;
  margin: 0;
  letter-spacing: -0.01em;
  color: var(--bone);
  text-align: left;
  flex: 1;
  min-width: 0;
}

#slidable.mc .mc__close{
  position: static;
  top: auto;
  right: auto;
  flex-shrink: 0;
  height: auto;
  padding: 0;
  z-index: 2;
}

#slidable.mc .mc__close button{
  position: static;
  float: none;
  margin: 0;
  width: 34px;
  height: 34px;
  background: transparent;
  color: var(--bone);
  border: 1px solid var(--bone-line-2);
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  line-height: 1;
  opacity: 1;
  font-weight: 300;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

#slidable.mc .mc__close button:hover{
  background: var(--bone);
  color: var(--ink);
  border-color: var(--bone);
  opacity: 1;
}

#slidable.mc #cart > ul{
  list-style: none;
  margin: 0;
  padding: 0;
}

#slidable.mc #cart > ul > li{
  padding: 0;
  margin: 0;
}

#slidable.mc .mc__progress{
  padding: 1.5rem 0 0;
}

#slidable.mc .mc__bar{
  height: 8px;
  width: 100%;
  background: var(--bone-line);
  overflow: hidden;
}

#slidable.mc .mc__bar span{
  display: block;
  height: 100%;
  background: var(--amber);
  transition: width 0.4s ease;
}

#slidable.mc .mc__progress-text{
  margin-top: 0.85rem;
  font-family: var(--sans);
  font-weight: 500;
  font-size: 0.82rem;
  line-height: 1.4;
  color: var(--bone-soft);
  text-align: center;
}

#slidable.mc .mc__progress-text strong{
  color: var(--bone);
}

/* Production time - pp-spec-index rows (light paper inset on ink minicart) */
#slidable.mc .mc__production{
  --pp-type: 'Courier New', Courier, ui-monospace, monospace;
  --pp-type-size: 0.72rem;
  margin: 0.9rem 0 1rem;
  border: 1px solid var(--ink);
  padding: 0.75rem 0.85rem;
  background: var(--bone);
  color: var(--ink);
  text-align: left;
}

#slidable.mc .mc__production-body{
  margin: 0;
}

#slidable.mc .mc__production .pp-spec-index__row{
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
  padding: 0.2rem 0;
}

#slidable.mc .mc__production .pp-spec-index__label{
  font-family: var(--italic);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-style: italic;
  font-size: 0.88rem;
  line-height: 1.3;
  color: var(--ink);
  white-space: nowrap;
}

#slidable.mc .mc__production .pp-spec-index__label b{
  font-family: var(--serif);
  font-variation-settings: 'wght' 700;
  font-weight: normal;
  font-style: normal;
  font-size: inherit;
  line-height: inherit;
  color: var(--ink);
}

#slidable.mc .mc__production .pp-spec-index__dots{
  flex: 1;
  border-bottom: 2px dotted var(--hairline);
  transform: translateY(-0.22em);
  min-width: 1rem;
}

#slidable.mc .mc__production .pp-spec-index__value{
  flex-shrink: 0;
  max-width: 58%;
  min-width: 0;
  font-family: var(--pp-type);
  font-size: var(--pp-type-size);
  font-weight: 500;
  font-style: normal;
  line-height: 1.45;
  letter-spacing: 0.04em;
  color: var(--ink);
  text-align: right;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
}

#slidable.mc .mc__production .mc__info{
  display: inline-flex;
  width: 12px;
  height: 12px;
  color: var(--ink);
  cursor: pointer;
  flex-shrink: 0;
}

#slidable.mc .mc__production .mc__info svg{
  width: 100%;
  height: 100%;
}

/* Minicart delivery tooltip - specimen pin label (matches mc__production row rhythm) */
.tooltip.delivery-tooltip--pin,
.tooltip:has(.tip-pin){
  --pp-type: 'Courier New', Courier, ui-monospace, monospace;
  --pp-type-size: 0.72rem;
  max-width: none;
  width: max-content;
  opacity: 1 !important;
  z-index: 10200 !important;
}

.tooltip.delivery-tooltip--pin .tooltip-inner,
.tooltip .tooltip-inner:has(.tip-pin){
  width: max-content;
  min-width: 280px;
  max-width: min(340px, calc(100vw - 20px));
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.tooltip.delivery-tooltip--pin .tooltip-arrow,
.tooltip:has(.tip-pin) .tooltip-arrow{
  display: none;
}

.tooltip.delivery-tooltip--pin .tip-pin,
.tooltip .tooltip-inner:has(.tip-pin) .tip-pin{
  width: 100%;
  box-sizing: border-box;
  background: var(--bone);
  color: var(--ink);
  border: 1px solid var(--ink);
  padding: 0.75rem 0.85rem;
  box-shadow: 3px 4px 12px rgba(0, 0, 0, 0.4);
  text-align: left;
}

.tooltip.delivery-tooltip--pin .tip-pin__ref,
.tooltip .tooltip-inner:has(.tip-pin) .tip-pin__ref{
  display: block;
  margin-bottom: 0.35rem;
  padding-bottom: 0.3rem;
  border-bottom: 1px solid var(--hairline);
  font-family: var(--pp-type);
  font-size: 0.5rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  line-height: 1.35;
}

.tooltip.delivery-tooltip--pin .tip-pin .pp-spec-index__rows,
.tooltip .tooltip-inner:has(.tip-pin) .tip-pin .pp-spec-index__rows{
  margin: 0;
}

.tooltip.delivery-tooltip--pin .tip-pin .pp-spec-index__row,
.tooltip .tooltip-inner:has(.tip-pin) .tip-pin .pp-spec-index__row{
  display: flex;
  align-items: baseline;
  gap: 0;
  padding: 0.2rem 0;
  margin: 0;
}

.tooltip.delivery-tooltip--pin .tip-pin .pp-spec-index__label,
.tooltip .tooltip-inner:has(.tip-pin) .tip-pin .pp-spec-index__label{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  font-size: 14px;
  line-height: 1.35;
  color: var(--ink);
  white-space: nowrap;
  background: transparent;
}

.tooltip.delivery-tooltip--pin .tip-pin .pp-spec-index__label b,
.tooltip .tooltip-inner:has(.tip-pin) .tip-pin .pp-spec-index__label b{
  font-family: var(--serif);
  font-variation-settings: 'wght' 700;
  font-weight: normal;
  font-style: normal;
  font-size: inherit;
  line-height: inherit;
  color: var(--ink);
  background: transparent;
}

.tooltip.delivery-tooltip--pin .tip-pin .pp-spec-index__dots,
.tooltip .tooltip-inner:has(.tip-pin) .tip-pin .pp-spec-index__dots{
  flex: 1;
  min-width: 0.5rem;
  border-bottom: 2px dotted var(--hairline);
  transform: translateY(-0.28em);
}

.tooltip.delivery-tooltip--pin .tip-pin .pp-spec-index__value,
.tooltip .tooltip-inner:has(.tip-pin) .tip-pin .pp-spec-index__value{
  flex-shrink: 0;
  min-width: 0;
  font-family: var(--pp-type);
  font-size: 11px;
  font-weight: 400;
  font-style: normal;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: var(--ink);
  text-align: right;
  background: transparent;
}

.tooltip.delivery-tooltip--pin .tip-pin__foot,
.tooltip .tooltip-inner:has(.tip-pin) .tip-pin__foot{
  margin: 0.2rem 0 0;
  padding-top: 0.38rem;
  border-top: 1px dashed var(--hairline);
  font-family: var(--italic);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-style: italic;
  font-size: 0.68rem;
  line-height: 1.4;
  color: var(--muted);
}

/* Checkout sidebar meta - minicart progress + production (light paper colourway) */
.mb-checkout .checkout-side-meta.mc{
  margin-bottom: 1.4rem;
  text-align: left;
  font-family: var(--sans);
  font-size: var(--fs-body);
  font-weight: 500;
  line-height: 1.55;
  color: var(--ink);
}

.mb-checkout .checkout-side-meta.mc .mc__progress{
  padding: 0 0 0.25rem;
}

.mb-checkout .checkout-side-meta.mc .mc__bar{
  height: 8px;
  width: 100%;
  background: rgba(18, 36, 24, 0.12);
  overflow: hidden;
}

.mb-checkout .checkout-side-meta.mc .mc__bar span{
  display: block;
  height: 100%;
  min-width: 0;
  background: var(--amber);
  transition: width 0.4s ease;
}

.mb-checkout .checkout-side-meta.mc .mc__progress-text{
  margin: 0.85rem 0 0;
  font-family: var(--sans);
  font-weight: 500;
  font-size: 0.82rem;
  line-height: 1.4;
  color: var(--muted);
  text-align: center;
}

.mb-checkout .checkout-side-meta.mc .mc__progress-text strong{
  font-family: var(--sans-bold);
  font-weight: normal;
  color: var(--ink);
}

.mb-checkout .checkout-meta-card{
  margin-top: 1.4rem;
}

.mb-checkout .checkout-side-meta.mc .mc__progress + .checkout-meta-card{
  margin-top: 1.4rem;
}

.mb-checkout .checkout-meta-card:only-child{
  margin-top: 0;
}

/* Production time rows - see quickcheckout.css (pp-spec-index key data) */

.mb-checkout .checkout-side-meta--mobile{
  display: none;
  padding: 0 1.25rem 1rem;
}

@media (max-width: 860px){
  .mb-checkout .checkout-side-meta--mobile {
    display: block;
  }
}

/* Delivery estimate tooltip (Bootstrap, rendered on body) */
.tooltip .tooltip-inner:has(.delivery-tooltip-content){
  max-width: 280px;
  padding: 0.85rem 1rem;
}

.tooltip .delivery-tooltip-content{
  text-align: left;
  line-height: 1.35;
  max-width: none;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-body);
  color: var(--ink);
}

.tooltip .delivery-tooltip-content strong{
  display: block;
  margin: 0 -1rem 0.55rem;
  padding: 0 1rem 0.55rem;
  border-bottom: 1px solid var(--hairline);
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: 1.05rem;
  line-height: 1.2;
  letter-spacing: normal;
  color: var(--ink);
}

.tooltip .delivery-tooltip-content .dispatch-text{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: 1.05rem;
  line-height: 1.25;
  color: var(--ink);
}

.tooltip .delivery-service-option{
  display: block;
  margin: 0.45rem 0 0;
  padding: 0;
  color: var(--ink);
  font-size: inherit;
  line-height: 1.25;
}

.tooltip .delivery-service-option:first-of-type{
  margin-top: 0;
}

.tooltip .delivery-service-name{
  display: block;
  margin: 0;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--ink);
  font-variation-settings: normal;
  line-height: 1.35;
}

.tooltip .delivery-date-range{
  display: block;
  margin-top: 0.12rem;
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: 0.88rem;
  line-height: 1.2;
  color: var(--ink);
}

.tooltip .delivery-tooltip-content em{
  display: block;
  margin: 0.55rem -1rem 0;
  padding: 0.5rem 1rem 0;
  border-top: 1px solid var(--hairline);
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  font-style: normal;
  line-height: 1.35;
  color: var(--muted);
}

.tooltip .delivery-tooltip-content strong:first-child{
  margin-top: 0;
}

@media screen and (max-width: 767px){
  .tooltip .tooltip-inner:has(.delivery-tooltip-content) {
    max-width: 280px;
    padding: 0.85rem 1rem;
    font-size: inherit;
  }

  .tooltip .delivery-tooltip-content strong {
    font-size: 1.05rem;
    margin: 0 -1rem 0.55rem;
    padding: 0 1rem 0.55rem;
  }

  .tooltip .delivery-service-option {
    margin: 0.45rem 0 0;
    font-size: inherit;
  }

  .tooltip .delivery-tooltip-content em {
    margin: 0.55rem -1rem 0;
    padding: 0.5rem 1rem 0;
    font-size: var(--fs-micro);
  }
}

#slidable.mc .mc__actions{
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  margin-bottom: 0.5rem;
}

#slidable.mc .mc__express{
  width: 100%;
  min-height: 44px;
}

#slidable.mc #express-checkout-element{
  width: 100% !important;
  min-height: 44px;
  margin: 0 !important;
  float: none !important;
}

#slidable.mc .mc__checkout,
#slidable.mc .attribute-stock-checkout-wrapper .mc__checkout{
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 44px;
  min-height: 44px;
  width: 100%;
  padding: 0 1rem;
  background: var(--bone);
  color: var(--ink);
  border: 1px solid var(--bone);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  line-height: 1;
  transition: background 0.2s ease, color 0.2s ease;
  text-decoration: none;
}

#slidable.mc .mc__checkout:hover,
#slidable.mc .mc__checkout:focus{
  background: var(--terracotta-deep);
  border-color: var(--terracotta-deep);
  color: var(--bone);
}

#slidable.mc .mc__checkout.is-disabled,
#slidable.mc .mc__checkout.is-disabled:hover{
  opacity: 0.45;
  pointer-events: none;
  background: var(--bone);
  color: var(--ink);
  border-color: var(--bone-line-2);
}

#slidable.mc .mc__alert{
  border: 1px solid var(--terracotta);
  color: var(--bone);
  background: rgba(194, 97, 58, 0.12);
  padding: 0.75rem 1rem;
  margin-bottom: 0.75rem;
  font-size: 0.82rem;
  text-align: left;
}

#slidable.mc .mc__deal-banner{
  border: 1px solid var(--moss-tint);
  background: rgba(28, 58, 44, 0.45);
  color: var(--bone);
  padding: 0.65rem 0.85rem;
  margin: 0 0 1rem;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  text-align: center;
}

#slidable.mc .mc__items{
  border-top: 1px solid var(--bone-line);
  margin-top: 1.4rem;
  min-height: 0;
  max-height: none;
  overflow: visible;
  padding-top: 0;
}

#slidable.mc .mc__items::after{
  display: none;
}

#slidable.mc .mc__item{
  display: grid;
  grid-template-columns: 84px 1fr auto;
  gap: 1rem;
  align-items: start;
  padding: 1.2rem 0;
  border-bottom: 1px solid var(--bone-line);
  text-align: left;
  margin-bottom: 0;
}

#slidable.mc .mc__thumb{
  position: relative;
  width: 84px;
  max-width: 84px;
  flex-shrink: 0;
  margin: 0;
}

#slidable.mc .mc__thumb-well,
#slidable.mc .cart-image{
  width: 100%;
  max-width: 84px;
  margin: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: rgba(242, 239, 228, 0.06);
  border: 1px solid var(--bone-line);
}

#slidable.mc .mc__thumb-well img,
#slidable.mc .cart-image img{
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover;
  border: 0;
  border-radius: 0;
}

/* Reset legacy minicart product row styles from stylesheet.css */
#slidable.mc .mc__item.products{
  display: grid;
  flex-wrap: unset;
  gap: 1rem;
  align-items: start;
  justify-content: unset;
}

#slidable.mc .cart-name-det{
  padding-left: 0;
  min-width: 0;
}

#slidable.mc .cart-name,
#slidable.mc h3.cart-name,
#slidable.mc .mc__name.cart-name{
  display: block;
  overflow: visible;
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: 0.88rem;
  line-height: 1.25;
  letter-spacing: normal;
  margin: 0;
  color: var(--bone);
}

#slidable.mc .cart-name-framebuilder,
#slidable.mc .mc__name.cart-name-framebuilder{
  display: block;
  -webkit-line-clamp: unset;
  line-clamp: unset;
  overflow: visible;
}

#slidable.mc .cart-mini-options,
#slidable.mc .mc__opt.cart-mini-options{
  margin: 0.45rem 0 0;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  line-height: 1.4;
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--bone);
}

#slidable.mc .cart-total,
#slidable.mc .mc__price.cart-total{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: 0.88rem;
  line-height: 1.2;
  color: var(--bone);
}

/* Beat legacy .cart-delete / #cart .cart-delete button from stylesheet.css */
#slidable.mc .mc__del,
#slidable.mc .cart-delete,
#slidable.mc #cart .cart-delete{
  right: -9px;
  top: -9px;
}

#slidable.mc .mc__qty,
#slidable.mc .cart-qty{
  position: absolute;
  top: -9px;
  left: -9px;
  z-index: 2;
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  border-radius: 50%;
  background: var(--bone);
  color: var(--ink);
  border: 1px solid var(--ink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: 0.62rem;
  line-height: 1;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

#slidable.mc .mc__del,
#slidable.mc .cart-delete{
  position: absolute;
  top: -9px;
  right: -9px;
  z-index: 2;
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  max-width: 22px;
  max-height: 22px;
  border-radius: 50%;
  background: #BB1832;
  color: var(--bone);
  border: 1px solid #BB1832;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.62rem;
  line-height: 1;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  overflow: hidden;
  flex-shrink: 0;
  transition: filter 0.2s ease;
}

#slidable.mc .mc__del button,
#slidable.mc .cart-delete button{
  width: 100%;
  height: 100%;
  min-width: 0;
  max-width: 100%;
  max-height: 100%;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  font-family: var(--sans);
  font-weight: normal;
  font-size: 0.85rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

#slidable.mc .mc__del:hover,
#slidable.mc .cart-delete:hover{
  filter: brightness(1.1);
}

#slidable.mc .mc__meta{
  min-width: 0;
  padding: 0;
  text-align: left;
}

#slidable.mc .mc__name{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: 0.88rem;
  line-height: 1.25;
  margin: 0;
  letter-spacing: normal;
  color: var(--bone);
  display: block;
  overflow: visible;
}

#slidable.mc .mc__name a{
  color: var(--bone);
  text-decoration: none;
  font-weight: inherit;
  font-size: inherit;
  display: block;
}

#slidable.mc .mc__name-main{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}

#slidable.mc .mc__name em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-style: italic;
  display: block;
  font-size: 0.78rem;
  line-height: 1.25;
  color: rgba(242, 239, 228, 0.78);
  margin-top: 0.08rem;
}

#slidable.mc .mc__name small{
  font-family: var(--sans);
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--bone-soft);
  display: block;
  margin-top: 0.25rem;
}

#slidable.mc .mc__opt{
  margin-top: 0.45rem;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--bone);
}

#slidable.mc .mc__opt + .mc__opt{
  margin-top: 0.25rem;
}

#slidable.mc .mc__badge{
  display: inline-block;
  margin-top: 0.35rem;
  padding: 0.3em 0.55em;
  border: 1px solid var(--moss-tint);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--bone);
}

#slidable.mc .mc__badge--warn{
  border-color: var(--terracotta);
}

#slidable.mc .mc__shipflag{
  display: inline-flex;
  align-items: center;
  gap: 0.45em;
  margin-top: 0.55rem;
  border: 1px solid var(--terracotta);
  color: var(--bone);
  padding: 0.3em 0.55em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

#slidable.mc .mc__shipflag::before{
  content: "";
  width: 6px;
  height: 6px;
  background: var(--terracotta);
  border-radius: 50%;
}

#slidable.mc .mc__shipflag--uk::before{
  display: none;
}

#slidable.mc .mc__price{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: 0.88rem;
  line-height: 1.2;
  color: var(--bone);
  white-space: nowrap;
  text-align: right;
}

#slidable.mc .mc__price .new-price{
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
}

#slidable.mc .mc__price .old{
  display: block;
  font-family: var(--italic);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-style: italic;
  text-decoration: line-through;
  color: var(--bone-soft);
  font-size: 0.78rem;
}

#slidable.mc .mc__deals-label{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked-wide);
  text-transform: uppercase;
  color: var(--bone-soft);
  margin: 1rem 0 0.5rem;
}

#slidable.mc .mc__deal-row{
  display: flex;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  border: 1px dashed var(--bone-line-2);
  padding: 0.65rem 0.75rem;
  margin-bottom: 0.45rem;
}

#slidable.mc .mc__deal-row span{
  flex: 1;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: 0.72rem;
  color: var(--bone);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#slidable.mc .btn-switch-deal{
  background: var(--bone);
  color: var(--ink);
  border: 0;
  padding: 0.35em 0.75em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
}

#slidable.mc .btn-switch-deal:hover{
  background: var(--amber);
  color: var(--moss-deep);
}

#slidable.mc .mc__promo{
  padding: 1.4rem 0 0;
}

#slidable.mc .mc__acc + .mc__acc{
  margin-top: 0.6rem;
}

#slidable.mc .mc__acc-head{
  width: 100%;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: transparent;
  color: var(--bone);
  border: 1px solid var(--bone-line-2);
  padding: 0.95em 1em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  transition: background 0.2s ease;
}

#slidable.mc .mc__acc-head:hover{
  background: rgba(242, 239, 228, 0.06);
}

#slidable.mc .mc__acc-head svg{
  width: 12px;
  height: 8px;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

#slidable.mc .mc__acc.open .mc__acc-head svg{
  transform: rotate(180deg);
}

#slidable.mc .mc__acc-body{
  display: none;
  padding: 1rem;
  border: 1px solid var(--bone-line-2);
  border-top: 0;
}

#slidable.mc .mc__acc.open .mc__acc-body{
  display: block;
}

#slidable.mc .mc__inputrow{
  display: flex;
  gap: 0.6rem;
  align-items: stretch;
}

#slidable.mc .mc__input{
  flex: 1 1 auto;
  min-width: 0;
  background: transparent;
  color: var(--bone);
  border: 1px solid var(--bone-line-2);
  padding: 0.95em 1em;
  font-family: var(--sans);
  font-size: var(--fs-cap);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: var(--tracked);
  height: auto;
  box-shadow: none;
}

#slidable.mc .mc__input::placeholder{
  color: var(--bone-soft);
}

#slidable.mc .mc__input:focus{
  outline: none;
  border-color: var(--amber);
  box-shadow: none;
}

#slidable.mc .mc__redeem{
  flex: 0 0 38%;
  min-width: 6.75rem;
  background: var(--bone);
  color: var(--ink);
  border: 1px solid var(--bone);
  padding: 0.95em 1.25em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  line-height: 1.4;
  white-space: nowrap;
  transition: background 0.2s ease, color 0.2s ease;
  height: auto;
}

#slidable.mc .mc__redeem:hover{
  background: var(--amber);
  border-color: var(--amber);
  color: var(--moss-deep);
}

/* Beat legacy .minicart-promo-* rules (many use !important in stylesheet.css) */
#slidable.mc .minicart-promo-heading,
#slidable.mc .mc__acc-head.minicart-promo-heading{
  margin: 0 !important;
  padding: 0.95em 1em !important;
  font-family: var(--sans-bold) !important;
  font-weight: normal !important;
  font-size: var(--fs-cap) !important;
  line-height: 1.4 !important;
  letter-spacing: var(--tracked) !important;
  text-transform: uppercase !important;
  color: var(--bone) !important;
  background-color: transparent !important;
  border-radius: 0 !important;
}

#slidable.mc .minicart-promo-panel .panel-body,
#slidable.mc .mc__acc-body.panel-body{
  padding: 1rem !important;
  background-color: transparent !important;
  border-radius: 0 !important;
}

#slidable.mc .minicart-promo-input,
#slidable.mc .mc__input.minicart-promo-input{
  padding: 0.95em 1em !important;
  font-family: var(--sans) !important;
  font-size: var(--fs-cap) !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: var(--tracked) !important;
  text-transform: none !important;
  color: var(--bone) !important;
  background-color: transparent !important;
  border: 1px solid var(--bone-line-2) !important;
  border-radius: 0 !important;
  height: auto !important;
}

#slidable.mc .minicart-promo-btn.btn-default,
#slidable.mc .mc__redeem.minicart-promo-btn{
  flex: 0 0 38% !important;
  min-width: 6.75rem !important;
  padding: 0.95em 1.25em !important;
  font-family: var(--sans-bold) !important;
  font-weight: normal !important;
  font-size: var(--fs-micro) !important;
  line-height: 1.4 !important;
  letter-spacing: var(--tracked) !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  color: var(--ink) !important;
  background-color: var(--bone) !important;
  border: 1px solid var(--bone) !important;
  border-radius: 0 !important;
}

#slidable.mc .minicart-promo-btn.btn-default:hover,
#slidable.mc .mc__redeem.minicart-promo-btn:hover{
  background-color: var(--amber) !important;
  border-color: var(--amber) !important;
  color: var(--moss-deep) !important;
}

#slidable.mc .mc__totals.totals-mini-cart,
#slidable.mc .mc__totals.totals-mini-cart td{
  font-size: inherit;
  letter-spacing: normal;
  font-variation-settings: normal;
}

#slidable.mc .mc__divider{
  height: 1px;
  background: var(--bone-line);
  border: 0;
  margin: 1.5rem 0;
}

#slidable.mc .mc__totals{
  width: 100%;
  border-collapse: collapse;
  border: 0;
}

#slidable.mc .mc__totals td{
  border: 0;
  padding: 0.45rem 0;
  vertical-align: baseline;
}

#slidable.mc .mc__totals .t-label{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: 1rem;
  color: var(--bone);
  text-align: left;
}

#slidable.mc .mc__totals .t-value{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: 1rem;
  color: var(--bone);
  text-align: right !important;
}

#slidable.mc .mc__totals .t-label .delivery-estimate{
  display: block;
  margin-top: 0.2rem;
  font-family: 'Courier New', Courier, ui-monospace, monospace;
  font-size: 0.68rem;
  line-height: 1.35;
  letter-spacing: normal;
  text-transform: none;
  color: var(--bone-soft);
}

#slidable.mc .mc__totals tr.is-grand .t-label,
#slidable.mc .mc__totals tr.is-grand .t-value{
  font-size: 1.4rem;
}

#slidable.mc .mc__totals tr.is-loyalty td{
  padding-top: 0;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--amber);
  text-align: left;
}

#slidable.mc .mc__remove{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--terracotta);
  color: var(--bone);
  border: 0;
  font-size: 0.85rem;
  line-height: 1;
  margin-left: 0.5em;
  vertical-align: middle;
  padding: 0;
  cursor: pointer;
}

#slidable.mc .mc__empty{
  text-align: center;
  padding: 3rem 0;
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  font-size: 1.2rem;
  color: var(--bone-soft);
  margin: 0;
}

#slidable.mc .chev::after{
  display: none;
}

@media (max-width: 480px){
  #slidable.mc {
    max-width: 100%;
  }
}

/* Cross-sell rail beside minicart */
#slidable-pre{
  background: var(--bone);
  color: var(--ink);
  font-size: var(--fs-body);
  font-family: var(--sans);
  text-align: left;
}

#slidable-pre .cross-sell-mini-cart-under{
  background: var(--bone);
}

#slidable.mc .cross-sell-mini-cart-under{
  background: var(--bone);
  color: var(--ink);
  margin: 0;
  margin-bottom: 0;
  padding: 0 1.75rem 1.5rem;
  border-top: 1px solid var(--hairline);
  box-sizing: border-box;
  text-align: left;
}

.cross-sell-mini-cart-under .container{
  width: 100%;
  max-width: none;
  padding-inline: 0;
  margin: 0;
}

#slidable.mc .cross-sell-mini-cart-under,
.cross-sell-mini-cart-under{
  margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   Minicart cross-sell - mb-spec-card grid (matches bestsellers, no review photos)
   Beat global h1–h6 + legacy .cross-sell-heading rules from stylesheet.css
   -------------------------------------------------------------------------- */
#slidable-pre .mb-home h1,
#slidable-pre .mb-home h2,
#slidable-pre .mb-home h3,
#slidable-pre .mb-home h4,
#slidable-pre .mb-home h5,
#slidable-pre .mb-home h6,
.cross-sell-mini-cart-under .mb-home h1,
.cross-sell-mini-cart-under .mb-home h2,
.cross-sell-mini-cart-under .mb-home h3,
.cross-sell-mini-cart-under .mb-home h4,
.cross-sell-mini-cart-under .mb-home h5,
.cross-sell-mini-cart-under .mb-home h6{
  color: inherit;
  letter-spacing: normal;
  font-variation-settings: normal;
  margin: 0;
  font-weight: 500;
  line-height: inherit;
  font-family: inherit;
}

#slidable-pre .mb-home [class*="__"] h2,
#slidable-pre .mb-home [class*="__"] h3,
#slidable-pre .mb-home .mb-spec-card__title,
.cross-sell-mini-cart-under .mb-home [class*="__"] h2,
.cross-sell-mini-cart-under .mb-home [class*="__"] h3,
.cross-sell-mini-cart-under .mb-home .mb-spec-card__title{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  letter-spacing: normal;
}

.mb-cross-sell{
  width: 100%;
  text-align: left;
}

.mb-cross-sell.mb-catalogue{
  padding-block: 0;
  border-bottom: 0;
}

.mb-cross-sell__head{
  display: block;
  padding: 1.5rem 0 1rem;
}

.mb-cross-sell__head h2{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  line-height: 0.95;
  margin: 0;
  letter-spacing: normal;
  color: var(--ink);
}

.mb-cross-sell__head h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
  display: inline;
}

/* Sidebar - scaled section head for narrow rail */
#slidable-pre .mb-cross-sell__head h2{
  font-size: clamp(1.15rem, 3.5vw, 1.45rem);
  white-space: nowrap;
}

/* Mobile beneath minicart */
.cross-sell-mini-cart-under .mb-cross-sell__head{
  padding: 1.25rem 0 0.75rem;
}

.cross-sell-mini-cart-under .mb-cross-sell__head h2{
  font-size: 1.15rem;
  line-height: 1.15;
}

#slidable.mc .cross-sell-mini-cart-under .mb-cross-sell__head{
  padding-top: 1.25rem;
}

#slidable.mc .cross-sell-mini-cart-under .mb-cross-sell__head h2{
  color: var(--ink);
}

#slidable.mc .cross-sell-mini-cart-under .mb-cross-sell__head h2 em{
  color: var(--terracotta);
  font-style: italic;
}

.cross-sell-mini-cart-under .mb-cross-sell__grid{
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  border-top: 1px solid var(--rule);
  border-left: 1px solid var(--rule);
  border-right: 1px solid var(--rule);
  background: transparent;
}

.cross-sell-mini-cart-under .mb-cross-sell__grid > .mb-spec-card{
  padding: 0.65rem;
  gap: 0.4rem;
  background: var(--bone);
  color: var(--ink);
  border-right: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}

.cross-sell-mini-cart-under .mb-cross-sell__grid > .mb-spec-card:nth-child(2n){
  border-right: 0;
}

.cross-sell-mini-cart-under .mb-cross-sell__grid > .mb-spec-card:hover{
  background: var(--paper);
}

.cross-sell-mini-cart-under .mb-spec-card__title,
.cross-sell-mini-cart-under .mb-spec-card__price{
  color: var(--ink);
}

.cross-sell-mini-cart-under .mb-spec-card__title em,
.cross-sell-mini-cart-under .mb-spec-card__acc{
  color: var(--muted);
}

.cross-sell-mini-cart-under .mb-spec-card__foot .mb-cap{
  color: var(--ink);
}

.cross-sell-mini-cart-under .mb-spec-card__foot .mb-cap:hover{
  color: var(--terracotta);
}

.cross-sell-mini-cart-under .mb-spec-card__img{
  background: var(--bone);
  border-color: var(--hairline);
}

.cross-sell-mini-cart-under .mb-spec-card__foot{
  border-top-color: var(--hairline);
}

.cross-sell-mini-cart-under .mb-cross-sell__track{
  border-top: 0;
}

.cross-sell-mini-cart-under .mb-spec-card__head{
  gap: 0.35rem;
  align-items: baseline;
}

.cross-sell-mini-cart-under .mb-spec-card__body{
  margin-bottom: 0;
  gap: 0.25rem;
}

.cross-sell-mini-cart-under .mb-spec-card__foot{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-top: 0.5rem;
  margin-top: auto;
}

.cross-sell-mini-cart-under .mb-spec-card__foot .mb-cap{
  position: static;
  grid-area: unset;
  justify-self: unset;
  width: 100%;
  text-align: left;
  padding: 0;
}

.mb-cross-sell__track{
  position: relative;
}

.mb-cross-sell__grid{
  width: 100%;
  min-width: 0;
  margin: 0;
}

#slidable-pre .mb-cross-sell__grid{
  border-top: 1px solid var(--rule);
  border-left: 1px solid var(--rule);
  border-right: 1px solid var(--rule);
}

.mb-cross-sell__grid > .mb-spec-card{
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
}

/* Spec-card typography - compact for minicart cross-sell rails */
.mb-cross-sell .mb-spec-card__title{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mb-cross-sell .mb-spec-card__title em{
  display: inline;
}

#slidable-pre .mb-home .mb-spec-card__title{
  font-size: 0.78rem;
  line-height: 1.2;
}

#slidable-pre .mb-home .mb-spec-card__title em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  font-size: 0.68rem;
  color: var(--muted);
}

.cross-sell-mini-cart-under .mb-home .mb-spec-card__title{
  font-size: 0.72rem;
  line-height: 1.25;
}

.cross-sell-mini-cart-under .mb-home .mb-spec-card__title em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  font-size: 0.65rem;
  color: var(--muted);
}

#slidable-pre .mb-home .mb-spec-card__acc,
.cross-sell-mini-cart-under .mb-home .mb-spec-card__acc{
  font-size: 0.5rem;
  letter-spacing: 0.06em;
}

#slidable-pre .mb-home .mb-spec-card__price,
.cross-sell-mini-cart-under .mb-home .mb-spec-card__price{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 0.72rem;
}

#slidable-pre .mb-home .mb-spec-card__foot{
  padding-top: 0.65rem;
}

#slidable-pre .mb-home .mb-spec-card__foot .mb-cap{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: 0.42rem;
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.cross-sell-mini-cart-under .mb-home .mb-spec-card__foot .mb-cap{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: 0.42rem;
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

/* Desktop / tablet - sidebar beside minicart */
#slidable-pre .container{
  width: 100%;
  max-width: none;
  padding-inline: 0.65rem;
}

#slidable-pre .mb-cross-sell__grid{
  grid-template-columns: 1fr;
  border-right: 1px solid var(--rule);
}

#slidable-pre .mb-cross-sell__grid > .mb-spec-card{
  border-right: 0;
  padding: 1rem;
  gap: 0.75rem;
}

#slidable-pre .mb-cross-sell__track::after{
  content: '';
  position: sticky;
  bottom: 0;
  height: 2rem;
  display: block;
  background: linear-gradient(to bottom, rgba(242, 239, 228, 0) 0%, var(--bone-2, #f2efe4) 100%);
  pointer-events: none;
  z-index: 1;
}

/* Mobile - beneath minicart drawer */
.cross-sell-mini-cart-under .mb-cross-sell__track::after{
  content: '';
  position: sticky;
  bottom: 0;
  height: 2.5rem;
  display: block;
  background: linear-gradient(to bottom, rgba(243, 239, 228, 0) 0%, #f3efe4 100%);
  pointer-events: none;
  z-index: 1;
}

#slidable.mc .cross-sell-mini-cart-under .mb-cross-sell__track::after{
  background: linear-gradient(to bottom, rgba(242, 239, 228, 0) 0%, var(--bone) 100%);
}

@media (max-width: 520px){
  .cross-sell-mini-cart-under .mb-cross-sell__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* =====================================================================
   Account login - design/homepage-redesign/login.html + guidelines.html
   ===================================================================== */

.mb-login-page{
  /* Guideline-aligned type tokens (login.html / guidelines.html) */
  --fs-micro: 0.45rem;
  --fs-cap: 0.60rem;
  padding-block: clamp(2.75rem, 6vw, 6rem) clamp(4rem, 8vw, 8rem);
  font-family: var(--sans);
  font-size: var(--fs-body);
  line-height: 1.55;
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.mb-login-page .shell{
  max-width: var(--max);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.mb-login-page .cap{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.mb-login-page .micro{
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked-wide);
  text-transform: uppercase;
  color: var(--muted);
}

.mb-login-page .ref{
  display: inline-flex;
  align-items: center;
  gap: 0.55em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.mb-login-page .ref::before{
  content: '';
  width: 2px;
  height: 0.95em;
  background: var(--terracotta);
  border-radius: 1px;
  flex: 0 0 auto;
}

.mb-login-page__alerts{
  margin-bottom: clamp(1.25rem, 3vw, 2rem);
}

.mb-login-page__alerts .alert{
  border-radius: 0;
  border: 1px solid var(--hairline);
  font-family: var(--sans);
  font-size: var(--fs-field);
}

.mb-login-page .account-page__mast{
  margin-bottom: clamp(1.8rem, 4vw, 3rem);
}

.mb-login-page .account-page__eyebrow{
  color: var(--terracotta);
  margin: 0 0 0.85rem;
}

.mb-login-page .account-page__title{
  margin: 0;
  max-width: none;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-page-title);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.mb-login-page .account-page__title em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
}

.mb-login-page .account-page__intro{
  margin: 0;
  max-width: 38ch;
  color: var(--muted);
  font-size: var(--fs-field);
  line-height: 1.55;
}

.mb-login-page .account-grid{
  display: grid;
  grid-template-columns: minmax(340px, 0.9fr) minmax(420px, 1.15fr);
  align-items: stretch;
  gap: 0;
  background: transparent;
  border: 1px solid var(--rule);
  box-shadow: none;
}

@media (min-width: 1101px){
  .mb-login-page .account-grid{
    gap: 1px;
    background: var(--rule);
  }
}

.mb-login-page .account-card{
  background: var(--bone);
  position: relative;
  min-width: 0;
}

.mb-login-page .account-card--login{
  padding: clamp(1.35rem, 3vw, 2.5rem);
  background: var(--moss-deep);
  color: var(--bone);
  isolation: isolate;
  overflow: hidden;
}

@media (min-width: 768px){
  .mb-login-page .account-card--login::before{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: min(78%, 520px);
    height: min(92%, 420px);
    background-image: url(/catalog/view/theme/minibeast/svg/4_Illustrations/2_Patterns/2_Scattered/c_Square/SVG/2_WHITE.svg);
    background-repeat: repeat;
    background-position: top right;
    background-size: 280px;
    opacity: 0.3;
    pointer-events: none;
    z-index: 0;
    -webkit-mask-image: radial-gradient(ellipse 115% 95% at 100% 0%, #000 18%, transparent 72%);
    mask-image: radial-gradient(ellipse 115% 95% at 100% 0%, #000 18%, transparent 72%);
  }
}

.mb-login-page .account-card--login > *{
  position: relative;
  z-index: 1;
}

.mb-login-page .account-card--login .account-card__eyebrow{
  color: var(--terracotta);
}

.mb-login-page .account-card--login .account-card__title{
  color: var(--bone);
}

.mb-login-page .account-card--login .field__label{
  color: rgba(242, 239, 228, 0.88);
}

.mb-login-page .account-card--login .field__control{
  background: rgba(251, 248, 240, 0.08);
  border-color: rgba(242, 239, 228, 0.22);
  color: var(--bone);
}

.mb-login-page .account-card--login .field__control::placeholder{
  color: rgba(242, 239, 228, 0.45);
}

.mb-login-page .account-card--login .field__control:focus,
.mb-login-page .account-card--login .field__control:focus-visible{
  background: rgba(251, 248, 240, 0.12);
  border-color: var(--terracotta);
  box-shadow: 0 0 0 1px var(--terracotta);
}

.mb-login-page .account-card--login input.field__control:-webkit-autofill,
.mb-login-page .account-card--login input.field__control:-webkit-autofill:hover,
.mb-login-page .account-card--login input.field__control:-webkit-autofill:focus,
.mb-login-page .account-card--login input.field__control:-webkit-autofill:active{
  -webkit-box-shadow: 0 0 0 1000px rgba(28, 58, 44, 0.95) inset !important;
  box-shadow: 0 0 0 1000px rgba(28, 58, 44, 0.95) inset !important;
  -webkit-text-fill-color: var(--bone) !important;
  caret-color: var(--bone);
}

.mb-login-page .account-card--login .login-form__meta{
  color: rgba(242, 239, 228, 0.62);
}

.mb-login-page .account-card--login .login-form__meta a{
  color: rgba(242, 239, 228, 0.88);
}

.mb-login-page .account-card--login .login-form__meta a:hover{
  color: var(--terracotta);
}

.mb-login-page .account-card--login .btn--moss{
  background: var(--bone);
  color: var(--moss-deep);
  border-color: var(--bone);
}

.mb-login-page .account-card--login .btn--moss:hover{
  background: var(--terracotta);
  border-color: var(--terracotta);
  color: var(--bone);
}

.mb-login-page .account-card--join{
  background:
    linear-gradient(135deg, rgba(242, 239, 228, 0.96), rgba(236, 229, 211, 0.92)),
    var(--bone-2);
  padding: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  border: 1px solid var(--rule);
}

.mb-login-page .account-card__ruler{
  height: 16px;
  background-image:
    linear-gradient(to right, rgba(18, 36, 24, 0.58) 1px, transparent 1px),
    linear-gradient(to right, rgba(18, 36, 24, 0.22) 1px, transparent 1px);
  background-size: 10% 100%, 2% 55%;
  background-position: 0 100%, 0 100%;
  background-repeat: repeat-x;
  border-bottom: 1px solid rgba(18, 36, 24, 0.5);
}

.mb-login-page .account-card__inner{
  padding: clamp(1.35rem, 4vw, 3.2rem);
}

.mb-login-page .account-card__topline{
  margin-bottom: clamp(1.25rem, 3vw, 2.2rem);
}

.mb-login-page .account-card__head{
  display: block;
}

.mb-login-page .account-card__eyebrow{
  margin: 0 0 0.65rem;
  color: var(--terracotta);
}

.mb-login-page .account-card__title{
  margin: 0;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-page-h2);
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--ink);
}

.mb-login-page .account-card__text{
  margin: 1rem 0 0;
  max-width: 48ch;
  color: var(--muted);
}

.mb-login-page .login-form{
  display: grid;
  gap: 1rem;
  margin-top: 0;
}

.mb-login-page .field{
  display: grid;
  gap: 0.45rem;
}

.mb-login-page .field__label{
  display: block;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  line-height: 1.35;
  color: var(--ink);
}

.mb-login-page .field__control{
  width: 100%;
  min-height: 3.35rem;
  border: 1px solid var(--hairline);
  border-radius: 0;
  background: var(--field-fill);
  padding: 0 1rem;
  font-family: var(--sans);
  font-size: var(--fs-field);
  font-weight: 400;
  line-height: 1.4;
  color: var(--ink);
  appearance: none;
  -webkit-appearance: none;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.mb-login-page .field__control::placeholder{
  color: rgba(111, 106, 98, 0.68);
  opacity: 1;
}

.mb-login-page .field__control:focus,
.mb-login-page .field__control:focus-visible{
  background: var(--paper);
  border-color: var(--terracotta);
  box-shadow: 0 0 0 1px var(--terracotta);
  outline: none;
}

.mb-login-page .login-form__meta{
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
  align-items: center;
  margin: 0.1rem 0 0.5rem;
  color: var(--muted);
  font-size: var(--fs-field);
}

.mb-login-page .login-form__meta a{
  border-bottom: 1px solid currentColor;
  padding-bottom: 0.15em;
  transition: color 0.2s ease;
}

.mb-login-page .login-form__meta a:hover{
  color: var(--terracotta);
}

.mb-login-page .btn{
  min-height: 3.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  width: 100%;
  border: 1px solid transparent;
  padding: 1em 1.2em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, gap 0.25s ease;
}

.mb-login-page .btn:hover{
  gap: 1.15rem;
  text-decoration: none;
}

.mb-login-page .btn--moss{
  background: var(--moss);
  color: var(--bone);
  border-color: var(--moss);
}

.mb-login-page .btn--moss:hover{
  background: var(--moss-deep);
  color: var(--bone);
}

.mb-login-page .btn--ink{
  background: var(--ink);
  color: var(--bone);
  border-color: var(--ink);
}

.mb-login-page .btn--ink:hover{
  background: var(--terracotta);
  border-color: var(--terracotta);
  color: var(--bone);
}

.mb-login-page .btn svg{
  width: 1.55rem;
  height: 0.7rem;
}

.mb-login-page .join-benefits{
  list-style: none;
  margin: clamp(1.35rem, 3vw, 2rem) 0 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

.mb-login-page .join-benefits li{
  display: grid;
  grid-template-columns: 1.75rem 1fr;
  gap: 0.8rem;
  align-items: start;
  font-family: var(--sans);
  font-size: var(--fs-body);
  font-weight: 400;
  line-height: 1.55;
  color: var(--ink);
}

.mb-login-page .join-benefits li::before{
  content: '✦';
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  background: var(--paper);
  border: 1px solid var(--hairline);
  color: var(--terracotta);
  font-size: 0.8rem;
  line-height: 1;
}

.mb-login-page .join-panel__cta{
  margin-top: clamp(1.5rem, 3vw, 2.4rem);
  max-width: 420px;
}

.mb-login-page .support-strip{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--hairline);
  border: 1px solid var(--hairline);
  border-top: 0;
}

.mb-login-page .support-strip a{
  min-height: 84px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: var(--paper);
  padding: 1rem clamp(1rem, 2vw, 1.5rem);
  color: var(--ink);
  transition: background 0.2s ease;
}

.mb-login-page .support-strip a:hover{
  background: var(--bone-2);
  color: var(--ink);
}

.mb-login-page .support-strip strong{
  display: block;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-lead);
  line-height: 1.05;
}

.mb-login-page .support-strip span span{
  display: block;
  margin-top: 0.25rem;
  color: var(--muted);
  font-size: 0.82rem;
  font-family: var(--sans);
  font-weight: 500;
}

.mb-login-page .support-strip svg{
  flex: 0 0 auto;
  width: 1.5rem;
  height: 0.75rem;
}

@media (max-width: 1100px){
  .mb-login-page .account-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px){
  .mb-login-page {
    padding-block: 2.25rem 4rem;
  }

  .mb-login-page .account-page__title {
    max-width: none;
  }

  .mb-login-page .account-grid {
    margin-inline: calc(var(--gutter) * -1);
    border-left: 0;
    border-right: 0;
  }

  .mb-login-page .account-card--login,
  .mb-login-page .account-card__inner {
    padding: 1.25rem var(--gutter) 1.5rem;
  }

  .mb-login-page .account-card__topline {
    margin-bottom: 1.2rem;
  }

  .mb-login-page .login-form__meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.7rem;
  }

  .mb-login-page .support-strip {
    grid-template-columns: 1fr;
    border-left: 0;
    border-right: 0;
    margin-inline: calc(var(--gutter) * -1);
  }

  .mb-login-page .support-strip a {
    min-height: 72px;
    padding-inline: var(--gutter);
  }
}

@media (max-width: 520px){
  .mb-login-page .field__control,
  .mb-login-page .btn {
    min-height: 3.15rem;
  }

  .mb-login-page .join-benefits li {
    grid-template-columns: 1.55rem 1fr;
  }

  .mb-login-page .join-benefits li::before {
    width: 1.55rem;
    height: 1.55rem;
  }
}

/* =====================================================================
   Account logout - design/homepage-redesign/guidelines.html
   ===================================================================== */

.mb-logout-page .logout-panel__body p{
  margin: 0;
  max-width: 48ch;
  color: var(--muted);
  font-size: var(--fs-lead);
  line-height: 1.55;
}

.mb-logout-page .logout-panel__body p + p{
  margin-top: 0.85rem;
}

.mb-logout-page .logout-panel__actions{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: clamp(1.5rem, 3vw, 2.4rem);
}

.mb-logout-page .support-strip{
  max-width: 720px;
  margin-top: 0;
  border-top: 1px solid var(--hairline);
}

@media (max-width: 520px){
  .mb-logout-page .logout-panel__actions {
    grid-template-columns: 1fr;
  }
}

/* =====================================================================
   Checkout success - design/homepage-redesign/guidelines.html
   ===================================================================== */

.mb-checkout-success-page .success-stack{
  width: min(100%, 860px);
  margin-inline: auto;
}

.mb-checkout-success-page .success-stack .account-card--solo{
  max-width: none;
  width: 100%;
}

.mb-checkout-success-page .success-stack .support-strip{
  width: 100%;
  max-width: none;
  margin-top: 0;
  border-top: 1px solid var(--hairline);
}

.mb-checkout-success-page .account-card__topline{
  margin-bottom: clamp(0.85rem, 2vw, 1.25rem);
}

.mb-checkout-success-page .account-card__topline .ref{
  color: var(--bone-soft);
}

.mb-checkout-success-page .success-panel__lead{
  margin: 0 0 var(--stack-title-body);
  max-width: none;
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: clamp(1.35rem, 2.8vw, 1.75rem);
  line-height: 1.12;
  letter-spacing: -0.01em;
  color: var(--bone);
}

.mb-checkout-success-page .success-panel__body{
  margin-top: 0;
}

.mb-checkout-success-page .success-panel__body > br{
  display: none;
}

.mb-checkout-success-page .success-panel__body p{
  margin: 0;
  max-width: none;
  color: var(--bone-soft);
  font-family: var(--sans);
  font-size: var(--fs-body);
  line-height: 1.65;
}

.mb-checkout-success-page .success-panel__body .alert-success{
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  max-width: none;
  margin: 0 0 var(--stack-title-body);
  padding: 0.9rem 1rem;
  border-radius: 0;
  border: 1px solid var(--bone-line);
  background: rgba(251, 248, 240, 0.12);
  color: var(--bone);
  font-family: var(--sans);
  font-size: 0.92rem;
  line-height: 1.6;
}

.mb-checkout-success-page .success-panel__body .alert-success i{
  flex: 0 0 auto;
  margin-top: 0.1rem;
  color: var(--terracotta);
  font-size: 1rem;
  line-height: 1;
}

.mb-checkout-success-page .success-panel__body .alert-success span{
  color: inherit;
}

.mb-checkout-success-page .success-panel__body p + p,
.mb-checkout-success-page .success-panel__body p + h2,
.mb-checkout-success-page .success-panel__body h2 + p{
  margin-top: 1rem;
}

.mb-checkout-success-page .success-panel__body h2{
  margin: var(--stack-title-body) 0 0;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  line-height: 1.4;
  color: var(--bone);
}

.mb-checkout-success-page .success-panel__body a{
  color: var(--bone);
  border-bottom: 1px solid currentColor;
  padding-bottom: 0.1em;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.mb-checkout-success-page .success-panel__body a:hover{
  color: var(--terracotta);
  border-bottom-color: var(--terracotta);
}

.mb-checkout-success-page .success-panel__address{
  margin-top: clamp(1.5rem, 3vw, 2.25rem);
  padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
  border-top: 1px solid var(--bone-line);
}

.mb-checkout-success-page .success-panel__address-label{
  margin: 0 0 0.85rem;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--bone);
}

.mb-checkout-success-page .success-panel__address-card{
  margin: 0 0 1rem;
  max-width: none;
  width: 100%;
  padding: 1rem 1.1rem;
  background: var(--paper);
  border: 1px solid var(--hairline);
  font-style: normal;
  font-size: var(--fs-body);
  line-height: 1.6;
  color: var(--ink);
}

.mb-checkout-success-page .success-panel__address-card strong{
  display: block;
  margin-bottom: 0.35rem;
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: 1.15rem;
  line-height: 1.2;
  color: var(--terracotta);
}

.mb-checkout-success-page .success-panel__address-prompt{
  margin: 0 0 0.85rem;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--bone);
}

.mb-checkout-success-page .success-panel__address-btn{
  width: 100%;
}

.mb-checkout-success-page .success-panel__address-btn.btn--ink{
  background: transparent;
  color: var(--bone);
  border-color: var(--bone-line-2);
}

.mb-checkout-success-page .success-panel__address-btn.btn--ink:hover{
  background: rgba(251, 248, 240, 0.08);
  border-color: var(--terracotta);
  color: var(--terracotta);
}

.mb-checkout-success-page .success-panel__actions{
  margin-top: clamp(1.5rem, 3vw, 2.4rem);
}

.mb-checkout-success-page .success-panel__actions .btn{
  width: 100%;
}

@media (max-width: 760px){
  .mb-checkout-success-page .success-stack {
    width: 100%;
  }

  .mb-checkout-success-page .success-stack .account-card--solo,
  .mb-checkout-success-page .success-stack .support-strip {
    margin-inline: calc(var(--gutter) * -1);
    border-left: 0;
    border-right: 0;
  }
}

/* =====================================================================
   Account dashboard - design/homepage-redesign/guidelines.html
   ===================================================================== */

.mb-account-page{
  --bone: #f2efe4;
  --bone-2: #ece5d3;
  --paper: #fbf8f0;
  --moss: #1c3a2c;
  --moss-deep: #122418;
  --terracotta: #c2613a;
  --amber: #d8a45a;
  --ink: var(--moss-deep);
  --rule: var(--moss-deep);
  --muted: #6f6a62;
  --hairline: rgba(18, 36, 24, 0.18);
  --serif: 'Nantes-Upright', 'Cormorant Garamond', 'Times New Roman', serif;
  --italic: 'Nantes-Italic', 'Cormorant Garamond', 'Times New Roman', serif;
  --sans: 'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  --sans-bold: 'DM Sans Bold', 'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  --fs-micro: 0.50rem;
  --fs-cap: 0.55rem;
  --fs-body: 1rem;
  --fs-field: 0.875rem;
  --fs-lead: 1.18rem;
  --fs-h6: 1.2rem;
  --fs-h5: 1.6rem;
  --fs-h4: 2.2rem;
  --fs-h3: 3rem;
  --fs-h2: clamp(2.6rem, 5.5vw, 5.2rem);
  --fs-h1: clamp(3.4rem, 9vw, 8.6rem);
  --fs-page-title: clamp(1.45rem, 3.25vw, 2rem);
  --fs-page-h1: clamp(1.35rem, 2.5vw, 1.75rem);
  --fs-page-h2: clamp(1.2rem, 2vw, 1.45rem);
  --fs-page-h3: 1.05rem;
  --gutter: clamp(1.25rem, 2.5vw, 2rem);
  --max: 1480px;
  --tracked: 0.18em;
  --tracked-wide: 0.32em;
  --stack-cap-title: clamp(1.35rem, 2.75vw, 2.1rem);
  --stack-title-body: clamp(1.5rem, 3vw, 2.25rem);
  --stack-title-line: 0.08em;
  --stack-hero-kicker: clamp(0.4rem, 1.25vw, 0.75rem);
  position: relative;
  background: var(--bone);
  min-height: 70vh;
  padding-block: clamp(2.75rem, 6vw, 6rem) clamp(4rem, 8vw, 8rem);
  font-family: var(--sans);
  font-size: var(--fs-body);
  line-height: 1.55;
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.mb-account-page .shell{
  width: min(100%, var(--max));
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.mb-account-page .cap{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.mb-account-page .micro{
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked-wide);
  text-transform: uppercase;
  color: var(--muted);
}

.mb-account-page .ref{
  display: inline-flex;
  align-items: center;
  gap: 0.55em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.mb-account-page .ref::before{
  content: '';
  width: 2px;
  height: 0.95em;
  background: var(--terracotta);
  border-radius: 1px;
  flex: 0 0 auto;
}

.mb-account-page__alerts{
  margin-bottom: clamp(1.25rem, 3vw, 2rem);
}

.mb-account-page__alerts .alert{
  border-radius: 0;
  border: 1px solid var(--hairline);
  font-family: var(--sans);
  font-size: 0.92rem;
}

.mb-account-page .account-page__mast{
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(280px, 0.42fr);
  align-items: end;
  gap: 2rem;
  margin-bottom: clamp(1.8rem, 4vw, 3rem);
}

.mb-account-page .account-page__eyebrow{
  color: var(--terracotta);
  margin: 0 0 var(--stack-hero-kicker, 0.85rem);
}

.mb-account-page .account-page__title{
  margin: 0;
  max-width: none;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-page-title);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.mb-account-page .account-page__title em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
}

.mb-account-page .account-page__intro{
  margin: 0;
  max-width: 38ch;
  color: var(--muted);
  font-size: var(--fs-field);
  line-height: 1.55;
}

/* Account dashboard - mast + quick-link grid */
#account-dashboard .account-page__mast--dash{
  grid-template-columns: 1fr;
  align-items: start;
  gap: 0;
  margin-bottom: 0;
  padding-bottom: clamp(1.25rem, 2.5vw, 1.75rem);
  border: 0;
}

#account-dashboard .dash-section--orders{
  margin-top: 0;
  padding-top: 0;
  border: 0;
}

#account-dashboard .dash-section--links{
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
  margin-top: 0;
  padding-top: 0;
  border-top: 1px solid var(--rule);
}

#account-dashboard .dash-section--links .dash-grid{
  box-shadow: none;
  border-top: 0;
  margin-inline: 0;
}

#account-dashboard .account-page__title{
  max-width: none;
}

#account-dashboard .dash-card{
  background: var(--bone);
}

#account-dashboard .dash-menu__link{
  font-size: 0.8125rem;
  line-height: 1.4;
}

.mb-account-page .dash-section{
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.mb-account-page .dash-section:last-child{
  margin-bottom: 0;
}

.mb-account-page .dash-section__head{
  margin-bottom: clamp(1.25rem, 3vw, 2rem);
}

.mb-account-page .dash-section__title{
  margin: var(--stack-cap-title) 0 0;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-page-h2);
  line-height: 1.05;
  letter-spacing: -0.01em;
}

/* Order carousel cards */
.mb-account-page .orders-carousel-swiper{
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.mb-account-page .orders-carousel-swiper .swiper-wrapper{
  align-items: stretch;
}

.mb-account-page .orders-carousel-swiper .swiper-slide{
  height: auto;
  box-sizing: border-box;
  padding: 0;
  min-width: min(100%, 20rem);
}

.mb-account-page .orders-carousel-wrap.is-single .orders-carousel-swiper{
  overflow: visible;
}

.mb-account-page .orders-carousel-wrap.is-single .orders-carousel-swiper .swiper-slide{
  width: auto !important;
  max-width: 100%;
}

@media (min-width: 980px){
  .mb-account-page .orders-carousel-swiper .swiper-slide{
    min-width: calc(50% - 10px);
  }

  .mb-account-page .orders-carousel-wrap.is-single .orders-carousel-swiper .swiper-slide{
    max-width: calc(50% - 10px);
  }
}

.mb-account-page .dash-order{
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--bone);
  border: 1px solid var(--rule);
  padding: clamp(1.25rem, 2.5vw, 1.6rem);
}

.mb-account-page .dash-order__badges{
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 1rem;
}

.mb-account-page .dash-badge{
  display: inline-flex;
  align-items: center;
  padding: 0.35em 0.65em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  line-height: 1.2;
  border: 1px solid var(--ink);
}

.mb-account-page .dash-badge--ghost{
  background: transparent;
  color: var(--ink);
}

.mb-account-page .dash-badge--status{
  background: var(--ink);
  color: var(--bone);
  border-color: var(--ink);
}

.mb-account-page .dash-badge--cancelled{
  background: var(--terracotta);
  border-color: var(--terracotta);
  color: var(--bone);
}

.mb-account-page .dash-badge--dispatched{
  background: var(--moss);
  border-color: var(--moss);
  color: var(--bone);
}

.mb-account-page .dash-badge--processing{
  background: var(--amber);
  border-color: var(--amber);
  color: var(--ink);
}

.mb-account-page .dash-badge--refunded{
  background: var(--ink);
  border-color: var(--ink);
  color: var(--bone);
}

.mb-account-page .dash-badge--closed{
  background: var(--ink);
  border-color: var(--ink);
  color: var(--bone);
}

.mb-account-page .dash-badge--open{
  background: var(--moss);
  border-color: var(--moss);
  color: var(--bone);
}

.mb-account-page .dash-order__products{
  position: relative;
  max-height: 200px;
  overflow: hidden;
  margin-bottom: 1rem;
}

.mb-account-page .dash-order__products-scroll{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-height: 200px;
  overflow-y: auto;
  padding: 0 0 26px;
}

.mb-account-page .dash-order__product-img{
  width: 84px;
  height: 84px;
  object-fit: cover;
}

.mb-account-page .dash-order__products-fade{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 35px;
  background: linear-gradient(to bottom, rgba(242, 239, 228, 0) 0%, rgba(242, 239, 228, 0.95) 100%);
  pointer-events: none;
}

.mb-account-page .dash-order__note{
  margin: 0 0 1rem;
  padding: 0.85rem 1rem;
  background: var(--paper);
  border: 1px dashed var(--hairline);
  font-size: 0.88rem;
  line-height: 1.55;
}

.mb-account-page .dash-order__note > div + div{
  margin-top: 0.35rem;
}

.mb-account-page .dash-order__note p{
  margin: 0.65rem 0 0;
  font-size: 0.82rem;
  color: var(--terracotta);
}

.mb-account-page .dash-order__note img{
  vertical-align: middle;
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 6px;
}

.mb-account-page .dash-order__actions{
  margin-top: auto;
  display: grid;
  gap: 0.65rem;
}

.mb-account-page .dash-order__actions .btn{
  width: 100%;
}

.mb-account-page .club-form-inline .btn{
  width: auto;
  min-width: 12rem;
}
.mb-account-page .btn{
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  border: 1px solid transparent;
  border-radius: 0;
  padding: 0.85em 1.2em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, gap 0.25s ease;
}

.mb-account-page .btn:hover{
  gap: 1.1rem;
  text-decoration: none;
}

.mb-account-page .btn--moss{
  background: var(--moss);
  color: var(--bone);
  border-color: var(--moss);
}

.mb-account-page .btn--moss:hover{
  background: var(--moss-deep);
  color: var(--bone);
}

.mb-account-page .btn--outline{
  background: transparent;
  color: var(--moss);
  border-color: var(--moss);
}

.mb-account-page .btn--outline:hover{
  background: var(--moss);
  color: var(--bone);
}

.mb-account-page .orders-carousel-swiper__pagination{
  position: relative;
  margin-top: 1rem;
}

.mb-account-page .orders-carousel-swiper .swiper-pagination-bullet{
  background: rgba(18, 36, 24, 0.2);
  opacity: 1;
  transition: background 0.2s ease;
}

.mb-account-page .orders-carousel-swiper .swiper-pagination-bullet-active,
.mb-account-page .orders-carousel-swiper .swiper-pagination-bullet:hover{
  background: var(--ink);
}

/* Quick-link cards grid */
.mb-account-page .dash-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
  box-shadow: 0 18px 60px rgba(18, 36, 24, 0.08);
}

.mb-account-page .dash-card{
  background: var(--bone);
  padding: clamp(1.35rem, 3vw, 2rem);
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.mb-account-page .dash-card:nth-child(2){
  background: var(--paper);
}

.mb-account-page .dash-card__head{
  display: flex;
  width: 100%;
  padding-bottom: clamp(1rem, 2vw, 1.35rem);
  margin-bottom: clamp(0.75rem, 1.5vw, 1rem);
  border-bottom: 1px solid var(--hairline);
}

.mb-account-page .dash-menu{
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1;
}

.mb-account-page .dash-menu li + li{
  border-top: 1px solid var(--hairline);
}

.mb-account-page .dash-menu__link{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 0;
  color: var(--ink);
  font-size: 0.92rem;
  transition: color 0.2s ease, padding-left 0.2s ease;
}

.mb-account-page .dash-menu__link:hover{
  color: var(--terracotta);
  padding-left: 0.35rem;
  text-decoration: none;
}

.mb-account-page .dash-menu__link svg{
  flex: 0 0 auto;
  width: 1.35rem;
  height: 0.65rem;
  opacity: 0.55;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.mb-account-page .dash-menu__link:hover svg{
  opacity: 1;
  transform: translateX(3px);
}

/* Minibeast Club panel */
.mb-account-page .dash-club{
  border: 1px solid var(--rule);
  background: var(--bone-2);
  box-shadow: 0 18px 60px rgba(18, 36, 24, 0.08);
}

.mb-account-page .dash-club__ruler{
  height: clamp(32px, 4vw, 48px);
  background-image: url('/catalog/view/theme/minibeast/svg/b-pattern-L-black.svg');
  background-repeat: repeat-x;
  background-position: center;
  background-size: auto 100%;
  border-bottom: 1px solid var(--hairline);
}

.mb-account-page .dash-club__inner{
  padding: clamp(1.35rem, 3vw, 2.5rem);
}

.mb-account-page .dash-club__intro{
  margin: 0.75rem 0 clamp(1.25rem, 3vw, 2rem);
  max-width: 58ch;
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.55;
}

.mb-account-page .dash-club__label{
  margin: 0 0 0.75rem;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-page-h3);
  line-height: 1.05;
  letter-spacing: -0.01em;
}

.mb-account-page .club-specimen-buttons{
  display: flex;
  gap: 0.65rem;
  flex-wrap: wrap;
  margin-bottom: clamp(1.25rem, 3vw, 2rem);
}

.mb-account-page .club-specimen-btn{
  cursor: pointer;
  margin: 0;
  padding: 0.65em 1em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  border-radius: 0;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  background: var(--bone);
  border: 1px solid var(--hairline);
  color: var(--ink);
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  line-height: 1.2;
}

.mb-account-page .club-specimen-btn:hover{
  border-color: var(--ink);
}

.mb-account-page .club-specimen-btn.active{
  background: var(--moss);
  border-color: var(--moss);
  color: var(--bone);
}

.mb-account-page .club-specimen-btn.active:hover{
  background: var(--moss-deep);
  border-color: var(--moss-deep);
}

.mb-account-page .club-specimen-btn input[type='checkbox']{
  display: none;
}

.mb-account-page .club-specimen-btn i.fa-check{
  display: none;
}

.mb-account-page .club-specimen-btn.active i.fa-check{
  display: inline;
}

.mb-account-page .club-specimen-btn i.fa-times{
  display: inline;
  color: var(--muted);
}

.mb-account-page .club-specimen-btn.active i.fa-times{
  display: none;
}

.mb-account-page .club-form-inline{
  display: flex;
  gap: 1rem;
  align-items: flex-end;
  flex-wrap: wrap;
  padding-top: 1.25rem;
  border-top: 1px solid var(--hairline);
}

.mb-account-page .club-form-inline .form-group{
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.mb-account-page .club-form-inline label{
  margin: 0;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--ink);
}

.mb-account-page .club-form-inline select.form-control{
  height: 3rem;
  min-width: 160px;
  border-radius: 0;
  background: rgba(18, 36, 24, 0.045);
  border: 1px solid var(--hairline);
  color: var(--ink);
  font-family: var(--sans);
  appearance: none;
  -webkit-appearance: none;
}

.mb-account-page .club-form-inline select.form-control:focus{
  border-color: var(--terracotta);
  box-shadow: 0 0 0 1px var(--terracotta);
  outline: none;
}

.mb-account-page .club-manage-link{
  margin: 1.5rem 0 0;
  padding-top: 1.25rem;
  border-top: 1px solid var(--hairline);
}

.mb-account-page .club-manage-link a{
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  color: var(--ink);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  transition: color 0.2s ease, gap 0.25s ease;
}

.mb-account-page .club-manage-link a:hover{
  color: var(--terracotta);
  gap: 1.1rem;
  text-decoration: none;
}

.mb-account-page .club-min-period{
  margin: 1.5rem 0 0;
  padding: 0.85rem 1rem;
  background: var(--paper);
  border: 1px dashed var(--hairline);
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.55;
}

.mb-account-page .club-min-period i{
  color: var(--terracotta);
  margin-right: 0.4rem;
}

@media (max-width: 980px){
  .mb-account-page .dash-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px){
  .mb-account-page {
    padding-block: 2.25rem 4rem;
  }

  .mb-account-page .account-page__mast {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .mb-account-page .account-page__title {
    max-width: none;
  }

  .mb-account-page .dash-grid {
    margin-inline: calc(var(--gutter) * -1);
    border-left: 0;
    border-right: 0;
  }

  #account-dashboard .dash-section--links .dash-grid {
    margin-inline: 0;
    border-left: 1px solid var(--rule);
    border-right: 1px solid var(--rule);
  }

  .mb-account-page .dash-club__inner {
    padding: 1.25rem var(--gutter) 1.5rem;
  }

  .mb-account-page .club-specimen-btn {
    flex: 0 0 calc(50% - 0.35rem);
    justify-content: center;
    text-align: center;
  }

  .mb-account-page .club-form-inline .form-group,
  .mb-account-page .club-form-inline #club-save-button {
    flex: 0 0 100%;
  }

  .mb-account-page .club-form-inline select.form-control {
    width: 100%;
  }

  .mb-account-page .dash-order__product-img {
    width: 72px;
    height: 72px;
  }
}

@media (max-width: 480px){
  .mb-account-page .dash-order__product-img {
    width: 64px;
    height: 64px;
  }
}

/* Account subpages - shell, forms, tables, lists */
.mb-account-subpage .account-page__mast--sub{
  grid-template-columns: 1fr;
  gap: 0.75rem;
  margin-bottom: clamp(1rem, 2.5vw, 1.5rem);
}

.mb-account-subpage .account-page__title{
  max-width: none;
  line-height: 1.05;
}

.mb-account-subpage .account-page__eyebrow{
  margin-bottom: 0.5rem;
}

.mb-account-subpage .acct-back{
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: clamp(1rem, 2vw, 1.35rem);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--muted);
  transition: color 0.2s ease, gap 0.2s ease;
}

.mb-account-subpage .acct-back:hover{
  color: var(--terracotta);
  gap: 0.75rem;
  text-decoration: none;
}

.mb-account-subpage .acct-back svg{
  width: 1.35rem;
  height: 0.65rem;
}

.mb-account-subpage .dash-panel{
  padding: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
}

.mb-account-page .acct-empty{
  margin: 0;
  color: var(--muted);
  font-size: 0.95rem;
}

.mb-account-page .acct-notice{
  margin: 1.25rem 0 0;
  padding: 0.85rem 1rem;
  background: var(--paper);
  border: 1px dashed var(--hairline);
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.55;
}

.mb-account-page .acct-lead{
  margin: 0 0 1.25rem;
  color: var(--muted);
  font-size: var(--fs-lead);
  line-height: 1.55;
}

.mb-account-page legend{
  margin: 0 0 1rem;
  padding: 0 0 0.75rem;
  border: 0;
  border-bottom: 1px solid var(--hairline);
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-page-h2);
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--ink);
}

.mb-account-page .form-group{
  margin-bottom: 1rem;
}

.mb-account-page .control-label{
  display: block;
  margin-bottom: 0.45rem;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--ink);
}

.mb-account-page .form-control,
.mb-account-page textarea.form-control,
.mb-account-page select.form-control{
  width: 100%;
  min-height: 3rem;
  border: 1px solid var(--hairline);
  border-radius: 0;
  background: rgba(18, 36, 24, 0.045);
  padding: 0 1rem;
  font-family: var(--sans);
  font-size: var(--fs-field);
  color: var(--ink);
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
}

.mb-account-page textarea.form-control{
  min-height: 7rem;
  padding: 0.85rem 1rem;
  resize: vertical;
}

.mb-account-page .form-control:focus,
.mb-account-page textarea.form-control:focus,
.mb-account-page select.form-control:focus{
  border-color: var(--terracotta);
  box-shadow: 0 0 0 1px var(--terracotta);
  outline: none;
}

.mb-account-page .text-danger{
  margin-top: 0.35rem;
  color: var(--terracotta);
  font-size: 0.85rem;
}

.mb-account-page .radio,
.mb-account-page .checkbox,
.mb-account-page .radio-inline,
.mb-account-page .checkbox-inline{
  margin: 0.35rem 0;
  font-size: 0.92rem;
}

.mb-account-page .radio label,
.mb-account-page .checkbox label,
.mb-account-page .radio-inline label,
.mb-account-page .checkbox-inline label{
  font-weight: 500;
  text-transform: none;
  letter-spacing: normal;
  font-size: 0.92rem;
}

.mb-account-page .acct-actions{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: clamp(1.5rem, 3vw, 2rem);
  padding-top: 1.25rem;
  border-top: 1px solid var(--hairline);
}

.mb-account-page .acct-actions--end{
  justify-content: flex-end;
}

.mb-account-page .acct-actions .btn--ghost{
  background: transparent;
  color: var(--ink);
  border-color: var(--hairline);
  width: auto;
  min-width: 10rem;
}

.mb-account-page .acct-actions .btn--ghost:hover{
  border-color: var(--ink);
}

.mb-account-page .acct-table-wrap{
  overflow-x: auto;
  border: 1px solid var(--hairline);
}

.mb-account-page .acct-table{
  width: 100%;
  margin: 0;
  border-collapse: collapse;
}

.mb-account-page .acct-table thead td,
.mb-account-page .acct-table thead th{
  background: var(--paper);
  color: var(--muted);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  border-bottom: 1px solid var(--hairline);
  padding: 0.85rem 1rem;
  vertical-align: middle;
}

.mb-account-page .acct-table tbody td{
  padding: 0.85rem 1rem;
  border-top: 1px solid var(--hairline);
  vertical-align: middle;
  font-size: 0.92rem;
}

.mb-account-page .acct-table tbody tr:first-child td{
  border-top: 0;
}

.mb-account-page .acct-table .btn{
  width: auto;
  min-height: 2.5rem;
  padding: 0.5em 0.85em;
}

.mb-account-page .acct-pagination{
  margin-top: 1rem;
}

.mb-account-page .acct-order-list{
  display: grid;
  gap: 1px;
  background: var(--hairline);
  border: 1px solid var(--rule);
}

.mb-account-page .acct-order-item{
  background: var(--bone);
  padding: clamp(1rem, 2vw, 1.25rem) clamp(1.1rem, 2.5vw, 1.35rem);
}

.mb-account-page .acct-order-item__head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.85rem;
}

.mb-account-page .acct-order-item__badges{
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.mb-account-page .acct-order-item__date{
  flex: 0 0 auto;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked-wide);
  text-transform: uppercase;
  color: var(--muted);
  white-space: nowrap;
}

.mb-account-page .acct-order-item__details{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 0.75rem 1.25rem;
  margin: 0;
}

.mb-account-page .acct-order-item__detail{
  margin: 0;
  min-width: 0;
}

.mb-account-page .acct-order-item__detail dt{
  margin: 0 0 0.2rem;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--muted);
}

.mb-account-page .acct-order-item__detail dd{
  margin: 0;
  font-family: var(--sans);
  font-size: 0.92rem;
  line-height: 1.4;
  color: var(--ink);
}

.mb-account-page .acct-order-item__note{
  margin: 0.85rem 0 0;
  padding: 0.75rem 0.85rem;
  background: var(--paper);
  border: 1px dashed var(--hairline);
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.5;
}

.mb-account-page .acct-order-item__actions{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0.6rem;
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--hairline);
}

.mb-account-page .acct-order-item__actions .btn{
  width: auto;
  min-height: 2.5rem;
  padding: 0.55em 1em;
}

.mb-account-page .btn--sm{
  min-height: 2.5rem;
  padding: 0.55em 1em;
  font-size: var(--fs-micro);
}

.mb-account-page .btn--sm svg{
  width: 1.25rem;
  height: 0.6rem;
}

.mb-account-page .acct-split{
  display: grid;
  grid-template-columns: minmax(220px, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: start;
}

.mb-account-page .acct-stat{
  padding: clamp(1.25rem, 3vw, 2rem);
  background: var(--paper);
  border: 1px solid var(--hairline);
  text-align: center;
}

.mb-account-page .acct-stat__value{
  margin: 0;
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: var(--fs-page-h1);
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--ink);
}

.mb-account-page .acct-stat__label{
  margin: 0.5rem 0 0;
  color: var(--muted);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.mb-account-page .table-wishlist img{
  max-width: 84px;
  border: 1px solid var(--hairline);
}

.mb-account-page .table-wishlist .name a{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: var(--fs-h6);
  line-height: 1.15;
  color: var(--ink);
}

.mb-account-page .table-wishlist .price b{
  font-family: var(--sans-bold);
  font-weight: normal;
}

.mb-account-page .address-list tbody td{
  vertical-align: middle;
}

.mb-login-page .account-page__mast--auth{
  grid-template-columns: 1fr;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.mb-login-page .account-page__mast--auth .account-page__title{
  max-width: none;
}

.mb-login-page .account-card--solo{
  max-width: 720px;
  border: 1px solid var(--rule);
  box-shadow: 0 18px 60px rgba(18, 36, 24, 0.08);
  padding: clamp(1.35rem, 3vw, 2.5rem);
}

#account-auth.mb-login-page--register .account-card--solo{
  max-width: none !important;
  width: 100% !important;
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}

/* Register form fields - match quickcheckout.css */
#account-auth.mb-login-page--register{
  --fs-cap: 0.6rem;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

body:has(#account-auth.mb-login-page--register) .maincols{
  width: 100%;
  max-width: none;
  padding-inline: 0;
}

#account-auth.mb-login-page--register .shell{
  max-width: var(--max);
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--gutter);
}

#account-auth.mb-login-page--register form.form-horizontal{
  width: 100%;
  max-width: none;
}

#account-auth.mb-login-page--register fieldset.row{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  width: 100%;
  max-width: none;
  margin: 0;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border: 0;
}

#account-auth.mb-login-page--register fieldset.row > .col-md-12,
#account-auth.mb-login-page--register .form-group.col-md-12{
  grid-column: 1 / -1;
}

#account-auth.mb-login-page--register .form-group.col-md-6,
#account-auth.mb-login-page--register .form-group.col-md-12{
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  flex-direction: column;
  gap: 0.45rem;
  padding: 0 !important;
  margin-bottom: 0;
  min-width: 0;
  box-sizing: border-box;
}

#account-auth.mb-login-page--register label.control-label{
  font-family: var(--sans-bold) !important;
  font-weight: normal !important;
  font-size: var(--fs-cap) !important;
  letter-spacing: var(--tracked) !important;
  text-transform: uppercase !important;
  height: auto !important;
  top: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1.35 !important;
  color: var(--ink) !important;
}

#account-auth.mb-login-page--register .form-control,
#account-auth.mb-login-page--register textarea.form-control,
#account-auth.mb-login-page--register select.form-control,
#account-auth.mb-login-page--register input[type='text'],
#account-auth.mb-login-page--register input[type='email'],
#account-auth.mb-login-page--register input[type='tel'],
#account-auth.mb-login-page--register input[type='password'],
#account-auth.mb-login-page--register select{
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  border: 1px solid var(--hairline) !important;
  background-color: var(--paper) !important;
  padding: 0.65rem 0.85rem !important;
  font-family: var(--sans) !important;
  font-size: var(--fs-field) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.35 !important;
  color: var(--ink) !important;
  outline: 0;
  border-radius: 0 !important;
  min-height: 3rem !important;
  height: auto !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  appearance: none;
  -webkit-appearance: none;
  -webkit-text-size-adjust: 100% !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

#account-auth.mb-login-page--register select.form-control,
#account-auth.mb-login-page--register select{
  padding-right: 2.75rem !important;
  background-color: var(--paper) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%231e1e1e' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 1rem center !important;
  background-size: 0.65rem auto !important;
  cursor: pointer;
}

#account-auth.mb-login-page--register .form-control::placeholder,
#account-auth.mb-login-page--register input::placeholder,
#account-auth.mb-login-page--register textarea::placeholder{
  font-family: var(--sans) !important;
  font-size: var(--fs-field) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.35 !important;
  color: var(--muted) !important;
  opacity: 1;
}

#account-auth.mb-login-page--register .form-control:focus,
#account-auth.mb-login-page--register textarea.form-control:focus,
#account-auth.mb-login-page--register select.form-control:focus,
#account-auth.mb-login-page--register input:focus,
#account-auth.mb-login-page--register select:focus{
  background-color: var(--paper) !important;
  border-color: var(--terracotta) !important;
  box-shadow: 0 0 0 1px var(--terracotta) !important;
  outline: none;
}

#account-auth.mb-login-page--register textarea.form-control,
#account-auth.mb-login-page--register textarea{
  min-height: 8.75rem !important;
  height: auto !important;
  resize: vertical;
}

#account-auth.mb-login-page--register input.form-control:-webkit-autofill,
#account-auth.mb-login-page--register input.form-control:-webkit-autofill:hover,
#account-auth.mb-login-page--register input.form-control:-webkit-autofill:focus,
#account-auth.mb-login-page--register input.form-control:-webkit-autofill:active,
#account-auth.mb-login-page--register select.form-control:-webkit-autofill,
#account-auth.mb-login-page--register textarea.form-control:-webkit-autofill{
  -webkit-box-shadow: 0 0 0 1000px var(--paper) inset !important;
  box-shadow: 0 0 0 1000px var(--paper) inset !important;
  -webkit-text-fill-color: var(--ink) !important;
  caret-color: var(--ink);
  transition: background-color 5000s ease-in-out 0s;
}

@media (min-width: 768px){
  #account-auth.mb-login-page--register #input-postcode{
    max-width: 10rem;
  }

  #account-auth.mb-login-page--register #input-telephone{
    max-width: 14rem;
  }
}

@media (max-width: 860px){
  #account-auth.mb-login-page--register fieldset.row{
    grid-template-columns: 1fr;
  }
}

#account-auth .login-form,
.mb-login-page .account-card--solo .login-form{
  margin-top: 0;
}

.mb-login-page .form-group{
  margin-bottom: 1rem;
}

.mb-login-page .control-label{
  display: block;
  margin-bottom: 0.45rem;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--ink);
}

.mb-login-page .form-control,
.mb-login-page textarea.form-control,
.mb-login-page select.form-control{
  width: 100%;
  min-height: 3.35rem;
  border: 1px solid var(--hairline);
  border-radius: 0;
  background: var(--field-fill);
  padding: 0 1rem;
  font-family: var(--sans);
  font-size: var(--fs-field);
  font-weight: 400;
  line-height: 1.4;
  color: var(--ink);
  box-shadow: none;
}

.mb-login-page textarea.form-control{
  min-height: 7rem;
  padding: 0.85rem 1rem;
}

.mb-login-page .form-control:focus,
.mb-login-page textarea.form-control:focus,
.mb-login-page select.form-control:focus{
  background: var(--paper);
  border-color: var(--terracotta);
  box-shadow: 0 0 0 1px var(--terracotta);
  outline: none;
}

.mb-login-page legend{
  margin: 0 0 1rem;
  padding: 0 0 0.75rem;
  border: 0;
  border-bottom: 1px solid var(--hairline);
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-page-h2);
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--ink);
}

.mb-login-page .text-danger{
  margin-top: 0.35rem;
  color: var(--terracotta);
  font-size: 0.85rem;
}

.mb-login-page .production-cart{
  padding: 0.85rem 1rem;
  background: var(--paper);
  border: 1px dashed var(--hairline);
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.55;
}

.mb-login-page .production-cart a{
  border-bottom: 1px solid currentColor;
}

@media (max-width: 760px){
  .mb-account-subpage .dash-panel {
    margin-inline: calc(var(--gutter) * -1);
  }

  .mb-account-subpage .dash-panel:not(:has(.acct-order-list)):not(:has(.acct-ticket-list)):not(:has(.order-info-card-row)) {
    padding-inline: var(--gutter);
  }

  .mb-account-page .acct-order-item__head {
    flex-direction: column;
    gap: 0.45rem;
  }

  .mb-account-page .acct-order-item__actions .btn {
    flex: 1 1 calc(50% - 0.3rem);
    min-width: 0;
  }

  .mb-account-page .acct-split {
    grid-template-columns: 1fr;
  }

  .mb-account-page .acct-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .mb-account-page .acct-actions .btn {
    width: 100%;
  }
}


/* Account subpages - shared forms, tables, panels */
.mb-account-page #content{
  width: 100%;
  max-width: 100%;
  padding: 0;
  background: transparent;
  border: 0;
}

.account-section{ margin-bottom: 0; }

.account-section-title{
  margin: var(--stack-cap-title) 0 clamp(1rem, 2vw, 1.35rem);
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--hairline);
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-page-h2);
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--ink);
}

.mb-account-page #sys-notification{ margin-bottom: 25px; }

.order-info-card-row{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: 1px;
  margin-bottom: clamp(1rem, 2.5vw, 1.5rem);
  background: var(--hairline);
  border: 1px solid var(--rule);
}

.order-info-card{
  background: var(--bone);
  border: 1px solid var(--rule);
  border-radius: 0;
  padding: clamp(1rem, 2vw, 1.35rem);
  margin-bottom: clamp(1rem, 2.5vw, 1.5rem);
  box-shadow: none;
}

.order-info-card-row .order-info-card{
  margin-bottom: 0;
  border: 0;
}

.mb-account-page .order-info-card__title,
.order-info-card__title{
  margin: 0 0 0.85rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid var(--hairline);
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-page-h2);
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--ink);
}

.order-info-meta{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem 1.5rem;
}

.order-info-meta__item{
  margin: 0;
  font-family: var(--sans);
  font-size: var(--fs-field);
  line-height: 1.4;
  color: var(--ink);
}

.order-info-meta__item span{
  display: block;
  margin-bottom: 0.2rem;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--muted);
}

.order-info-addresses{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.order-info-address__block span{
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: #8a8470;
  font-weight: 600;
  margin-bottom: 8px;
}

.order-info-address__block p{
  margin: 0;
  font-size: 14px;
  line-height: 1.65;
  color: var(--moss-deep);
}

.order-info-card--table{
  margin-top: clamp(1rem, 2.5vw, 1.5rem);
  margin-bottom: clamp(1rem, 2.5vw, 1.5rem);
  padding: clamp(1rem, 2vw, 1.35rem) 0 0;
  overflow: hidden;
}

.order-info-card--table .order-info-card__title{
  padding: 0 24px 14px;
  margin-bottom: 0;
  border-bottom: 0;
}

.order-info-card--table .order-info-table-wrap{
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  overflow-x: auto;
}

.order-info-card--table .order-info-products-table,
.order-info-card--table .order-info-history-table{
  width: 100%;
  min-width: 100%;
  margin-bottom: 0;
  border: 0;
  border-collapse: collapse;
  table-layout: fixed;
}

.order-info-card--table .order-info-products-table col.col-image{ width: 110px; }
.order-info-card--table .order-info-products-table col.col-model{ width: 14%; }
.order-info-card--table .order-info-products-table col.col-qty{ width: 10%; }
.order-info-card--table .order-info-products-table col.col-price{ width: 12%; }
.order-info-card--table .order-info-products-table col.col-total{ width: 12%; }

@media (min-width: 768px){
  .order-info-card--table .order-info-products-table thead td,
  .order-info-card--table .order-info-products-table tbody td,
  .order-info-card--table .order-info-products-table tfoot td,
  .order-info-card--table .order-info-history-table thead td,
  .order-info-card--table .order-info-history-table tbody td {
    white-space: normal !important;
  }
}

.order-info-card .table thead td{
  background: #f2efe4;
  color: #6a6450;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  font-weight: 600;
  border: 0;
  border-top: 1px solid #e5dfce;
  border-bottom: 1px solid #e5dfce;
  padding: 11px 18px;
  vertical-align: middle;
}

.order-info-card .table tbody td{
  padding: 18px;
  border-top: 1px solid #e5dfce;
  vertical-align: middle;
}

.order-info-card .table tbody tr:first-child td{
  border-top: 0;
}

.order-info-card .table tbody td.image{
  width: 110px;
  padding-right: 12px;
}

.order-info-card .table tbody td.image img{
  border-radius: 4px;
  border: 1px solid #e5dfce;
  max-width: 90px;
}

.order-info-card .table tfoot td{
  padding: 14px 18px;
  border-top: 1px solid #e5dfce;
  font-weight: 500;
}

.order-info-card .table tfoot tr:first-child td{
  border-top: 2px solid #e5dfce;
  padding-top: 18px;
}

.order-info-card .table tfoot tr:last-child td{
  font-size: 16px;
  font-weight: 600;
  color: var(--moss-deep);
}

.order-info-card__body{
  font-size: 14px;
  line-height: 1.65;
  color: var(--moss-deep);
}

.order-info-actions{
  margin-top: 8px;
  padding-top: 4px;
}

.order-info-card .order-product-cell .order-product-title{
  display: block;
}
.order-info-card .order-product-cell .order-product-review{
  display: block;
  margin-top: 8px;
}
.order-info-card .order-product-cell .order-product-options{
  margin-top: 8px;
}
.order-info-card a.btn-leave-review{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 0;
  margin-bottom: 0;
  padding: 9px 14px;
  min-height: 36px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #23503b;
  border-radius: 4px;
  color: #23503b;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.order-info-card a.btn-leave-review:hover,
.order-info-card a.btn-leave-review:focus{
  background: #23503b;
  border-color: #23503b;
  color: #f2efe4;
  text-decoration: none;
  outline: 0;
}
.order-info-card .order-review-status{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 0;
  padding: 9px 14px;
  min-height: 36px;
  box-sizing: border-box;
  background: #eaf4ee;
  border: 1px solid #c6dccf;
  border-radius: 4px;
  color: #23503b;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
}

@media (max-width: 767px){
  .account-section-title { margin-bottom: clamp(1rem, 2vw, 1.35rem); }
  .order-info-card { padding: 18px 16px; }
  .order-info-card--table { padding: 18px 0 0; overflow: visible; }
  .order-info-card--table .order-info-card__title { padding: 0 16px 12px; }
  .order-info-meta,
  .order-info-addresses {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .order-info-card .table tbody td,
  .order-info-card .table thead td,
  .order-info-card .table tfoot td {
    padding: 12px 14px;
    font-size: 13px;
  }
  .order-info-card .table tbody td.image {
    width: 80px;
  }
  .order-info-card .table tbody td.image img {
    max-width: 70px;
  }

  /* Products table - horizontal scroll instead of squishing columns */
  .order-info-card--table .order-info-table-wrap--products {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    margin-left: -16px;
    margin-right: -16px;
    padding-left: 16px;
    padding-right: 16px;
    width: calc(100% + 32px);
  }
  .order-info-card--table .order-info-products-table {
    table-layout: fixed !important;
    width: 720px !important;
    min-width: 720px !important;
    max-width: none !important;
  }
  .order-info-card--table .order-info-products-table col.col-image { width: 90px !important; }
  .order-info-card--table .order-info-products-table col.col-name { width: 220px !important; }
  .order-info-card--table .order-info-products-table col.col-model { width: 130px !important; }
  .order-info-card--table .order-info-products-table col.col-qty { width: 80px !important; }
  .order-info-card--table .order-info-products-table col.col-price { width: 100px !important; }
  .order-info-card--table .order-info-products-table col.col-total { width: 100px !important; }
  .order-info-card--table .order-info-products-table thead td,
  .order-info-card--table .order-info-products-table tbody td,
  .order-info-card--table .order-info-products-table tfoot td {
    white-space: nowrap !important;
  }
  .order-info-card--table .order-info-products-table thead td:nth-child(2),
  .order-info-card--table .order-info-products-table tbody td:nth-child(2) {
    white-space: normal !important;
  }
  .order-info-card--table .order-info-products-table thead td.image,
  .order-info-card--table .order-info-products-table tbody td.image {
    width: 90px !important;
  }
  .order-info-card--table .order-info-products-table tbody td.image img {
    max-width: 70px;
  }
}

/* =====================================================================
   Review modal (cireviewpro) - match order info page styling
   ===================================================================== */
/* Allow the .modal wrapper itself to scroll when content is taller than the viewport */
[id^="cireview-modal-"].modal,
[id^="cireview-modal-"]{
  overflow-y: auto !important;
}
/* Override the global .modal-dialog flex/min-height rule so tall modals don't
   push their header above the viewport */
[id^="cireview-modal-"] .modal-dialog{
  display: block;
  min-height: 0;
  margin: 40px auto;
  max-width: 640px;
  width: auto;
}
@media (max-width: 767px){
  [id^="cireview-modal-"] .modal-dialog {
    margin: 20px 12px;
    max-width: none;
  }
}
[id^="cireview-modal-"] .modal-content{
  background: #f3efe4;
  border: 1px solid #e5dfce;
  border-radius: 6px;
  box-shadow: 0 30px 80px -20px rgba(18, 36, 24, .35);
  overflow: visible;
}
[id^="cireview-modal-"] .modal-header{
  position: relative;
  background: #fff;
  border-bottom: 1px solid #e5dfce;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  padding: 22px 56px 22px 28px;
  min-height: 64px;
}
/* Inject a default title since cireviewpro leaves .cireview-form-title empty */
[id^="cireview-modal-"] .modal-header .cireview-form-title::before{
  content: 'Write a Review';
  font-family: 'Nantes-Upright', serif;
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 22px;
  color: var(--moss-deep);
  line-height: 1.2;
}
[id^="cireview-modal-"] .modal-header .close{
  position: absolute;
  top: 14px;
  right: 18px;
  margin: 0;
  padding: 4px 10px;
  font-size: 28px;
  font-weight: 300;
  line-height: 1;
  color: var(--moss-deep);
  opacity: .55;
  text-shadow: none;
  background: transparent;
  border: 0;
  transition: opacity .2s ease;
}
[id^="cireview-modal-"] .modal-header .close:hover,
[id^="cireview-modal-"] .modal-header .close:focus{
  opacity: 1;
  outline: 0;
}
[id^="cireview-modal-"] .modal-title{
  margin: 0;
  font-family: 'Nantes-Upright', serif;
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 22px;
  color: var(--moss-deep);
  line-height: 1.2;
}
[id^="cireview-modal-"] .modal-title .cireview-policy{
  margin-left: 8px;
  color: #6a6450;
  font-size: 15px;
  cursor: pointer;
}
[id^="cireview-modal-"] .modal-body{
  padding: 26px 28px;
}
[id^="cireview-modal-"] .modal-body .alert{
  margin-bottom: 18px;
  border-radius: 4px;
  border: 1px solid transparent;
}
[id^="cireview-modal-"] .modal-body .alert-success{
  background: #eaf4ee;
  border-color: #c6dccf;
  color: #23503b;
}
[id^="cireview-modal-"] .modal-body .alert-danger{
  background: #f7e8e8;
  border-color: #e6c5c5;
  color: #a23838;
}
[id^="cireview-modal-"] .cireview-form .form-group{
  margin-bottom: 18px;
}
[id^="cireview-modal-"] .cireview-form .control-label{
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: #6a6450;
  font-weight: 600;
  text-align: left;
  line-height: 0;
  padding-top: 9px;
}
[id^="cireview-modal-"] .cireview-form .form-control{
  background: #fff;
  border: 1px solid #e5dfce;
  border-radius: 4px;
  color: var(--moss-deep);
  font-size: 0.875rem;
  box-shadow: none;
  padding: 10px 14px;
  height: auto;
  min-height: 42px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
[id^="cireview-modal-"] .cireview-form .form-control:focus{
  border-color: #23503b;
  box-shadow: 0 0 0 3px rgba(35, 80, 59, .12);
  outline: 0;
}
[id^="cireview-modal-"] .cireview-form textarea.form-control{
  min-height: 110px;
  resize: vertical;
}
[id^="cireview-modal-"] .cireview-form .help-block{
  margin-top: 6px;
  font-size: 12px;
  color: #8a8470;
}
[id^="cireview-modal-"] .cireview-form .has-error .form-control{
  border-color: #a23838;
}
[id^="cireview-modal-"] .cireview-form .text-danger{
  margin-top: 6px;
  color: #a23838;
  font-size: 12.5px;
}
[id^="cireview-modal-"] .cireview-form .ciratings .control-label{
  padding-top: 4px;
}
[id^="cireview-modal-"] .cireview-form .cirating-input{
  display: inline-block;
}
[id^="cireview-modal-"] .cireview-form .cirating-input .fa-star,
[id^="cireview-modal-"] .cireview-form .cirating-input .fa-star-o{
  color: #f0c73b;
  font-size: 22px;
  margin-right: 2px;
}
[id^="cireview-modal-"] .cireview-form .cirating-input .fa-star-o{
  color: #d4cdb6;
}
[id^="cireview-modal-"] .cireview-form .ciattachupload .btn{
  background: #fff;
  border: 1px dashed #c3bca0;
  color: #6a6450;
  font-weight: 500;
  padding: 12px 18px;
  border-radius: 4px;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
[id^="cireview-modal-"] .cireview-form .ciattachupload .btn:hover{
  background: #f9f5e9;
  border-color: #23503b;
  color: #23503b;
}
[id^="cireview-modal-"] .cireview-form .ciattach_images{
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
[id^="cireview-modal-"] .cireview-form .ciattach_images li{
  position: relative;
  padding: 0;
}
[id^="cireview-modal-"] .cireview-form .ciattach_images img{
  width: 70px;
  height: 70px;
  object-fit: cover;
  border-radius: 4px;
  border: 1px solid #e5dfce;
}
[id^="cireview-modal-"] .cireview-form .ciattach_images .attach_image_close{
  position: absolute;
  top: -6px;
  right: -6px;
  width: 22px;
  height: 22px;
  padding: 0;
  line-height: 20px;
  background: var(--moss-deep);
  color: #f3efe4;
  border: 0;
  border-radius: 50%;
  font-size: 14px;
}
[id^="cireview-modal-"] .cireview-form .buttons{
  margin-top: 8px;
  padding-top: 18px;
  border-top: 1px solid #e5dfce;
}
[id^="cireview-modal-"] .cireview-form .buttons [id^="button-cireview-"],
[id^="cireview-modal-"] .cireview-form .buttons .btn.btn-success{
  background: #23503b;
  border: 1px solid #23503b;
  color: #f2efe4;
  font-weight: 500;
  letter-spacing: .4px;
  padding: 12px 28px;
  border-radius: 4px;
  box-shadow: none;
  transition: background .2s ease, border-color .2s ease;
}
[id^="cireview-modal-"] .cireview-form .buttons [id^="button-cireview-"]:hover,
[id^="cireview-modal-"] .cireview-form .buttons .btn.btn-success:hover,
[id^="cireview-modal-"] .cireview-form .buttons [id^="button-cireview-"]:focus,
[id^="cireview-modal-"] .cireview-form .buttons .btn.btn-success:focus{
  background: #1a3d2c;
  border-color: #1a3d2c;
  color: #f2efe4;
}
[id^="cireview-modal-"] .cireview-successmsg{
  padding: 30px 10px;
  text-align: center;
  color: var(--moss-deep);
  font-size: 15px;
  line-height: 1.6;
}
[id^="cireview-modal-"] .cireview-notmsg{
  padding: 18px;
  background: #fff;
  border: 1px solid #e5dfce;
  border-radius: 4px;
  color: #6a6450;
  font-size: 14px;
}
[id^="cireview-modal-"] #cicaptcha img{
  border: 1px solid #e5dfce;
  border-radius: 4px;
  background: #fff;
}

.modal-backdrop.in{
  background: var(--moss-deep);
  opacity: .55;
}

@media (max-width: 575px){
  [id^="cireview-modal-"] .modal-dialog {
    margin: 12px;
  }
  [id^="cireview-modal-"] .modal-header,
  [id^="cireview-modal-"] .modal-body {
    padding: 18px 18px;
  }
}

/* - Support tickets (ticket/ticket, ticket/ticket/add) - */
.mb-account-page .acct-ticket-toolbar{
  display: flex;
  justify-content: flex-end;
  margin-bottom: 0.85rem;
}

.mb-account-page .acct-ticket-list{
  display: grid;
  gap: 1px;
  background: var(--hairline);
  border: 1px solid var(--rule);
}

.mb-account-page .acct-ticket-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: var(--bone);
  padding: clamp(0.85rem, 2vw, 1.1rem) clamp(1.1rem, 2.5vw, 1.35rem);
}

.mb-account-page .acct-ticket-item__body{
  flex: 1;
  min-width: 0;
}

.mb-account-page .acct-ticket-item__head{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  margin-bottom: 0.45rem;
}

.mb-account-page .acct-ticket-item__badges{
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.mb-account-page .acct-ticket-item__date{
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked-wide);
  text-transform: uppercase;
  color: var(--muted);
}

.mb-account-page .acct-ticket-item__subject{
  margin: 0 0 0.35rem;
  font-family: var(--sans);
  font-size: var(--fs-field);
  font-weight: 500;
  line-height: 1.35;
  color: var(--ink);
}

.mb-account-page .acct-ticket-item__meta{
  margin: 0;
}

.mb-account-page .acct-ticket-item__actions{
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.5rem;
}

.mb-account-page .acct-ticket-item__actions .btn{
  min-width: 0;
}

/* - Contact / ticket add (ticket/ticket/add) - */
.contact-page{
  --ink: #1e1e1e;
  --bone: #f2efe4;
  --bone-2: #ece5d3;
  --paper: #fbf8f0;
  --moss: #1c3a2c;
  --moss-deep: #122418;
  --moss-tint: #2e5340;
  --terracotta: #c2613a;
  --amber: #d8a45a;
  --rule: #1e1e1e;
  --muted: #6f6a62;
  --hairline: rgba(30, 30, 30, 0.18);
  --serif: 'Nantes-Upright', 'Cormorant Garamond', 'Times New Roman', serif;
  --italic: 'Nantes-Italic', 'Cormorant Garamond', 'Times New Roman', serif;
  --sans: 'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  --sans-bold: 'DM Sans Bold', 'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  --fs-micro: 0.45rem;
  --fs-cap: 0.6rem;
  --fs-body: 1rem;
  --fs-field: 0.875rem;
  --fs-lead: 1.18rem;
  --fs-h5: 1.6rem;
  --fs-h4: 2.2rem;
  --fs-h2: clamp(2.6rem, 5.5vw, 5.2rem);
  --fs-h1: clamp(3.4rem, 9vw, 8.6rem);
  --gutter: clamp(1.25rem, 2.5vw, 2rem);
  --pad-sec: clamp(3.5rem, 7vw, 7rem);
  --tracked: 0.18em;
  --tracked-wide: 0.32em;
  --max: 1480px;
  min-height: 100vh;
  overflow: hidden;
  background: var(--bone);
  font-family: var(--sans);
  font-size: var(--fs-body);
  line-height: 1.55;
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.contact-page .shell{
  max-width: var(--max);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.contact-page .cap{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked-wide);
  text-transform: uppercase;
  color: var(--terracotta);
}

.contact-page .contact-cap--amber,
.contact-page .section--moss .cap{
  color: var(--amber);
}

.contact-page .micro{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--muted);
}

.contact-page .contact-hero__pattern{
  display: block;
  width: 100%;
  height: clamp(56px, 7vw, 84px);
  background-image: url('/catalog/view/theme/minibeast/svg/b-pattern-L-black.svg');
  background-repeat: repeat-x;
  background-position: left center;
  background-size: auto 100%;
}

.contact-page .contact-back{
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: clamp(1rem, 2vw, 1.35rem);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--muted);
  text-decoration: none;
  transition: color 0.2s ease, gap 0.2s ease;
}

.contact-page .contact-back:hover{
  color: var(--terracotta);
  gap: 0.75rem;
  text-decoration: none;
}

.contact-page .contact-back svg{
  width: 1.35rem;
  height: 0.55rem;
}

.contact-page .contact-hero{
  padding: clamp(2rem, 5vw, 4rem) 0 clamp(2rem, 4vw, 3.5rem);
}

.contact-page .contact-hero__grid{
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(320px, 0.56fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: end;
}

.contact-page .contact-hero h1{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-h1);
  line-height: 0.9;
  letter-spacing: -0.035em;
  margin: 0.2rem 0 0;
}

.contact-page .contact-hero h1 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
}

.contact-page .contact-hero__lead{
  max-width: 54ch;
  margin: 1.8rem 0 0;
  color: var(--muted);
  font-size: var(--fs-lead);
  line-height: 1.6;
}

.contact-page .contact-card{
  border: 1px solid var(--rule);
  background: var(--paper);
  padding: clamp(1.4rem, 3vw, 2.2rem);
  position: relative;
}

.contact-page .contact-card::before{
  content: "SUPPORT DESK";
  position: absolute;
  top: 0;
  right: 0;
  background: var(--ink);
  color: var(--bone);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  padding: 0.5rem 0.7rem;
}

.contact-page .contact-card p{
  margin: 0;
  color: var(--muted);
}

.contact-page .contact-card strong{
  display: block;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-h5);
  line-height: 1.05;
  color: var(--ink);
  margin: 0 0 0.75rem;
}

.contact-page .contact-hero__ruler{
  width: 100vw;
  max-width: none;
  margin-top: clamp(2rem, 4vw, 3rem);
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.contact-page .quick-strip{
  background: var(--ink);
  color: var(--bone);
  border-bottom: 1px solid #000;
}

.contact-page .quick-strip__grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(242, 239, 228, 0.18);
}

.contact-page .quick-item{
  background: var(--ink);
  padding: clamp(1.6rem, 3vw, 2.25rem) clamp(1.5rem, 2.5vw, 2rem);
  min-height: 130px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.contact-page .quick-item span{
  color: var(--amber);
}

.contact-page .quick-item strong{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 1.3rem;
  line-height: 1.05;
}

.contact-page .quick-item p{
  margin: 0.5rem 0 0;
  color: rgba(242, 239, 228, 0.68);
  font-size: 0.92rem;
  line-height: 1.5;
}

.contact-page .section{
  padding-block: var(--pad-sec);
  border-bottom: 1px solid var(--rule);
}

.contact-page .section--paper{
  background: var(--paper);
}

.contact-page .section--moss{
  background: var(--moss);
  color: var(--bone);
}

.contact-page #ticket.is-hidden,
.contact-page #ticket[hidden]{
  display: none;
}

.contact-page .section__head{
  display: grid;
  grid-template-columns: minmax(0, 0.48fr) minmax(0, 0.75fr);
  gap: clamp(1.5rem, 5vw, 5rem);
  align-items: start;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.contact-page .section h2{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-h2);
  line-height: 0.94;
  letter-spacing: -0.035em;
  margin: 0.55rem 0 0;
}

.contact-page .section h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
}

.contact-page .section--moss h2 em{
  color: var(--amber);
}

.contact-page .section__intro{
  margin: 1.15rem 0 0;
  max-width: 58ch;
  color: var(--muted);
  font-size: var(--fs-lead);
  line-height: 1.62;
}

.contact-page .section--moss .section__intro{
  color: rgba(242, 239, 228, 0.72);
}

.contact-page .faq-panel{
  position: relative;
  overflow: hidden;
  border: 1px solid var(--rule);
  background: var(--paper);
}

.contact-page .faq-panel.is-collapsed .faq-list{
  max-height: 16.5rem;
  min-height: 12rem;
  overflow: hidden;
}

.contact-page .faq-panel.is-expanded .faq-list,
.contact-page .faq-panel:not(.is-collapsed) .faq-list{
  max-height: none;
  min-height: 0;
}

.contact-page .faq-list{
  padding: clamp(1.2rem, 3vw, 2rem) clamp(1.2rem, 4vw, 2.4rem);
}

.contact-page .faq-item{
  display: grid;
  grid-template-columns: 2.1rem 1fr;
  gap: 0.9rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--hairline);
}

.contact-page .faq-item:first-child{
  padding-top: 0;
}

.contact-page .faq-item:last-child{
  border-bottom: 0;
  padding-bottom: 0;
}

.contact-page .faq-item__mark{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 1.75rem;
  line-height: 1;
  color: var(--terracotta);
}

.contact-page .faq-item h3{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: 1rem;
  line-height: 1.35;
  margin: 0;
  color: var(--ink);
}

.contact-page .faq-item p{
  margin: 0.35rem 0 0;
  color: var(--ink);
  font-size: 0.98rem;
}

.contact-page .faq-item a{
  border-bottom: 1px solid currentColor;
  color: inherit;
  text-decoration: none;
}

.contact-page .faq-panel__foot{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 2.75rem 1rem 1rem;
  text-align: center;
  background-image: linear-gradient(to bottom, rgba(251, 248, 240, 0), var(--paper) 55%);
  pointer-events: none;
}

.contact-page .faq-panel__foot .faq-panel__more{
  pointer-events: auto;
}

.contact-page .faq-panel.is-expanded .faq-panel__foot,
.contact-page .faq-panel:not(.is-collapsed) .faq-panel__foot{
  display: none;
}

.contact-page .btn--sm{
  min-height: 2.5rem;
  padding: 0.65em 1em;
  font-size: var(--fs-micro);
}

.contact-page .department-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.contact-page .department-card{
  appearance: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  border: 0;
  background: var(--bone);
  min-height: 235px;
  padding: clamp(1.3rem, 3vw, 2rem);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: var(--ink);
  transition: background 0.2s ease, color 0.2s ease;
}

.contact-page .department-card:hover,
.contact-page .department-card.is-active{
  background: var(--ink);
  color: var(--bone);
}

.contact-page .department-card__top{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}

.contact-page .department-card .micro{
  transition: color 0.2s ease;
}

.contact-page .department-card:hover .micro,
.contact-page .department-card.is-active .micro{
  color: var(--amber);
}

.contact-page .department-card h3{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  line-height: 1;
  margin: 0.7rem 0 0;
  color: inherit;
}

.contact-page .department-card:hover h3,
.contact-page .department-card.is-active h3{
  color: inherit;
}

.contact-page .department-card p{
  max-width: 42ch;
  margin: 1rem 0 0;
  color: var(--muted);
}

.contact-page .department-card:hover p,
.contact-page .department-card.is-active p{
  color: rgba(242, 239, 228, 0.72);
}

.contact-page .department-card svg{
  width: 2rem;
  height: 1rem;
  transition: transform 0.25s ease;
}

.contact-page .department-card:hover svg,
.contact-page .department-card.is-active svg{
  transform: translateX(0.35rem);
}

.contact-page .department-card--general h3{
  color: var(--moss);
}

.contact-page .department-card--general:hover,
.contact-page .department-card--general.is-active{
  background: var(--paper);
  color: var(--ink);
}

.contact-page .department-card--general:hover h3,
.contact-page .department-card--general.is-active h3{
  color: var(--moss);
}

.contact-page .department-card--general:hover .micro,
.contact-page .department-card--general.is-active .micro{
  color: var(--moss);
}

.contact-page .department-card--general:hover p,
.contact-page .department-card--general.is-active p{
  color: var(--muted);
}

.contact-page .department-card--general:hover svg,
.contact-page .department-card--general.is-active svg{
  stroke: var(--moss);
}

.contact-page .ticket-layout{
  display: grid;
  grid-template-columns: minmax(270px, 0.42fr) minmax(0, 1fr);
  gap: 1px;
  background: rgba(242, 239, 228, 0.2);
  border: 1px solid rgba(242, 239, 228, 0.34);
}

.contact-page .ticket-aside{
  background: var(--moss-deep);
  padding: clamp(1.4rem, 3vw, 2.2rem);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 480px;
}

.contact-page .ticket-aside h3{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 0.95;
  margin: 0.5rem 0 0;
  color: var(--bone);
}

.contact-page .ticket-aside p{
  color: rgba(242, 239, 228, 0.72);
  max-width: 34ch;
  margin: 0;
}

.contact-page .ticket-form{
  background: var(--bone);
  color: var(--ink);
  padding: clamp(1.3rem, 3vw, 2rem);
}

.contact-page .form-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.contact-page .field{
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.contact-page .field--wide{
  grid-column: 1 / -1;
}

.contact-page .field label,
.contact-page .field .field__label{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--moss);
}

.contact-page .field__help{
  margin: 0;
  font-size: 0.86rem;
  color: var(--muted);
}

.contact-page .field input,
.contact-page .field select,
.contact-page .field textarea,
.contact-page .field .form-control{
  width: 100%;
  border: 1px solid var(--rule);
  background: var(--paper);
  color: var(--ink);
  padding: 1rem;
  font-family: var(--sans);
  font-size: var(--fs-field);
  line-height: 1.4;
  border-radius: 0;
  appearance: none;
  box-shadow: none;
}

.contact-page .field textarea{
  min-height: 155px;
  resize: vertical;
}

.contact-page .field input:focus,
.contact-page .field select:focus,
.contact-page .field textarea:focus,
.contact-page .field .form-control:focus{
  outline: 0;
  border-color: var(--terracotta);
  box-shadow: 0 0 0 1px var(--terracotta);
  background: #fffdf7;
}

.contact-page .select-wrap{
  position: relative;
}

.contact-page .select-wrap::after{
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 0.55rem;
  height: 0.55rem;
  border-right: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  transform: translateY(-70%) rotate(45deg);
  pointer-events: none;
}

.contact-page .upload-box{
  border: 1px dashed rgba(30, 30, 30, 0.45);
  background: var(--bone-2);
  padding: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: var(--muted);
}

.contact-page .upload-box strong{
  font-size: 0.9rem;
  color: var(--ink);
}

.contact-page .form-actions{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--hairline);
}

.contact-page .btn{
  border: 1px solid var(--ink);
  background: transparent;
  color: var(--ink);
  padding: 1rem 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  min-height: 50px;
  border-radius: 0;
  transition: all 0.2s ease;
}

.contact-page .btn--primary{
  background: var(--ink);
  color: var(--bone);
}

.contact-page .btn--primary:hover{
  background: var(--terracotta);
  border-color: var(--terracotta);
  color: var(--bone);
}

.contact-page .btn--ghost:hover{
  background: var(--ink);
  color: var(--bone);
}

.contact-page .btn svg{
  width: 1.25rem;
  height: 0.75rem;
}

.contact-page .form-note{
  margin: 0;
  font-size: 0.86rem;
  color: var(--muted);
  max-width: 42ch;
}

.contact-page .contact-methods{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.contact-page .method{
  background: var(--paper);
  padding: 1.5rem;
  min-height: 185px;
}

.contact-page .method .ref{
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  font-family: var(--sans-bold);
  font-weight: normal;
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  font-size: var(--fs-micro);
  color: var(--muted);
}

.contact-page .method .ref::before{
  content: "";
  width: 2px;
  height: 0.85em;
  background: var(--terracotta);
}

.contact-page .method h3{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 1.55rem;
  line-height: 1.05;
  margin: 1rem 0 0.6rem;
}

.contact-page .method p{
  margin: 0;
  color: var(--muted);
}

.contact-page .method__link{
  display: inline-block;
  margin-top: 1rem;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--moss);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

.contact-page .method__link:hover{
  color: var(--terracotta);
}

.contact-page .ticket-order-panel{
  padding: 1rem;
  background: var(--paper);
  border: 1px solid var(--hairline);
}

.contact-page .ticket-order-panel__row{
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 0.75rem;
  align-items: center;
}

.contact-page .ticket-order-panel__row--logged{
  grid-template-columns: minmax(0, 1fr) auto;
}

.contact-page .ticket-order-panel__validate{
  white-space: nowrap;
  min-height: 3rem;
  padding: 0.85em 1.2em;
}

.contact-page .btn--outline{
  background: transparent;
  color: var(--ink);
  border-color: var(--ink);
}

.contact-page .btn--outline:hover{
  background: var(--ink);
  color: var(--bone);
}

.contact-page .ticket-order-panel__actions{
  margin-top: 0.85rem;
}

.contact-page .ticket-order-panel #products{
  margin-top: 0.85rem;
}

.contact-page .ticket-order-panel #products:empty{
  display: none;
}

.contact-page .product-order{
  margin-top: 0.85rem;
  padding: 0.85rem 1rem;
  background: var(--bone-2);
  border: 1px dashed var(--hairline);
}

.contact-page .suggested-help-message{
  position: relative;
  margin-bottom: 0.85rem;
  padding: 0.85rem 2.25rem 0.85rem 0.85rem;
  background: var(--paper);
  border: 1px solid var(--hairline);
}

.contact-page .suggested-help-close{
  position: absolute;
  top: 0.35rem;
  right: 0.45rem;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}

.contact-page #attachs-images{
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 0.75rem;
}

.contact-page #attachs-images:empty,
.contact-page #attachs-files:empty{
  display: none;
}

.contact-page .attachment-image{
  position: relative;
  display: inline-block;
}

.contact-page .attachment-image img{
  max-width: 120px;
  max-height: 120px;
  border: 1px solid var(--hairline);
  border-radius: 0;
  cursor: pointer;
}

.contact-page .attachment-file{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--hairline);
  font-size: 0.86rem;
}

.contact-page .remove-attachment-btn{
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}

.contact-page .field.has-error input,
.contact-page .field.has-error textarea,
.contact-page .field.has-error select{
  border-color: #c0392b;
}

.contact-page .text-error,
.contact-page .text-danger{
  font-size: 0.82rem;
  color: #c0392b;
}

.contact-page .field-radio,
.contact-page .field-check{
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
  font-size: var(--fs-field);
}

@media (max-width: 980px){
  .contact-page .contact-hero__grid,
  .contact-page .section__head,
  .contact-page .ticket-layout {
    grid-template-columns: 1fr;
  }

  .contact-page .quick-strip__grid {
    grid-template-columns: 1fr 1fr;
  }

  .contact-page .ticket-aside {
    min-height: 0;
  }

  .contact-page .contact-methods {
    grid-template-columns: 1fr;
  }

  .contact-page .department-grid {
    grid-template-columns: 1fr;
  }

  .contact-page .ticket-order-panel__row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px){
  .contact-page .contact-hero h1 {
    font-size: clamp(3rem, 18vw, 4.6rem);
  }

  .contact-page .quick-strip__grid,
  .contact-page .form-grid {
    grid-template-columns: 1fr;
  }

  .contact-page .department-card {
    min-height: 190px;
  }

  .contact-page .faq-item {
    grid-template-columns: 1.5rem 1fr;
  }

  .contact-page .faq-panel.is-collapsed .faq-list {
    max-height: 14.5rem;
    min-height: 10rem;
  }

  .contact-page .form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .contact-page .btn {
    width: 100%;
  }

  .contact-page .section {
    padding-block: 3.2rem;
  }

  .contact-page .ticket-form {
    padding: 1.1rem;
  }

  .contact-page .upload-box {
    align-items: flex-start;
    flex-direction: column;
  }

  .contact-page .contact-card::before {
    position: static;
    display: inline-block;
    margin-bottom: 1rem;
  }

  .contact-page .contact-card {
    padding: 1.2rem;
  }
}

/* - Ticket add legacy account shell - */
.mb-account-page .ticket-add{
  max-width: 40rem;
}

.mb-account-page .ticket-add__section + .ticket-add__section{
  margin-top: var(--stack-title-body);
  padding-top: var(--stack-title-body);
  border-top: 1px solid var(--hairline);
}

.mb-account-page .ticket-add__hint{
  margin: -0.35rem 0 var(--stack-cap-title);
  max-width: 42ch;
}

.mb-account-page .ticket-section-title{
  margin: 0 0 var(--stack-cap-title);
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: var(--fs-h6);
  line-height: 1.15;
  color: var(--ink);
}

.mb-account-page .ticket-add__section:first-child .ticket-section-title,
.mb-account-page .ticket-add > .ticket-section-title:first-child{
  margin-top: 0;
}

.mb-account-page .ticket-dept-btns,
.mb-account-page .ticket-dept-tabs{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11.5rem, 1fr));
  gap: 0.5rem;
  margin: 0 0 1.25rem;
}

.mb-account-page .ticket-dept-btns .btn,
.mb-account-page .ticket-dept-tabs .btn{
  width: 100%;
  min-height: 2.75rem;
  justify-content: center;
  text-align: center;
}

.mb-account-page .ticket-dept-btns .ticket-type-btn.is-active,
.mb-account-page .ticket-dept-btns .ticket-type-btn:hover,
.mb-account-page .ticket-dept-tabs .ticket-type-btn.is-active,
.mb-account-page .ticket-dept-tabs .ticket-type-btn:hover{
  background: var(--ink);
  color: var(--bone);
  border-color: var(--ink);
}

.mb-account-page .ticket-faq{
  position: relative;
  overflow: hidden;
  margin: 0 0 0.25rem;
  padding: clamp(1rem, 2.5vw, 1.35rem);
  background: var(--paper);
  border: 1px solid var(--rule);
  font-size: var(--fs-body);
  line-height: 1.55;
}

.mb-account-page .ticket-faq.is-collapsed{
  max-height: 16.5rem;
}

.mb-account-page .ticket-faq.is-expanded,
.mb-account-page .ticket-faq:not(.is-collapsed){
  max-height: none;
}

.mb-account-page .ticket-faq__list{
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}

.mb-account-page .ticket-faq__item{
  margin: 0;
  padding-bottom: 1.15rem;
  border-bottom: 1px solid var(--hairline);
}

.mb-account-page .ticket-faq__item:last-child{
  padding-bottom: 0;
  border-bottom: 0;
}

.mb-account-page .ticket-faq__q{
  margin: 0 0 0.45rem;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  line-height: 1.35;
  color: var(--ink);
}

.mb-account-page .ticket-faq__a{
  margin: 0;
  font-family: var(--sans);
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--ink);
}

.mb-account-page .ticket-faq__a a{
  color: var(--moss);
  text-decoration: underline;
  text-underline-offset: 0.12em;
  transition: color 0.2s ease;
}

.mb-account-page .ticket-faq__a a:hover{
  color: var(--terracotta);
}

.mb-account-page .ticket-faq__foot{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 2.75rem 1rem 0.85rem;
  text-align: center;
  background-image: linear-gradient(to bottom, rgba(251, 248, 240, 0), var(--paper) 55%);
  pointer-events: none;
}

.mb-account-page .ticket-faq__foot .ticket-faq__more{
  pointer-events: auto;
}

.mb-account-page .ticket-faq.is-expanded .ticket-faq__foot,
.mb-account-page .ticket-faq:not(.is-collapsed) .ticket-faq__foot{
  display: none;
}

.mb-account-page .ticket-form-container.is-hidden,
.mb-account-page .ticket-form-container[hidden]{
  display: none;
}

.mb-account-page #ticket-form-container{
  margin-top: var(--stack-title-body);
  padding-top: var(--stack-title-body);
  border-top: 1px solid var(--hairline);
}

.mb-account-page .ticket-order-panel{
  padding: 1rem;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: 0;
  box-shadow: none;
}

.mb-account-page .product-order{
  margin-top: 0.75rem;
  padding: 0.85rem 1rem;
  background: var(--paper);
  border: 1px dashed var(--hairline);
}

.mb-account-page .ticket-form-note{
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--muted);
}

.mb-account-page .ticket-form-actions .acct-actions{
  margin-top: 0;
}

.mb-account-page .ticket-form-actions .btn{
  width: auto;
  min-height: 3rem;
  padding: 0.85em 1.35em;
  font-size: var(--fs-cap);
}

.mb-account-page .suggested-help-message{
  position: relative;
  margin-bottom: 0.85rem;
  padding: 0.85rem 2.25rem 0.85rem 0.85rem;
  background: var(--paper);
  border: 1px solid var(--hairline);
}

.mb-account-page .suggested-help-close{
  position: absolute;
  top: 0.35rem;
  right: 0.45rem;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}

.mb-account-page #attachs-images{
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-bottom: 0.6rem;
}

.mb-account-page #attachs-images:empty,
.mb-account-page #attachs-files:empty{
  display: none;
}

.mb-account-page .attachment-image img{
  max-width: 120px;
  max-height: 120px;
  border: 1px solid var(--hairline);
  border-radius: 0;
}

.mb-account-page .attachment-file{
  font-size: var(--fs-micro);
}

/* Bootstrap OIP modals - chrome from product-buy-panel-oip.css; form + footer buttons here */
.modal .oip-popup-container .ticket-login-form{
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}

.modal .oip-popup-container label.field{
  display: grid;
  gap: 0.45rem;
  margin: 0;
  height: auto;
  font-weight: inherit;
}

.modal .oip-popup-container .field__label{
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: baseline;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--moss);
}

.modal .oip-popup-container .field__label span{
  color: var(--muted);
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.modal .oip-popup-container .field__control{
  width: 100%;
  min-height: 3.35rem;
  border: 1px solid var(--hairline);
  border-radius: 0;
  background: rgba(30, 30, 30, 0.04);
  padding: 0 1rem;
  font-family: var(--sans);
  font-size: var(--fs-field);
  font-weight: 400;
  line-height: 1.4;
  color: var(--ink);
  appearance: none;
  box-shadow: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.modal .oip-popup-container .field__control::placeholder{
  color: var(--muted);
  opacity: 1;
}

.modal .oip-popup-container .field__control:focus{
  background: #fffdf7;
  border-color: var(--terracotta);
  box-shadow: 0 0 0 1px var(--terracotta);
  outline: none;
}

.modal .oip-popup-container .ticket-login-form__meta{
  display: flex;
  justify-content: flex-end;
  margin: -0.15rem 0 0;
}

.modal .oip-popup-container .ticket-login-form__meta a{
  font-family: var(--sans);
  font-size: var(--fs-micro);
  font-weight: 500;
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--muted);
  border-bottom: 1px solid currentColor;
  text-decoration: none;
  transition: color 0.2s ease;
}

.modal .oip-popup-container .ticket-login-form__meta a:hover{
  color: var(--terracotta);
}

.modal .oip-popup-container .ticket-login-form__error{
  margin: 0;
  border-radius: 0;
  border: 1px solid rgba(192, 57, 43, 0.35);
  background: rgba(192, 57, 43, 0.08);
  font-family: var(--sans);
  font-size: 0.86rem;
}

.modal .oip-popup-container .btn{
  width: 100%;
  min-height: 3.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  border: 1px solid transparent;
  border-radius: 0;
  padding: 1em 1.2em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, gap 0.25s ease;
}

.modal .oip-popup-container .btn--moss{
  background: var(--moss);
  color: var(--bone);
  border-color: var(--moss);
}

.modal .oip-popup-container .btn--moss:hover{
  background: var(--moss-deep);
  border-color: var(--moss-deep);
  color: var(--bone);
  gap: 1.15rem;
}

.modal .oip-popup-container .btn--outline{
  background: transparent;
  color: var(--ink);
  border-color: var(--ink);
}

.modal .oip-popup-container .btn--outline:hover{
  background: var(--ink);
  color: var(--bone);
  gap: 1.15rem;
}

.modal .oip-popup-container .btn svg{
  width: 1.25rem;
  height: 0.75rem;
}

.modal .oip-popup-container .ticket-login-modal__register{
  margin: 0;
  text-align: center;
  font-size: 0.86rem;
  color: var(--muted);
}

.modal .oip-popup-container .ticket-login-modal__register a{
  color: var(--moss);
  border-bottom: 1px solid currentColor;
  text-decoration: none;
  transition: color 0.2s ease;
}

.modal .oip-popup-container .ticket-login-modal__register a:hover{
  color: var(--terracotta);
}

body.modal-open .modal-backdrop.in,
body.modal-open .modal-backdrop.show{
  background: rgba(0, 0, 0, 0.55);
  opacity: 1;
}

@media (max-width: 767px){
  .mb-account-page .acct-ticket-item {
    flex-direction: column;
    align-items: stretch;
  }

  .mb-account-page .acct-ticket-item__actions {
    justify-content: flex-end;
    padding-top: 0.65rem;
    border-top: 1px solid var(--hairline);
  }

  .mb-account-page .acct-ticket-item__head {
    gap: 0.3rem;
  }

  .mb-account-page .ticket-add {
    max-width: none;
  }

  .mb-account-page .ticket-dept-btns,
  .mb-account-page .ticket-dept-tabs {
    grid-template-columns: 1fr;
  }

  .mb-account-page .ticket-faq.is-collapsed {
    max-height: 14.5rem;
  }
}

/* - Ticket info (ticket/ticket/info) - */
.mb-account-page .ticket-info-page .order-info-meta__item .dash-badge{
  margin-top: 0.15rem;
}

.mb-account-page .ticket-info-divider{
  margin: 1rem 0;
  border: 0;
  border-top: 1px solid var(--hairline);
}

.mb-account-page .ticket-info-products{
  display: grid;
  gap: 0.75rem;
}

.mb-account-page .ticket-info-product{
  display: grid;
  gap: 0.25rem;
  font-family: var(--sans);
  font-size: var(--fs-field);
  line-height: 1.4;
}

.mb-account-page .ticket-info-product a{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--moss);
  text-decoration: none;
}

.mb-account-page .ticket-info-product a:hover{
  color: var(--terracotta);
}

.mb-account-page .ticket-info-product__item{
  color: var(--muted);
  font-size: 0.88rem;
}

.mb-account-page .ticket-reply-panel{
  margin: clamp(1.25rem, 3vw, 1.75rem) 0 0;
  padding: 0;
  background: transparent;
  border: 0;
}

.mb-account-page .ticket-quote-alert{
  margin-bottom: 0.75rem;
}

.mb-account-page .ticket-thread{
  margin-top: clamp(1.25rem, 3vw, 1.75rem);
}

.mb-account-page .ticket-thread .ticket-section-title{
  margin-bottom: 1rem;
}

/* Alternate left/right message boxes */
.mb-account-page .ticket-thread .comment{
  display: block;
  position: relative;
  margin-bottom: 1.75rem;
  padding-left: 66px;
}

.mb-account-page .ticket-thread .comment.right{
  padding-right: 66px;
  padding-left: 0;
}

.mb-account-page .ticket-thread .comment .comment-author-ava{
  display: block;
  position: absolute;
  top: 0;
  left: -60px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  overflow: hidden;
}

.mb-account-page .ticket-thread .comment-author-ava.right{
  right: -60px;
  left: auto;
}

.mb-account-page .ticket-thread .comment .comment-author-ava > img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mb-account-page .ticket-thread .comment .comment-body{
  position: relative;
  padding: 1.25rem 1.35rem;
  border: 1px solid var(--hairline);
  border-radius: 0;
  background-color: rgba(18, 36, 24, 0.08);
}

.mb-account-page .ticket-thread .comment .comment-body::before,
.mb-account-page .ticket-thread .comment .comment-body::after{
  display: none;
}

.mb-account-page .ticket-thread .comment.right .comment-body{
  background: var(--paper);
  border-color: var(--hairline);
}

.mb-account-page .ticket-thread .comment .comment-text{
  margin-bottom: 0.75rem;
  font-family: var(--sans);
  font-size: var(--fs-field);
  line-height: 1.55;
  color: var(--ink);
}

.mb-account-page .ticket-thread .comment .message-parent{
  margin-bottom: 0.75rem;
  padding: 0.65rem 0.75rem;
  border: 1px dashed var(--hairline);
  background: var(--bone);
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.mb-account-page .ticket-thread .comment .comment-footer{
  display: block;
  width: 100%;
}

.mb-account-page .ticket-thread .comment .comment-meta{
  color: var(--muted);
  font-family: var(--sans);
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked-wide);
  text-transform: uppercase;
}

.mb-account-page .ticket-thread .comment .ava{
  background: var(--moss);
  height: 50px;
  width: 50px;
  color: var(--bone);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: 1.35rem;
  border-radius: 50%;
}

.mb-account-page .ticket-thread .comment-text img{
  border: 1px solid var(--hairline);
  border-radius: 0;
  max-width: 140px;
  margin-bottom: 0.35rem;
  padding: 3px;
}

@media (max-width: 767px){
  .mb-account-page .ticket-info-page .order-info-meta,
  .order-info-meta {
    grid-template-columns: 1fr;
  }

  .mb-account-page .ticket-thread .comment,
  .mb-account-page .ticket-thread .comment.right {
    padding-left: 0;
    padding-right: 0;
  }

  .mb-account-page .ticket-thread .comment .comment-author-ava,
  .mb-account-page .ticket-thread .comment-author-ava.right {
    position: static;
    margin-bottom: 0.65rem;
  }
}

/* Account typography - beat legacy theme + minibeast-core globals */
body[class*="account-"] .mb-account-page h1,
body[class*="account-"] .mb-account-page h2,
body[class*="account-"] .mb-account-page h3,
body[class*="account-"] .mb-account-page h4,
body[class*="account-"] .mb-account-page h5,
body[class*="account-"] .mb-account-page h6,
body[class*="account-"] .mb-login-page h1,
body[class*="account-"] .mb-login-page h2,
body[class*="account-"] .mb-login-page h3,
body[class*="account-"] .mb-login-page h4,
.mb-account-page h1,
.mb-account-page h2,
.mb-account-page h3,
.mb-account-page h4,
.mb-account-page h5,
.mb-account-page h6,
.mb-login-page h1,
.mb-login-page h2,
.mb-login-page h3,
.mb-login-page h4{
  margin: 0;
  padding-bottom: 0;
  color: var(--ink);
  margin-bottom: 15px;
  font-variation-settings: 'wght' 400;
}

.mb-account-page h1,
.mb-login-page h1{
  font-family: var(--serif);
  font-size: var(--fs-page-title);
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.mb-account-page h2,
.mb-login-page h2{
  font-family: var(--serif);
  font-size: var(--fs-page-h2);
  line-height: 1.05;
  letter-spacing: -0.01em;
}

.mb-account-page h3,
.mb-login-page h3{
  font-family: var(--serif);
  font-size: var(--fs-page-h3);
  line-height: 1.05;
  letter-spacing: -0.01em;
}

.mb-account-page .dash-panel h1,
.mb-login-page .dash-panel h1,
.mb-account-page .account-section h1{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-page-h1);
  line-height: 1.05;
  letter-spacing: -0.01em;
}

.mb-account-page .dash-panel h2,
.mb-login-page .dash-panel h2,
.mb-account-page .account-section h2{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-page-h2);
  line-height: 1.05;
  letter-spacing: -0.01em;
  margin-top: var(--stack-cap-title);
}

.mb-account-page .dash-panel h3,
.mb-account-page .dash-panel h4,
.mb-login-page .dash-panel h3,
.mb-login-page .dash-panel h4,
.mb-account-page .account-section h3,
.mb-account-page .account-section h4{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-page-h3);
  line-height: 1.05;
  letter-spacing: -0.01em;
  margin-top: 1.25rem;
}

.mb-account-page .dash-panel h1 em,
.mb-account-page .dash-panel h2 em,
.mb-account-page .dash-panel h3 em,
.mb-account-page .account-page__title em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-style: italic;
}

.mb-account-page .dash-panel p,
.mb-login-page .dash-panel p{
  font-family: var(--sans);
  font-size: var(--fs-body);
  font-weight: 500;
  line-height: 1.55;
}

.mb-account-page .modal-title,
.mb-login-page .modal-title{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-page-h2);
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--ink);
}

.mb-account-page .acct-review-item__product-name{
  margin: 0;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-page-h3);
  line-height: 1.05;
  letter-spacing: -0.01em;
}

.mb-account-page .acct-review-item__product-name a{
  color: var(--ink);
  text-decoration: none;
}

.mb-account-page .acct-review-item__product-name a:hover{
  color: var(--terracotta);
}

.mb-account-page .acct-review-item__label{
  margin: 0 0 0.5rem;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--muted);
}

/* =====================================================================
   Information pages - unified shell (account subpage pattern)
   ===================================================================== */

.mb-info-page{
  --bone: #f2efe4;
  --bone-2: #ece5d3;
  --paper: #fbf8f0;
  --moss: #1c3a2c;
  --moss-deep: #122418;
  --terracotta: #c2613a;
  --ink: var(--moss-deep);
  --rule: var(--moss-deep);
  --muted: #6f6a62;
  --hairline: rgba(18, 36, 24, 0.18);
  --serif: 'Nantes-Upright', 'Cormorant Garamond', 'Times New Roman', serif;
  --italic: 'Nantes-Italic', 'Cormorant Garamond', 'Times New Roman', serif;
  --sans: 'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  --sans-bold: 'DM Sans Bold', 'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  --fs-micro: 0.45rem;
  --fs-cap: 0.6rem;
  --fs-body: 1rem;
  --fs-field: 0.875rem;
  --fs-lead: 1.18rem;
  --fs-h3: clamp(1.75rem, 4vw, 2.65rem);
  --gutter: clamp(1.25rem, 2.5vw, 2rem);
  --max: 1480px;
  --tracked: 0.18em;
  position: relative;
  background: var(--bone);
  min-height: 70vh;
  padding-block: clamp(2.75rem, 6vw, 6rem) clamp(4rem, 8vw, 8rem);
  font-family: var(--sans);
  color: var(--ink);
}

.mb-info-page .shell{
  width: min(100%, var(--max));
  margin-inline: auto;
  padding-inline: var(--gutter);
  overflow: visible;
}

.mb-info-page .cap{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.mb-info-page__alerts{
  margin-bottom: clamp(1.25rem, 3vw, 2rem);
}

.mb-info-page__alerts .alert{
  border-radius: 0;
  border: 1px solid var(--hairline);
  font-family: var(--sans);
  font-size: 0.92rem;
}

.mb-info-page .info-back{
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: clamp(1rem, 2vw, 1.35rem);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--muted);
  transition: color 0.2s ease, gap 0.2s ease;
}

.mb-info-page .info-back:hover{
  color: var(--terracotta);
  gap: 0.75rem;
  text-decoration: none;
}

.mb-info-page .info-back svg{
  width: 1.35rem;
  height: 0.65rem;
}

.mb-info-page .info-page__mast{
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  margin-bottom: clamp(1rem, 2.5vw, 1.5rem);
}

.mb-info-page .info-page__eyebrow{
  color: var(--terracotta);
  margin: 0 0 0.5rem;
}

.mb-info-page .info-page__title{
  margin: 0;
  max-width: none;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(1.45rem, 3.25vw, 2rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.mb-info-page .info-page__title em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
}

.mb-info-page .info-page__intro{
  margin: 0;
  max-width: 38ch;
  color: var(--muted);
  font-size: var(--fs-lead);
  line-height: 1.55;
}

.mb-info-page .info-panel{
  padding: 0;
  border: 0;
  background: transparent;
  overflow: visible;
}

.mb-info-page .info-body{
  width: 100%;
  max-width: none;
  font-family: var(--sans);
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--ink);
  overflow: visible;
}

.mb-info-page .info-body > :first-child{
  margin-top: 0;
}

/* Prose measure - full-bleed blocks (.parallax, .full-width) sit outside this width */
.mb-info-page .info-body p,
.mb-info-page .info-body blockquote,
.mb-info-page .info-body .panel-title,
.mb-info-page .info-body table,
.mb-info-page .info-body > ul,
.mb-info-page .info-body > ol,
.mb-info-page .info-body > h1,
.mb-info-page .info-body > h2,
.mb-info-page .info-body > h3,
.mb-info-page .info-body > h4{
  max-width: 72ch;
}

.mb-info-page .info-body p{
  margin: 1rem 0 0;
}

.mb-info-page .info-body p.quote{
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(1.15rem, 2vw, 1.35rem);
  line-height: 1.45;
}

.mb-info-page .info-body p.quote strong{
  font-family: var(--italic);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-style: italic;
  font-size: inherit;
}

.mb-info-page .info-body:not(:has(> .quality-body)):not(:has(> .ethics-body)):not(:has(> .loyalty-body)):not(:has(> .ic-body)) h1,
.mb-info-page .info-body:not(:has(> .quality-body)):not(:has(> .ethics-body)):not(:has(> .loyalty-body)):not(:has(> .ic-body)) h2,
.mb-info-page .info-body:not(:has(> .quality-body)):not(:has(> .ethics-body)):not(:has(> .loyalty-body)):not(:has(> .ic-body)) h3,
.mb-info-page .info-body:not(:has(> .quality-body)):not(:has(> .ethics-body)):not(:has(> .loyalty-body)):not(:has(> .ic-body)) h4{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  line-height: 1.05;
  letter-spacing: -0.01em;
}

.mb-info-page .info-body:not(:has(> .quality-body)):not(:has(> .ethics-body)):not(:has(> .loyalty-body)):not(:has(> .ic-body)) h1{
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  margin: 2rem 0 0;
}

.mb-info-page .info-body:not(:has(> .quality-body)):not(:has(> .ethics-body)):not(:has(> .loyalty-body)):not(:has(> .ic-body)) h2{
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  margin: 1.75rem 0 0;
}

.mb-info-page .info-body:not(:has(> .quality-body)):not(:has(> .ethics-body)):not(:has(> .loyalty-body)):not(:has(> .ic-body)) h3,
.mb-info-page .info-body:not(:has(> .quality-body)):not(:has(> .ethics-body)):not(:has(> .loyalty-body)):not(:has(> .ic-body)) h4{
  font-size: 1.05rem;
  margin: 1.5rem 0 0;
}

.mb-info-page .info-body h4.panel-title{
  text-align: center;
}

.mb-info-page .info-body ul,
.mb-info-page .info-body ol{
  margin: 0.75rem 0 0;
  padding-left: 1.25rem;
}

.mb-info-page .info-body li + li{
  margin-top: 0.35rem;
}

.mb-info-page .info-body a{
  color: var(--moss);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.mb-info-page .info-body a:hover{
  color: var(--terracotta);
}

.mb-info-page .info-body a > b,
.mb-info-page .info-body a > strong{
  font-family: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  font-variation-settings: inherit;
}

.mb-info-page .info-body table{
  width: 100%;
  margin-top: 1.25rem;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.mb-info-page .info-body table thead{
  background: var(--ink);
  color: var(--bone);
}

.mb-info-page .info-body table th,
.mb-info-page .info-body table td{
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--hairline);
  text-align: left;
}

.mb-info-page .info-body iframe{
  width: 100%;
  max-width: 72ch;
  margin-top: 1.25rem;
  border: 1px solid var(--hairline);
}

.mb-info-page .info-body img{
  max-width: 100%;
  height: auto;
}

/* Full-bleed CMS blocks - static cover images, no parallax scroll */
.mb-info-page .info-body .parallax,
.mb-info-page .info-body .full-width{
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  position: relative;
  left: auto;
  right: auto;
  background-attachment: scroll;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.mb-info-page .info-body .parallax{
  display: block;
  min-height: clamp(220px, 38vw, 480px);
  height: clamp(220px, 38vw, 480px);
  margin-top: clamp(2.5rem, 5vw, 4rem);
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
  background-color: var(--bone-2);
}

.mb-info-page .info-body .full-width{
  margin-top: clamp(2rem, 4vw, 3rem);
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.mb-info-page .info-body .full-width img{
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
}

.mb-info-page .btn{
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  border: 1px solid transparent;
  border-radius: 0;
  padding: 0.85em 1.2em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, gap 0.25s ease;
}

.mb-info-page .btn:hover{
  gap: 1.1rem;
  text-decoration: none;
}

.mb-info-page .btn--moss{
  background: var(--moss);
  color: var(--bone);
  border-color: var(--moss);
}

.mb-info-page .btn--moss:hover{
  background: var(--moss-deep);
  color: var(--bone);
}

.mb-info-page .btn--ghost{
  background: transparent;
  color: var(--ink);
  border-color: var(--hairline);
}

.mb-info-page .btn--ghost:hover{
  border-color: var(--ink);
}

/* Contact page */
.mb-info-page .info-contact__hero{
  display: flex;
  justify-content: center;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.mb-info-page .info-contact__bubble{
  position: relative;
  max-width: 28rem;
  padding: 1.5rem 1.75rem 1.25rem;
  background: var(--bone);
  border: 1px solid var(--hairline);
}

.mb-info-page .info-contact__bubble-text{
  margin: 0;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
  line-height: 1.35;
}

.mb-info-page .info-contact__bubble-meta{
  display: block;
  margin-top: 0.65rem;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--muted);
}

.mb-info-page .info-contact__avatar{
  position: absolute;
  right: -0.75rem;
  bottom: -0.75rem;
  width: 3rem;
  height: 3rem;
  border: 2px solid var(--bone);
  border-radius: 50%;
  object-fit: cover;
}

.mb-info-page .info-contact__actions{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.mb-info-page .info-contact__details{
  text-align: center;
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.65;
}

.mb-info-page .info-contact__details p{
  margin: 0;
}

.mb-info-page .info-contact__details p + p{
  margin-top: 0.35rem;
}

.mb-info-page .info-contact__hours{
  font-size: 0.82rem;
}

/* Sitemap */
.mb-info-page .info-sitemap{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(2rem, 4vw, 3.5rem);
  max-width: 56rem;
}

.mb-info-page .info-sitemap__list{
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.92rem;
  line-height: 1.55;
}

.mb-info-page .info-sitemap__list ul{
  list-style: none;
  margin: 0.35rem 0 0.75rem;
  padding-left: 1rem;
  border-left: 1px solid var(--hairline);
}

.mb-info-page .info-sitemap__list li + li{
  margin-top: 0.35rem;
}

.mb-info-page .info-sitemap__list a{
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.mb-info-page .info-sitemap__list a:hover{
  color: var(--terracotta);
  border-bottom-color: var(--terracotta);
}

@media (max-width: 767px){
  .mb-info-page .info-sitemap {
    grid-template-columns: 1fr;
  }

  .mb-info-page .info-body .parallax {
    min-height: clamp(180px, 52vw, 280px);
    height: clamp(180px, 52vw, 280px);
    margin-top: clamp(1.75rem, 4vw, 2.5rem);
    margin-bottom: clamp(1.75rem, 4vw, 2.5rem);
  }

  .mb-info-page .info-contact__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .mb-info-page .info-contact__actions .btn {
    width: 100%;
  }
}

/* Quality codes page */
.mb-info-page:has(.quality-body){
  padding-block: 0;
  min-height: 0;
  background: var(--bone);
  --rule: #1e1e1e;
  --fs-h1: clamp(3.4rem, 9vw, 8.6rem);
  --fs-h2: clamp(2.6rem, 5.5vw, 5.2rem);
  --fs-h4: 2.2rem;
  --fs-h5: 1.6rem;
  --pad-sec: clamp(3.5rem, 7vw, 7rem);
}

.mb-info-page:has(.quality-body) .info-back,
.mb-info-page:has(.quality-body) .info-page__mast{
  display: none !important;
}

.mb-info-page:has(.quality-body) .shell{
  max-width: none;
  padding: 0;
  width: 100%;
}

.mb-info-page:has(.quality-body) .info-panel{
  padding: 0;
  border: 0;
  background: transparent;
}

.mb-info-page:has(.quality-body) .info-body{
  max-width: none;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

.mb-info-page:has(.quality-body) .info-body > p,
.mb-info-page:has(.quality-body) .info-body > h1,
.mb-info-page:has(.quality-body) .info-body > h2,
.mb-info-page:has(.quality-body) .info-body > h3,
.mb-info-page:has(.quality-body) .info-body > h4{
  max-width: none;
}

.mb-info-page .quality-body{
  --rule: #1e1e1e;
  --ink: #1e1e1e;
  --fs-micro: 0.45rem;
  --fs-cap: 0.6rem;
  --fs-body: 1rem;
  --fs-lead: 1.18rem;
  --fs-h5: 1.6rem;
  --fs-h4: 2.2rem;
  --fs-h3: 3rem;
  --fs-h2: clamp(2.6rem, 5.5vw, 5.2rem);
  --fs-h1: clamp(3.4rem, 9vw, 8.6rem);
  --pad-sec: clamp(3.5rem, 7vw, 7rem);
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: var(--bone);
  font-size: var(--fs-body);
  line-height: 1.55;
  color: var(--ink);
}

.mb-info-page .qc-shell{
  max-width: var(--max);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.mb-info-page .qc-cap{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.mb-info-page .qc-ref{
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-family: var(--sans-bold);
  font-weight: normal;
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  font-size: var(--fs-micro);
}

.mb-info-page .qc-ref::before{
  content: '';
  width: 2px;
  height: 0.85em;
  background: var(--terracotta);
  border-radius: 1px;
  display: inline-block;
  flex-shrink: 0;
}

.mb-info-page .quality-hero{
  position: relative;
  padding: clamp(4rem, 8vw, 7.5rem) 0 clamp(2.5rem, 5vw, 4rem);
  border-bottom: 1px solid var(--rule);
  overflow: hidden;
  text-align: center;
}

.mb-info-page .quality-hero::after{
  content: 'A1';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -0.08em;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(8rem, 24vw, 22rem);
  line-height: 0.75;
  color: #fff;
  pointer-events: none;
  user-select: none;
}

.mb-info-page .quality-hero__stack{
  position: relative;
  z-index: 2;
  max-width: 720px;
  margin-inline: auto;
}

.mb-info-page .quality-hero__eyebrow{
  color: var(--terracotta);
  margin: 0 0 clamp(1.35rem, 2.75vw, 2.1rem);
}

.mb-info-page .quality-hero h1{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-h1);
  line-height: 0.88;
  letter-spacing: -0.025em;
  margin: 0;
  max-width: none;
}

.mb-info-page .quality-hero h1 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
}

.mb-info-page .quality-hero__panel{
  background: var(--bone);
  border: 1px solid var(--rule);
  padding: clamp(1.4rem, 3vw, 2rem);
  display: grid;
  gap: 1rem;
  margin-top: clamp(2.5rem, 5vw, 4rem);
  text-align: left;
}

.mb-info-page .quality-hero__panel strong{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-h5);
  line-height: 1.1;
}

.mb-info-page .quality-hero__panel p{
  margin: 0;
  color: var(--muted);
  max-width: none;
}

.mb-info-page .quality-plate{
  border-bottom: 1px solid var(--rule);
  background: var(--bone);
}

.mb-info-page .quality-plate__grid{
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
  padding-block: clamp(2.5rem, 5vw, 4rem);
}

.mb-info-page .quality-plate figure{
  margin: 0;
  border: 1px solid var(--rule);
  overflow: hidden;
  background: var(--bone);
}

.mb-info-page .quality-plate img{
  width: 100%;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(0.93) contrast(1.04);
  max-width: none;
}

.mb-info-page .quality-plate__copy p{
  margin: 0;
  color: var(--muted);
  font-size: var(--fs-lead);
  line-height: 1.65;
  max-width: 42ch;
}

.mb-info-page .quality-plate__copy p + p{
  margin-top: 1rem;
  font-size: 1rem;
}

.mb-info-page .quality-main{
  padding: 0;
}

.mb-info-page .quality-intro{
  display: grid;
  grid-template-columns: 1fr 2fr;
  padding-inline: 0;
  border-bottom: 1px solid var(--rule);
}

.mb-info-page .quality-intro__aside{
  background: var(--ink);
  color: var(--bone);
  padding: clamp(2rem, 4vw, 3.25rem);
  border-right: 1px solid var(--rule);
  border-left: 1px solid var(--rule);
}

.mb-info-page .quality-intro__aside .qc-cap{
  color: var(--amber);
  display: block;
  margin-bottom: 1rem;
}

.mb-info-page .quality-intro__aside p{
  margin: 0;
  color: rgba(242, 239, 228, 0.72);
  max-width: none;
}

.mb-info-page .quality-intro__copy{
  background: var(--bone);
  padding: clamp(2rem, 4vw, 3.25rem);
  border-right: 1px solid var(--rule);
}

.mb-info-page .quality-intro__copy p{
  font-size: var(--fs-lead);
  line-height: 1.65;
  max-width: 68ch;
  margin: 0;
  color: var(--ink);
}

.mb-info-page .codes-section{
  padding: var(--pad-sec) 0;
  border-bottom: 1px solid var(--rule);
}

.mb-info-page .codes-head{
  display: grid;
  grid-template-columns: minmax(0, 440px) 1fr;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: end;
  margin-bottom: clamp(2rem, 5vw, 4rem);
}

.mb-info-page .codes-head h2,
.mb-info-page .notes-section h2,
.mb-info-page .notes-intro-block h2{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-h2);
  line-height: 0.95;
  letter-spacing: -0.02em;
  margin: 0;
  max-width: none;
}

.mb-info-page .codes-head h2 em,
.mb-info-page .notes-section h2 em,
.mb-info-page .notes-intro-block h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
}

.mb-info-page .codes-head p{
  margin: 0;
  color: var(--muted);
  max-width: 58ch;
  font-size: var(--fs-lead);
  line-height: 1.6;
}

.mb-info-page .code-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--rule);
  background: var(--rule);
  gap: 1px;
}

.mb-info-page .code-card{
  background: var(--bone);
  min-height: 320px;
  padding: clamp(1.35rem, 2.2vw, 2rem);
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}

.mb-info-page .code-card::before{
  content: attr(data-code);
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(5.5rem, 9vw, 9rem);
  line-height: 0.8;
  color: rgba(30, 30, 30, 0.06);
  position: absolute;
  right: 0.12em;
  bottom: -0.02em;
  letter-spacing: -0.08em;
}

.mb-info-page .code-card:nth-child(2),
.mb-info-page .code-card:nth-child(4){
  background: var(--bone);
}

.mb-info-page .code-card__top{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  position: relative;
  z-index: 2;
}

.mb-info-page .code-card__grade{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(2.6rem, 4.5vw, 4.4rem);
  line-height: 0.85;
  letter-spacing: -0.04em;
  margin: 0;
}

.mb-info-page .code-card__badge{
  background: var(--bone);
  color: var(--ink);
  border: 1px solid var(--rule);
  padding: 0.38em 0.65em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  white-space: nowrap;
}

.mb-info-page .code-card__title{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-h5);
  line-height: 1.08;
  margin: auto 0 1rem;
  position: relative;
  z-index: 2;
  max-width: none;
}

.mb-info-page .code-card__copy{
  margin: 0;
  color: var(--muted);
  position: relative;
  z-index: 2;
  max-width: none;
}

.mb-info-page .code-card--dark{
  background: var(--moss-deep);
  color: var(--bone);
}

.mb-info-page .code-card--dark::before{
  color: rgba(242, 239, 228, 0.08);
}

.mb-info-page .code-card--dark .code-card__grade,
.mb-info-page .code-card--dark .code-card__title{
  color: #fff;
}

.mb-info-page .code-card--dark .code-card__badge{
  background: var(--amber);
  color: #fff;
}

.mb-info-page .code-card--dark .code-card__copy{
  color: rgba(242, 239, 228, 0.74);
}

.mb-info-page .notes-section{
  padding: var(--pad-sec) 0;
  border-bottom: 1px solid var(--rule);
  background: var(--bone);
}

.mb-info-page .notes-intro-block{
  max-width: 680px;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.mb-info-page .notes-kicker{
  color: var(--terracotta);
  margin: 0 0 1rem;
}

.mb-info-page .notes-intro{
  color: var(--muted);
  font-size: var(--fs-lead);
  line-height: 1.6;
  margin: 1.5rem 0 0;
  max-width: 58ch;
}

.mb-info-page .note-stack{
  display: grid;
  gap: 0;
  border-top: 1px solid var(--rule);
}

.mb-info-page .note-card{
  background: transparent;
  padding: clamp(1.6rem, 3vw, 2.5rem) 0;
  display: grid;
  grid-template-columns: clamp(4rem, 8vw, 6rem) 1fr;
  gap: clamp(1rem, 3vw, 2rem);
  align-items: start;
  border-bottom: 1px solid var(--hairline);
}

.mb-info-page .note-card__mark{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(2.4rem, 5vw, 3.5rem);
  line-height: 0.8;
  color: var(--terracotta);
}

.mb-info-page .note-card h3{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-h4);
  line-height: 1.02;
  margin: 0 0 1rem;
  max-width: none;
}

.mb-info-page .note-card p{
  margin: 0;
  color: var(--muted);
  max-width: 70ch;
}

@media (max-width: 1000px){
  .mb-info-page .quality-intro,
  .mb-info-page .codes-head,
  .mb-info-page .quality-plate__grid {
    grid-template-columns: 1fr;
  }

  .mb-info-page .quality-intro__aside {
    border-right: 1px solid var(--rule);
    border-left: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
  }

  .mb-info-page .quality-intro__copy {
    border-right: 1px solid var(--rule);
    border-left: 1px solid var(--rule);
  }

  .mb-info-page .code-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 650px){
  .mb-info-page .quality-hero {
    padding-top: 3rem;
  }

  .mb-info-page .quality-hero h1 {
    max-width: 8ch;
    margin-inline: auto;
    text-align: center;
  }

  .mb-info-page .quality-hero__panel {
    padding: 1.25rem;
  }

  .mb-info-page .code-grid {
    grid-template-columns: 1fr;
  }

  .mb-info-page .code-card {
    min-height: 260px;
  }

  .mb-info-page .note-card {
    grid-template-columns: 1fr;
  }

  .mb-info-page .note-card__mark {
    font-size: 3rem;
  }
}

/* Ethics page */
.mb-info-page:has(.ethics-body){
  padding-block: 0;
  min-height: 0;
  background: var(--bone);
  --rule: #1e1e1e;
  --ink: #1e1e1e;
  --fs-h2: clamp(2.75rem, 7vw, 6.2rem);
  --fs-h4: clamp(2rem, 4vw, 3.2rem);
  --fs-h5: clamp(1.45rem, 2.4vw, 1.85rem);
  --pad-sec: clamp(3.5rem, 7vw, 7rem);
}

.mb-info-page:has(.ethics-body) .info-back,
.mb-info-page:has(.ethics-body) .info-page__mast{
  display: none !important;
}

.mb-info-page:has(.ethics-body) .shell{
  max-width: none;
  padding: 0;
  width: 100%;
}

.mb-info-page:has(.ethics-body) .info-panel{
  padding: 0;
  border: 0;
  background: transparent;
}

.mb-info-page:has(.ethics-body) .info-body{
  max-width: none;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

.mb-info-page:has(.ethics-body) .info-body > p,
.mb-info-page:has(.ethics-body) .info-body > h1,
.mb-info-page:has(.ethics-body) .info-body > h2,
.mb-info-page:has(.ethics-body) .info-body > h3,
.mb-info-page:has(.ethics-body) .info-body > h4{
  max-width: none;
}

.mb-info-page .ethics-body{
  --ink: #1e1e1e;
  --bone: #f2efe4;
  --bone-2: #ece5d3;
  --paper: #fbf8f0;
  --moss: #1c3a2c;
  --moss-deep: #122418;
  --terracotta: #c2613a;
  --amber: #d8a45a;
  --muted: #6f6a62;
  --rule: #1e1e1e;
  --hairline: rgba(30, 30, 30, 0.18);
  --fs-micro: 0.45rem;
  --fs-cap: 0.6rem;
  --fs-body: 1rem;
  --fs-lead: clamp(1.1rem, 1.5vw, 1.28rem);
  --fs-h5: clamp(1.45rem, 2.4vw, 1.85rem);
  --fs-h4: clamp(2rem, 4vw, 3.2rem);
  --fs-h2: clamp(2.75rem, 7vw, 6.2rem);
  --gutter: clamp(1.25rem, 3vw, 2rem);
  --pad-sec: clamp(3.5rem, 7vw, 7rem);
  --max: 1280px;
  --tracked: 0.18em;
  --tracked-wide: 0.32em;
  --stack-cap-title: clamp(1.35rem, 2.75vw, 2.1rem);
  --stack-title-body: clamp(1.5rem, 3vw, 2.25rem);
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
  background: var(--bone);
  font-size: var(--fs-body);
  line-height: 1.58;
  color: var(--ink);
}

/* Beat global h1–h6 from stylesheet.css (font-weight 500, px sizes, wght 800) */
.mb-info-page .ethics-body h1,
.mb-info-page .ethics-body h2,
.mb-info-page .ethics-body h3,
.mb-info-page .ethics-body h4{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  letter-spacing: normal;
  color: inherit;
  margin: 0;
  padding: 0;
}

.mb-info-page:has(.ethics-body) .info-body.content-info{
  font-size: inherit;
  text-align: inherit;
}

.mb-info-page .ethics-body .shell{
  max-width: var(--max);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.mb-info-page .ethics-body .cap{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.mb-info-page .ethics-body .micro{
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked-wide);
  text-transform: uppercase;
  color: var(--muted);
}

.mb-info-page .ethics-body .ref{
  display: inline-flex;
  align-items: center;
  gap: 0.55em;
  font-family: var(--sans-bold);
  font-weight: normal;
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  font-size: var(--fs-micro);
}

.mb-info-page .ethics-body .ref::before{
  content: '';
  width: 2px;
  height: 0.9em;
  background: var(--terracotta);
  display: inline-block;
}

.mb-info-page .ethics-body .ethics-hero{
  padding-block: clamp(4.5rem, 8vw, 8rem) clamp(2.5rem, 5vw, 4rem);
  border-bottom: 1px solid var(--rule);
}

.mb-info-page .ethics-body .ethics-hero__grid{
  max-width: 820px;
  margin-inline: auto;
  text-align: center;
}

.mb-info-page .ethics-body .ethics-hero h1{
  margin: 0.8rem auto 0;
  max-width: 12ch;
  font-size: var(--fs-h2);
  line-height: 0.9;
  letter-spacing: -0.03em;
  color: var(--ink);
}

.mb-info-page .ethics-body .ethics-hero h1 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
}

.mb-info-page .ethics-body .ethics-hero__lead-wrap{
  margin-top: clamp(2rem, 4vw, 3rem);
  padding-top: clamp(1.5rem, 3vw, 2.2rem);
  border-top: 1px solid var(--rule);
  text-align: left;
}

.mb-info-page .ethics-body .ethics-hero__lead{
  margin: 0;
  font-size: var(--fs-lead);
  line-height: 1.62;
  color: var(--moss-deep);
}

.mb-info-page .ethics-body .ethics-hero__note{
  margin: 1.25rem 0 0;
  color: var(--muted);
  font-size: 0.92rem;
  padding-left: 1rem;
  border-left: 2px solid var(--terracotta);
}

.mb-info-page .ethics-body .ethics-feature{
  position: relative;
  overflow: hidden;
  background: var(--moss-deep);
  color: var(--bone);
  border-block: 1px solid #000;
  padding-block: var(--pad-sec);
}

.mb-info-page .ethics-body .ethics-feature::before{
  content: '';
  position: absolute;
  inset: 0;
  background-image: url(/catalog/view/theme/minibeast/svg/4_Illustrations/2_Patterns/2_Scattered/c_Square/SVG/2_WHITE.svg);
  background-size: 300px;
  opacity: 0.12;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 30%, transparent 88%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 30%, transparent 88%);
}

.mb-info-page .ethics-body .ethics-feature__inner{
  position: relative;
}

.mb-info-page .ethics-body .ethics-feature__grid{
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}

.mb-info-page .ethics-body .ethics-feature__copy .cap{
  color: var(--amber);
}

.mb-info-page .ethics-body .ethics-feature__title{
  margin: var(--stack-cap-title) 0 0;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 5rem;
  line-height: 0.86;
  letter-spacing: -0.02em;
  color: var(--bone);
}

.mb-info-page .ethics-body .ethics-feature__title span{
  display: block;
}

.mb-info-page .ethics-body .ethics-feature__title em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--amber);
  padding-left: 0.35em;
}

.mb-info-page .ethics-body .ethics-feature__lead{
  margin: var(--stack-title-body) 0 0;
  max-width: 48ch;
  font-size: var(--fs-lead);
  line-height: 1.55;
  color: rgba(242, 239, 228, 0.82);
}

.mb-info-page .ethics-body .ethics-feature__stats{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.5rem;
  padding-block: 1.5rem;
  border-block: 1px solid rgba(242, 239, 228, 0.25);
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
  max-width: 560px;
}

.mb-info-page .ethics-body .ethics-feature__stat{
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.mb-info-page .ethics-body .ethics-feature__stat .micro{
  color: rgba(242, 239, 228, 0.58);
}

.mb-info-page .ethics-body .ethics-feature__stat strong{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  line-height: 1;
  color: var(--amber);
}

.mb-info-page .ethics-body .ethics-feature__stat span:last-child{
  font-size: 0.85rem;
  line-height: 1.35;
  color: rgba(242, 239, 228, 0.72);
  max-width: 24ch;
}

.mb-info-page .ethics-body .ethics-feature__visual{
  margin: 0;
  position: relative;
  aspect-ratio: 4 / 5;
  border: 1px solid rgba(242, 239, 228, 0.28);
  overflow: hidden;
}

.mb-info-page .ethics-body .ethics-feature__visual img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  max-width: none;
}

.mb-info-page .ethics-body .ethics-feature__caption{
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  background: rgba(18, 36, 24, 0.88);
  padding: 0.8rem 1rem;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.mb-info-page .ethics-body .ethics-feature__caption em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  text-transform: none;
  font-size: 0.9rem;
  letter-spacing: 0;
}

.mb-info-page .ethics-body .statement{
  padding-block: var(--pad-sec);
  background: var(--bone);
}

.mb-info-page .ethics-body .statement__content{
  display: grid;
  gap: 1px;
  border: 1px solid var(--rule);
  background: var(--rule);
}

.mb-info-page .ethics-body .ethics-card{
  background: var(--bone);
  padding: clamp(1.5rem, 3vw, 2.4rem);
  display: grid;
  grid-template-columns: clamp(1.75rem, 3.5vw, 2.75rem) minmax(0, 1fr);
  gap: clamp(1rem, 2.5vw, 2rem);
}

.mb-info-page .ethics-body .ethics-card__mark{
  align-self: start;
}

.mb-info-page .ethics-body .ethics-card__mark img{
  width: clamp(1.75rem, 3.5vw, 2.75rem);
  height: clamp(1.75rem, 3.5vw, 2.75rem);
  aspect-ratio: 1;
  object-fit: contain;
  display: block;
  filter: brightness(0) saturate(100%) invert(44%) sepia(28%) saturate(1500%) hue-rotate(340deg) brightness(95%) contrast(88%);
}

.mb-info-page .ethics-body .ethics-card h2{
  margin: 0 0 1rem;
  font-size: var(--fs-h4);
  line-height: 0.98;
  letter-spacing: -0.02em;
  max-width: none;
  color: var(--ink);
}

.mb-info-page .ethics-body .ethics-card h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
}

.mb-info-page .ethics-body .ethics-card p{
  margin: 0;
  max-width: 76ch;
  color: var(--ink);
}

.mb-info-page .ethics-body .ethics-card p + p{
  margin-top: 1rem;
}

.mb-info-page .ethics-body .split-band{
  background: var(--moss-deep);
  color: var(--bone);
  border-block: 1px solid #000;
}

.mb-info-page .ethics-body .split-band__grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.mb-info-page .ethics-body .principle{
  display: grid;
  grid-template-columns: clamp(1.75rem, 3.5vw, 2.75rem) minmax(0, 1fr);
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: start;
  padding: clamp(1.8rem, 3.5vw, 2.8rem) 0;
  border-bottom: 1px solid rgba(242, 239, 228, 0.22);
}

.mb-info-page .ethics-body .principle:last-child{
  border-bottom: 0;
}

.mb-info-page .ethics-body .principle .cap{
  color: var(--amber);
}

.mb-info-page .ethics-body .principle h3{
  margin: 0.35rem 0 0;
  font-size: clamp(1.5rem, 2.8vw, 2.2rem);
  line-height: 1.05;
  max-width: none;
  color: var(--bone);
}

.mb-info-page .ethics-body .principle p{
  margin: 0.75rem 0 0;
  color: rgba(242, 239, 228, 0.74);
  max-width: 58ch;
}

.mb-info-page .ethics-body .principle__num{
  align-self: start;
}

.mb-info-page .ethics-body .principle__num img{
  width: clamp(1.75rem, 3.5vw, 2.75rem);
  height: clamp(1.75rem, 3.5vw, 2.75rem);
  aspect-ratio: 1;
  object-fit: contain;
  display: block;
  opacity: 0.55;
}

.mb-info-page .ethics-body .pathways{
  padding-block: var(--pad-sec);
  background: var(--bone);
  border-bottom: 1px solid var(--rule);
}

.mb-info-page .ethics-body .pathways__head{
  max-width: 680px;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.mb-info-page .ethics-body .pathways h2{
  margin: 0.8rem 0 1rem;
  font-size: var(--fs-h4);
  line-height: 1;
  max-width: none;
  color: var(--ink);
}

.mb-info-page .ethics-body .pathways__head p{
  margin: 0;
  color: var(--muted);
  font-size: var(--fs-lead);
}

.mb-info-page .ethics-body .pathways__list{
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--rule);
}

.mb-info-page .ethics-body .pathway{
  display: grid;
  grid-template-columns: clamp(140px, 18vw, 220px) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  padding: clamp(1.6rem, 3vw, 2.4rem) 0;
  border-bottom: 1px solid var(--hairline);
  align-items: baseline;
}

.mb-info-page .ethics-body .pathway h3{
  font-size: clamp(1.35rem, 2.4vw, 1.8rem);
  line-height: 1.05;
  max-width: none;
  color: var(--ink);
}

.mb-info-page .ethics-body .pathway p{
  margin: 0;
  color: var(--muted);
  max-width: 62ch;
}

.mb-info-page .ethics-body .closing{
  padding-block: clamp(3rem, 6vw, 5rem);
  background: var(--bone);
  color: var(--ink);
  border-top: 1px solid var(--hairline);
}

.mb-info-page .ethics-body .closing__inner{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: center;
}

.mb-info-page .ethics-body .closing p{
  margin: 0;
  max-width: 72ch;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  line-height: 1.12;
}

.mb-info-page .ethics-body .closing a{
  display: inline-flex;
  align-items: center;
  gap: 0.75em;
  color: var(--ink);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  text-decoration: none;
  padding-block: 0.65rem;
  border-bottom: 1px solid currentColor;
  white-space: nowrap;
}

.mb-info-page .ethics-body .closing svg{
  width: 1.25em;
  height: 0.75em;
}

@media (max-width: 900px){
  .mb-info-page .ethics-body .ethics-feature__grid,
  .mb-info-page .ethics-body .closing__inner {
    grid-template-columns: 1fr;
  }

  .mb-info-page .ethics-body .ethics-feature__visual {
    max-height: 520px;
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 640px){
  .mb-info-page .ethics-body .ethics-card {
    grid-template-columns: 1fr;
  }

  .mb-info-page .ethics-body .ethics-feature__stats {
    grid-template-columns: 1fr;
  }

  .mb-info-page .ethics-body .ethics-feature__title {
    font-size: clamp(2.4rem, 10vw, 5rem);
  }

  .mb-info-page .ethics-body .pathway {
    grid-template-columns: 1fr;
    gap: 0.6rem;
  }

  .mb-info-page .ethics-body .principle {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .mb-info-page .ethics-body .closing a {
    width: max-content;
  }
}

/* Loyalty points page */
.mb-info-page:has(.loyalty-body){
  padding-block: 0;
  min-height: 0;
  background: var(--bone);
  --rule: #1e1e1e;
  --ink: #1e1e1e;
  --fs-h2: clamp(2.6rem, 5.5vw, 5.2rem);
  --fs-h3: 3rem;
  --fs-h4: 2.2rem;
  --fs-h5: 1.6rem;
  --pad-sec: clamp(3.5rem, 7vw, 7rem);
}

.mb-info-page:has(.loyalty-body) .info-back,
.mb-info-page:has(.loyalty-body) .info-page__mast{
  display: none !important;
}

.mb-info-page:has(.loyalty-body) .shell{
  max-width: none;
  padding: 0;
  width: 100%;
}

.mb-info-page:has(.loyalty-body) .info-panel{
  padding: 0;
  border: 0;
  background: transparent;
}

.mb-info-page:has(.loyalty-body) .info-body{
  max-width: none;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

.mb-info-page:has(.loyalty-body) .info-body > p,
.mb-info-page:has(.loyalty-body) .info-body > h1,
.mb-info-page:has(.loyalty-body) .info-body > h2,
.mb-info-page:has(.loyalty-body) .info-body > h3,
.mb-info-page:has(.loyalty-body) .info-body > h4{
  max-width: none;
}

.mb-info-page .loyalty-body{
  --ink: #1e1e1e;
  --bone: #f2efe4;
  --bone-2: #ece5d3;
  --paper: #fbf8f0;
  --moss: #1c3a2c;
  --moss-deep: #122418;
  --terracotta: #c2613a;
  --amber: #d8a45a;
  --muted: #6f6a62;
  --rule: #1e1e1e;
  --hairline: rgba(30, 30, 30, 0.18);
  --fs-micro: 0.45rem;
  --fs-cap: 0.6rem;
  --fs-body: 1rem;
  --fs-lead: 1.18rem;
  --fs-h5: 1.6rem;
  --fs-h4: 2.2rem;
  --fs-h3: 3rem;
  --fs-h2: clamp(2.6rem, 5.5vw, 5.2rem);
  --gutter: clamp(1.25rem, 2.5vw, 2rem);
  --pad-sec: clamp(3.5rem, 7vw, 7rem);
  --max: 1480px;
  --tracked: 0.18em;
  --tracked-wide: 0.32em;
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
  background: var(--bone);
  font-size: var(--fs-body);
  line-height: 1.55;
  color: var(--ink);
}

.mb-info-page .loyalty-body h1,
.mb-info-page .loyalty-body h2,
.mb-info-page .loyalty-body h3,
.mb-info-page .loyalty-body h4{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  letter-spacing: normal;
  color: inherit;
  margin: 0;
  padding: 0;
}

.mb-info-page:has(.loyalty-body) .info-body.content-info{
  font-size: inherit;
  text-align: inherit;
}

.mb-info-page .loyalty-body .shell{
  max-width: var(--max);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.mb-info-page .loyalty-body .cap{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.mb-info-page .loyalty-body .micro{
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked-wide);
  text-transform: uppercase;
  color: var(--muted);
}

.mb-info-page .loyalty-body .ref{
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-family: var(--sans-bold);
  font-weight: normal;
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  font-size: var(--fs-micro);
}

.mb-info-page .loyalty-body .ref::before{
  content: '';
  width: 2px;
  height: 0.85em;
  background: var(--terracotta);
  display: inline-block;
  flex-shrink: 0;
}

.mb-info-page .loyalty-body .lp-hero{
  padding-block: clamp(3rem, 6vw, 5rem) clamp(2rem, 4vw, 3rem);
  border-bottom: 1px solid var(--rule);
  background: var(--bone);
}

.mb-info-page .loyalty-body .lp-hero__banner{
  max-width: 720px;
}

.mb-info-page .loyalty-body .lp-hero h1{
  font-size: var(--fs-h2);
  line-height: 0.95;
  letter-spacing: -0.02em;
  margin: 0.75rem 0 0;
  max-width: 16ch;
  color: var(--ink);
}

.mb-info-page .loyalty-body .lp-hero h1 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
}

.mb-info-page .loyalty-body .lp-hero__lead{
  margin: 1.25rem 0 0;
  max-width: 58ch;
  font-size: var(--fs-lead);
  color: var(--muted);
}

.mb-info-page .loyalty-body .lp-hero__stat{
  margin: 1.5rem 0 0;
  padding-top: 1.25rem;
  border-top: 1px solid var(--hairline);
  max-width: 48ch;
  font-size: 0.95rem;
  color: var(--muted);
  line-height: 1.5;
}

.mb-info-page .loyalty-body .lp-hero__stat strong{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 1.25rem;
  color: var(--ink);
}

.mb-info-page .loyalty-body .lp-section{
  padding-block: var(--pad-sec);
  border-bottom: 1px solid var(--rule);
}

.mb-info-page .loyalty-body .lp-section--paper{
  background: var(--bone);
}

.mb-info-page .loyalty-body .lp-section--moss{
  background: var(--moss);
  color: var(--bone);
  border-color: var(--moss-deep);
}

.mb-info-page .loyalty-body .lp-section--moss .micro,
.mb-info-page .loyalty-body .lp-section--moss .lp-section__desc{
  color: rgba(242, 239, 228, 0.65);
}

.mb-info-page .loyalty-body .lp-section__intro{
  max-width: 680px;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.mb-info-page .loyalty-body .lp-section h2{
  font-size: var(--fs-h2);
  line-height: 0.95;
  letter-spacing: -0.02em;
  margin: 0.6rem 0 0.8rem;
  max-width: none;
  color: var(--ink);
}

.mb-info-page .loyalty-body .lp-section h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
}

.mb-info-page .loyalty-body .lp-section--moss h2,
.mb-info-page .loyalty-body .lp-section--moss .lp-terms__aside h2{
  color: var(--bone);
}

.mb-info-page .loyalty-body .lp-section--moss h2 em,
.mb-info-page .loyalty-body .lp-terms__aside h2 em{
  color: var(--amber);
}

.mb-info-page .loyalty-body .lp-section__desc{
  margin: 0;
  color: var(--muted);
  font-size: var(--fs-lead);
  max-width: 52ch;
}

.mb-info-page .loyalty-body .lp-steps-vertical{
  display: grid;
  gap: 0;
  position: relative;
  padding-left: clamp(2rem, 4vw, 3rem);
}

.mb-info-page .loyalty-body .lp-steps-vertical::before{
  content: '';
  position: absolute;
  left: clamp(0.85rem, 1.8vw, 1.25rem);
  top: 0.5rem;
  bottom: 0.5rem;
  width: 1px;
  background: var(--rule);
}

.mb-info-page .loyalty-body .lp-step-v{
  position: relative;
  padding: 0 0 clamp(2rem, 4vw, 2.8rem);
}

.mb-info-page .loyalty-body .lp-step-v:last-child{
  padding-bottom: 0;
}

.mb-info-page .loyalty-body .lp-step-v__dot{
  position: absolute;
  left: calc(-1 * clamp(2rem, 4vw, 3rem) + clamp(0.55rem, 1.2vw, 0.85rem));
  top: 0.35rem;
  width: 0.75rem;
  height: 0.75rem;
  background: var(--terracotta);
  border: 2px solid var(--bone);
  border-radius: 50%;
}

.mb-info-page .loyalty-body .lp-step-v h3{
  font-size: var(--fs-h5);
  line-height: 1.08;
  margin: 0 0 0.6rem;
  max-width: none;
  color: var(--ink);
}

.mb-info-page .loyalty-body .lp-step-v p{
  margin: 0;
  color: var(--muted);
  max-width: 58ch;
}

.mb-info-page .loyalty-body .lp-def-table{
  border-top: 1px solid var(--rule);
}

.mb-info-page .loyalty-body .lp-def-row{
  display: grid;
  grid-template-columns: clamp(120px, 16vw, 180px) minmax(0, 1fr);
  gap: clamp(1.25rem, 3vw, 2rem);
  padding: clamp(1.2rem, 2.5vw, 1.6rem) 0;
  border-bottom: 1px solid var(--hairline);
  align-items: baseline;
}

.mb-info-page .loyalty-body .lp-def-row dt{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 1.25rem;
  line-height: 1.1;
  color: var(--ink);
  margin: 0;
}

.mb-info-page .loyalty-body .lp-def-row dd{
  margin: 0;
  color: var(--muted);
  font-size: 0.95rem;
}

.mb-info-page .loyalty-body .lp-terms{
  display: grid;
  grid-template-columns: minmax(240px, 0.33fr) 1fr;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}

.mb-info-page .loyalty-body .lp-terms__aside{
  position: sticky;
  top: 2rem;
  border: 1px solid rgba(242, 239, 228, 0.32);
  padding: clamp(1.25rem, 2.5vw, 2rem);
}

.mb-info-page .loyalty-body .lp-terms__aside h2{
  font-size: var(--fs-h4);
  line-height: 1.02;
  margin: 0.6rem 0 1rem;
  max-width: none;
}

.mb-info-page .loyalty-body .lp-terms__aside p{
  margin: 0;
  color: rgba(242, 239, 228, 0.68);
}

.mb-info-page .loyalty-body .lp-term-list{
  counter-reset: term;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  background: rgba(242, 239, 228, 0.22);
  border: 1px solid rgba(242, 239, 228, 0.22);
}

.mb-info-page .loyalty-body .lp-term{
  counter-increment: term;
  background: var(--moss-deep);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  padding: 1.2rem 1.3rem;
  align-items: start;
}

.mb-info-page .loyalty-body .lp-term::before{
  content: counter(term, decimal-leading-zero);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  color: var(--amber);
  padding-top: 0.35rem;
}

.mb-info-page .loyalty-body .lp-term p{
  margin: 0;
  color: rgba(242, 239, 228, 0.82);
}

.mb-info-page .loyalty-body .lp-cta{
  padding-block: clamp(3rem, 7vw, 6rem);
  background: var(--bone);
  color: var(--ink);
  border-top: 1px solid var(--hairline);
}

.mb-info-page .loyalty-body .lp-cta .cap{
  color: var(--terracotta);
}

.mb-info-page .loyalty-body .lp-cta__inner{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: center;
}

.mb-info-page .loyalty-body .lp-cta h2{
  font-size: var(--fs-h3);
  line-height: 1;
  color: var(--ink);
}

.mb-info-page .loyalty-body .lp-cta h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
}

.mb-info-page .loyalty-body .lp-cta p{
  margin: 0.8rem 0 0;
  max-width: 56ch;
  color: var(--muted);
}

.mb-info-page .loyalty-body .lp-button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75em;
  background: var(--ink);
  color: var(--bone);
  padding: 1.05em 1.4em;
  border: 1px solid var(--ink);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  min-height: 48px;
  white-space: nowrap;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
  text-decoration: none;
}

.mb-info-page .loyalty-body .lp-button:hover{
  background: var(--moss);
  color: var(--bone);
  border-color: var(--moss);
  text-decoration: none;
}

@media (max-width: 980px){
  .mb-info-page .loyalty-body .lp-terms,
  .mb-info-page .loyalty-body .lp-cta__inner {
    grid-template-columns: 1fr;
  }

  .mb-info-page .loyalty-body .lp-terms__aside {
    position: static;
  }

  .mb-info-page .loyalty-body .lp-def-row {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }
}

@media (max-width: 560px){
  .mb-info-page .loyalty-body .lp-cta__inner {
    gap: 1.4rem;
  }

  .mb-info-page .loyalty-body .lp-button {
    width: 100%;
  }
}

/* - Hero 03 - Split feature (glass domes pattern from heroes.html) - */
.mb-hero-split{
  display: grid;
  grid-template-columns: 1.08fr 1fr;
  border: 1px solid var(--rule);
  background: var(--moss-deep);
  color: var(--bone);
  min-height: clamp(480px, 72vh, 780px);
}

.mb-hero-split__media{
  position: relative;
  overflow: hidden;
}

.mb-hero-split__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 55%;
  min-height: 320px;
  filter: saturate(0.97) contrast(1.03);
}

.mb-hero-split__media::after{
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 70%, rgba(18, 36, 24, 0.35));
}

.mb-hero-split__plate{
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  right: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(1.25rem, 3vw, 2.5rem);
  flex-wrap: wrap;
  background: rgba(18, 36, 24, 0.88);
  padding: 0.75rem 1rem;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: rgba(242, 239, 228, 0.75);
}

.mb-hero-split__plate .mb-italic{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  text-transform: none;
  font-size: 0.9rem;
  letter-spacing: 0;
  color: var(--bone);
  text-align: center;
}

.mb-hero-split__copy{
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 5vw, 4rem);
  border-left: 1px solid rgba(242, 239, 228, 0.15);
}

.mb-hero-split__copy > .mb-cap{
  color: var(--amber);
}

.mb-hero-split__title{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(2.6rem, 5vw, 4.8rem);
  line-height: 0.92;
  letter-spacing: -0.01em;
  margin: 1rem 0 0;
  color: var(--bone);
}

.mb-hero-split__title .mb-italic,
.mb-hero-split__title em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--amber);
}

.mb-hero-split__lead{
  margin: 1.5rem 0 0;
  max-width: 38ch;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-lead);
  line-height: 1.55;
  color: rgba(242, 239, 228, 0.85);
}

.mb-hero-split__lead + .mb-hero-split__lead{
  margin-top: 0.75rem;
}

.mb-hero-split__chips{
  margin-top: 2rem;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(242, 239, 228, 0.22);
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.mb-hero-split__chips span{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  border: 1px solid rgba(242, 239, 228, 0.35);
  padding: 0.45em 0.75em;
}

.mb-hero-split__foot{
  margin-top: 2rem;
}

.mb-hero-split__foot .mb-arrow{
  color: var(--bone);
  border-color: var(--bone);
}

@media (max-width: 860px){
  .mb-hero-split {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .mb-hero-split__media {
    aspect-ratio: 1 / 1;
  }

  .mb-hero-split__media img {
    min-height: 0;
  }

  .mb-hero-split__copy {
    border-left: 0;
    border-top: 1px solid rgba(242, 239, 228, 0.15);
  }
}

/* - All reviews page (cireviewpro/cireviews) - */
.mb-all-reviews-page #container,
.mb-all-reviews-page .j-container{
  max-width: none;
  width: 100%;
  padding: 0;
}

.mb-all-reviews-page.mb-category .mb-cathead__title em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
}

.mb-all-reviews-page.mb-category .mb-cathead-band > .container{
  max-width: var(--max);
  padding-inline: var(--gutter);
}

.mb-all-reviews-page .mb-hero-split h2.mb-hero-split__title{
  color: var(--bone);
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  letter-spacing: -0.01em;
}

.mb-all-reviews-page .mb-hero-split__copy > .mb-cap{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.mb-all-reviews-page .mb-all-reviews__filter .mb-cap{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--ink);
}

.mb-all-reviews-page .mb-arrow{
  display: inline-flex;
  align-items: center;
  gap: 0.7em;
  font-family: var(--sans-bold);
  font-weight: normal;
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  font-size: var(--fs-cap);
  padding-block: 0.6em;
  border-bottom: 1px solid currentColor;
  width: max-content;
  max-width: 100%;
  transition: gap 0.25s ease;
  text-decoration: none;
}

.mb-all-reviews-page .mb-arrow:hover{
  gap: 1.1em;
  text-decoration: none;
}

.mb-all-reviews-page .mb-arrow svg{
  width: 1.2em;
  height: 0.7em;
}

.mb-all-reviews-promo.mb-hero-split{
  min-height: clamp(420px, 52vw, 640px);
}

.mb-all-reviews__grid--continued{
  border-top: 0;
}

.mb-all-reviews.mb-reviews{
  padding-block: var(--pad-sec);
}

.mb-all-reviews .shell{
  max-width: var(--max);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.mb-all-reviews__intro{
  max-width: 68ch;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
  color: var(--muted);
  font-size: var(--fs-lead);
  line-height: 1.55;
}

.mb-all-reviews__filters{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem 1.5rem;
  padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
  border-bottom: 1px solid var(--hairline);
  margin-bottom: 0;
}

.mb-all-reviews__filter{
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.mb-all-reviews__filter--search{
  grid-column: 1 / -1;
}

@media (min-width: 768px){
  .mb-all-reviews__filter--search {
    grid-column: auto;
  }
}

.mb-all-reviews__select,
.mb-all-reviews__input{
  width: 100%;
  border: 1px solid var(--rule);
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-weight: 500;
  font-size: 0.92rem;
  line-height: 1.4;
  padding: 0.65rem 0.75rem;
  border-radius: 0;
  appearance: none;
}

.mb-all-reviews__search{
  display: flex;
  border: 1px solid var(--rule);
  background: var(--paper);
}

.mb-all-reviews__search .mb-all-reviews__input{
  border: 0;
  flex: 1;
}

.mb-all-reviews__search-btn{
  border: 0;
  border-left: 1px solid var(--hairline);
  background: var(--bone-2);
  color: var(--ink);
  padding: 0 0.85rem;
}

.mb-all-reviews__grid-wrap{
  margin-top: 0;
}

.mb-all-reviews__grid.mb-catalogue__grid{
  border-left: 1px solid var(--rule);
}

.mb-all-reviews__grid + .mb-all-reviews__grid{
  margin-top: 0;
}

.mb-all-reviews .mb-catalogue__grid > .mb-review-card{
  height: 100%;
}

.mb-all-reviews .mb-review-card .mb-spec-card__title,
.mb-all-reviews .mb-review-card__foot{
  text-align: center;
}

.mb-all-reviews__empty{
  padding: clamp(3rem, 6vw, 5rem) 0;
  text-align: center;
}

.mb-all-reviews__empty-title{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(1.4rem, 3vw, 2rem);
  margin: 0;
  color: var(--muted);
}

.mb-all-reviews__promo-block{
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

.mb-all-reviews__promo-heading{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 1.05;
  margin: 0 0 1.5rem;
}

.mb-all-reviews__pager.pp-review-ledger__pager{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  padding-top: clamp(1.4rem, 2.5vw, 1.8rem);
  border-top: 1px solid var(--rule);
  margin-top: clamp(1.5rem, 3vw, 2rem);
}

.mb-all-reviews__pager .pp-review-ledger__pager-results{
  margin: 0;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked-wide);
  text-transform: uppercase;
  color: var(--muted);
}

.mb-all-reviews__pager .pp-review-ledger__pager-links{
  margin-left: auto;
}

.mb-all-reviews__pager .pagination{
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px;
}

.mb-all-reviews__pager .pagination > li > a,
.mb-all-reviews__pager .pagination > li > span{
  display: grid;
  place-items: center;
  min-width: 2.1rem;
  height: 2.1rem;
  padding: 0 0.4rem;
  border: 1px solid var(--hairline);
  background: var(--bone-2);
  color: var(--ink);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  line-height: 1;
  text-decoration: none;
}

.mb-all-reviews__pager .pagination > li > a:hover,
.mb-all-reviews__pager .pagination > li > a:focus{
  background: var(--paper);
  border-color: var(--ink);
}

.mb-all-reviews__pager .pagination > .active > a,
.mb-all-reviews__pager .pagination > .active > span{
  background: var(--ink);
  border-color: var(--ink);
  color: var(--bone);
}

@media (min-width: 761px){
  .mb-all-reviews-page .mb-all-reviews__grid-wrap .mb-catalogue__grid {
    border-right: 1px solid var(--rule);
  }
}

@media (max-width: 1000px) and (min-width: 761px){
  .mb-all-reviews-page .mb-all-reviews__grid-wrap .mb-catalogue__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 760px){
  .mb-all-reviews-page .mb-all-reviews__grid-wrap .mb-catalogue__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 520px){
  .mb-all-reviews-page .mb-all-reviews__grid-wrap .mb-catalogue__grid {
    grid-template-columns: 1fr;
  }

  .mb-all-reviews-page .mb-all-reviews__grid-wrap .mb-catalogue__grid > .mb-spec-card {
    border-right: 0;
  }
}

/* Info content pages — handmade frames, bespoke frames, photo competition */
.mb-info-page:has(.ic-body){
  padding-block: 0;
  min-height: 0;
  background: var(--bone);
}

.mb-info-page:has(.ic-body) .info-back,
.mb-info-page:has(.ic-body) .info-page__mast{
  display: none !important;
}

.mb-info-page:has(.ic-body) .shell{
  max-width: none;
  padding: 0;
  width: 100%;
}

.mb-info-page:has(.ic-body) .info-panel{
  padding: 0;
  border: 0;
  background: transparent;
}

.mb-info-page:has(.ic-body) .info-body{
  max-width: none;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

.mb-info-page:has(.ic-body) .info-body > p,
.mb-info-page:has(.ic-body) .info-body > h1,
.mb-info-page:has(.ic-body) .info-body > h2,
.mb-info-page:has(.ic-body) .info-body > h3,
.mb-info-page:has(.ic-body) .info-body > h4{
  max-width: none;
}

.mb-info-page .ic-body{
  --ink: #1e1e1e;
  --bone: #f2efe4;
  --bone-2: #ece5d3;
  --paper: #fbf8f0;
  --moss: #1c3a2c;
  --moss-deep: #122418;
  --terracotta: #c2613a;
  --amber: #d8a45a;
  --muted: #6f6a62;
  --rule: #1e1e1e;
  --hairline: rgba(30, 30, 30, 0.18);
  --fs-micro: 0.45rem;
  --fs-cap: 0.6rem;
  --fs-body: 1rem;
  --fs-lead: 1.18rem;
  --fs-h5: 1.6rem;
  --fs-h4: 2.2rem;
  --fs-h3: 3rem;
  --fs-h2: clamp(2.6rem, 5.5vw, 5.2rem);
  --gutter: clamp(1.25rem, 2.5vw, 2rem);
  --pad-sec: clamp(3.5rem, 7vw, 7rem);
  --max: 1480px;
  --ic-measure: 72ch;
  --tracked: 0.18em;
  --tracked-wide: 0.32em;
  --stack-cap-title: clamp(1.35rem, 2.75vw, 2.1rem);
  --stack-title-body: clamp(1.5rem, 3vw, 2.25rem);
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: var(--bone);
  font-size: var(--fs-body);
  line-height: 1.55;
  color: var(--ink);
}

.mb-info-page .ic-body h1,
.mb-info-page .ic-body h2,
.mb-info-page .ic-body h3,
.mb-info-page .ic-body h4{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  letter-spacing: normal;
  color: inherit;
  margin: 0;
  padding: 0;
}

.mb-info-page:has(.ic-body) .info-body.content-info{
  font-size: inherit;
  text-align: inherit;
}

.mb-info-page .ic-body .shell{
  max-width: var(--max);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

/* Editorial shell — full grid width; don’t shrink when combined with hero/prose */
.mb-info-page .ic-body .shell.ic-hero__banner,
.mb-info-page .ic-body .shell.ic-prose{
  max-width: var(--max);
  width: min(100%, var(--max));
  margin-inline: auto;
  padding-inline: var(--gutter);
  box-sizing: border-box;
}

.mb-info-page .ic-body .cap{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.mb-info-page .ic-body .micro{
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked-wide);
  text-transform: uppercase;
  color: var(--muted);
}

.mb-info-page .ic-body .ref{
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-family: var(--sans-bold);
  font-weight: normal;
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  font-size: var(--fs-micro);
}

.mb-info-page .ic-body .ref::before{
  content: '';
  width: 2px;
  height: 0.85em;
  background: var(--terracotta);
  display: inline-block;
  flex-shrink: 0;
}

.mb-info-page .ic-body .ic-hero{
  padding-block: clamp(3rem, 6vw, 5rem) clamp(2rem, 4vw, 3rem);
  border-bottom: 1px solid var(--rule);
  background: var(--bone);
}

.mb-info-page .ic-body .ic-hero__banner{
  max-width: var(--ic-measure);
  margin-inline: 0;
  width: 100%;
}

.mb-info-page .ic-body .shell.ic-hero__banner{
  max-width: var(--max);
}

.mb-info-page .ic-body .shell.ic-hero__banner > *{
  max-width: var(--ic-measure);
}

.mb-info-page .ic-body .ic-hero--centre .ic-hero__banner{
  max-width: min(var(--ic-measure), 760px);
  margin-inline: auto;
  text-align: center;
}

.mb-info-page .ic-body .ic-hero--centre .shell.ic-hero__banner > *{
  margin-inline: auto;
}

.mb-info-page .ic-body .ic-hero--centre .ref{
  justify-content: center;
}

.mb-info-page .ic-body .ic-hero h1{
  font-size: var(--fs-h2);
  line-height: 0.95;
  letter-spacing: -0.02em;
  margin-top: 0.75rem;
  max-width: 16ch;
}

.mb-info-page .ic-body .ic-hero--centre h1{
  max-width: none;
  margin-inline: auto;
}

.mb-info-page .ic-body .ic-hero h1 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
}

.mb-info-page .ic-body .ic-hero__lead{
  margin: 1.25rem 0 0;
  max-width: 58ch;
  font-size: var(--fs-lead);
  color: var(--muted);
}

.mb-info-page .ic-body .ic-hero--centre .ic-hero__lead{
  margin-inline: auto;
}

.mb-info-page .ic-body .ic-hero__stat{
  margin: 1.5rem 0 0;
  padding-top: 1.25rem;
  border-top: 1px solid var(--hairline);
  max-width: 48ch;
  font-size: 0.95rem;
  color: var(--muted);
  line-height: 1.5;
}

.mb-info-page .ic-body .ic-hero__stat strong{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 1.25rem;
  color: var(--ink);
  display: block;
  margin-bottom: 0.35rem;
}

.mb-info-page .ic-body .ic-feature{
  position: relative;
  overflow: hidden;
  background: var(--moss);
  color: var(--bone);
  border-block: 1px solid var(--moss-deep);
  padding-block: var(--pad-sec);
}

.mb-info-page .ic-body .ic-feature__inner{
  position: relative;
}

.mb-info-page .ic-body .ic-feature__grid{
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: end;
}

.mb-info-page .ic-body .ic-feature__copy .cap{
  color: var(--amber);
}

.mb-info-page .ic-body .ic-feature__title{
  margin: var(--stack-cap-title) 0 0;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(2.6rem, 6vw, 5.6rem);
  line-height: 0.95;
  letter-spacing: -0.01em;
}

.mb-info-page .ic-body .ic-feature__title span{
  display: block;
}

.mb-info-page .ic-body .ic-feature__title em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--amber);
  padding-left: 0.35em;
}

.mb-info-page .ic-body .ic-feature__lead{
  margin: var(--stack-title-body) 0 0;
  max-width: 48ch;
  font-size: var(--fs-lead);
  line-height: 1.55;
  color: rgba(242, 239, 228, 0.85);
}

.mb-info-page .ic-body .ic-feature__stats{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.5rem;
  padding-block: 1.5rem;
  border-block: 1px solid rgba(242, 239, 228, 0.25);
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
  max-width: 560px;
}

.mb-info-page .ic-body .ic-feature__stat{
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.mb-info-page .ic-body .ic-feature__stat .micro{
  color: rgba(242, 239, 228, 0.6);
}

.mb-info-page .ic-body .ic-feature__stat strong{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(1.3rem, 2.5vw, 1.6rem);
  line-height: 1.05;
  color: var(--bone);
}

.mb-info-page .ic-body .ic-feature__stat span:last-child{
  font-size: 0.85rem;
  line-height: 1.35;
  color: rgba(242, 239, 228, 0.72);
}

.mb-info-page .ic-body .ic-feature__visual{
  margin: 0;
  position: relative;
  aspect-ratio: 4 / 5;
  border: 1px solid rgba(242, 239, 228, 0.28);
  overflow: hidden;
}

.mb-info-page .ic-body .ic-feature__visual img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.mb-info-page .ic-body .ic-feature__caption{
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  background: rgba(18, 36, 24, 0.88);
  padding: 0.8rem 1rem;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.mb-info-page .ic-body .ic-feature__caption em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  text-transform: none;
  font-size: 0.9rem;
  letter-spacing: 0;
}

.mb-info-page .ic-body .ic-bleed{
  border-bottom: 1px solid var(--rule);
  overflow: hidden;
}

.mb-info-page .ic-body .ic-bleed img{
  display: block;
  width: 100%;
  height: clamp(220px, 38vw, 520px);
  object-fit: cover;
  object-position: center;
}

.mb-info-page .ic-body.frames-body .ic-feature__visual img{
  object-position: bottom;
}

.mb-info-page .ic-body .ic-section{
  padding-block: var(--pad-sec);
  border-bottom: 1px solid var(--rule);
}

.mb-info-page .ic-body .ic-section--paper{
  background: var(--bone);
}

.mb-info-page .ic-body .ic-section--moss{
  background: var(--moss);
  color: var(--bone);
  border-color: var(--moss-deep);
}

.mb-info-page .ic-body .ic-section--moss .micro,
.mb-info-page .ic-body .ic-section--moss .ic-section__desc{
  color: rgba(242, 239, 228, 0.65);
}

.mb-info-page .ic-body .ic-section--moss h2 em{
  color: var(--amber);
}

.mb-info-page .ic-body .ic-section__intro{
  max-width: 680px;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.mb-info-page .ic-body .ic-section__intro--centre{
  margin-inline: auto;
  text-align: center;
}

.mb-info-page .ic-body .ic-section__intro .cap{
  color: var(--terracotta);
}

.mb-info-page .ic-body .ic-section__intro h2{
  font-size: var(--fs-h2);
  line-height: 0.95;
  letter-spacing: -0.02em;
  margin: var(--stack-cap-title) 0 0;
}

.mb-info-page .ic-body .ic-section__intro h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
}

.mb-info-page .ic-body .ic-section__desc{
  margin: var(--stack-title-body) 0 0;
  color: var(--muted);
  font-size: var(--fs-lead);
  line-height: 1.55;
  max-width: 52ch;
}

.mb-info-page .ic-body .ic-section__intro--centre .ic-section__desc{
  margin-inline: auto;
}

.mb-info-page .ic-body .ic-split{
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}

.mb-info-page .ic-body .ic-split__copy h2{
  font-size: var(--fs-h3);
  line-height: 0.96;
  letter-spacing: -0.02em;
  margin: 0.6rem 0 1.25rem;
}

.mb-info-page .ic-body .ic-split__copy h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
}

.mb-info-page .ic-body .ic-text-stack{
  display: grid;
  gap: 1rem;
}

.mb-info-page .ic-body .ic-text-stack p{
  margin: 0;
  color: var(--muted);
  max-width: 62ch;
}

.mb-info-page .ic-body .ic-text-stack p:first-child{
  font-size: var(--fs-lead);
  color: var(--ink);
}

.mb-info-page .ic-body .ic-split__visual{
  margin: 0;
  border: 1px solid var(--rule);
  overflow: hidden;
}

.mb-info-page .ic-body .ic-split__visual img{
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.mb-info-page .ic-body .ic-split__copy .cap{
  color: var(--terracotta);
}

.mb-info-page .ic-body .ic-split--reverse .ic-split__copy{
  order: 2;
}

.mb-info-page .ic-body .ic-split--reverse .ic-split__visual{
  order: 1;
}

.mb-info-page .ic-body .ic-gift-list{
  display: grid;
  gap: clamp(2.5rem, 5vw, 4rem);
}

.mb-info-page .ic-body .ic-gift-list .ic-split{
  padding-bottom: clamp(2rem, 4vw, 3rem);
  border-bottom: 1px solid var(--hairline);
}

.mb-info-page .ic-body .ic-gift-list .ic-split:last-child{
  padding-bottom: 0;
  border-bottom: 0;
}

.mb-info-page .ic-body .ic-link{
  display: inline-flex;
  align-items: center;
  gap: 0.7em;
  margin-top: 1.5rem;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  padding-block: 0.6em;
  border-bottom: 1px solid currentColor;
  width: max-content;
  max-width: 100%;
  transition: gap 0.25s ease;
  text-decoration: none;
}

.mb-info-page .ic-body .ic-link:hover{
  gap: 1.1em;
  text-decoration: none;
}

.mb-info-page .ic-body .ic-link svg{
  width: 1.2em;
  height: 0.7em;
  flex-shrink: 0;
}

.mb-info-page .ic-body .ic-steps{
  display: grid;
  gap: 0;
  position: relative;
  padding-left: clamp(2rem, 4vw, 3rem);
}

.mb-info-page .ic-body .ic-steps::before{
  content: '';
  position: absolute;
  left: clamp(0.85rem, 1.8vw, 1.25rem);
  top: 0.5rem;
  bottom: 0.5rem;
  width: 1px;
  background: var(--rule);
}

.mb-info-page .ic-body .ic-step{
  position: relative;
  padding: 0 0 clamp(2rem, 4vw, 2.8rem);
}

.mb-info-page .ic-body .ic-step:last-child{
  padding-bottom: 0;
}

.mb-info-page .ic-body .ic-step__dot{
  position: absolute;
  left: calc(-1 * clamp(2rem, 4vw, 3rem) + clamp(0.55rem, 1.2vw, 0.85rem));
  top: 0.35rem;
  width: 0.75rem;
  height: 0.75rem;
  background: var(--terracotta);
  border: 2px solid var(--bone);
  border-radius: 50%;
}

.mb-info-page .ic-body .ic-step h3{
  font-size: var(--fs-h5);
  line-height: 1.08;
  margin: 0 0 0.6rem;
}

.mb-info-page .ic-body .ic-step p{
  margin: 0;
  color: var(--muted);
  max-width: 58ch;
}

.mb-info-page .ic-body .ic-enter-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--hairline);
  border: 1px solid var(--hairline);
}

.mb-info-page .ic-body .ic-enter-card{
  background: var(--bone);
  padding: clamp(1.5rem, 3vw, 2.5rem);
}

.mb-info-page .ic-body .ic-enter-card .cap{
  color: var(--terracotta);
}

.mb-info-page .ic-body .ic-enter-card h3{
  font-size: var(--fs-h5);
  line-height: 1.08;
  margin: 0.75rem 0 0.6rem;
}

.mb-info-page .ic-body .ic-enter-card p{
  margin: 0;
  color: var(--muted);
  max-width: 42ch;
}

.mb-info-page .ic-body .ic-gallery__featured{
  margin: 0 0 clamp(1.5rem, 3vw, 2.5rem);
  position: relative;
  border: 1px solid var(--rule);
  overflow: hidden;
}

.mb-info-page .ic-body .ic-gallery__featured img{
  display: block;
  width: 100%;
  max-height: clamp(320px, 55vw, 680px);
  object-fit: cover;
}

.mb-info-page .ic-body .ic-gallery__caption{
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  background: rgba(18, 36, 24, 0.88);
  color: var(--bone);
  padding: 0.8rem 1rem;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.mb-info-page .ic-body .ic-gallery__caption em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  text-transform: none;
  font-size: 0.9rem;
  letter-spacing: 0;
}

.mb-info-page .ic-body .ic-gallery{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--hairline);
  border: 1px solid var(--hairline);
}

.mb-info-page .ic-body .ic-gallery__item{
  margin: 0;
  background: var(--bone);
  overflow: hidden;
}

.mb-info-page .ic-body .ic-gallery__item img{
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.mb-info-page .ic-body .ic-gallery__item figcaption{
  padding: 0.75rem 1rem;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--muted);
  border-top: 1px solid var(--hairline);
}

.mb-info-page .ic-body .ic-video{
  position: relative;
  width: 100%;
  max-width: 960px;
  margin-inline: auto;
  aspect-ratio: 16 / 9;
  border: 1px solid rgba(242, 239, 228, 0.28);
  overflow: hidden;
  background: var(--moss-deep);
}

.mb-info-page .ic-body .ic-video iframe{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.mb-info-page .ic-body .ic-cta{
  padding-block: clamp(3rem, 7vw, 6rem);
  background: var(--bone);
  color: var(--ink);
  border-top: 1px solid var(--hairline);
}

.mb-info-page .ic-body .ic-cta .cap{
  color: var(--terracotta);
}

.mb-info-page .ic-body .ic-cta__inner{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: center;
}

.mb-info-page .ic-body .ic-cta h2{
  font-size: var(--fs-h3);
  line-height: 1;
  color: var(--ink);
}

.mb-info-page .ic-body .ic-cta h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
}

.mb-info-page .ic-body .ic-cta p{
  margin: 0.8rem 0 0;
  max-width: 56ch;
  color: var(--muted);
}

.mb-info-page .ic-body .ic-button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75em;
  background: var(--ink);
  color: var(--bone);
  padding: 1.05em 1.4em;
  border: 1px solid var(--ink);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  min-height: 48px;
  white-space: nowrap;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
  text-decoration: none;
}

.mb-info-page .ic-body .ic-button:hover{
  background: var(--moss);
  color: var(--bone);
  border-color: var(--moss);
  text-decoration: none;
}

@media (max-width: 980px){
  .mb-info-page .ic-body .ic-feature__grid,
  .mb-info-page .ic-body .ic-split,
  .mb-info-page .ic-body .ic-cta__inner,
  .mb-info-page .ic-body .ic-enter-grid {
    grid-template-columns: 1fr;
  }

  .mb-info-page .ic-body .ic-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px){
  .mb-info-page .ic-body .ic-feature__stats {
    grid-template-columns: 1fr;
  }

  .mb-info-page .ic-body .ic-gallery {
    grid-template-columns: 1fr;
  }

  .mb-info-page .ic-body .ic-cta__inner {
    gap: 1.4rem;
  }

  .mb-info-page .ic-body .ic-button {
    width: 100%;
  }
}

/* Info content — legal prose & shipping tables */
.mb-info-page .ic-body .ic-prose{
  max-width: var(--ic-measure);
  margin-inline: 0;
  width: 100%;
  font-size: var(--fs-body);
  line-height: 1.65;
}

.mb-info-page .ic-body .shell.ic-prose{
  max-width: var(--max);
}

.mb-info-page .ic-body .shell.ic-prose > *{
  max-width: var(--ic-measure);
}

.mb-info-page .ic-body .ic-prose h2{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-h5);
  line-height: 1.08;
  color: var(--ink);
  margin: clamp(2rem, 4vw, 2.75rem) 0 0.85rem;
  padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
  border-top: 1px solid var(--hairline);
}

.mb-info-page .ic-body .ic-prose h2:first-child{
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.mb-info-page .ic-body .ic-prose h3{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 1.25rem;
  line-height: 1.1;
  color: var(--ink);
  margin: 1.5rem 0 0.6rem;
}

.mb-info-page .ic-body .ic-prose p{
  margin: 0;
  color: var(--muted);
}

.mb-info-page .ic-body .ic-prose p + p,
.mb-info-page .ic-body .ic-prose ul + p,
.mb-info-page .ic-body .ic-prose p + ul{
  margin-top: 0.85rem;
}

.mb-info-page .ic-body .ic-prose ul,
.mb-info-page .ic-body .ic-prose ol{
  margin: 0;
  padding-left: 1.2rem;
  color: var(--muted);
}

.mb-info-page .ic-body .ic-prose li + li{
  margin-top: 0.4rem;
}

.mb-info-page .ic-body .ic-prose a{
  color: var(--terracotta);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.mb-info-page .ic-body .ic-prose a:hover{
  color: var(--ink);
}

.mb-info-page .ic-body .ic-prose strong{
  font-family: var(--sans);
  font-weight: 500;
  color: var(--ink);
}

.mb-info-page .ic-body .ic-shipping{
  display: grid;
  gap: clamp(2rem, 4vw, 3rem);
}

.mb-info-page .ic-body .ic-rate-table{
  max-width: 44rem;
  border: 1px solid var(--hairline);
  background: var(--bone);
  padding: clamp(1rem, 2vw, 1.5rem) clamp(1.25rem, 2.5vw, 2rem);
}

.mb-info-page .ic-body .ic-rate-table__head,
.mb-info-page .ic-body .ic-rate-row{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 5.5rem 6.5rem;
  column-gap: 2rem;
  align-items: baseline;
  padding: 0.95rem 0;
  border-bottom: 1px solid var(--hairline);
}

.mb-info-page .ic-body .ic-rate-table__head{
  padding-top: 0;
  border-bottom-color: var(--rule);
}

.mb-info-page .ic-body .ic-rate-table__body .ic-rate-row:last-child{
  border-bottom: 0;
  padding-bottom: 0;
}

.mb-info-page .ic-body .ic-rate-table__col{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--ink);
}

.mb-info-page .ic-body .ic-rate-table__col--price,
.mb-info-page .ic-body .ic-rate-table__col--limit,
.mb-info-page .ic-body .ic-rate-row__price,
.mb-info-page .ic-body .ic-rate-row__limit{
  text-align: right;
}

.mb-info-page .ic-body .ic-rate-row__service{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(1.1rem, 2vw, 1.3rem);
  line-height: 1.2;
  color: var(--ink);
  padding-right: 1rem;
}

.mb-info-page .ic-body .ic-rate-row__price{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(1.1rem, 2vw, 1.3rem);
  line-height: 1.1;
  color: var(--ink);
  white-space: nowrap;
}

.mb-info-page .ic-body .ic-rate-row__limit{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(1rem, 1.8vw, 1.15rem);
  line-height: 1.1;
  color: var(--ink);
  white-space: nowrap;
}

.mb-info-page .ic-body .ic-rate-row__limit.is-muted{
  color: var(--muted);
}

.mb-info-page .ic-body .ic-shipping-notes{
  display: grid;
  gap: clamp(1.75rem, 3.5vw, 2.5rem);
}

.mb-info-page .ic-body .ic-shipping-notes__block{
  display: grid;
  gap: var(--stack-cap-title);
}

.mb-info-page .ic-body .ic-shipping-notes .cap{
  color: var(--terracotta);
}

.mb-info-page .ic-body .ic-shipping-notes > p{
  margin: 0;
  color: var(--ink);
  font-size: var(--fs-body);
  line-height: 1.6;
  max-width: 62ch;
}

.mb-info-page .ic-body .ic-shipping-points{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.75rem;
  max-width: 62ch;
}

.mb-info-page .ic-body .ic-shipping-points li{
  position: relative;
  margin: 0;
  padding-left: 1.1rem;
  color: var(--ink);
  font-size: var(--fs-body);
  line-height: 1.6;
}

.mb-info-page .ic-body .ic-shipping-points li::before{
  content: '';
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 0.35rem;
  height: 0.35rem;
  background: var(--terracotta);
  border-radius: 50%;
}

.mb-info-page .ic-body .ic-shipping-lead{
  margin: 0;
  max-width: 62ch;
  font-size: var(--fs-body);
  line-height: 1.6;
  color: var(--ink);
}

.mb-info-page .ic-body .ic-shipping-lead strong{
  font-family: var(--sans);
  font-weight: 500;
  color: var(--ink);
}

.mb-info-page .ic-body .ic-zone-list{
  margin: 0;
  border-top: 1px solid var(--hairline);
}

.mb-info-page .ic-body .ic-zone-row{
  display: grid;
  grid-template-columns: minmax(11rem, 16rem) minmax(0, 1fr);
  gap: clamp(1rem, 2.5vw, 2rem);
  padding: 1rem 0;
  border-bottom: 1px solid var(--hairline);
  align-items: baseline;
}

.mb-info-page .ic-body .ic-zone-row:last-child{
  border-bottom: 0;
}

.mb-info-page .ic-body .ic-zone-row dt{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--muted);
  margin: 0;
}

.mb-info-page .ic-body .ic-zone-row dd{
  margin: 0;
  font-family: var(--sans);
  font-weight: 400;
  font-size: 0.9rem;
  letter-spacing: normal;
  text-transform: none;
  color: var(--ink);
  line-height: 1.6;
}

.mb-info-page .ic-body .ic-shipping-foot{
  padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
  border-top: 1px solid var(--hairline);
  display: grid;
  gap: 0.65rem;
  max-width: 62ch;
}

.mb-info-page .ic-body .ic-shipping-foot p{
  margin: 0;
  color: var(--ink);
  font-size: var(--fs-body);
  line-height: 1.6;
}

.mb-info-page .ic-body .ic-shipping-foot p:first-child{
  color: var(--muted);
}

.mb-info-page .ic-body .ic-shipping-foot__label{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--ink);
}

.mb-info-page .ic-body .ic-shipping-foot__sep{
  color: var(--hairline);
  padding-inline: 0.35rem;
}

@media (max-width: 720px){
  .mb-info-page .ic-body .ic-rate-table__head {
    display: none;
  }

  .mb-info-page .ic-body .ic-rate-row {
    grid-template-columns: 1fr;
    gap: 0.35rem;
    padding: 1.1rem 0;
  }

  .mb-info-page .ic-body .ic-rate-row__service {
    padding-right: 0;
  }

  .mb-info-page .ic-body .ic-rate-row__price,
  .mb-info-page .ic-body .ic-rate-row__limit {
    text-align: left;
  }

  .mb-info-page .ic-body .ic-rate-row__price::before,
  .mb-info-page .ic-body .ic-rate-row__limit::before {
    display: block;
    font-family: var(--sans-bold);
    font-weight: normal;
    font-size: var(--fs-cap);
    letter-spacing: var(--tracked);
    text-transform: uppercase;
    color: var(--terracotta);
    margin-bottom: 0.2rem;
  }

  .mb-info-page .ic-body .ic-rate-row__price::before {
    content: 'Price';
  }

  .mb-info-page .ic-body .ic-rate-row__limit::before {
    content: 'Free limit';
  }

  .mb-info-page .ic-body .ic-zone-row {
    grid-template-columns: 1fr;
    gap: 0.4rem;
  }
}

/* ── Amani Butterfly Project (ic-body amani-body) ── */

.mb-info-page .ic-body.amani-body{
  --fs-lead: clamp(1.08rem, 1.5vw, 1.24rem);
  --fs-h5: clamp(1.45rem, 2.2vw, 1.9rem);
  --fs-h3: clamp(2.45rem, 4.2vw, 4rem);
  --fs-h2: clamp(3rem, 7vw, 6.5rem);
}

.mb-info-page .ic-body.amani-body .amani-hero{
  position: relative;
  isolation: isolate;
  background: var(--moss-deep);
  color: var(--bone);
  border-bottom: 1px solid #000;
  overflow: hidden;
}

.mb-info-page .ic-body.amani-body .amani-hero::before{
  content: 'AMANI';
  position: absolute;
  left: 50%;
  bottom: -0.17em;
  transform: translateX(-50%);
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(7rem, 23vw, 22rem);
  line-height: 0.75;
  letter-spacing: -0.04em;
  color: transparent;
  -webkit-text-stroke: 1px rgba(242, 239, 228, 0.12);
  z-index: 0;
  white-space: nowrap;
  pointer-events: none;
}

.mb-info-page .ic-body.amani-body .amani-hero__grid{
  min-height: clamp(560px, 80vh, 820px);
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(330px, 0.9fr);
  gap: clamp(2rem, 5vw, 6rem);
  align-items: end;
  padding-block: clamp(4rem, 8vw, 8rem);
}

.mb-info-page .ic-body.amani-body .amani-hero__copy{
  position: relative;
  z-index: 1;
  padding-bottom: clamp(0.5rem, 2vw, 2rem);
}

.mb-info-page .ic-body.amani-body .amani-hero h1{
  font-size: var(--fs-h2);
  line-height: 0.86;
  letter-spacing: -0.035em;
  margin: 0.8rem 0 1.6rem;
  max-width: 9.5ch;
}

.mb-info-page .ic-body.amani-body .amani-hero h1 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--amber);
  letter-spacing: -0.03em;
}

.mb-info-page .ic-body.amani-body .amani-hero__lead{
  max-width: 58ch;
  margin: 0;
  color: rgba(242, 239, 228, 0.78);
  font-size: var(--fs-lead);
  line-height: 1.7;
}

.mb-info-page .ic-body.amani-body .amani-hero__panel{
  position: relative;
  z-index: 1;
  border: 1px solid rgba(242, 239, 228, 0.28);
  background: rgba(242, 239, 228, 0.07);
  backdrop-filter: blur(4px);
}

.mb-info-page .ic-body.amani-body .map-card{
  min-height: 430px;
  padding: 1.2rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
}

.mb-info-page .ic-body.amani-body .map-card svg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0.95;
}

.mb-info-page .ic-body.amani-body .map-card__top,
.mb-info-page .ic-body.amani-body .map-card__bottom{
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}

.mb-info-page .ic-body.amani-body .map-card__badge{
  background: var(--amber);
  color: var(--moss-deep);
  padding: 0.5rem 0.65rem;
  border: 1px solid rgba(18, 36, 24, 0.3);
}

.mb-info-page .ic-body.amani-body .map-card__coord{
  color: rgba(242, 239, 228, 0.62);
  text-align: right;
  line-height: 1.4;
}

.mb-info-page .ic-body.amani-body .map-card__title{
  position: relative;
  z-index: 2;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 0.95;
  max-width: 8ch;
}

.mb-info-page .ic-body.amani-body .map-card__title em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--amber);
}

.mb-info-page .ic-body.amani-body .stats-strip{
  background: var(--ink);
  color: var(--bone);
  border-block: 1px solid #000;
}

.mb-info-page .ic-body.amani-body .stats-strip__grid{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: rgba(242, 239, 228, 0.2);
}

.mb-info-page .ic-body.amani-body .stat{
  background: var(--ink);
  padding: 1.35rem;
}

.mb-info-page .ic-body.amani-body .stat strong{
  display: block;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(2rem, 4vw, 3.3rem);
  line-height: 0.9;
  color: var(--amber);
  letter-spacing: -0.03em;
}

.mb-info-page .ic-body.amani-body .stat span{
  display: block;
  margin-top: 0.65rem;
  color: rgba(242, 239, 228, 0.68);
  font-size: 0.82rem;
  line-height: 1.45;
}

.mb-info-page .ic-body.amani-body .section{
  border-bottom: 1px solid var(--rule);
  padding-block: var(--pad-sec);
}

.mb-info-page .ic-body.amani-body .section--paper{
  background: var(--paper);
}

.mb-info-page .ic-body.amani-body .section--bone2{
  background: var(--bone-2);
}

.mb-info-page .ic-body.amani-body .section--moss{
  background: var(--moss);
  color: var(--bone);
  border-color: var(--moss-deep);
}

.mb-info-page .ic-body.amani-body .section-banner{
  max-width: 820px;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.mb-info-page .ic-body.amani-body .section-banner h2{
  font-size: var(--fs-h3);
  line-height: 0.96;
  letter-spacing: -0.025em;
  margin: 0.8rem 0 1.2rem;
}

.mb-info-page .ic-body.amani-body .section-banner h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--terracotta);
}

.mb-info-page .ic-body.amani-body .section-banner p{
  margin: 0;
  color: var(--muted);
  font-size: var(--fs-lead);
  line-height: 1.65;
  max-width: 68ch;
}

.mb-info-page .ic-body.amani-body .section-inline{
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: clamp(1rem, 3vw, 2rem);
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--hairline);
}

.mb-info-page .ic-body.amani-body .section-inline h2{
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 0.98;
  letter-spacing: -0.025em;
}

.mb-info-page .ic-body.amani-body .section-inline h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--terracotta);
}

.mb-info-page .ic-body.amani-body .amani-lead{
  margin: 0 0 clamp(2rem, 4vw, 3rem);
  color: var(--muted);
  max-width: 68ch;
  font-size: var(--fs-lead);
  line-height: 1.65;
}

.mb-info-page .ic-body.amani-body .section__head--center{
  text-align: center;
  max-width: 680px;
  margin-inline: auto;
  margin-bottom: clamp(2rem, 4vw, 4rem);
}

.mb-info-page .ic-body.amani-body .section__head--center .ref{
  justify-content: center;
}

.mb-info-page .ic-body.amani-body .section__head--center h2{
  font-size: var(--fs-h3);
  line-height: 0.96;
  letter-spacing: -0.025em;
  margin: 0.8rem 0 1rem;
}

.mb-info-page .ic-body.amani-body .section__head--center h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--amber);
}

.mb-info-page .ic-body.amani-body .section__head--center p{
  margin: 0;
  color: rgba(242, 239, 228, 0.72);
  font-size: var(--fs-lead);
  line-height: 1.65;
}

.mb-info-page .ic-body.amani-body .section__head{
  display: grid;
  grid-template-columns: minmax(220px, 0.42fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
  margin-bottom: clamp(2rem, 4vw, 4rem);
}

.mb-info-page .ic-body.amani-body .section__head > div:first-child{
  grid-column: 1;
  grid-row: 1 / span 2;
}

.mb-info-page .ic-body.amani-body .section__head h2{
  grid-column: 2;
  font-size: var(--fs-h3);
  line-height: 0.96;
  letter-spacing: -0.025em;
}

.mb-info-page .ic-body.amani-body .section__head h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--terracotta);
}

.mb-info-page .ic-body.amani-body .section--moss .section__head h2 em{
  color: var(--amber);
}

.mb-info-page .ic-body.amani-body .section__head p{
  grid-column: 2;
  margin: 0;
  color: var(--muted);
  font-size: var(--fs-lead);
  line-height: 1.65;
  max-width: 68ch;
}

.mb-info-page .ic-body.amani-body .section--moss .section__head p{
  color: rgba(242, 239, 228, 0.72);
}

.mb-info-page .ic-body.amani-body .governance-list{
  border-top: 1px solid var(--rule);
}

.mb-info-page .ic-body.amani-body .gov-row{
  display: grid;
  grid-template-columns: clamp(110px, 14vw, 170px) minmax(0, 1fr);
  gap: clamp(1.25rem, 3vw, 2.5rem);
  padding: clamp(1.4rem, 2.5vw, 2rem) 0;
  border-bottom: 1px solid var(--hairline);
  align-items: baseline;
}

.mb-info-page .ic-body.amani-body .gov-row .cap{
  color: var(--muted);
}

.mb-info-page .ic-body.amani-body .gov-row h3{
  font-size: var(--fs-h5);
  line-height: 1.05;
}

.mb-info-page .ic-body.amani-body .gov-row p{
  margin: 0;
  color: var(--muted);
  max-width: 62ch;
  font-size: 0.95rem;
}

.mb-info-page .ic-body.amani-body .mission-callout{
  margin-top: clamp(2rem, 4vw, 3rem);
  padding: clamp(1.8rem, 4vw, 3rem);
  background: var(--moss-deep);
  color: var(--bone);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(1rem, 3vw, 2rem);
  align-items: center;
}

.mb-info-page .ic-body.amani-body .mission-callout__mark{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(3rem, 6vw, 5rem);
  line-height: 0.75;
  color: var(--amber);
}

.mb-info-page .ic-body.amani-body .mission-callout p{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(1.5rem, 2.8vw, 2.4rem);
  line-height: 1.08;
  margin: 0;
  letter-spacing: -0.02em;
}

.mb-info-page .ic-body.amani-body .mission-callout p em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--amber);
}

.mb-info-page .ic-body.amani-body .flow{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(1rem, 2.5vw, 2rem);
  position: relative;
  padding-top: 2.5rem;
}

.mb-info-page .ic-body.amani-body .flow::before{
  content: '';
  position: absolute;
  top: 2.5rem;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--rule);
  z-index: 0;
}

.mb-info-page .ic-body.amani-body .flow__item{
  margin: 0;
  min-width: 0;
  min-height: 0;
  padding: 0 clamp(0.5rem, 1.5vw, 1.4rem) 0 0;
  position: relative;
  z-index: 1;
}

.mb-info-page .ic-body.amani-body .flow__num{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 1.35rem;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  color: var(--terracotta);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  background: var(--bone);
  border: 1px solid var(--rule);
  margin: 0 0 0.85rem;
  position: relative;
  top: -1.25rem;
  box-sizing: border-box;
}

.mb-info-page .ic-body.amani-body .flow__item h3{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 1.25rem;
  line-height: 1.15;
  margin: 0 0 0.6rem;
}

.mb-info-page .ic-body.amani-body .flow__item p{
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.55;
  padding-right: 0;
}

.mb-info-page .ic-body.amani-body .value-strip{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: rgba(242, 239, 228, 0.22);
  border: 1px solid rgba(242, 239, 228, 0.22);
}

.mb-info-page .ic-body.amani-body .value-card{
  background: var(--moss);
  padding: clamp(1.5rem, 3vw, 2.5rem);
}

.mb-info-page .ic-body.amani-body .value-card strong{
  display: block;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(2.2rem, 4vw, 4rem);
  color: var(--amber);
  line-height: 0.9;
}

.mb-info-page .ic-body.amani-body .value-card h3{
  font-size: var(--fs-h5);
  margin: 1.2rem 0 0.75rem;
}

.mb-info-page .ic-body.amani-body .value-card p{
  margin: 0;
  color: rgba(242, 239, 228, 0.72);
}

.mb-info-page .ic-body.amani-body .split{
  display: grid;
  grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1.25fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}

.mb-info-page .ic-body.amani-body .stake-figure{
  position: relative;
  margin: 0;
  border: 1px solid var(--rule);
  overflow: hidden;
  background: var(--bone);
}

.mb-info-page .ic-body.amani-body .stake-figure img{
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(0.93) contrast(1.04);
}

.mb-info-page .ic-body.amani-body .stake-figure__pull{
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  margin: 0;
  padding: 1.2rem 1.3rem;
  background: var(--moss-deep);
  color: var(--bone);
  border: 1px solid rgba(242, 239, 228, 0.24);
}

.mb-info-page .ic-body.amani-body .stake-figure__pull h3{
  font-size: var(--fs-h5);
  line-height: 1.05;
  margin: 0 0 0.65rem;
}

.mb-info-page .ic-body.amani-body .stake-figure__pull p{
  margin: 0;
  color: rgba(242, 239, 228, 0.72);
  font-size: 0.92rem;
}

.mb-info-page .ic-body.amani-body .text-stack{
  display: grid;
  gap: 1.2rem;
}

.mb-info-page .ic-body.amani-body .text-stack p{
  margin: 0;
  color: var(--muted);
  max-width: 70ch;
}

.mb-info-page .ic-body.amani-body .text-stack p:first-of-type{
  font-size: var(--fs-lead);
  color: var(--ink);
}

.mb-info-page .ic-body.amani-body .conservation-featured{
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  grid-template-rows: auto auto;
  gap: 1px;
  background: var(--hairline);
  border: 1px solid var(--hairline);
}

.mb-info-page .ic-body.amani-body .conservation-card--lead{
  grid-row: 1 / 3;
  background: var(--moss-deep);
  color: var(--bone);
  padding: clamp(2rem, 4vw, 3rem);
  min-height: 320px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.mb-info-page .ic-body.amani-body .conservation-card--lead h3{
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.02;
  margin: 1rem 0;
}

.mb-info-page .ic-body.amani-body .conservation-card--lead p{
  color: rgba(242, 239, 228, 0.72);
  margin: 0;
  max-width: 48ch;
}

.mb-info-page .ic-body.amani-body .conservation-card{
  background: var(--bone);
  padding: 1.5rem;
}

.mb-info-page .ic-body.amani-body .conservation-card--accent{
  background: var(--terracotta);
  color: var(--bone);
}

.mb-info-page .ic-body.amani-body .conservation-card--accent p{
  color: rgba(242, 239, 228, 0.82);
}

.mb-info-page .ic-body.amani-body .conservation-card h3{
  font-size: var(--fs-h5);
  line-height: 1.05;
  margin: 1rem 0 0.75rem;
}

.mb-info-page .ic-body.amani-body .conservation-card p{
  margin: 0;
  color: var(--muted);
  font-size: 0.94rem;
}

.mb-info-page .ic-body.amani-body .detail-list{
  border-top: 1px solid var(--rule);
}

.mb-info-page .ic-body.amani-body .detail-row{
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 2rem;
  border-bottom: 1px solid var(--hairline);
  padding: 1.25rem 0;
}

.mb-info-page .ic-body.amani-body .detail-row h3{
  font-size: 1.35rem;
  line-height: 1.1;
}

.mb-info-page .ic-body.amani-body .detail-row p{
  margin: 0;
  color: var(--muted);
  max-width: 78ch;
}

.mb-info-page .ic-body.amani-body .closing{
  background: var(--moss-deep);
  color: var(--bone);
  padding-block: var(--pad-sec);
  border-bottom: none;
}

.mb-info-page .ic-body.amani-body .closing__box{
  border: 1px solid rgba(242, 239, 228, 0.28);
  padding: clamp(2rem, 5vw, 4rem);
  background: rgba(242, 239, 228, 0.04);
}

.mb-info-page .ic-body.amani-body .closing h2{
  font-size: var(--fs-h3);
  line-height: 0.96;
  letter-spacing: -0.025em;
}

.mb-info-page .ic-body.amani-body .closing h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--amber);
}

.mb-info-page .ic-body.amani-body .closing p{
  margin: 1.2rem 0 0;
  color: rgba(242, 239, 228, 0.72);
  max-width: 72ch;
}

@media (max-width: 1000px){
  .mb-info-page .ic-body.amani-body .amani-hero__grid,
  .mb-info-page .ic-body.amani-body .section__head,
  .mb-info-page .ic-body.amani-body .split {
    grid-template-columns: 1fr;
  }

  .mb-info-page .ic-body.amani-body .section__head > div:first-child,
  .mb-info-page .ic-body.amani-body .section__head h2,
  .mb-info-page .ic-body.amani-body .section__head p {
    grid-column: auto;
    grid-row: auto;
  }

  .mb-info-page .ic-body.amani-body .stats-strip__grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .mb-info-page .ic-body.amani-body .flow {
    grid-template-columns: repeat(2, 1fr);
  }

  .mb-info-page .ic-body.amani-body .flow::before {
    display: none;
  }

  .mb-info-page .ic-body.amani-body .flow__num {
    top: 0;
    margin-bottom: 0.75rem;
  }

  .mb-info-page .ic-body.amani-body .value-strip,
  .mb-info-page .ic-body.amani-body .conservation-featured {
    grid-template-columns: 1fr;
  }

  .mb-info-page .ic-body.amani-body .conservation-card--lead {
    grid-row: auto;
  }

  .mb-info-page .ic-body.amani-body .amani-hero__panel {
    max-width: 620px;
  }

  .mb-info-page .ic-body.amani-body .amani-hero__grid {
    min-height: auto;
  }

  .mb-info-page .ic-body.amani-body .section-inline {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 680px){
  .mb-info-page .ic-body.amani-body .amani-hero__grid {
    padding-block: 3.5rem;
  }

  .mb-info-page .ic-body.amani-body .map-card {
    min-height: 330px;
  }

  .mb-info-page .ic-body.amani-body .stats-strip__grid,
  .mb-info-page .ic-body.amani-body .flow,
  .mb-info-page .ic-body.amani-body .value-strip,
  .mb-info-page .ic-body.amani-body .conservation-featured {
    grid-template-columns: 1fr;
  }

  .mb-info-page .ic-body.amani-body .gov-row {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .mb-info-page .ic-body.amani-body .mission-callout {
    grid-template-columns: 1fr;
  }

  .mb-info-page .ic-body.amani-body .stake-figure img {
    aspect-ratio: 16 / 10;
  }

  .mb-info-page .ic-body.amani-body .detail-row {
    grid-template-columns: 1fr;
    gap: 0.7rem;
  }

  .mb-info-page .ic-body.amani-body .stat {
    padding: 1.15rem;
  }

  .mb-info-page .ic-body.amani-body .section {
    padding-block: 3.25rem;
  }
}

/* ── Kipepeo Butterfly Project (ic-body kipepeo-body) ── */

.mb-info-page .ic-body.kipepeo-body{
  --fs-lead: clamp(1.08rem, 1.4vw, 1.26rem);
  --fs-h5: clamp(1.35rem, 2vw, 1.7rem);
  --fs-h1: clamp(3.15rem, 8vw, 8rem);
  overflow: hidden;
}

.mb-info-page .ic-body.kipepeo-body .hero{
  border-bottom: 1px solid var(--rule);
  min-height: min(780px, 92vh);
  display: grid;
  align-items: stretch;
}

.mb-info-page .ic-body.kipepeo-body .hero__grid{
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(360px, 0.97fr);
  min-height: inherit;
}

.mb-info-page .ic-body.kipepeo-body .hero__copy{
  padding: clamp(3rem, 8vw, 8rem) var(--gutter) clamp(3rem, 6vw, 5rem) 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(3rem, 8vw, 7rem);
}

.mb-info-page .ic-body.kipepeo-body .hero__copy-inner{
  max-width: 780px;
}

.mb-info-page .ic-body.kipepeo-body .hero__eyebrow{
  color: var(--terracotta);
  margin: 0 0 clamp(1.2rem, 2.6vw, 2rem);
}

.mb-info-page .ic-body.kipepeo-body .hero h1{
  font-size: var(--fs-h1);
  line-height: 0.88;
  letter-spacing: -0.035em;
}

.mb-info-page .ic-body.kipepeo-body .hero h1 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
  letter-spacing: -0.02em;
}

.mb-info-page .ic-body.kipepeo-body .hero__lead{
  margin: clamp(1.5rem, 3vw, 2.5rem) 0 0;
  max-width: 60ch;
  font-size: var(--fs-lead);
  color: var(--muted);
}

.mb-info-page .ic-body.kipepeo-body .hero__meta{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--rule);
}

.mb-info-page .ic-body.kipepeo-body .hero__meta div{
  padding: 1rem;
  border-right: 1px solid var(--rule);
}

.mb-info-page .ic-body.kipepeo-body .hero__meta strong{
  display: block;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 1.55rem;
  line-height: 1;
  color: var(--moss);
}

.mb-info-page .ic-body.kipepeo-body .hero__visual{
  background: var(--moss-deep);
  color: var(--bone);
  border-left: 1px solid var(--rule);
  border-right: 1px solid var(--rule);
  position: relative;
  padding: 0;
  display: flex;
  align-items: stretch;
  min-height: 100%;
  isolation: isolate;
}

.mb-info-page .ic-body.kipepeo-body .hero__visual::before{
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 20%, rgba(216, 164, 90, 0.14), transparent 26%),
    radial-gradient(circle at 80% 55%, rgba(194, 97, 58, 0.13), transparent 30%),
    linear-gradient(135deg, rgba(242, 239, 228, 0.04), transparent 40%);
  z-index: 0;
  pointer-events: none;
}

.mb-info-page .ic-body.kipepeo-body .figure-card{
  position: relative;
  z-index: 1;
  width: 100%;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background: var(--bone);
  color: var(--ink);
  border: 0;
  box-shadow: none;
}

.mb-info-page .ic-body.kipepeo-body .figure-card__top{
  padding: 1rem 1.2rem;
  border-bottom: 1px solid rgba(242, 239, 228, 0.18);
  background: var(--moss-deep);
  color: var(--bone);
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
}

.mb-info-page .ic-body.kipepeo-body .figure-card__top .micro{
  color: rgba(242, 239, 228, 0.62);
}

.mb-info-page .ic-body.kipepeo-body .figure-card__body{
  padding: clamp(1rem, 2vw, 1.5rem);
  background: var(--paper);
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.mb-info-page .ic-body.kipepeo-body .map-plate{
  flex: 1;
  min-height: clamp(280px, 38vh, 460px);
  aspect-ratio: auto;
  border: 1px solid var(--hairline);
  background: var(--bone);
  position: relative;
  overflow: hidden;
}

.mb-info-page .ic-body.kipepeo-body .map-plate svg{
  width: 100%;
  height: 100%;
}

.mb-info-page .ic-body.kipepeo-body .map-label{
  position: absolute;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--moss-deep);
  line-height: 1;
}

.mb-info-page .ic-body.kipepeo-body .map-label--kenya{
  top: 12%;
  right: 14%;
  font-size: 2rem;
  letter-spacing: 0.28em;
}

.mb-info-page .ic-body.kipepeo-body .map-label--forest{
  top: 40%;
  left: 15%;
  font-size: 2.1rem;
  color: var(--moss);
}

.mb-info-page .ic-body.kipepeo-body .map-label--coast{
  bottom: 18%;
  right: 14%;
  font-size: 1.1rem;
  letter-spacing: 0.12em;
}

.mb-info-page .ic-body.kipepeo-body .map-plate__source{
  position: absolute;
  right: 1rem;
  bottom: 0.75rem;
  color: var(--muted);
}

.mb-info-page .ic-body.kipepeo-body .figure-card__caption{
  padding: 1rem 1.2rem;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.9rem;
  align-items: start;
  border-top: 1px solid var(--hairline);
  background: var(--bone);
}

.mb-info-page .ic-body.kipepeo-body .figure-card__mark{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 2.2rem;
  line-height: 0.8;
  color: var(--terracotta);
}

.mb-info-page .ic-body.kipepeo-body .figure-card__text{
  margin: 0;
  color: var(--muted);
}

.mb-info-page .ic-body.kipepeo-body .lede{
  padding-block: var(--pad-sec);
  border-bottom: 1px solid var(--rule);
  background: var(--paper);
}

.mb-info-page .ic-body.kipepeo-body .lede__inner{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: start;
}

.mb-info-page .ic-body.kipepeo-body .lede h2{
  font-size: var(--fs-h2);
  line-height: 0.95;
  letter-spacing: -0.025em;
  margin: 0 0 clamp(1.5rem, 3vw, 2.5rem);
  max-width: 14ch;
}

.mb-info-page .ic-body.kipepeo-body .lede h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--terracotta);
}

.mb-info-page .ic-body.kipepeo-body .lede__prose p{
  margin: 0 0 1.2rem;
  color: var(--muted);
  max-width: 72ch;
}

.mb-info-page .ic-body.kipepeo-body .lede__prose p:first-child{
  font-size: var(--fs-lead);
  color: var(--ink);
}

.mb-info-page .ic-body.kipepeo-body .pull-quote{
  border-left: 3px solid var(--terracotta);
  padding: 1.2rem 0 1.2rem 1.5rem;
  background: var(--bone);
}

.mb-info-page .ic-body.kipepeo-body .pull-quote h3{
  font-size: var(--fs-h5);
  line-height: 1.08;
  margin: 0 0 0.85rem;
}

.mb-info-page .ic-body.kipepeo-body .pull-quote p{
  margin: 0;
  color: var(--muted);
  font-size: 0.95rem;
}

.mb-info-page .ic-body.kipepeo-body .features{
  border-bottom: 1px solid var(--rule);
}

.mb-info-page .ic-body.kipepeo-body .features__head{
  padding-block: var(--pad-sec) clamp(2rem, 4vw, 3rem);
  background: var(--bone);
}

.mb-info-page .ic-body.kipepeo-body .features__head h2{
  font-size: var(--fs-h2);
  line-height: 0.95;
  letter-spacing: -0.025em;
  margin: 0.6rem 0 0;
  max-width: 16ch;
}

.mb-info-page .ic-body.kipepeo-body .features__head h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--terracotta);
}

.mb-info-page .ic-body.kipepeo-body .feature-row{
  display: grid;
  grid-template-columns: clamp(3rem, 6vw, 5rem) minmax(0, 1fr);
  gap: clamp(1.5rem, 3vw, 2.5rem);
  padding: clamp(2rem, 4vw, 3rem) 0;
  border-top: 1px solid var(--rule);
  align-items: start;
}

.mb-info-page .ic-body.kipepeo-body .feature-row__num{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(2.4rem, 5vw, 3.8rem);
  line-height: 0.85;
  color: var(--terracotta);
  padding-top: 0.15rem;
}

.mb-info-page .ic-body.kipepeo-body .feature-row h3{
  font-size: var(--fs-h5);
  line-height: 1.05;
  margin: 0 0 0.75rem;
}

.mb-info-page .ic-body.kipepeo-body .feature-row p{
  margin: 0;
  color: var(--muted);
  max-width: 68ch;
}

.mb-info-page .ic-body.kipepeo-body .quote-band{
  background: var(--moss);
  color: var(--bone);
  border-bottom: 1px solid #000;
}

.mb-info-page .ic-body.kipepeo-body .quote-band__inner{
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 5rem);
  padding-block: var(--pad-sec);
  align-items: center;
}

.mb-info-page .ic-body.kipepeo-body .quote-band__media{
  margin: 0;
  border: 1px solid rgba(242, 239, 228, 0.28);
  overflow: hidden;
  background: var(--moss-deep);
}

.mb-info-page .ic-body.kipepeo-body .quote-band__media img{
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(0.92) contrast(1.05);
}

.mb-info-page .ic-body.kipepeo-body .quote-band blockquote{
  margin: 0;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1;
  letter-spacing: -0.025em;
  max-width: 14ch;
}

.mb-info-page .ic-body.kipepeo-body .quote-band blockquote em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--amber);
}

.mb-info-page .ic-body.kipepeo-body .quote-band p{
  margin: 0;
  max-width: 68ch;
  color: rgba(242, 239, 228, 0.78);
  font-size: var(--fs-lead);
}

.mb-info-page .ic-body.kipepeo-body .impact{
  padding-block: var(--pad-sec);
  border-bottom: 1px solid var(--rule);
  background: var(--paper);
}

.mb-info-page .ic-body.kipepeo-body .impact__head{
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
  max-width: 720px;
}

.mb-info-page .ic-body.kipepeo-body .impact__head h2{
  font-size: var(--fs-h2);
  line-height: 0.95;
  letter-spacing: -0.025em;
  margin: 0.6rem 0 1.2rem;
}

.mb-info-page .ic-body.kipepeo-body .impact__head h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--terracotta);
}

.mb-info-page .ic-body.kipepeo-body .impact__head p{
  margin: 0;
  color: var(--muted);
  font-size: var(--fs-lead);
  max-width: 68ch;
}

.mb-info-page .ic-body.kipepeo-body .impact__body{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.mb-info-page .ic-body.kipepeo-body .impact__body p{
  margin: 0 0 1.1rem;
  color: var(--muted);
}

.mb-info-page .ic-body.kipepeo-body .impact__body p:first-child{
  font-size: var(--fs-lead);
  color: var(--ink);
}

.mb-info-page .ic-body.kipepeo-body .metrics-inline{
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid var(--rule);
  border-left: 1px solid var(--rule);
}

.mb-info-page .ic-body.kipepeo-body .metrics-inline .metric{
  flex: 1 1 200px;
  border-right: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  padding: clamp(1.2rem, 2.4vw, 2rem);
  background: var(--bone);
}

.mb-info-page .ic-body.kipepeo-body .metric strong{
  display: block;
  font-family: var(--serif);
  font-variation-settings: 'wght' 4with cat thumb00;
  font-weight: normal;
  font-size: clamp(2rem, 4.2vw, 4rem);
  line-height: 0.88;
  color: var(--moss);
}

.mb-info-page .ic-body.kipepeo-body .metric span{
  display: block;
  margin-top: 0.8rem;
  color: var(--muted);
}

.mb-info-page .ic-body.kipepeo-body .section{
  padding-block: var(--pad-sec);
  border-bottom: 1px solid var(--rule);
}

.mb-info-page .ic-body.kipepeo-body .section--dark{
  background: var(--moss-deep);
  color: var(--bone);
  border-color: #000;
}

.mb-info-page .ic-body.kipepeo-body .section--dark .section__label{
  color: var(--amber);
}

.mb-info-page .ic-body.kipepeo-body .section__head--compact{
  margin-bottom: clamp(2rem, 4vw, 3rem);
  max-width: 780px;
}

.mb-info-page .ic-body.kipepeo-body .section__head--compact h2{
  font-size: var(--fs-h2);
  line-height: 0.95;
  letter-spacing: -0.025em;
  margin: 0.6rem 0 0;
}

.mb-info-page .ic-body.kipepeo-body .section__head--compact h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--amber);
}

.mb-info-page .ic-body.kipepeo-body .dark-prose{
  max-width: 78ch;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.mb-info-page .ic-body.kipepeo-body .dark-prose p{
  margin: 0 0 1.1rem;
  color: rgba(242, 239, 228, 0.72);
}

.mb-info-page .ic-body.kipepeo-body .dark-prose p:first-child{
  font-size: var(--fs-lead);
  color: var(--bone);
}

.mb-info-page .ic-body.kipepeo-body .timeline{
  border-top: 1px solid rgba(242, 239, 228, 0.3);
}

.mb-info-page .ic-body.kipepeo-body .timeline__item{
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 2rem;
  padding: 1.5rem 0;
  border-bottom: 1px solid rgba(242, 239, 228, 0.22);
}

.mb-info-page .ic-body.kipepeo-body .timeline__year{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 2rem;
  line-height: 1;
  color: var(--amber);
}

.mb-info-page .ic-body.kipepeo-body .timeline__copy{
  max-width: 78ch;
  color: rgba(242, 239, 228, 0.74);
}

.mb-info-page .ic-body.kipepeo-body .timeline__copy strong{
  color: var(--bone);
  font-weight: 500;
}

@media (max-width: 980px){
  .mb-info-page .ic-body.kipepeo-body .hero__grid,
  .mb-info-page .ic-body.kipepeo-body .lede__inner,
  .mb-info-page .ic-body.kipepeo-body .impact__body,
  .mb-info-page .ic-body.kipepeo-body .quote-band__inner {
    grid-template-columns: 1fr;
  }

  .mb-info-page .ic-body.kipepeo-body .hero__copy {
    padding-right: 0;
  }

  .mb-info-page .ic-body.kipepeo-body .hero__visual {
    border-left: 0;
    border-top: 1px solid var(--rule);
    min-height: auto;
  }

  .mb-info-page .ic-body.kipepeo-body .map-plate {
    min-height: 320px;
    aspect-ratio: 1 / 1;
  }

  .mb-info-page .ic-body.kipepeo-body .metrics-inline {
    flex-direction: column;
  }
}

@media (max-width: 620px){
  .mb-info-page .ic-body.kipepeo-body .hero {
    min-height: auto;
  }

  .mb-info-page .ic-body.kipepeo-body .hero__meta {
    grid-template-columns: 1fr;
  }

  .mb-info-page .ic-body.kipepeo-body .hero__copy {
    gap: 2.4rem;
  }

  .mb-info-page .ic-body.kipepeo-body .timeline__item {
    grid-template-columns: 1fr;
    gap: 0.6rem;
  }

  .mb-info-page .ic-body.kipepeo-body .map-label--kenya {
    font-size: 1.2rem;
  }

  .mb-info-page .ic-body.kipepeo-body .map-label--forest {
    font-size: 1.35rem;
  }

  .mb-info-page .ic-body.kipepeo-body .figure-card__caption {
    grid-template-columns: 1fr;
  }
}

/* ── Farming Butterflies to Save the Rainforests (ic-body farms-body) ── */

.mb-info-page .ic-body.farms-body{
  --bf-ink: #122418;
  --bf-shadow: 0 30px 90px rgba(18, 36, 24, 0.16);
  --fs-h1: clamp(3.15rem, 8vw, 8rem);
  --fs-lead: clamp(1.05rem, 1.5vw, 1.25rem);
}

.mb-info-page .ic-body.farms-body .bf-hero{
  border-bottom: 1px solid var(--rule);
  background: var(--bone);
  padding-block: clamp(2rem, 4vw, 3rem);
}

.mb-info-page .ic-body.farms-body .bf-hero-split{
  display: grid;
  grid-template-columns: 1.08fr 1fr;
  border: 1px solid var(--rule);
  background: var(--moss-deep);
  color: var(--bone);
  min-height: clamp(480px, 72vh, 780px);
}

.mb-info-page .ic-body.farms-body .bf-hero-split__media{
  position: relative;
  overflow: hidden;
}

.mb-info-page .ic-body.farms-body .bf-hero-split__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 55%;
  min-height: 320px;
  filter: saturate(0.97) contrast(1.03);
}

.mb-info-page .ic-body.farms-body .bf-hero-split__media::after{
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 70%, rgba(18, 36, 24, 0.35));
}

.mb-info-page .ic-body.farms-body .bf-hero-split__plate{
  position: absolute;
  left: 1rem;
  top: 1rem;
  right: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(1.25rem, 3vw, 2.5rem);
  flex-wrap: wrap;
  background: rgba(18, 36, 24, 0.88);
  padding: 0.75rem 1rem;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: rgba(242, 239, 228, 0.75);
}

.mb-info-page .ic-body.farms-body .bf-hero-split__plate .italic{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  text-transform: none;
  font-size: 0.9rem;
  letter-spacing: 0;
  color: var(--bone);
  text-align: center;
}

.mb-info-page .ic-body.farms-body .bf-hero-split__copy{
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 5vw, 4rem);
  border-left: 1px solid rgba(242, 239, 228, 0.15);
}

.mb-info-page .ic-body.farms-body .bf-hero-split__copy > .cap{
  color: var(--amber);
}

.mb-info-page .ic-body.farms-body .bf-hero h1{
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-size: clamp(2.6rem, 5vw, 4.8rem);
  line-height: 0.92;
  letter-spacing: -0.01em;
  margin: 1rem 0 0;
  color: var(--bone);
}

.mb-info-page .ic-body.farms-body .bf-hero h1 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  font-style: italic;
  color: var(--amber);
}

.mb-info-page .ic-body.farms-body .bf-hero__dek{
  max-width: 38ch;
  font-size: var(--fs-lead);
  margin: 1.5rem 0 0;
  color: rgba(242, 239, 228, 0.85);
  line-height: 1.55;
}

.mb-info-page .ic-body.farms-body .bf-hero__byline{
  margin: 0.75rem 0 0;
  max-width: 38ch;
  font-size: 0.82rem;
  color: rgba(242, 239, 228, 0.62);
  letter-spacing: 0.04em;
}

.mb-info-page .ic-body.farms-body .bf-hero-split__chips{
  margin-top: 2rem;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(242, 239, 228, 0.22);
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.mb-info-page .ic-body.farms-body .bf-hero-split__chips span{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  border: 1px solid rgba(242, 239, 228, 0.35);
  padding: 0.45em 0.75em;
}

.mb-info-page .ic-body.farms-body .bf-pill{
  border: 1px solid rgba(242, 239, 228, 0.35);
  border-radius: 999px;
  padding: 0.58rem 0.8rem;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: rgba(242, 239, 228, 0.78);
}

.mb-info-page .ic-body.farms-body .bf-section{
  padding-block: var(--pad-sec);
  border-bottom: 1px solid var(--rule);
}

.mb-info-page .ic-body.farms-body .bf-section--paper{
  background: var(--paper);
}

.mb-info-page .ic-body.farms-body .bf-section--moss{
  background: var(--moss);
  color: var(--bone);
  border-color: rgba(242, 239, 228, 0.14);
}

.mb-info-page .ic-body.farms-body .bf-section--dark{
  background: var(--moss-deep);
  color: var(--bone);
  border-color: rgba(242, 239, 228, 0.14);
}

.mb-info-page .ic-body.farms-body .bf-section__head{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 560px);
  gap: clamp(2rem, 5vw, 6rem);
  align-items: end;
  margin-bottom: clamp(2rem, 5vw, 4rem);
}

.mb-info-page .ic-body.farms-body .bf-section__label{
  color: var(--terracotta);
  margin: 0 0 1rem;
}

.mb-info-page .ic-body.farms-body .bf-section--moss .bf-section__label,
.mb-info-page .ic-body.farms-body .bf-section--dark .bf-section__label{
  color: var(--amber);
}

.mb-info-page .ic-body.farms-body .bf-section__head h2{
  font-size: clamp(2.55rem, 5.8vw, 6rem);
  line-height: 0.92;
  letter-spacing: -0.03em;
}

.mb-info-page .ic-body.farms-body .bf-section__head h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--terracotta);
}

.mb-info-page .ic-body.farms-body .bf-section--moss .bf-section__head h2 em,
.mb-info-page .ic-body.farms-body .bf-section--dark .bf-section__head h2 em{
  color: var(--amber);
}

.mb-info-page .ic-body.farms-body .bf-lead{
  font-size: var(--fs-lead);
  color: var(--muted);
  margin: 0;
  max-width: 62ch;
  line-height: 1.6;
}

.mb-info-page .ic-body.farms-body .bf-section--moss .bf-lead,
.mb-info-page .ic-body.farms-body .bf-section--dark .bf-lead{
  color: rgba(242, 239, 228, 0.72);
}

.mb-info-page .ic-body.farms-body .bf-editorial{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 46%);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}

.mb-info-page .ic-body.farms-body .bf-editorial--flip{
  grid-template-columns: minmax(320px, 46%) minmax(0, 1fr);
}

.mb-info-page .ic-body.farms-body .bf-editorial--spaced{
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

.mb-info-page .ic-body.farms-body .bf-copy p{
  margin: 0 0 1.25rem;
  color: var(--muted);
  max-width: 72ch;
}

.mb-info-page .ic-body.farms-body .bf-copy p:last-child{
  margin-bottom: 0;
}

.mb-info-page .ic-body.farms-body .bf-section--moss .bf-copy p{
  color: rgba(242, 239, 228, 0.72);
}

.mb-info-page .ic-body.farms-body .bf-copy--drop p:first-child::first-letter{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 5.5rem;
  float: left;
  line-height: 0.78;
  margin: 0.12rem 0.5rem 0 0;
  color: var(--terracotta);
}

.mb-info-page .ic-body.farms-body .bf-image-card{
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--bone);
  border: 1px solid var(--rule);
  box-shadow: var(--bf-shadow);
  overflow: hidden;
  margin: 0;
}

.mb-info-page .ic-body.farms-body .bf-section--moss .bf-image-card,
.mb-info-page .ic-body.farms-body .bf-section--dark .bf-image-card{
  border-color: rgba(242, 239, 228, 0.28);
  background: var(--bone);
}

.mb-info-page .ic-body.farms-body .bf-image-card img{
  width: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
  background: var(--bone);
}

.mb-info-page .ic-body.farms-body .bf-image-card--ratio img{
  aspect-ratio: 4 / 3;
}

.mb-info-page .ic-body.farms-body .bf-image-card--wide img{
  aspect-ratio: 16 / 9;
}

.mb-info-page .ic-body.farms-body .bf-image-card:not(.bf-image-card--ratio):not(.bf-image-card--wide) img{
  height: auto;
}

.mb-info-page .ic-body.farms-body .bf-section--moss .bf-copy p{
  color: rgba(242, 239, 228, 0.72);
}

.mb-info-page .ic-body.farms-body .bf-cards{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
  margin-top: 2rem;
}

.mb-info-page .ic-body.farms-body .bf-card{
  background: var(--bone);
  padding: 1.5rem;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.mb-info-page .ic-body.farms-body .bf-card__num{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 2.5rem;
  line-height: 0.8;
  color: var(--terracotta);
}

.mb-info-page .ic-body.farms-body .bf-card h3{
  font-size: 1.55rem;
  line-height: 1.08;
}

.mb-info-page .ic-body.farms-body .bf-card p{
  margin: 0;
  color: var(--muted);
  font-size: 0.95rem;
}

.mb-info-page .ic-body.farms-body .bf-dark-intro{
  max-width: 850px;
  margin-bottom: 2rem;
}

.mb-info-page .ic-body.farms-body .bf-recommendations{
  counter-reset: bf-rec;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 1px;
  background: rgba(242, 239, 228, 0.22);
  border: 1px solid rgba(242, 239, 228, 0.22);
}

.mb-info-page .ic-body.farms-body .bf-rec{
  counter-increment: bf-rec;
  background: rgba(242, 239, 228, 0.08);
  padding: 1.2rem;
  min-height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
}

.mb-info-page .ic-body.farms-body .bf-rec::before{
  content: counter(bf-rec, decimal-leading-zero);
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 2rem;
  line-height: 1;
  color: var(--amber);
}

.mb-info-page .ic-body.farms-body .bf-rec span{
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  line-height: 1.4;
  text-transform: uppercase;
  color: rgba(242, 239, 228, 0.86);
}

.mb-info-page .ic-body.farms-body .bf-image-card__spec{
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 2;
  background: var(--bone);
  color: var(--ink);
  border: 1px solid var(--rule);
  padding: 0.35rem 0.55rem;
}

.mb-info-page .ic-body.farms-body .bf-image-card figcaption{
  position: static;
  padding: 0.8rem 1rem;
  background: var(--moss-deep);
  border-top: 1px solid var(--rule);
  color: var(--bone);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.mb-info-page .ic-body.farms-body .bf-quote-band{
  background: var(--terracotta);
  color: var(--bone);
  border-block: 1px solid #9e4e2e;
  padding-block: clamp(3rem, 7vw, 6rem);
}

.mb-info-page .ic-body.farms-body .bf-quote-band blockquote{
  margin: 0;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(2rem, 5vw, 5rem);
  line-height: 0.98;
  letter-spacing: -0.02em;
  max-width: 1130px;
}

.mb-info-page .ic-body.farms-body .bf-quote-band blockquote::before{
  content: '\201C';
}

.mb-info-page .ic-body.farms-body .bf-quote-band blockquote::after{
  content: '\201D';
}

.mb-info-page .ic-body.farms-body .bf-quote-band cite{
  display: block;
  margin-top: 1.5rem;
  font-style: normal;
  color: rgba(242, 239, 228, 0.76);
}

.mb-info-page .ic-body.farms-body .bf-stat-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
  margin-top: clamp(2rem, 4vw, 3rem);
}

.mb-info-page .ic-body.farms-body .bf-stat{
  background: var(--bone);
  padding: 1.3rem;
}

.mb-info-page .ic-body.farms-body .bf-stat strong{
  display: block;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(2rem, 4vw, 4.6rem);
  line-height: 0.9;
  color: var(--terracotta);
}

.mb-info-page .ic-body.farms-body .bf-stat span{
  display: block;
  margin-top: 0.8rem;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: var(--muted);
  line-height: 1.4;
}

.mb-info-page .ic-body.farms-body .bf-method-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(242, 239, 228, 0.22);
  border: 1px solid rgba(242, 239, 228, 0.22);
  margin-bottom: 0;
}

.mb-info-page .ic-body.farms-body .bf-method-card{
  background: rgba(242, 239, 228, 0.08);
  padding: 1.5rem;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.mb-info-page .ic-body.farms-body .bf-method-card__num{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 2.5rem;
  line-height: 0.8;
  color: var(--amber);
}

.mb-info-page .ic-body.farms-body .bf-method-card h3{
  font-size: 1.55rem;
  line-height: 1.08;
}

.mb-info-page .ic-body.farms-body .bf-method-card p{
  margin: 0;
  color: rgba(242, 239, 228, 0.72);
  font-size: 0.95rem;
}

.mb-info-page .ic-body.farms-body .bf-specimen-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(242, 239, 228, 0.22);
  border: 1px solid rgba(242, 239, 228, 0.22);
}

.mb-info-page .ic-body.farms-body .bf-specimen-card{
  background: rgba(242, 239, 228, 0.08);
  padding: 1.5rem;
  min-height: 200px;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.mb-info-page .ic-body.farms-body .bf-specimen-card .cap{
  color: var(--amber);
}

.mb-info-page .ic-body.farms-body .bf-specimen-card h3{
  font-size: 1.45rem;
  line-height: 1.05;
}

.mb-info-page .ic-body.farms-body .bf-specimen-card p{
  margin: 0;
  color: rgba(242, 239, 228, 0.72);
  font-size: 0.94rem;
}

.mb-info-page .ic-body.farms-body .bf-specimen-card--accent{
  background: var(--terracotta);
}

.mb-info-page .ic-body.farms-body .bf-specimen-card--accent p{
  color: rgba(242, 239, 228, 0.82);
}

.mb-info-page .ic-body.farms-body .bf-prose{
  max-width: 78ch;
}

.mb-info-page .ic-body.farms-body .bf-prose p{
  margin: 0 0 1.15rem;
  color: var(--muted);
  line-height: 1.65;
}

.mb-info-page .ic-body.farms-body .bf-prose p:last-child{
  margin-bottom: 0;
}

.mb-info-page .ic-body.farms-body .bf-prose strong{
  font-family: var(--sans-bold);
  font-weight: normal;
  color: var(--ink);
}

.mb-info-page .ic-body.farms-body .bf-prose--light{
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

.mb-info-page .ic-body.farms-body .bf-prose--light p{
  color: rgba(242, 239, 228, 0.72);
}

.mb-info-page .ic-body.farms-body .bf-prose--dark{
  margin-top: clamp(2rem, 4vw, 3rem);
}

.mb-info-page .ic-body.farms-body .bf-prose--dark p{
  color: rgba(242, 239, 228, 0.72);
}

.mb-info-page .ic-body.farms-body .bf-bibliography{
  columns: 2;
  column-gap: 3rem;
  font-size: 0.92rem;
  color: rgba(242, 239, 228, 0.72);
  line-height: 1.55;
}

.mb-info-page .ic-body.farms-body .bf-bibliography p{
  break-inside: avoid;
  margin: 0 0 1rem;
}

.mb-info-page .ic-body.farms-body .bf-bibliography em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
}

@media (max-width: 1000px){
  .mb-info-page .ic-body.farms-body .bf-hero-split {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .mb-info-page .ic-body.farms-body .bf-hero-split__media {
    aspect-ratio: 4 / 3;
  }

  .mb-info-page .ic-body.farms-body .bf-hero-split__media img {
    min-height: 0;
  }

  .mb-info-page .ic-body.farms-body .bf-hero-split__copy {
    border-left: 0;
    border-top: 1px solid rgba(242, 239, 228, 0.15);
  }

  .mb-info-page .ic-body.farms-body .bf-section__head,
  .mb-info-page .ic-body.farms-body .bf-editorial,
  .mb-info-page .ic-body.farms-body .bf-editorial--flip {
    grid-template-columns: 1fr;
  }

  .mb-info-page .ic-body.farms-body .bf-stat-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .mb-info-page .ic-body.farms-body .bf-method-grid,
  .mb-info-page .ic-body.farms-body .bf-specimen-grid,
  .mb-info-page .ic-body.farms-body .bf-cards,
  .mb-info-page .ic-body.farms-body .bf-recommendations {
    grid-template-columns: repeat(2, 1fr);
  }

  .mb-info-page .ic-body.farms-body .bf-bibliography {
    columns: 1;
  }
}

@media (max-width: 580px){
  .mb-info-page .ic-body.farms-body .bf-hero h1 {
    font-size: clamp(2.2rem, 12vw, 3.4rem);
  }

  .mb-info-page .ic-body.farms-body .bf-stat-grid,
  .mb-info-page .ic-body.farms-body .bf-method-grid,
  .mb-info-page .ic-body.farms-body .bf-specimen-grid,
  .mb-info-page .ic-body.farms-body .bf-cards,
  .mb-info-page .ic-body.farms-body .bf-recommendations {
    grid-template-columns: 1fr;
  }

  .mb-info-page .ic-body.farms-body .bf-image-card__spec {
    position: static;
    display: inline-block;
    margin: 1rem 1rem 0;
  }
}

/* ── Katya Shiova Art (ic-body katya-body) ── */

.mb-info-page .ic-body.katya-body .katya-intro{
  border-bottom: 1px solid var(--rule);
}

.mb-info-page .ic-body.katya-body .katya-opener{
  max-width: 68ch;
}

.mb-info-page .ic-body.katya-body .katya-opener p{
  margin: 0 0 1.15rem;
  color: var(--muted);
}

.mb-info-page .ic-body.katya-body .katya-opener p:first-child{
  font-size: var(--fs-lead);
  color: var(--ink);
}

.mb-info-page .ic-body.katya-body .katya-partner .ic-section__intro .cap{
  color: var(--amber);
}

.mb-info-page .ic-body.katya-body .katya-partner .ic-gallery{
  border-color: rgba(242, 239, 228, 0.18);
  background: rgba(242, 239, 228, 0.12);
}

.mb-info-page .ic-body.katya-body .katya-partner .ic-gallery__item figcaption{
  background: var(--bone);
}

/* =========================================================
   Active coupon banner - fixed right edge (#couponInfo)
   ========================================================= */

#couponInfo{
  position: fixed;
  top: clamp(6.75rem, 11vw, 8.5rem);
  right: 0;
  z-index: 10055;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  pointer-events: none;
}

.couponmMessage{
  position: static;
  right: auto;
  top: auto;
  z-index: auto;
  width: auto;
  background: var(--terracotta-deep);
  color: var(--bone);
  border: 1px solid var(--terracotta-deep);
  border-right: 0;
  padding: 0.7em 0.9em;
  max-width: 13.5rem;
  text-align: left;
  line-height: 1.35;
  font-weight: normal;
}

.couponmMessage__kicker,
.couponmMessage__headline{
  display: block;
  font-family: var(--sans-bold);
  font-weight: normal;
  letter-spacing: var(--tracked);
  text-transform: uppercase;
}

.couponmMessage__kicker{
  font-size: var(--fs-micro);
}

.couponmMessage__kicker strong{
  font-family: inherit;
  font-weight: inherit;
  color: var(--bone);
}

.couponmMessage__headline{
  margin-top: 0.3em;
  font-size: var(--fs-cap);
}

@media (max-width: 767px){
  #couponInfo{
    top: clamp(5.75rem, 16vw, 7rem);
    max-width: calc(100vw - var(--gutter));
  }

  .couponmMessage{
    max-width: 11.5rem;
    padding: 0.6em 0.75em;
  }
}

/* =========================================================
   Page skeleton - top loading bar while blocking JS runs.
   body.is-loading added server-side in header-v1.tpl and
   removed by inline script at the bottom of footer.tpl.
   ========================================================= */

@keyframes mb-skel-bar {
  from { width: 5%; }
  to   { width: 72%; }
}

/* Top-of-page loading progress bar */
body.is-loading::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  height: 2px;
  background: var(--moss);
  animation: mb-skel-bar 2.5s ease-out both;
  z-index: 9999;
  pointer-events: none;
}

/* Livesearch: skeleton state until deferred livesearch.js executes */
body.is-loading #search,
body.is-loading #search-desk {
  pointer-events: none;
  opacity: 0.7;
}

/* Back to top - inline SVG arrow */
.scrollup {
  display: none;
  align-items: center;
  justify-content: center;
}

.scrollup svg {
  width: 12px;
  height: 18px;
  display: block;
}

/* Search icon buttons in header: keep visible but non-interactive */
body.is-loading .pageheader__carticons .search-toggle,
body.is-loading .pageheader__carticons form[action*="search"] button {
  pointer-events: none;
  opacity: 0.7;
}

/* =========================================================
   14 - Shop by wing colour
   (template/common/home/wingcolour.tpl + module/wingcolour)
   Product cards reuse the 05 filmstrip styles (.mb-strip__card)
   so the section shares the dark cabinet treatment.
   ========================================================= */

.mb-wingcolour{
  background: var(--ink);
  color: var(--bone);
  padding-block: clamp(3rem, 6vw, 5.5rem);
  border-bottom: 1px solid var(--moss);
  overflow: visible;
}

.mb-wingcolour .shell{
  overflow: visible;
}

.mb-wingcolour__head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem 2.5rem;
  flex-wrap: wrap;
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.mb-wingcolour__title{
  margin: 0;
  font-family: var(--serif);
  font-variation-settings: 'wght' 500;
  font-weight: normal;
  color: var(--bone);
  font-size: var(--fs-h2);
  line-height: 0.95;
  letter-spacing: -0.01em;
}

.mb-wingcolour__title em,
.mb-wingcolour__title .mb-italic{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--amber);
}

.mb-wingcolour__sub{
  color: rgba(242, 239, 228, 0.6);
  max-width: 30ch;
  text-align: right;
}

/* - Swatch rail - */

.mb-wingcolour__swatches{
  --wingcolour-ring-inset: 6px; /* outline-offset on active swatch */
  display: flex;
  align-items: flex-start;
  gap: clamp(0.6rem, 1.8vw, 1.4rem);
  margin-bottom: clamp(1.4rem, 3vw, 2rem);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  /* Top/side padding reserves room for hover lift + outline ring */
  padding: 0.65rem var(--wingcolour-ring-inset) 0.25rem;
  scroll-padding-inline: var(--wingcolour-ring-inset);
}

.mb-wingcolour__swatches::-webkit-scrollbar{
  display: none;
}

.mb-wingcolour__swatch{
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
  background: none;
  border: 0;
  padding: 0.35rem 0.25rem 0.25rem;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.mb-wingcolour__swatch:last-child{
  margin-inline-end: var(--wingcolour-ring-inset);
}

.mb-wingcolour__disk{
  display: block;
  width: clamp(40px, 6vw, 52px);
  height: clamp(40px, 6vw, 52px);
  border-radius: 50%;
  box-shadow: inset 0 1px 4px rgba(255, 255, 255, 0.1), inset 0 -1px 4px rgba(0, 0, 0, 0.18);
  outline: 1px solid rgba(242, 239, 228, 0.25);
  outline-offset: 3px;
  transition: outline-color 0.2s ease, outline-offset 0.2s ease, transform 0.2s ease;
}

.mb-wingcolour__swatch:hover .mb-wingcolour__disk{
  transform: translateY(-2px);
  outline-color: rgba(242, 239, 228, 0.55);
}

.mb-wingcolour__swatch.is-active .mb-wingcolour__disk{
  outline: 2px solid var(--amber);
  outline-offset: 4px;
}

.mb-wingcolour__name{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.15rem;
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  color: rgba(242, 239, 228, 0.65);
  transition: color 0.2s ease;
}

.mb-wingcolour__swatch.is-active .mb-wingcolour__name{
  color: var(--bone);
}

.mb-wingcolour__name em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.7rem;
  color: rgba(242, 239, 228, 0.4);
}

.mb-wingcolour__swatch.is-active .mb-wingcolour__name em{
  color: var(--amber);
}

/* - Grid states - */

.mb-wingcolour__grid.is-loading{
  opacity: 0.45;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

.mb-wingcolour__skeleton{
  background: rgba(242, 239, 228, 0.06);
  aspect-ratio: 3 / 4;
  animation: mb-wingcolour-pulse 1.6s ease-in-out infinite;
}

@keyframes mb-wingcolour-pulse{
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.45; }
}

.mb-wingcolour__empty{
  grid-column: 1 / -1;
  margin: 0;
  padding: 2.5rem 1rem;
  text-align: center;
  color: rgba(242, 239, 228, 0.6);
}

@media (max-width: 1000px){
  .mb-wingcolour .shell{
    overflow-x: clip;
    overflow-y: visible;
  }

  .mb-wingcolour .mb-home-product-track{
    margin-inline: calc(-1 * var(--gutter));
  }
}

@media (max-width: 760px){
  .mb-wingcolour__swatches{
    --wingcolour-swatch-slots: 4.5;
    width: 100vw;
    max-width: 100vw;
    margin-inline: calc(50% - 50vw);
    gap: var(--card-rail-gap);
    padding: 0.65rem 0 0.25rem;
    scroll-padding-inline-start: 0;
    scroll-padding-inline-end: var(--gutter);
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
  }

  .mb-wingcolour__swatch{
    flex: 0 0 calc(
      (100vw - var(--gutter) - 4 * var(--card-rail-gap))
      / var(--wingcolour-swatch-slots)
    );
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: normal;
  }

  .mb-wingcolour__swatch:first-child{
    padding-inline-start: var(--wingcolour-ring-inset);
  }

  .mb-wingcolour__swatch:last-child{
    margin-inline-end: var(--gutter);
  }

  .mb-wingcolour__sub{
    text-align: left;
  }

  .mb-wingcolour__empty{
    flex: 0 0 100%;
  }
}

@media (prefers-reduced-motion: reduce){
  .mb-wingcolour__skeleton{
    animation: none;
  }

  .mb-wingcolour__swatch:hover .mb-wingcolour__disk{
    transform: none;
  }
}
