/** Shopify CDN: Minification failed

Line 1969:14 Expected identifier but found whitespace
Line 1969:15 Unexpected "var("

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:bk-announcement-bar (INDEX:2) */
.bk-announce{
  background:var(--bk-ink); color:#fff;
  display:flex; align-items:center; justify-content:center;
  gap:var(--bk-s-3); padding:10px var(--bk-s-5);
  font-family:var(--bk-font-title); font-weight:600;
  font-size:11px; letter-spacing:var(--bk-track-eyebrow);
  text-transform:uppercase; line-height:1.2;
  position:relative; min-height:36px;
}
.bk-announce[data-scheme="accent-1"]{ background:var(--bk-accent-1); }
.bk-announce[data-scheme="accent-2"]{ background:var(--bk-accent-2); }
/* Legacy named aliases */
.bk-announce[data-scheme="purple"]{ background:var(--bk-accent-1); }
.bk-announce[data-scheme="green"]{ background:var(--bk-accent-2); }
.bk-announce[data-scheme="bg"]{ background:var(--bk-bg); color:var(--bk-ink); border-bottom:1px solid var(--bk-line); }
.bk-announce__dot{ display:inline-block; width:3px; height:3px; border-radius:50%; background:rgba(255,255,255,.4); }
.bk-announce[data-scheme="bg"] .bk-announce__dot{ background:var(--bk-line); }
.bk-announce__link{ color:inherit; text-decoration:none; border-bottom:1px solid transparent; transition:border-color var(--bk-dur); }
.bk-announce__link:hover{ border-color:currentColor; }
.bk-announce__close{
  position:absolute; right:var(--bk-s-4); top:50%; transform:translateY(-50%);
  background:none; border:0; color:rgba(255,255,255,.7); cursor:pointer;
  width:24px; height:24px; display:grid; place-items:center;
  font-size:14px; padding:0; border-radius:50%;
  transition:color var(--bk-dur);
}
.bk-announce__close:hover{ color:#fff; }
.bk-announce[data-scheme="bg"] .bk-announce__close{ color:var(--bk-muted); }
.bk-announce[data-scheme="bg"] .bk-announce__close:hover{ color:var(--bk-ink); }
.bk-announce__close:focus-visible{ outline:1px solid rgba(255,255,255,.5); outline-offset:1px; }

@media (max-width: 880px){
  .bk-announce{ font-size:10.5px; letter-spacing:.1em; padding:9px var(--bk-s-4); gap:var(--bk-s-2); }
  .bk-announce__mobile-hide{ display:none; }
  .bk-announce__close{ display:none; }
}
/* END_SECTION:bk-announcement-bar */

/* START_SECTION:bk-collection-grid (INDEX:5) */
.bk-grid-wrap{ background:var(--bk-bg); padding:var(--bk-s-6) var(--bk-gutter) var(--bk-s-14); }
.bk-grid-wrap__inner{ max-width:var(--bk-page-max); margin:0 auto; }
.bk-grid-wrap__toolbar{ display:flex; justify-content:flex-end; margin-bottom:var(--bk-s-5); }
.bk-grid-wrap__sort{ display:flex; align-items:center; gap:var(--bk-s-2); }
.bk-grid-wrap__sort-label{ font-family:var(--bk-font-title); font-weight:600; font-size:11.5px; letter-spacing:var(--bk-track-eyebrow); text-transform:uppercase; color:var(--bk-muted); }
.bk-grid-wrap__sort-select{ font-family:var(--bk-font-body-family); font-size:13.5px; color:var(--bk-ink); background:var(--bk-bg); border:1px solid var(--bk-line); border-radius:var(--bk-r-sm); padding:8px 28px 8px 12px; cursor:pointer; }

.bk-grid{ display:grid; grid-template-columns:repeat(var(--bk-cols, 4), minmax(0, 1fr)); gap:var(--bk-s-6) var(--bk-s-5); }
.bk-card{ min-width:0; }
.bk-grid-wrap[data-cols-d="2"]{ --bk-cols:2; }
.bk-grid-wrap[data-cols-d="3"]{ --bk-cols:3; }
.bk-grid-wrap[data-cols-d="4"]{ --bk-cols:4; }
.bk-grid-wrap[data-cols-d="5"]{ --bk-cols:5; }

/* ---------- card styles (consumed by bk-product-card snippet) ---------- */
.bk-card{ display:flex; flex-direction:column; gap:var(--bk-s-4); }
.bk-card__media-link{ display:block; text-decoration:none; color:inherit; }
.bk-card__media{ position:relative; aspect-ratio:1/1; overflow:hidden; background:var(--bk-surface); }
.bk-card[data-aspect="4/5"] .bk-card__media{ aspect-ratio:4/5; }
.bk-card[data-aspect="3/4"] .bk-card__media{ aspect-ratio:3/4; }
.bk-card__img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform var(--bk-dur-slow) var(--bk-ease-out); }
.bk-card:hover .bk-card__img{ transform:scale(1.03); }

/* ---- Tile layout (Native-style): clean neutral surface, product floats with whitespace ----
   Neutral tile (not the brand lilac) so the product photography pops, exactly like Native.
   color-mix off --bk-ink keeps it brand-agnostic: every brand gets a clean light neutral. */
.bk-card[data-layout="tile"]{ gap:var(--bk-s-4); }
.bk-card[data-layout="tile"] .bk-card__media{
  background:color-mix(in srgb, var(--bk-ink) 4%, #fff);
  padding:var(--bk-s-8); border-radius:var(--bk-r-lg);
}
.bk-card[data-layout="tile"] .bk-card__img{ object-fit:contain; }
.bk-card[data-layout="tile"]:hover .bk-card__img{ transform:scale(1.04); }
.bk-card[data-layout="tile"] .bk-card__body{ gap:var(--bk-s-1); padding:0 2px; }
.bk-card[data-layout="tile"] .bk-card__title{ margin-bottom:2px; }
.bk-card[data-layout="tile"] .bk-card__desc{ margin-top:2px; }
.bk-card[data-layout="tile"] .bk-card__price{ margin-top:var(--bk-s-2); }
.bk-card__placeholder{ width:100%; height:100%; display:grid; place-items:center; background:var(--bk-surface); }
.bk-card__placeholder-svg{ width:60%; height:60%; opacity:.3; }
.bk-card__sold-out, .bk-card__sale{
  position:absolute; top:var(--bk-s-3); left:var(--bk-s-3);
  font-family:var(--bk-font-title); font-weight:600; font-size:10.5px;
  letter-spacing:var(--bk-track-eyebrow); text-transform:uppercase;
  padding:5px 10px; border-radius:100px;
}
.bk-card__sold-out{ background:var(--bk-muted); color:#fff; }
.bk-card__sale{ background:var(--bk-accent-1); color:#fff; }
.bk-card__body{ display:flex; flex-direction:column; gap:var(--bk-s-2); flex:1; }
.bk-card__title-link{ text-decoration:none; color:inherit; }
.bk-card__title{ font-family:var(--bk-font-title); font-weight:700; font-size:17px; color:var(--bk-ink); line-height:var(--bk-lh-tight); text-transform:uppercase; letter-spacing:.015em; }
.bk-card__rating{ display:flex; align-items:center; gap:6px; font-size:11.5px; color:var(--bk-muted); margin-top:2px; }
.bk-card__stars{ color:var(--bk-accent-1); letter-spacing:1px; font-size:12px; }
.bk-card__price{ display:flex; align-items:baseline; gap:var(--bk-s-2); flex-wrap:wrap; margin-top:var(--bk-s-1); }
.bk-card__price-now{ font-family:var(--bk-font-title); font-weight:600; font-size:14.5px; color:var(--bk-ink); }
.bk-card__price-was{ font-size:12.5px; color:var(--bk-muted); text-decoration:line-through; }
.bk-card__sub-hint{ font-size:11.5px; color:var(--bk-muted); }

/* Short description (from metafield), gentle, minimal */
.bk-card__desc{
  font-size:13px; line-height:1.5; color:var(--bk-muted);
  margin:0;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
/* Options hint ("48 options"), quiet underlined link */
.bk-card__options{
  font-size:12.5px; color:var(--bk-muted); text-decoration:none;
  border-bottom:1px solid var(--bk-line); padding-bottom:1px;
  transition:color var(--bk-dur), border-color var(--bk-dur);
}
.bk-card__options:hover{ color:var(--bk-ink); border-color:var(--bk-ink); }

/* Tile layout: roomier title */
.bk-card[data-layout="tile"] .bk-card__title{ font-size:16px; }

/* ---------- pagination ---------- */
.bk-grid-wrap__pages{ display:flex; align-items:center; justify-content:center; gap:var(--bk-s-2); margin-top:var(--bk-s-10); flex-wrap:wrap; }
.bk-grid-wrap__page{
  font-family:var(--bk-font-title); font-weight:600; font-size:13px;
  color:var(--bk-ink); text-decoration:none;
  padding:8px 12px; border-radius:var(--bk-r-sm);
  transition:background var(--bk-dur);
}
.bk-grid-wrap__page:hover{ background:var(--bk-surface); }
.bk-grid-wrap__page.is-current{ background:var(--bk-ink); color:#fff; }
.bk-grid-wrap__page.is-gap{ color:var(--bk-muted); cursor:default; }

/* ---------- empty state ---------- */
.bk-grid-wrap__empty{ text-align:center; padding:var(--bk-s-14) var(--bk-s-5); }
.bk-grid-wrap__empty h2{ font-family:var(--bk-font-title); font-weight:600; font-size:var(--bk-font-h2); color:var(--bk-ink); margin-bottom:var(--bk-s-2); }
.bk-grid-wrap__empty p{ color:var(--bk-body); font-size:15px; }
.bk-grid-wrap__empty a{ color:var(--bk-ink); border-bottom:1px solid currentColor; text-decoration:none; }

/* Tablet: keep large multi-column grids from getting cramped */
@media (min-width: 881px) and (max-width: 1100px){
  .bk-grid-wrap[data-cols-d="4"]{ --bk-cols:3; }
  .bk-grid-wrap[data-cols-d="5"]{ --bk-cols:4; }
}

@media (max-width: 880px){
  .bk-grid-wrap{ padding:var(--bk-s-5) var(--bk-s-4) var(--bk-s-10); }
  .bk-grid{ grid-template-columns:repeat(var(--bk-cols-m, 1), minmax(0, 1fr)); gap:var(--bk-s-10) var(--bk-s-3); }
  .bk-grid-wrap[data-cols-m="1"]{ --bk-cols-m:1; }
  .bk-grid-wrap[data-cols-m="2"]{ --bk-cols-m:2; }
  .bk-card[data-layout="tile"] .bk-card__media{ padding:var(--bk-s-5); }
  .bk-card__title{ font-size:16px; line-height:1.15; }
  .bk-card__price-now{ font-size:13.5px; }
  .bk-card__desc{ font-size:13px; -webkit-line-clamp:2; }
  /* 2-col mobile (if chosen in Customize): tighter type + row gap */
  .bk-grid-wrap[data-cols-m="2"] .bk-grid{ gap:var(--bk-s-6) var(--bk-s-3); }
  .bk-grid-wrap[data-cols-m="2"] .bk-card__title{ font-size:14.5px; }
  .bk-grid-wrap[data-cols-m="2"] .bk-card__desc{ font-size:12px; }
}
/* END_SECTION:bk-collection-grid */

/* START_SECTION:bk-collection-hero (INDEX:6) */
.bk-coll-hero{ background:var(--bk-bg); padding:var(--bk-s-8) var(--bk-gutter) var(--bk-s-6); }
.bk-coll-hero[data-accent="accent-1"]{ --bk-accent:var(--bk-accent-1); }
.bk-coll-hero[data-accent="accent-2"]{ --bk-accent:var(--bk-accent-2); }
.bk-coll-hero[data-accent="accent-3"]{ --bk-accent:var(--bk-accent-3); }
.bk-coll-hero[data-accent="accent-4"]{ --bk-accent:var(--bk-accent-4); }
/* Legacy named aliases, kept so existing templates that still pass purple/green/blue/ink don't break */
.bk-coll-hero[data-accent="purple"]{ --bk-accent:var(--bk-accent-1); }
.bk-coll-hero[data-accent="green"]{ --bk-accent:var(--bk-accent-2); }
.bk-coll-hero[data-accent="blue"]{ --bk-accent:var(--bk-accent-3); }
.bk-coll-hero[data-accent="ink"]{ --bk-accent:var(--bk-accent-4); }
.bk-coll-hero__inner{ max-width:var(--bk-page-max); margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:var(--bk-s-6); }
.bk-coll-hero__panel{
  width:100%; display:flex; flex-direction:column; align-items:center; text-align:center; gap:var(--bk-s-3);
  background:color-mix(in srgb, var(--bk-accent) 7%, #fff);
  border-radius:20px; padding:var(--bk-s-10) var(--bk-s-8);
}
.bk-coll-hero__eyebrow{ font-family:var(--bk-font-title); font-weight:600; font-size:var(--bk-font-micro); letter-spacing:var(--bk-track-eyebrow); text-transform:uppercase; color:var(--bk-accent); }
.bk-coll-hero__head{ display:flex; align-items:baseline; justify-content:center; gap:var(--bk-s-4); flex-wrap:wrap; }
.bk-coll-hero__title{ font-family:var(--bk-font-title); font-weight:600; font-size:var(--bk-font-display); line-height:var(--bk-lh-tight); color:var(--bk-ink); letter-spacing:var(--bk-track-display); }
.bk-coll-hero__count{ font-family:var(--bk-font-title); font-weight:600; font-size:13px; color:var(--bk-muted); letter-spacing:.04em; }
.bk-coll-hero__intro{ font-size:15.5px; line-height:var(--bk-lh-loose); color:var(--bk-body); max-width:60ch; margin:0 auto; }
.bk-coll-hero__intro strong{ color:var(--bk-ink); font-family:var(--bk-font-title); }
.bk-coll-hero__pills{ display:flex; gap:var(--bk-s-2); flex-wrap:wrap; justify-content:center; }
.bk-coll-hero__pill{
  font-family:var(--bk-font-title); font-weight:600; font-size:12px;
  letter-spacing:var(--bk-track-eyebrow); text-transform:uppercase; color:var(--bk-ink); background:var(--bk-bg);
  border:1.4px solid var(--bk-line); border-radius:100px;
  padding:8px 14px; text-decoration:none;
  transition:border-color var(--bk-dur), background var(--bk-dur);
}
.bk-coll-hero__pill:hover{ border-color:var(--bk-ink); }
.bk-coll-hero__pill.is-current{ background:var(--bk-ink); color:#fff; border-color:var(--bk-ink); }
@media (max-width: 880px){
  .bk-coll-hero{ padding:var(--bk-s-8) var(--bk-s-5) var(--bk-s-5); }
  .bk-coll-hero__title{ font-size:32px; }
  /* Tab-style horizontal scroll row, avoids awkward wrapping with many collections.
     justify-content MUST be flex-start here: the base rule centers the pills, and a
     centered nowrap row that overflows pushes the left-most pills off-screen and makes
     them unreachable by scrolling. width:100% keeps the row constrained to the viewport
     so overflow-x actually scrolls instead of bursting the page. */
  .bk-coll-hero__pills{
    flex-wrap:nowrap; justify-content:flex-start;
    width:100%; min-width:0;
    overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none;
    padding-bottom:var(--bk-s-1);
  }
  .bk-coll-hero__pills::-webkit-scrollbar{ display:none; }
  .bk-coll-hero__pill{ flex:0 0 auto; font-size:11px; padding:6px 12px; letter-spacing:.04em; }
}
/* END_SECTION:bk-collection-hero */

/* START_SECTION:bk-collection-links (INDEX:7) */
.bk-clinks { background: var(--bk-bg); padding: var(--bk-s-14) var(--bk-gutter); }
.bk-clinks__inner { max-width: var(--bk-page-max); margin: 0 auto; }

.bk-clinks__head {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: var(--bk-s-2); margin-bottom: var(--bk-s-10);
}
.bk-clinks__eyebrow {
  font-family: var(--bk-font-title); font-weight: 600; font-size: var(--bk-font-micro);
  letter-spacing: var(--bk-track-eyebrow); text-transform: uppercase; color: var(--bk-muted);
}
.bk-clinks__title {
  font-family: var(--bk-font-title); font-weight: 700; font-size: var(--bk-font-h1);
  line-height: var(--bk-lh-tight); color: var(--bk-ink); letter-spacing: var(--bk-track-title);
  text-transform: uppercase; margin: 0;
}

.bk-clinks__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--bk-s-6) var(--bk-s-5);
}

/* Flat gallery card — same language as bk-range-showcase */
.bk-clinks__card { display: flex; flex-direction: column; min-width: 0; color: var(--bk-ink); }

.bk-clinks__media {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--bk-surface);
  position: relative;
}
.bk-clinks__media:focus-visible { outline: 2px solid var(--bk-ink); outline-offset: 3px; }
.bk-clinks__img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform .45s var(--bk-ease-out);
}
.bk-clinks__card:hover .bk-clinks__img { transform: scale(1.035); }
.bk-clinks__placeholder {
  width: 100%; height: 100%;
  background: linear-gradient(160deg, color-mix(in srgb, var(--bk-accent-1) 10%, #fff) 0%, color-mix(in srgb, var(--bk-accent-1) 22%, #fff) 100%);
}

.bk-clinks__body {
  padding: var(--bk-s-4) 0 0;
  display: flex; flex-direction: column; gap: var(--bk-s-2);
  flex: 1;
}
.bk-clinks__card-eyebrow {
  font-family: var(--bk-font-title); font-weight: 600; font-size: 10.5px;
  letter-spacing: var(--bk-track-eyebrow); text-transform: uppercase;
  color: var(--bk-muted);
}
.bk-clinks__card-title {
  font-family: var(--bk-font-title); font-weight: 700; font-size: 17px;
  line-height: var(--bk-lh-tight); letter-spacing: .015em;
  text-transform: uppercase;
  color: var(--bk-ink); margin: 0;
}
.bk-clinks__card-title-link { color: inherit; text-decoration: none; }
.bk-clinks__card-title-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.bk-clinks__card-title-link:focus-visible { outline: 2px solid var(--bk-ink); outline-offset: 2px; }
.bk-clinks__card-desc {
  font-size: 13px; line-height: var(--bk-lh-normal);
  color: var(--bk-body); margin: 0;
}

/* Solid ink full-width button (matches hero CTA) */
.bk-clinks__btn {
  display: flex; align-items: center; justify-content: center;
  width: 100%;
  margin-top: auto;
  background: var(--bk-ink); color: #fff;
  border: 0;
  border-radius: var(--bk-btn-radius);
  font-family: var(--bk-font-title); font-weight: 600; font-size: 12.5px;
  letter-spacing: .07em; text-transform: uppercase;
  padding: 14px 18px; text-decoration: none;
  transition: opacity var(--bk-dur) var(--bk-ease-out);
}
.bk-clinks__btn:hover { opacity: .85; }
.bk-clinks__btn:focus-visible { outline: 2px solid var(--bk-ink); outline-offset: 3px; }
.bk-clinks__card-desc { margin-bottom: var(--bk-s-3); }

@media (max-width: 1100px) {
  .bk-clinks__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 880px) {
  .bk-clinks { padding: var(--bk-s-10) var(--bk-s-5); }
  .bk-clinks__head { margin-bottom: var(--bk-s-6); }
  .bk-clinks__title { font-size: 26px; }

  .bk-clinks__grid { gap: var(--bk-s-6) var(--bk-s-3); }

  .bk-clinks__body { padding-top: var(--bk-s-3); gap: var(--bk-s-1); }
  .bk-clinks__card-eyebrow { font-size: 9px; }
  .bk-clinks__card-title { font-size: 14.5px; line-height: 1.15; }
  .bk-clinks__card-desc {
    font-size: 12px; line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: var(--bk-s-2);
  }
  .bk-clinks__card-desc:empty { display: none; }
  .bk-clinks__btn { padding: 12px 10px; font-size: 11px; letter-spacing: .05em; }
}

@media (max-width: 360px) {
  .bk-clinks__grid { gap: var(--bk-s-4) var(--bk-s-2); }
  .bk-clinks__card-title { font-size: 13.5px; }
  .bk-clinks__btn { padding: 11px 8px; font-size: 10.5px; }
}
/* END_SECTION:bk-collection-links */

/* START_SECTION:bk-cta-band (INDEX:8) */
.bk-cta-band{ background:var(--bk-ink); color:#fff; padding:var(--bk-s-14) var(--bk-gutter); text-align:center; position:relative; overflow:hidden; }
.bk-cta-band[data-scheme="accent-1"]{ background:var(--bk-accent-1); }
.bk-cta-band[data-scheme="accent-2"]{ background:var(--bk-accent-2); }
.bk-cta-band[data-scheme="accent-3"]{ background:var(--bk-accent-3); }
/* Legacy named aliases */
.bk-cta-band[data-scheme="purple"]{ background:var(--bk-accent-1); }
.bk-cta-band[data-scheme="green"]{  background:var(--bk-accent-2); }
.bk-cta-band[data-scheme="blue"]{   background:var(--bk-accent-3); }
.bk-cta-band[data-scheme="surface"]{ background:var(--bk-surface); color:var(--bk-ink); }
.bk-cta-band__inner{ max-width:560px; margin:0 auto; display:flex; flex-direction:column; gap:var(--bk-s-5); position:relative; z-index:1; }
.bk-cta-band__eyebrow{ font-family:var(--bk-font-title); font-weight:600; font-size:var(--bk-font-micro); letter-spacing:var(--bk-track-eyebrow); text-transform:uppercase; color:rgba(255,255,255,.7); }
.bk-cta-band[data-scheme="surface"] .bk-cta-band__eyebrow{ color:var(--bk-accent-1); }
.bk-cta-band__title{ font-family:var(--bk-font-title); font-weight:600; font-size:clamp(22px, 2.8vw, 34px); line-height:var(--bk-lh-tight); color:inherit; letter-spacing:var(--bk-track-display); margin:0; }
.bk-cta-band__sub{ font-size:15.5px; line-height:var(--bk-lh-loose); color:rgba(255,255,255,.85); }
.bk-cta-band[data-scheme="surface"] .bk-cta-band__sub{ color:var(--bk-body); }
.bk-cta-band__sub b, .bk-cta-band__sub strong{ color:#fff; font-weight:600; font-family:var(--bk-font-title); }
.bk-cta-band[data-scheme="surface"] .bk-cta-band__sub b, .bk-cta-band[data-scheme="surface"] .bk-cta-band__sub strong{ color:var(--bk-ink); }
.bk-cta-band__form{ display:flex; gap:var(--bk-s-2); margin-top:var(--bk-s-3); max-width:440px; width:100%; align-self:center; flex-wrap:wrap; }
.bk-cta-band__input{
  flex:1; min-width:0; border:0; border-radius:var(--bk-r);
  background:rgba(255,255,255,.12); color:#fff;
  font-family:var(--bk-font-body-family); font-size:14px;
  padding:0 var(--bk-s-4); min-height:52px;
  transition:background var(--bk-dur);
}
.bk-cta-band[data-scheme="surface"] .bk-cta-band__input{ background:var(--bk-bg); color:var(--bk-ink); border:1px solid var(--bk-line); }
.bk-cta-band__input::placeholder{ color:rgba(255,255,255,.55); }
.bk-cta-band[data-scheme="surface"] .bk-cta-band__input::placeholder{ color:var(--bk-muted); }
.bk-cta-band__input:focus{ outline:none; background:rgba(255,255,255,.2); }
.bk-cta-band__submit{
  border:0; border-radius:var(--bk-btn-radius); background:#fff; color:var(--bk-ink);
  font-family:var(--bk-font-title); font-weight:600; font-size:14px;
  min-height:52px; padding:0 var(--bk-s-5); cursor:pointer; white-space:nowrap;
  transition:transform var(--bk-dur);
}
.bk-cta-band__submit:hover{ opacity:.85; }
.bk-cta-band[data-scheme="surface"] .bk-cta-band__submit{ background:var(--bk-ink); color:#fff; }
.bk-cta-band__fine{ font-size:11.5px; color:rgba(255,255,255,.55); margin-top:var(--bk-s-1); }
.bk-cta-band[data-scheme="surface"] .bk-cta-band__fine{ color:var(--bk-muted); }
.bk-cta-band__success, .bk-cta-band__error{ width:100%; padding:var(--bk-s-3) var(--bk-s-4); border-radius:var(--bk-r); font-size:13.5px; margin-top:var(--bk-s-2); text-align:left; }
.bk-cta-band__success{ background:rgba(0,192,139,.18); color:#fff; }
.bk-cta-band__error{ background:rgba(255,255,255,.12); color:#fff; }
@media (max-width: 880px){
  .bk-cta-band{ padding:var(--bk-s-10) var(--bk-s-5); }
  .bk-cta-band__form{ flex-direction:column; gap:var(--bk-s-2); }
  .bk-cta-band__submit{ width:100%; }
}
/* END_SECTION:bk-cta-band */

/* START_SECTION:bk-faq (INDEX:9) */
.bk-faq{ padding:var(--bk-s-14) var(--bk-gutter); }
.bk-faq[data-scheme="surface"]{ background:var(--bk-surface); }
.bk-faq[data-scheme="bg"]{ background:var(--bk-bg); }
.bk-faq[data-scheme="ink"]{ background:var(--bk-ink); color:#fff; }
.bk-faq[data-scheme="ink"] .bk-faq__item{ border-color:rgba(255,255,255,.16); }

.bk-faq__inner{ max-width:880px; margin:0 auto; }
.bk-faq__title{
  font-family:var(--bk-font-title); font-weight:600;
  font-size:var(--bk-font-display);
  line-height:var(--bk-lh-tight);
  letter-spacing:var(--bk-track-display);
  color:inherit;
  text-align:center;
  margin-bottom:var(--bk-s-8);
}

.bk-faq__list{ border-top:1px solid var(--bk-line); }
.bk-faq[data-scheme="ink"] .bk-faq__list{ border-top-color:rgba(255,255,255,.16); }

.bk-faq__item{ border-bottom:1px solid var(--bk-line); }
.bk-faq[data-scheme="ink"] .bk-faq__item{ border-bottom-color:rgba(255,255,255,.16); }

.bk-faq__trigger{
  width:100%;
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--bk-s-4);
  background:none; border:0;
  padding:var(--bk-s-5) 0;
  font-family:var(--bk-font-title); font-weight:600;
  font-size:17px; line-height:var(--bk-lh-snug);
  letter-spacing:var(--bk-track-title);
  color:inherit; text-align:left; cursor:pointer;
}
.bk-faq__q{ flex:1; min-width:0; }
.bk-faq__icon{
  flex:0 0 24px;
  width:24px; height:24px;
  display:grid; place-items:center;
  color:inherit;
  transition:transform var(--bk-dur) var(--bk-ease-out);
}
.bk-faq__icon svg{ width:18px; height:18px; }
.bk-faq__item.is-open .bk-faq__icon{ transform:rotate(45deg); }

.bk-faq__body{
  display:grid; grid-template-rows:0fr;
  transition:grid-template-rows .35s ease;
}
.bk-faq__item.is-open .bk-faq__body{ grid-template-rows:1fr; }
.bk-faq__body > div{ overflow:hidden; }
.bk-faq__body-in{
  padding:0 0 var(--bk-s-5);
  font-size:15px; line-height:var(--bk-lh-loose);
  color:inherit; opacity:.85;
  max-width:64ch;
}
.bk-faq__body-in p + p{ margin-top:var(--bk-s-2); }
.bk-faq__body-in a{ color:inherit; text-underline-offset:3px; }

@media (max-width: 880px){
  .bk-faq{ padding:var(--bk-s-10) var(--bk-s-5); }
  .bk-faq__title{ font-size:32px; margin-bottom:var(--bk-s-5); }
  .bk-faq__trigger{ font-size:15.5px; padding:var(--bk-s-4) 0; }
  .bk-faq__body-in{ font-size:14px; padding-bottom:var(--bk-s-4); }
}
/* END_SECTION:bk-faq */

/* START_SECTION:bk-featured-product (INDEX:11) */
.bk-featured{ background:var(--bk-surface); padding:var(--bk-s-14) var(--bk-gutter); }
.bk-featured[data-accent="accent-1"]{ --bk-accent:var(--bk-accent-1); }
.bk-featured[data-accent="accent-2"]{ --bk-accent:var(--bk-accent-2); }
.bk-featured[data-accent="accent-3"]{ --bk-accent:var(--bk-accent-3); }
/* Legacy named aliases */
.bk-featured[data-accent="purple"]{ --bk-accent:var(--bk-accent-1); }
.bk-featured[data-accent="green"]{ --bk-accent:var(--bk-accent-2); }
.bk-featured[data-accent="blue"]{ --bk-accent:var(--bk-accent-3); }

.bk-featured__inner{
  max-width:var(--bk-page-max); margin:0 auto;
  display:grid; grid-template-columns:1fr 1.05fr;
  gap:var(--bk-s-14); align-items:center;
}
.bk-featured[data-image-side="left"] .bk-featured__inner{ direction:rtl; }
.bk-featured[data-image-side="left"] .bk-featured__inner > *{ direction:ltr; }

.bk-featured__content{ display:flex; flex-direction:column; gap:var(--bk-s-5); max-width:520px; }
.bk-featured__eyebrow{
  font-family:var(--bk-font-title); font-weight:600; font-size:var(--bk-font-micro);
  letter-spacing:var(--bk-track-eyebrow); text-transform:uppercase;
  color:var(--bk-accent);
  display:flex; align-items:center; gap:var(--bk-s-3);
}
.bk-featured__eyebrow::after{ content:""; display:inline-block; width:32px; height:1px; background:var(--bk-accent); opacity:.5; }
.bk-featured__title{
  font-family:var(--bk-font-title); font-weight:600; font-size:var(--bk-font-h1);
  line-height:var(--bk-lh-tight); color:var(--bk-ink); letter-spacing:var(--bk-track-title);
  margin:0;
}
.bk-featured__sub{ font-size:16px; line-height:var(--bk-lh-loose); color:var(--bk-body); }
.bk-featured__sub b, .bk-featured__sub strong{ color:var(--bk-ink); font-weight:600; font-family:var(--bk-font-title); }

.bk-featured__pills{ display:flex; flex-wrap:wrap; gap:var(--bk-s-2); margin-top:var(--bk-s-1); }
.bk-featured__pill{
  font-family:var(--bk-font-title); font-weight:600; font-size:11.5px;
  letter-spacing:.04em; color:var(--bk-ink);
  background:var(--bk-bg); border:1px solid var(--bk-line); border-radius:100px;
  padding:6px var(--bk-s-3); display:inline-flex; align-items:center; gap:6px;
}
.bk-featured__pill svg{ width:12px; height:12px; color:var(--bk-accent); }

.bk-featured__form{ display:flex; flex-direction:column; gap:var(--bk-s-3); margin-top:var(--bk-s-2); }
.bk-featured__plans{ display:flex; flex-direction:column; gap:var(--bk-s-2); }
.bk-featured__plan{
  display:flex; align-items:center; gap:var(--bk-s-3);
  background:var(--bk-bg); border:1.5px solid var(--bk-line); border-radius:var(--bk-r);
  padding:var(--bk-s-3) var(--bk-s-4); cursor:pointer;
  transition:border-color var(--bk-dur), background var(--bk-dur);
  font:inherit; text-align:left; width:100%;
}
.bk-featured__plan[aria-pressed="true"]{ border-color:var(--bk-accent); background:var(--bk-accent-soft); }
.bk-featured__plan-radio{
  width:16px; height:16px; border-radius:50%;
  border:2px solid var(--bk-line); flex:0 0 auto; transition:.18s;
}
.bk-featured__plan[aria-pressed="true"] .bk-featured__plan-radio{
  border-color:var(--bk-accent);
  background:radial-gradient(circle at center, var(--bk-accent) 0 4px, transparent 5px);
}
.bk-featured__plan-body{ flex:1; display:flex; flex-direction:column; gap:1px; }
.bk-featured__plan-title{
  font-family:var(--bk-font-title); font-weight:600; font-size:13.5px;
  color:var(--bk-ink); display:flex; align-items:center; gap:var(--bk-s-2);
}
.bk-featured__plan-sub{ font-size:11.5px; color:var(--bk-muted); line-height:1.35; }
.bk-featured__plan-price{
  font-family:var(--bk-font-title); font-weight:600; font-size:16px;
  color:var(--bk-ink); text-align:right; line-height:1;
}
.bk-featured__plan-price small{
  display:block; font-weight:500; font-size:10.5px; color:var(--bk-muted);
  text-decoration:line-through; margin-top:2px;
}
.bk-featured__save-tag{
  font-family:var(--bk-font-title); font-weight:600; font-size:9.5px;
  letter-spacing:.06em; color:#fff; background:var(--bk-accent);
  border-radius:100px; padding:2px 7px; text-transform:uppercase;
}

.bk-featured__cta-row{ display:flex; flex-direction:column; gap:var(--bk-s-3); }
.bk-featured__atc{
  width:100%; border:0; border-radius:var(--bk-r);
  background:var(--bk-ink); color:#fff;
  font-family:var(--bk-font-title); font-weight:600; font-size:15px;
  letter-spacing:.01em; min-height:56px; padding:0 var(--bk-s-6);
  cursor:pointer; position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  transition:color var(--bk-dur) var(--bk-ease-out);
}
.bk-featured__atc::before{
  content:""; position:absolute; inset:0; background:var(--bk-accent);
  transform:translateY(calc(100% + 1px));
  transition:transform var(--bk-dur) var(--bk-ease-out);
}
.bk-featured__atc:hover::before{ transform:none; }
.bk-featured__atc[disabled]{ opacity:.5; cursor:not-allowed; }
.bk-featured__atc[disabled]:hover::before{ transform:translateY(calc(100% + 1px)); }
.bk-featured__atc > span{ position:relative; z-index:1; }
.bk-featured__atc:focus-visible{ outline:2px solid var(--bk-accent); outline-offset:3px; }

.bk-featured__pdp-link{
  font-family:var(--bk-font-title); font-weight:600; font-size:13px;
  color:var(--bk-ink); text-decoration:none;
  display:inline-flex; align-items:center; gap:6px;
  align-self:flex-start; border-bottom:1px solid var(--bk-line);
  padding-bottom:2px; transition:border-color var(--bk-dur);
}
.bk-featured__pdp-link:hover{ border-color:var(--bk-ink); }
.bk-featured__pdp-link svg{ width:12px; height:12px; transition:transform var(--bk-dur); }
.bk-featured__pdp-link:hover svg{ transform:translateX(3px); }

.bk-featured__reviews{
  display:flex; align-items:center; gap:var(--bk-s-2);
  font-size:12.5px; color:var(--bk-muted); margin-top:var(--bk-s-1);
}
.bk-featured__stars{ color:var(--bk-accent); letter-spacing:1.5px; font-size:14px; }
.bk-featured__reviews b{ color:var(--bk-ink); font-weight:600; }

.bk-featured__placeholder{ font-size:13px; color:var(--bk-muted); padding:var(--bk-s-4); border:1px dashed var(--bk-line); border-radius:var(--bk-r); }

/* media side */
.bk-featured__media{
  position:relative; aspect-ratio:5/6; border-radius:var(--bk-r-lg); overflow:hidden;
  background:var(--bk-accent-soft, var(--bk-surface));
  box-shadow:var(--bk-shadow-card);
}
.bk-featured__image{ width:100%; height:100%; object-fit:cover; display:block; }
.bk-featured__product-mock{ position:absolute; inset:0; display:flex; align-items:flex-end; justify-content:center; padding:0 var(--bk-s-10) var(--bk-s-10); }
.bk-featured__product-tube{
  position:relative; width:32%; aspect-ratio:1/3.8;
  background:linear-gradient(180deg, var(--bk-accent-1) 0%, var(--bk-accent-1) 60%, var(--bk-accent-1) 100%);
  border-radius:50% 50% 10px 10px / 5% 5% 10px 10px;
  box-shadow:0 30px 60px -24px rgba(50,30,100,.45),
             inset 0 -10px 22px rgba(255,255,255,.22),
             inset 0 8px 0 rgba(255,255,255,.3);
  transform:rotate(-3deg);
}
.bk-featured__media-badge{
  position:absolute; top:var(--bk-s-5); left:var(--bk-s-5); z-index:2;
  background:rgba(255,255,255,.94); border-radius:100px;
  padding:var(--bk-s-2) var(--bk-s-4);
  font-family:var(--bk-font-title); font-weight:600; font-size:10.5px;
  letter-spacing:var(--bk-track-eyebrow); text-transform:uppercase;
  color:var(--bk-ink); box-shadow:var(--bk-shadow-card);
}

@media (max-width: 880px){
  .bk-featured{ padding:var(--bk-s-6) var(--bk-s-4); }
  .bk-featured__inner{ grid-template-columns:1fr; gap:var(--bk-s-5); }
  .bk-featured[data-image-side="left"] .bk-featured__inner{ direction:ltr; }
  /* Cap image height — was 487px at full portrait, now 260px */
  .bk-featured__media{ height:260px; aspect-ratio:unset; order:-1; border-radius:var(--bk-r); box-shadow:none; }
  .bk-featured__content{ gap:var(--bk-s-3); }
  .bk-featured__title{ font-size:22px; }
  .bk-featured__sub{ font-size:14px; }
  .bk-featured__form{ gap:var(--bk-s-2); margin-top:0; }
  .bk-featured__plan{ padding:var(--bk-s-3) var(--bk-s-3); }
  .bk-featured__plan-sub{ display:none; }
  .bk-featured__atc{ min-height:48px; font-size:13px; }
}
/* END_SECTION:bk-featured-product */

/* START_SECTION:bk-footer (INDEX:12) */
.bk-footer{ background:var(--bk-ink); color:#fff; padding:0; margin-top:0; }
.bk-footer__inner{ max-width:var(--bk-page-max); margin:0 auto; padding:var(--bk-s-10) var(--bk-gutter) var(--bk-s-6); }

/* ---- Shop pills ---- */
.bk-footer__shop{ text-align:center; padding-bottom:var(--bk-s-10); border-bottom:1px solid rgba(255,255,255,.12); }
.bk-footer__shop-title{
  font-family:var(--bk-font-title); font-weight:600; font-size:var(--bk-font-micro);
  letter-spacing:var(--bk-track-eyebrow); text-transform:uppercase; color:#fff;
  margin:0 0 var(--bk-s-6);
}
.bk-footer__pills{ display:flex; flex-wrap:wrap; justify-content:center; gap:var(--bk-s-4); }
.bk-footer__pill{
  display:inline-flex; align-items:center; gap:var(--bk-s-4);
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12);
  border-radius:100px; padding:8px var(--bk-s-8) 8px 8px;
  text-decoration:none; min-width:240px;
  transition:background var(--bk-dur) var(--bk-ease-out), transform var(--bk-dur) var(--bk-ease-out);
}
.bk-footer__pill:hover{ background:rgba(255,255,255,.13); transform:translateY(-1px); }
.bk-footer__pill-media{
  width:56px; height:56px; border-radius:50%; flex-shrink:0; overflow:hidden;
  background:color-mix(in srgb, var(--bk-accent-1) 22%, #fff);
  display:grid; place-items:center;
}
.bk-footer__pill-media img{ width:100%; height:100%; object-fit:cover; }
.bk-footer__pill-label{
  font-family:var(--bk-font-title); font-weight:600; font-size:14px;
  letter-spacing:var(--bk-track-eyebrow); text-transform:uppercase; color:#fff;
}

/* ---- Main: B-corp | signup | nav | nav ---- */
.bk-footer__main{
  display:flex; flex-wrap:wrap; align-items:flex-start; gap:var(--bk-s-10) var(--bk-s-14);
  padding:var(--bk-s-10) 0; border-bottom:1px solid rgba(255,255,255,.12);
}
.bk-footer__cert-col{ flex:0 0 auto; display:flex; align-items:flex-start; }
.bk-footer__signup-col{ flex:1 1 300px; display:flex; flex-direction:column; gap:var(--bk-s-5); max-width:420px; }
.bk-footer__logo{ max-height:34px; width:auto; }
.bk-footer__heading{
  font-family:var(--bk-font-title); font-weight:600; font-size:11.5px;
  letter-spacing:var(--bk-track-eyebrow); text-transform:uppercase; color:#fff; margin:0 0 var(--bk-s-2);
}
.bk-footer__signup-sub{ font-size:14px; color:rgba(255,255,255,.7); line-height:var(--bk-lh-loose); margin:0 0 var(--bk-s-3); }
.bk-footer__signup-form{ display:flex; align-items:center; gap:var(--bk-s-2); background:rgba(255,255,255,.08); border-radius:100px; padding:4px 4px 4px var(--bk-s-5); }
.bk-footer__signup-input{ flex:1; min-width:0; background:transparent; border:0; color:#fff; font-family:var(--bk-font-body-family); font-size:14px; padding:12px 0; }
.bk-footer__signup-input::placeholder{ color:rgba(255,255,255,.45); }
.bk-footer__signup-input:focus{ outline:none; }
.bk-footer__signup-btn{
  width:42px; height:42px; border-radius:50%;
  background:#fff; color:var(--bk-ink); border:0; cursor:pointer;
  display:grid; place-items:center; flex-shrink:0; transition:transform var(--bk-dur);
}
.bk-footer__signup-btn:hover{ transform:translateY(-1px); }
.bk-footer__signup-btn svg{ width:18px; height:18px; }
.bk-footer__signup-success{ flex-basis:100%; font-size:12.5px; color:rgba(255,255,255,.85); padding-top:var(--bk-s-2); }
.bk-footer__consent{ margin:var(--bk-s-1) 0 0; padding-top:10px; }
.bk-footer__consent, .bk-footer__consent p{ font-size:10px; color:rgba(255,255,255,.45); line-height:1.5; margin:0; }
.bk-footer__consent a{ color:rgba(255,255,255,.65); }

.bk-footer__social{ display:flex; gap:var(--bk-s-2); align-items:center; }
.bk-footer__social a{
  width:38px; height:38px; border-radius:50%;
  display:grid; place-items:center;
  color:#fff; background:rgba(255,255,255,.08); text-decoration:none;
  transition:background var(--bk-dur);
}
.bk-footer__social a:hover{ background:rgba(255,255,255,.18); }
.bk-footer__social svg{ width:18px; height:18px; }

.bk-footer__col{ flex:0 1 160px; display:flex; flex-direction:column; gap:var(--bk-s-3); }
.bk-footer__col-title{
  font-family:var(--bk-font-title); font-weight:600; font-size:11.5px;
  letter-spacing:var(--bk-track-eyebrow); text-transform:uppercase; color:#fff; margin:0 0 var(--bk-s-1);
}
.bk-footer__col ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:var(--bk-s-3); }
.bk-footer__col a{ color:rgba(255,255,255,.7); text-decoration:none; font-size:13.5px; letter-spacing:var(--bk-track-eyebrow); text-transform:uppercase; transition:color var(--bk-dur); }
.bk-footer__col a:hover{ color:#fff; }

/* ---- B-corp column ---- */
.bk-footer__cert-img{ max-height:120px; width:auto; filter:brightness(0) invert(1); opacity:0.92; }

/* ---- Bottom ---- */
.bk-footer__bottom{ display:flex; align-items:center; gap:var(--bk-s-6); padding-top:var(--bk-s-8); flex-wrap:wrap; }
.bk-footer__cert{
  font-family:var(--bk-font-title); font-weight:600; font-size:10.5px;
  letter-spacing:var(--bk-track-eyebrow); text-transform:uppercase;
  color:rgba(255,255,255,.92); border:1px solid rgba(255,255,255,.2);
  padding:5px 10px; border-radius:100px;
}
.bk-footer__copy{ font-size:12.5px; color:rgba(255,255,255,.55); }
.bk-footer__policies{ margin-left:auto; }
.bk-footer__policies ul{ display:flex; gap:var(--bk-s-4); list-style:none; padding:0; margin:0; flex-wrap:wrap; }
.bk-footer__policies a{ font-size:12.5px; color:rgba(255,255,255,.55); text-decoration:none; transition:color var(--bk-dur); }
.bk-footer__policies a:hover{ color:#fff; }

/* ---- Top "Beautifully Clean" marquee ---- */
.bk-footer__ticker{ overflow:hidden; border-bottom:1px solid rgba(255,255,255,.12); padding:var(--bk-s-6) 0; }
.bk-footer__ticker-track{ display:flex; width:max-content; animation:bk-footer-ticker var(--bk-ft-dur, 60s) linear infinite; }
.bk-footer__ticker-item{
  font-family:var(--bk-font-title); font-weight:600;
  font-size:clamp(40px, 7vw, 88px); line-height:1;
  letter-spacing:var(--bk-track-display); text-transform:uppercase;
  color:#fff; white-space:nowrap; padding-right:0.5em;
  display:inline-flex; align-items:center;
}
.bk-footer__ticker-item::after{ content:"✦"; color:#fff; opacity:.55; font-size:.4em; margin-left:0.6em; }
@keyframes bk-footer-ticker{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce){ .bk-footer__ticker-track{ animation:none; } }

@media (max-width: 880px){
  .bk-footer__inner{ padding:var(--bk-s-8) var(--bk-s-5) 0; }
  .bk-footer__shop{ padding-bottom:var(--bk-s-8); }
  .bk-footer__pills{ flex-direction:column; align-items:stretch; }
  .bk-footer__pill{ min-width:0; }
  .bk-footer__main{ gap:var(--bk-s-8); padding:var(--bk-s-8) 0; }
  .bk-footer__cert-col{ flex-basis:100%; justify-content:center; }
  .bk-footer__signup-col{ flex-basis:100%; max-width:none; }
  .bk-footer__col{ flex:1 1 40%; }
  .bk-footer__bottom{ flex-direction:column; align-items:flex-start; gap:var(--bk-s-4); }
  .bk-footer__policies{ margin-left:0; }
  .bk-footer__ticker{ padding:var(--bk-s-5) 0; }
}
/* END_SECTION:bk-footer */

/* START_SECTION:bk-founders (INDEX:14) */
.bk-founders{ background:var(--bk-bg); padding:var(--bk-s-14) var(--bk-gutter); }
.bk-founders__inner{ max-width:var(--bk-page-max); margin:0 auto; }
.bk-founders__head{ text-align:center; max-width:680px; margin:0 auto var(--bk-s-10); display:flex; flex-direction:column; gap:var(--bk-s-2); }
.bk-founders__eyebrow{ font-family:var(--bk-font-title); font-weight:600; font-size:var(--bk-font-micro); letter-spacing:var(--bk-track-eyebrow); text-transform:uppercase; color:var(--bk-accent-1); }
.bk-founders__title{ font-family:var(--bk-font-title); font-weight:600; font-size:var(--bk-font-h1); line-height:var(--bk-lh-tight); color:var(--bk-ink); letter-spacing:var(--bk-track-title); margin:0; }
.bk-founders__intro{ font-size:15.5px; line-height:var(--bk-lh-loose); color:var(--bk-body); margin-top:var(--bk-s-2); }
.bk-founders__grid{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--bk-s-8); }
.bk-founders__card{ display:flex; flex-direction:column; gap:var(--bk-s-3); min-width:0; }
/* Placeholder gradients (shown until a photo is uploaded) tint the accent tokens. */
.bk-founders__photo{ position:relative; aspect-ratio:4/5; border-radius:var(--bk-r-lg); overflow:hidden; background:linear-gradient(160deg, color-mix(in srgb, var(--bk-accent-1) 12%, #fff) 0%, color-mix(in srgb, var(--bk-accent-1) 32%, #fff) 60%, color-mix(in srgb, var(--bk-accent-1) 52%, #fff) 100%); }
.bk-founders__photo--green{ background:linear-gradient(160deg, color-mix(in srgb, var(--bk-accent-2) 12%, #fff) 0%, color-mix(in srgb, var(--bk-accent-2) 32%, #fff) 60%, color-mix(in srgb, var(--bk-accent-2) 52%, #fff) 100%); }
.bk-founders__photo--blue{  background:linear-gradient(160deg, color-mix(in srgb, var(--bk-accent-3) 12%, #fff) 0%, color-mix(in srgb, var(--bk-accent-3) 32%, #fff) 60%, color-mix(in srgb, var(--bk-accent-3) 52%, #fff) 100%); }
.bk-founders__photo--ink{   background:linear-gradient(160deg, color-mix(in srgb, var(--bk-accent-4) 82%, #fff) 0%, var(--bk-accent-4) 60%, #000 100%); }
.bk-founders__photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.bk-founders__photo-initial{ position:absolute; inset:0; display:grid; place-items:center; font-family:var(--bk-font-title); font-weight:600; font-size:96px; color:rgba(255,255,255,.6); letter-spacing:.02em; }
.bk-founders__name{ font-family:var(--bk-font-title); font-weight:600; font-size:22px; color:var(--bk-ink); letter-spacing:var(--bk-track-title); margin:0; }
.bk-founders__credential{ font-family:var(--bk-font-title); font-weight:600; font-size:11.5px; letter-spacing:var(--bk-track-eyebrow); text-transform:uppercase; color:var(--bk-muted); }
.bk-founders__quote{ font-size:14.5px; line-height:var(--bk-lh-loose); color:var(--bk-body); }
.bk-founders__cta-row{ display:flex; justify-content:center; margin-top:var(--bk-s-10); }
@media (max-width: 880px){
  .bk-founders{ padding:var(--bk-s-10) 0; }
  .bk-founders__inner{ overflow:hidden; }
  .bk-founders__head{ padding:0 var(--bk-s-5); margin-bottom:var(--bk-s-6); }
  .bk-founders__title{ font-size:21px; }
  /* Swipeable carousel — scroll-snap, peek at next card */
  .bk-founders__grid{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    gap:var(--bk-s-4);
    padding:0 var(--bk-s-5) var(--bk-s-2);
    scrollbar-width:none;
  }
  .bk-founders__grid::-webkit-scrollbar{ display:none; }
  .bk-founders__card{
    flex:0 0 82vw;
    max-width:320px;
    scroll-snap-align:start;
    background:var(--bk-surface);
    border-radius:var(--bk-r-lg);
    padding:var(--bk-s-5);
    box-shadow:0 2px 12px rgba(0,0,0,.06);
  }
  .bk-founders__cta-row{ padding:0 var(--bk-s-5); margin-top:var(--bk-s-6); }
}
/* END_SECTION:bk-founders */

/* START_SECTION:bk-header (INDEX:15) */
/* ============ BASE HEADER ============ */
.bk-header {
  background: var(--bk-bg);
  border-bottom: 1px solid var(--bk-line);
  position: sticky; top: 0; z-index: 100;
  transition: transform var(--bk-dur) var(--bk-ease-out);
}
.bk-header[data-sticky="false"] { position: relative; }
.bk-header.is-hidden { transform: translateY(-100%); }
.bk-header__inner {
  max-width: var(--bk-page-max); margin: 0 auto;
  display: flex; align-items: center;
  padding: var(--bk-s-3) var(--bk-gutter);
  position: relative; min-height: 60px;
}

.bk-header__hamburger { display: none; background: none; border: 0; padding: var(--bk-s-2); cursor: pointer; color: var(--bk-ink); }
.bk-header__hamburger svg { width: 24px; height: 24px; display: block; }

/* Logo sits absolutely centred in the header regardless of nav width */
.bk-header__logo-link {
  position: absolute; left: 50%; transform: translateX(-50%);
  display: inline-flex; align-items: center; text-decoration: none; color: var(--bk-ink);
  pointer-events: auto; z-index: 1;
}
.bk-header__logo { display: block; height: auto; max-height: 32px; width: auto; max-width: var(--bk-logo-width, 120px); }
.bk-header__wordmark { font-family: var(--bk-font-title); font-weight: 600; font-size: 18px; letter-spacing: .14em; text-transform: uppercase; color: var(--bk-ink); }

/* ============ DESKTOP NAV ============ */
.bk-header__nav { display: flex; align-items: center; }
.bk-header__menu { display: flex; gap: var(--bk-s-6); list-style: none; padding: 0; margin: 0; }
.bk-header__menu-item { position: relative; }
.bk-header__menu-link {
  display: inline-flex; align-items: center; gap: var(--bk-s-1);
  font-family: var(--bk-font-title); font-weight: 600; font-size: 11.5px;
  letter-spacing: .06em; text-transform: uppercase;
  color: var(--bk-ink); text-decoration: none;
  padding: var(--bk-s-2) 0;
  border-bottom: 1.5px solid transparent;
  transition: border-color var(--bk-dur), opacity var(--bk-dur);
}
.bk-header__menu-link:hover,
.bk-header__menu-link.is-active { border-bottom-color: var(--bk-ink); }
.bk-header__menu-chev { width: 11px; height: 11px; opacity: .65; transition: transform .18s; }
.has-mega:hover .bk-header__menu-chev,
.has-mega.mega-open .bk-header__menu-chev,
.has-children:hover .bk-header__menu-chev { transform: rotate(180deg); }

/* ============ BASIC DROPDOWN (non-mega) ============ */
.bk-header__submenu {
  position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(8px);
  background: var(--bk-bg); border: 1px solid var(--bk-line); border-radius: var(--bk-r);
  box-shadow: var(--bk-shadow-card); padding: var(--bk-s-3) var(--bk-s-4);
  min-width: 200px; opacity: 0; pointer-events: none;
  transition: opacity var(--bk-dur), transform var(--bk-dur); z-index: 10;
}
.bk-header__menu-item:hover > .bk-header__submenu,
.bk-header__menu-item:focus-within > .bk-header__submenu {
  opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(0);
}
.bk-header__submenu ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--bk-s-2); }
.bk-header__submenu a { font-size: 13.5px; color: var(--bk-ink); text-decoration: none; padding: 4px 0; display: block; }
.bk-header__submenu a:hover { color: var(--bk-accent); }

/* ============ MEGA PANEL ============ */
.bk-header__mega {
  /* Anchored to the full-width, sticky .bk-header (its direct parent), so
     left:0/right:0 gives a scrollbar-safe full-bleed. Avoid 100vw here: 100vw
     includes the scrollbar width, so the panel overflowed the viewport by ~8px
     and caused horizontal page scroll. */
  position: absolute; top: 100%; left: 0; right: 0;
  transform: translateY(6px);
  width: auto;
  background: var(--bk-bg);
  box-shadow: 0 16px 40px rgba(0,0,0,.1);
  border-top: 2px solid var(--bk-accent);
  border-bottom: 1px solid var(--bk-line);
  opacity: 0; pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
  z-index: 10;
}
.bk-header__mega.is-open {
  opacity: 1; pointer-events: auto;
  transform: translateY(0);
}
.bk-header__mega-inner {
  max-width: var(--bk-page-max); margin: 0 auto;
  display: grid; grid-template-columns: 220px 1fr;
  gap: var(--bk-s-14); padding: var(--bk-s-10) var(--bk-gutter);
}

/* Featured links column */
.bk-header__mega-feat-heading {
  font-family: var(--bk-font-title); font-size: 10px; font-weight: 700;
  letter-spacing: var(--bk-track-eyebrow); text-transform: uppercase;
  color: var(--bk-muted); margin: 0 0 var(--bk-s-5);
}
.bk-header__mega-feat ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--bk-s-1); }
.bk-header__mega-feat-link {
  display: flex; align-items: center; justify-content: space-between;
  font-family: var(--bk-font-title); font-weight: 600; font-size: 15px;
  color: var(--bk-ink); text-decoration: none;
  padding: var(--bk-s-2) var(--bk-s-3); border-radius: var(--bk-r);
  transition: background var(--bk-dur), color var(--bk-dur);
}
.bk-header__mega-feat-link svg { width: 14px; height: 14px; opacity: 0; transition: opacity .15s, transform .15s; }
.bk-header__mega-feat-link:hover { background: var(--bk-surface); color: var(--bk-accent); }
.bk-header__mega-feat-link:hover svg { opacity: 1; transform: translateX(2px); }

/* Image card grid — auto-fit collapses empty columns so 2 cards = 2 cols, 3 = 3, etc. */
.bk-header__mega-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  grid-template-rows: 1fr;
  gap: var(--bk-s-3);
  align-self: stretch;
}
.bk-header__mega-card { text-decoration: none; display: flex; flex-direction: column; min-height: 220px; }
.bk-header__mega-card-media {
  flex: 1;
  position: relative; border-radius: var(--bk-r); overflow: hidden;
  background: var(--bk-surface);
}
.bk-header__mega-card-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.bk-header__mega-card:hover .bk-header__mega-card-img { transform: scale(1.04); }
.bk-header__mega-card-placeholder { position: absolute; inset: 0; background: var(--bk-line); }
.bk-header__mega-card-label {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: var(--bk-s-5) var(--bk-s-4) var(--bk-s-4);
  background: linear-gradient(to top, rgba(0,0,0,.72) 0%, transparent 100%);
  font-family: var(--bk-font-title); font-weight: 700; font-size: 11px;
  letter-spacing: .1em; text-transform: uppercase; color: #fff;
}

/* Overlay */
.bk-header__mega-overlay {
  position: fixed; inset: 0;
  background: rgba(15,12,25,.4);
  z-index: 90;
  opacity: 0; pointer-events: none;
  transition: opacity .2s;
}
.bk-header__mega-overlay.is-visible { opacity: 1; pointer-events: auto; }

/* ============ UTILITY ICONS ============ */
.bk-header__util { display: flex; align-items: center; gap: var(--bk-s-3); margin-left: auto; }
.bk-header__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; color: var(--bk-ink); text-decoration: none;
  position: relative; border-radius: 50%;
  transition: background var(--bk-dur);
}
.bk-header__icon:hover { background: var(--bk-surface); }
.bk-header__icon svg { width: 22px; height: 22px; }
.bk-header__cart-count {
  position: absolute; top: 0; right: 0;
  background: var(--bk-accent); color: #fff;
  font-family: var(--bk-font-title); font-weight: 600; font-size: 10px;
  min-width: 18px; height: 18px; padding: 0 4px; border-radius: 100px;
  display: grid; place-items: center; line-height: 1;
}
.bk-header__cart-count[hidden] { display: none; }

/* ============ MOBILE DRAWER ============ */
.bk-header__drawer {
  position: fixed; inset: 0; z-index: 200;
  pointer-events: none; opacity: 0;
  transition: opacity var(--bk-dur);
}
.bk-header__drawer.is-open { opacity: 1; pointer-events: auto; }
.bk-header__drawer-overlay { position: absolute; inset: 0; background: rgba(12,10,18,.5); }
.bk-header__drawer-panel {
  position: absolute; top: 0; left: 0; bottom: 0;
  width: min(88vw, 380px);
  background: var(--bk-bg); display: flex; flex-direction: column;
  transform: translateX(-100%); transition: transform var(--bk-dur-slow) var(--bk-ease-out);
  box-shadow: var(--bk-shadow-modal);
}
.bk-header__drawer.is-open .bk-header__drawer-panel { transform: translateX(0); }

.bk-header__drawer-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: var(--bk-s-4) var(--bk-s-5);
  border-bottom: 1px solid var(--bk-line);
}
.bk-header__drawer-logo { max-height: 28px; width: auto; }
.bk-header__drawer-wordmark { font-family: var(--bk-font-title); font-weight: 600; font-size: 16px; letter-spacing: .14em; text-transform: uppercase; color: var(--bk-ink); }
.bk-header__drawer-close { background: none; border: 0; color: var(--bk-ink); cursor: pointer; padding: var(--bk-s-1); display: flex; align-items: center; }
.bk-header__drawer-close svg { width: 24px; height: 24px; }

/* Nav rows (Native-style) */
.bk-header__drawer-nav { flex: 1; overflow-y: auto; }
.bk-header__drawer-nav > ul { list-style: none; padding: 0; margin: 0; }

.bk-header__drawer-item { border-bottom: 1px solid var(--bk-line); }
.bk-header__drawer-row {
  display: flex; align-items: center; gap: var(--bk-s-3);
  padding: var(--bk-s-4) var(--bk-s-5);
}
.bk-header__drawer-thumb {
  width: 52px; height: 52px; border-radius: var(--bk-r);
  object-fit: cover; flex-shrink: 0;
  background: var(--bk-surface);
}
.bk-header__drawer-link {
  flex: 1;
  font-family: var(--bk-font-title); font-weight: 600; font-size: 17px;
  letter-spacing: .04em; text-transform: uppercase;
  color: var(--bk-ink); text-decoration: none;
}
.bk-header__drawer-link.is-active { color: var(--bk-accent); }
.bk-header__drawer-expand {
  background: none; border: 0; padding: var(--bk-s-2); cursor: pointer;
  color: var(--bk-muted); display: flex; align-items: center;
  transition: transform .2s;
}
.bk-header__drawer-expand svg { width: 18px; height: 18px; }
.bk-header__drawer-expand.is-open svg { transform: rotate(180deg); }

/* Accordion sub-panel */
.bk-header__drawer-sub {
  display: grid; grid-template-rows: 0fr;
  transition: grid-template-rows .22s ease;
  overflow: hidden;
}
.bk-header__drawer-sub.is-open { grid-template-rows: 1fr; }
.bk-header__drawer-sub > ul {
  min-height: 0; overflow: hidden;
  list-style: none; padding: 0 var(--bk-s-5) var(--bk-s-4) calc(52px + var(--bk-s-5) + var(--bk-s-3));
  margin: 0;
  display: flex; flex-direction: column;
}
.bk-header__drawer-sub a {
  display: flex; align-items: center;
  padding: var(--bk-s-2) 0;
  font-size: 14.5px; color: var(--bk-body); text-decoration: none;
  border-bottom: 1px solid var(--bk-line);
  transition: color var(--bk-dur);
}
.bk-header__drawer-sub a:last-child { border-bottom: 0; }
.bk-header__drawer-sub a:hover, .bk-header__drawer-sub a.is-active { color: var(--bk-accent); }

/* Drawer footer buttons (Native-style) */
.bk-header__drawer-foot {
  padding: var(--bk-s-4) var(--bk-s-5);
  border-top: 1px solid var(--bk-line);
  display: flex; gap: var(--bk-s-3);
}
.bk-header__drawer-foot-btn {
  flex: 1; display: flex; flex-direction: column; align-items: center; gap: var(--bk-s-1);
  padding: var(--bk-s-3) var(--bk-s-2);
  background: var(--bk-surface); border-radius: var(--bk-r);
  font-family: var(--bk-font-title); font-weight: 700; font-size: 10px;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--bk-ink); text-decoration: none;
  transition: background var(--bk-dur);
}
.bk-header__drawer-foot-btn:hover { background: var(--bk-line); }
.bk-header__drawer-foot-btn svg { width: 20px; height: 20px; }

/* ============ RESPONSIVE ============ */
@media (max-width: 880px) {
  .bk-header__inner { padding: var(--bk-s-3) var(--bk-s-4); }
  .bk-header__hamburger { display: inline-flex; }
  .bk-header__nav { display: none; }
  /* Desktop mega-menu panels live outside .bk-header__nav; hide them on mobile
     (the drawer handles navigation) so their fixed-width card grid can't
     overflow the viewport and create horizontal scroll. */
  .bk-header__mega,
  .bk-header__mega-overlay { display: none !important; }
  /* On mobile logo reverts to static flow (centred between hamburger and util) */
  .bk-header__logo-link { position: static; transform: none; flex: 1; justify-content: center; }
  .bk-header__logo { max-height: 24px; }
  .bk-header__wordmark { font-size: 14px; letter-spacing: .1em; white-space: nowrap; }
  .bk-header__icon--search-hide-mobile { display: none; }
  .bk-header__icon--account { display: none; }
}
/* END_SECTION:bk-header */

/* START_SECTION:bk-hero-media (INDEX:16) */
.bk-hero-media{
  position:relative; overflow:hidden;
  display:flex;
  /* Explicit width so the aspect-ratio below can only derive HEIGHT, never width.
     Without this, when min-height overrides the aspect-derived height (viewports
     ~881–1140px), the aspect-ratio drives the width off the min-height instead
     (480 × 19/8 = 1140px) and pushes the whole page wider than the viewport. */
  width:100%; max-width:100%;
  background:var(--bk-ink);
}
.bk-hero-media[data-accent="accent-1"]{ --bk-accent:var(--bk-accent-1); }
.bk-hero-media[data-accent="accent-2"]{ --bk-accent:var(--bk-accent-2); }
.bk-hero-media[data-accent="accent-3"]{ --bk-accent:var(--bk-accent-3); }
.bk-hero-media[data-accent="accent-4"]{ --bk-accent:var(--bk-accent-4); }
/* Legacy named aliases */
.bk-hero-media[data-accent="purple"]{ --bk-accent:var(--bk-accent-1); }
.bk-hero-media[data-accent="green"]{ --bk-accent:var(--bk-accent-2); }
.bk-hero-media[data-accent="blue"]{ --bk-accent:var(--bk-accent-3); }
.bk-hero-media[data-accent="ink"]{ --bk-accent:var(--bk-accent-4); }

.bk-hero-media[data-height="full"]{ aspect-ratio:19/8; min-height:480px; }
.bk-hero-media[data-height="large"]{ aspect-ratio:16/7; min-height:420px; }
.bk-hero-media[data-height="medium"]{ aspect-ratio:21/9; min-height:360px; }

/* ---- Background media ---- */
.bk-hero-media__bg{ position:absolute; inset:0; z-index:0; }
/* These layers are intentionally empty decorative divs. A global `div:empty{display:none}`
   reset (specificity 0,1,1) would otherwise hide them — including the darkness overlay.
   Two-class selector (0,2,0) wins and forces them visible. */
.bk-hero-media .bk-hero-media__placeholder,
.bk-hero-media .bk-hero-media__scrim,
.bk-hero-media .bk-hero-media__overlay{ display:block; }
.bk-hero-media__video,
.bk-hero-media__image{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; display:block;
  z-index:0;
}
.bk-hero-media__placeholder{
  position:absolute; inset:0;
  z-index:0;
  background:
    radial-gradient(120% 90% at 20% 10%, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 55%),
    linear-gradient(160deg, var(--bk-accent) 0%, var(--bk-ink) 90%);
}
/* Flat darkness overlay — rgba() value is computed server-side in Liquid and set
   inline, so there's no CSS variable or pseudo-element to misbehave. Explicit z-index
   keeps it above the video (a compositing <video> can otherwise paint over a sibling
   that only relies on DOM order). */
.bk-hero-media__overlay{
  position:absolute; inset:0;
  z-index:2; pointer-events:none;
}
/* Scrim: bottom-gradient for text legibility, layered above the flat darkness */
.bk-hero-media__scrim{
  position:absolute; inset:0;
  z-index:3; pointer-events:none;
  background:linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 55%);
}

/* ---- Content ---- */
.bk-hero-media__inner{
  position:relative; z-index:1;
  width:100%; max-width:var(--bk-page-max);
  margin:0 auto;
  padding:var(--bk-s-18) var(--bk-gutter);
  display:flex;
}
.bk-hero-media[data-position="top"]    .bk-hero-media__inner{ align-items:flex-start; }
.bk-hero-media[data-position="center"] .bk-hero-media__inner{ align-items:center; }
.bk-hero-media[data-position="bottom"] .bk-hero-media__inner{ align-items:flex-end; }

.bk-hero-media__content{
  display:flex; flex-direction:column;
  max-width:600px; color:#fff;
}
.bk-hero-media[data-align="center"] .bk-hero-media__inner{ justify-content:center; }
.bk-hero-media[data-align="center"] .bk-hero-media__content{ text-align:center; align-items:center; margin:0 auto; }

.bk-hero-media__eyebrow{
  font-family:var(--bk-font-title); font-weight:600; font-size:var(--bk-font-micro);
  letter-spacing:var(--bk-track-eyebrow); text-transform:uppercase;
  color:#fff; opacity:.92; margin-bottom:var(--bk-s-4);
}
.bk-hero-media__title{
  font-family:var(--bk-font-title); font-weight:600; font-size:var(--bk-font-display);
  line-height:var(--bk-lh-tight); letter-spacing:var(--bk-track-display);
  color:#fff; margin-bottom:var(--bk-s-4);
  text-wrap:balance;
}
.bk-hero-media__sub{
  font-size:17px; line-height:var(--bk-lh-loose); color:rgba(255,255,255,.92);
  max-width:34em; margin-bottom:var(--bk-s-8);
}
.bk-hero-media__sub b, .bk-hero-media__sub strong{ color:#fff; font-weight:600; }
.bk-hero-media__sub p{ margin:0 0 var(--bk-s-2); }
.bk-hero-media__sub p:last-child{ margin-bottom:0; }

.bk-hero-media__ctas{ display:flex; gap:var(--bk-s-3); flex-wrap:wrap; align-items:center; }

/* Pill hero buttons (over media) */
.bk-hero-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  border:0; border-radius:100px;
  font-family:var(--bk-font-title); font-weight:600; font-size:14px;
  letter-spacing:var(--bk-track-eyebrow); text-transform:uppercase;
  min-height:54px; padding:0 var(--bk-s-8);
  cursor:pointer; text-decoration:none;
  transition:background var(--bk-dur) var(--bk-ease-out), color var(--bk-dur) var(--bk-ease-out), transform var(--bk-dur) var(--bk-ease-out);
}
.bk-hero-btn:focus-visible{ outline:2px solid #fff; outline-offset:3px; }
.bk-hero-btn--primary{ background:var(--bk-accent); color:#fff; }
.bk-hero-btn--primary:hover{ filter:brightness(1.08); transform:translateY(-1px); }
.bk-hero-btn__arrow{ font-size:16px; line-height:1; }
.bk-hero-btn--secondary{ background:rgba(255,255,255,.10); color:#fff; border:1.4px solid rgba(255,255,255,.7); backdrop-filter:blur(2px); }
.bk-hero-btn--secondary:hover{ background:rgba(255,255,255,.18); border-color:#fff; }

/* Trust row */
.bk-hero-media__trust{
  display:flex; align-items:center; gap:var(--bk-s-3); flex-wrap:wrap;
  margin-top:var(--bk-s-6);
  font-family:var(--bk-font-title); font-weight:600; font-size:12px;
  color:#fff; letter-spacing:var(--bk-track-eyebrow); text-transform:uppercase;
}
.bk-hero-media__trust > span{ opacity:.85; }
.bk-hero-media__sep{ opacity:.4 !important; font-weight:400; }

@media (max-width: 880px){
  .bk-hero-media[data-height="full"]{ aspect-ratio:4/5; min-height:440px; }
  .bk-hero-media[data-height="large"]{ aspect-ratio:4/5; min-height:380px; }
  .bk-hero-media[data-height="medium"]{ aspect-ratio:1/1; min-height:320px; }

  /* Pin content to the top on mobile, regardless of desktop position setting */
  .bk-hero-media[data-position="bottom"] .bk-hero-media__inner,
  .bk-hero-media[data-position="center"] .bk-hero-media__inner,
  .bk-hero-media[data-position="top"]    .bk-hero-media__inner{ align-items:flex-start; }
  .bk-hero-media__inner{ padding:var(--bk-s-8) var(--bk-s-5); }

  /* Flip the scrim so the top (where the text now sits) stays legible */
  .bk-hero-media__scrim{ background:linear-gradient(to bottom, rgba(0,0,0,.5) 0%, rgba(0,0,0,0) 50%); }

  /* Center the hero content on mobile (matches Lume/Squatch references) */
  .bk-hero-media__content{ max-width:none; align-items:center; text-align:center; }
  .bk-hero-media__eyebrow{ margin-bottom:var(--bk-s-3); }
  .bk-hero-media__title{ font-size:clamp(26px, 7vw, 34px); margin-bottom:var(--bk-s-3); }
  .bk-hero-media__sub{ font-size:15px; margin:0 auto var(--bk-s-5); }

  /* Compact, stacked pill buttons (Squatch-style) — centered, sized to content */
  .bk-hero-media__ctas{ flex-direction:column; align-items:center; width:auto; gap:var(--bk-s-2); }
  .bk-hero-btn{ width:auto; align-self:center; min-height:38px; padding:0 var(--bk-s-5); font-size:11px; gap:6px; }
  .bk-hero-btn__arrow{ font-size:13px; }
}

@media (prefers-reduced-motion: reduce){
  .bk-hero-media__video{ display:none; }
}
/* END_SECTION:bk-hero-media */

/* START_SECTION:bk-image-with-text (INDEX:18) */
/* ================================================================
   bk-image-with-text, brand token overrides for Dawn's IWT layout.
   Dawn's component-image-with-text.css handles base grid/sizing;
   we scope additional styles here to .bk-image-with-text.
================================================================ */

/* ---- Eyebrow ---- */
.bk-iwt__eyebrow {
  font-family: var(--bk-font-title);
  font-weight: 600;
  font-size: var(--bk-font-micro);
  letter-spacing: var(--bk-track-eyebrow);
  text-transform: uppercase;
  color: var(--bk-accent);
  margin-bottom: var(--bk-s-3);
}

/* ---- Stats row ---- */
.bk-iwt__stats {
  display: flex;
  gap: var(--bk-s-6);
  flex-wrap: wrap;
  margin: var(--bk-s-4) 0;
}
.bk-iwt__stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.bk-iwt__stat-number {
  font-family: var(--bk-font-title);
  font-weight: 600;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1;
  color: var(--bk-ink);
}
.bk-iwt__stat-label {
  font-size: 12px;
  line-height: 1.3;
  color: var(--bk-muted);
}

/* ---- Bullet list ---- */
.bk-iwt__bullets {
  list-style: none;
  padding: 0;
  margin: var(--bk-s-4) 0 0;
  display: flex;
  flex-direction: column;
  gap: var(--bk-s-3);
}
.bk-iwt__bullets li {
  position: relative;
  padding-left: 22px;
  font-size: 14px;
  line-height: 1.45;
  color: var(--bk-body);
}
.bk-iwt__bullets li::before {
  content: "";
  position: absolute;
  left: 0; top: 4px;
  width: 14px; height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239063CD' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

/* ---- Brand button override ---- */
.bk-image-with-text .bk-btn.button--primary {
  background-color: var(--bk-ink);
  border-color: var(--bk-ink);
  color: #fff;
  font-family: var(--bk-font-title);
  font-weight: 600;
  border-radius: var(--bk-btn-radius);
  transition: opacity var(--bk-dur) var(--bk-ease-out);
}
.bk-image-with-text .bk-btn.button--primary:hover {
  opacity: .85;
}
.bk-image-with-text .bk-btn.button--secondary {
  border-color: var(--bk-ink);
  color: var(--bk-ink);
  font-family: var(--bk-font-title);
  font-weight: 600;
  border-radius: var(--bk-btn-radius);
}
.bk-image-with-text .bk-btn.button--secondary:hover {
  background-color: var(--bk-ink);
  color: var(--bk-bg);
}
/* END_SECTION:bk-image-with-text */

/* START_SECTION:bk-ingredient-proof (INDEX:19) */
.bk-ingr{ background:color-mix(in srgb, var(--bk-accent, var(--bk-accent-3)) 10%, #fff); padding:var(--bk-s-14) var(--bk-gutter); }
.bk-ingr[data-accent="accent-1"]{ --bk-accent:var(--bk-accent-1); }
.bk-ingr[data-accent="accent-2"]{ --bk-accent:var(--bk-accent-2); }
.bk-ingr[data-accent="accent-3"]{ --bk-accent:var(--bk-accent-3); }
.bk-ingr[data-accent="accent-4"]{ --bk-accent:var(--bk-accent-4); }
/* Legacy named aliases */
.bk-ingr[data-accent="purple"]{ --bk-accent:var(--bk-accent-1); }
.bk-ingr[data-accent="green"]{  --bk-accent:var(--bk-accent-2); }
.bk-ingr[data-accent="blue"]{   --bk-accent:var(--bk-accent-3); }
.bk-ingr[data-accent="ink"]{    --bk-accent:var(--bk-accent-4); }

.bk-ingr__inner{
  max-width:var(--bk-page-max); margin:0 auto;
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:var(--bk-s-14);
  align-items:center;
}
.bk-ingr[data-image-side="left"] .bk-ingr__inner{ direction:rtl; }
.bk-ingr[data-image-side="left"] .bk-ingr__inner > *{ direction:ltr; }

.bk-ingr__content{ display:flex; flex-direction:column; gap:var(--bk-s-3); max-width:560px; }
.bk-ingr__title{
  font-family:var(--bk-font-title); font-weight:600;
  font-size:var(--bk-font-h1);
  line-height:var(--bk-lh-tight);
  color:var(--bk-ink);
  letter-spacing:var(--bk-track-title);
}
.bk-ingr__subline{
  font-family:var(--bk-font-title); font-weight:600;
  font-size:13px;
  letter-spacing:var(--bk-track-eyebrow);
  text-transform:uppercase;
  color:var(--bk-muted);
}
.bk-ingr__intro{
  font-size:15.5px; line-height:var(--bk-lh-loose);
  color:var(--bk-body);
  margin-bottom:var(--bk-s-3);
}

.bk-ingr__list{
  list-style:none; padding:0; margin:var(--bk-s-3) 0 0;
  display:flex; flex-direction:column;
}
.bk-ingr__row{
  display:flex; align-items:flex-start;
  gap:var(--bk-s-4);
  padding:var(--bk-s-4) 0;
  border-bottom:1px solid var(--bk-line);
}
.bk-ingr__row:first-child{ padding-top:0; }
.bk-ingr__row:last-child{ border-bottom:0; padding-bottom:0; }

.bk-ingr__icon{
  flex:0 0 36px;
  width:36px; height:36px;
  border-radius:50%;
  background:var(--bk-bg);
  border:1px solid var(--bk-line);
  display:grid; place-items:center;
  color:var(--bk-accent);
}
.bk-ingr__icon svg{ width:18px; height:18px; }
.bk-ingr__icon-img{ width:60%; height:60%; object-fit:contain; display:block; }

.bk-ingr__row-text p{
  margin:0;
  font-size:14.5px;
  line-height:var(--bk-lh-loose);
  color:var(--bk-body);
}
.bk-ingr__row-text strong{
  color:var(--bk-ink);
  font-family:var(--bk-font-title); font-weight:600;
}

.bk-ingr__media{ display:flex; align-items:center; justify-content:center; }
.bk-ingr__image{
  width:100%; height:auto; display:block;
  border-radius:var(--bk-r-lg);
  aspect-ratio:1/1;
  object-fit:cover;
}

@media (max-width: 880px){
  .bk-ingr{ padding:var(--bk-s-10) var(--bk-s-5); }
  .bk-ingr__inner{ grid-template-columns:1fr; gap:var(--bk-s-6); }
  .bk-ingr[data-image-side="left"] .bk-ingr__inner{ direction:ltr; }
  .bk-ingr__media{ order:-1; }
  .bk-ingr__image{ aspect-ratio:4/3; }
  .bk-ingr__title{ font-size:28px; }
}
/* END_SECTION:bk-ingredient-proof */

/* START_SECTION:bk-main-product (INDEX:20) */
/* ================================================================
   bk-main-product, layout override + custom block styles.
   All colour references use brand tokens from brand-tokens.css.liquid.
   Dawn's section-main-product.css handles core product layout;
   we override specific rules here for the sticky-gallery pattern.
================================================================ */

/* Accent data-attribute → scoped color overrides */
/* --bk-accent only; deep/soft are derived globally from the accent (brand-tokens). */
.bk-main-product[data-accent="purple"]   { --bk-accent: var(--bk-accent-1); }
.bk-main-product[data-accent="green"]    { --bk-accent: var(--bk-accent-2); }
.bk-main-product[data-accent="blue"]     { --bk-accent: var(--bk-accent-3); }
.bk-main-product[data-accent="ink"]      { --bk-accent: var(--bk-accent-4); }
.bk-main-product[data-accent="accent-1"] { --bk-accent: var(--bk-accent-1); }
.bk-main-product[data-accent="accent-2"] { --bk-accent: var(--bk-accent-2); }
.bk-main-product[data-accent="accent-3"] { --bk-accent: var(--bk-accent-3); }
.bk-main-product[data-accent="accent-4"] { --bk-accent: var(--bk-accent-4); }

/* ---- Mobile carousel dots (replace Dawn's numeric "1/4" counter) ---- */
@media screen and (max-width: 749px) {
  .bk-main-product__gallery .slider-buttons { display: none !important; }
}
.bk-pdp__dots {
  display: none;
  justify-content: center;
  gap: 8px;
  margin-top: var(--bk-s-4);
}
@media screen and (max-width: 749px) {
  .bk-pdp__dots { display: flex; margin-bottom: var(--bk-s-8); }
  /* breathing room between the gallery/dots and the product title */
  .bk-main-product__info { margin-top: var(--bk-s-6); }
}
.bk-pdp__dot {
  width: 7px; height: 7px; padding: 0;
  border: 0; border-radius: 50%;
  background: var(--bk-line);
  cursor: pointer;
  transition: background var(--bk-dur), transform var(--bk-dur);
}
.bk-pdp__dot[aria-current="true"] {
  background: var(--bk-ink);
  transform: scale(1.15);
}

/* ---- Layout: override Dawn's grid to sticky-gallery pattern ---- */
.bk-main-product__wrap.grid--2-col-tablet {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: var(--bk-s-10);
  align-items: start;
}
/* Neutralise Dawn's product--large/medium/small width caps (max-width: 35%/45%
   on the wrappers), they were collapsing our grid tracks. min-width:0 lets the
   text column shrink/grow with its grid track instead of being forced wide. */
.bk-main-product__wrap.grid--2-col-tablet > .bk-main-product__gallery.product__media-wrapper,
.bk-main-product__wrap.grid--2-col-tablet > .bk-main-product__info.product__info-wrapper {
  max-width: none;
  width: auto;
  min-width: 0;
}
/* Non-sticky gallery: the media-gallery defaults to position:sticky, which pins
   the images on scroll and lets them overlay the trust badges below. Force it
   static so the badges always stack in normal flow under the images. */
.bk-main-product__gallery { align-self: start; }
.bk-main-product__gallery media-gallery { position: static !important; top: auto !important; }

/* Skio plan picker host */
.bk-pdp__skio{ display:block; margin-bottom:0; }

/* In-stock indicator (green dot) above ATC — centered */
.bk-pdp__stock{ display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:var(--bk-s-3); font-family:var(--bk-font-title); font-weight:600; font-size:12.5px; letter-spacing:.02em; color:var(--bk-ink); }
.bk-pdp__stock-dot{ width:9px; height:9px; border-radius:50%; background:#1fb16b; box-shadow:0 0 0 3px rgba(31,177,107,.18); flex-shrink:0; }
/* Force square product media — most uploaded product photos are tall; this crops
   them to a consistent 1:1 (Dawn's .media > img already uses object-fit:cover). */
/* Desktop: full-width image, portrait crop, height capped to the viewport so
   the whole image fits within the container without scrolling (Flamingo).
   Width is set by the gallery column; aspect-ratio drives height, but max-height
   clamps it to the viewport — object-fit:cover crops the overflow. */
@media screen and (min-width: 750px) {
  .bk-main-product .product-media-container {
    position: relative;
    width: 100% !important;
    aspect-ratio: 3 / 4;               /* match PÄRLA's portrait product shots */
    max-height: calc(100vh - 120px);   /* crop top/bottom only when viewport is short */
    min-width: 100%;                   /* never let max-height shrink the width */
  }
  .bk-main-product .product-media-container > *,
  .bk-main-product .product-media-container .product__modal-opener,
  .bk-main-product .product-media-container .media {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    padding-top: 0 !important;
    margin: 0 !important;
  }
  .bk-main-product .product-media-container img,
  .bk-main-product .product-media-container video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }
}
@media screen and (max-width: 749px) {
  .bk-main-product .product__media-list {
    display: flex !important;
    gap: 10px;
    padding-inline: 11vw;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
  }
  .bk-main-product .product__media-item,
  .bk-main-product .bk-media-clone {
    flex: 0 0 78vw;
    width: 78vw !important;
    max-width: 78vw !important;
    scroll-snap-align: center;
    list-style: none;
  }
  .bk-main-product .product-media-container {
    aspect-ratio: 9 / 10 !important;
    width: 100%;
    position: relative;
  }
  /* Every wrapper between the container and the img (modal-opener, .media)
     must fill the container, or the absolutely-positioned img collapses to 0. */
  .bk-main-product .product-media-container > *,
  .bk-main-product .product-media-container .product__modal-opener,
  .bk-main-product .product-media-container .media {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    padding-top: 0 !important;
    margin: 0 !important;
  }
  .bk-main-product .product-media-container img,
  .bk-main-product .product-media-container video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }
}
.bk-main-product__gallery .product-media-container img { object-fit: cover; }

/* ---- Trust badges under the gallery ---- */
.bk-pdp__tbadges-wrap{ margin-top:var(--bk-s-10); padding-top:var(--bk-s-8); border-top:1px solid var(--bk-line); }
.bk-pdp__tbadges-wrap .bk-pdp__tbadges-title{ margin-top:0; }
/* "The PÄRLA difference" badges live in the info column, under the accordion. */
.bk-pdp__tbadges-title{ margin-top:var(--bk-s-8); }
.bk-pdp__tbadges-title + .bk-pdp__tbadges{ margin-top:var(--bk-s-5); }
.bk-pdp__tbadges{
  list-style:none; margin:var(--bk-s-8) 0 0; padding:0;
  display:grid; grid-template-columns:1fr 1fr; gap:var(--bk-s-6) var(--bk-s-5);
}
.bk-pdp__tbadge-item{ display:flex; align-items:center; gap:var(--bk-s-3); }
.bk-pdp__tbadge-icon{
  width:46px; height:46px; flex-shrink:0; border-radius:50%;
  background:var(--bk-accent); color:#fff;
  display:flex; align-items:center; justify-content:center;
}
/* Brand illustrations carry their own circle — no accent disc behind them */
.bk-pdp__tbadge-icon--brand{ background:none; }
.bk-pdp__tbadge-brand{ width:100%; height:100%; display:block; }
.bk-pdp__tbadge-label{
  font-family:var(--bk-font-title); font-weight:700; font-size:13px;
  letter-spacing:var(--bk-track-eyebrow); text-transform:uppercase;
  color:var(--bk-ink); line-height:1.25;
}
@media (max-width: 880px){
  .bk-pdp__tbadges{ margin-top:var(--bk-s-6); gap:var(--bk-s-4); }
  .bk-pdp__tbadge-icon{ width:40px; height:40px; }
  .bk-pdp__tbadge-label{ font-size:11.5px; }
}
/* ---- Breadcrumbs (Flamingo-style "Shop all / Category") ---- */
.bk-crumbs {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: var(--bk-s-3);
  font-family: var(--bk-font-title); font-weight: 600; font-size: 11px;
  letter-spacing: var(--bk-track-eyebrow); text-transform: uppercase;
  color: var(--bk-muted);
}
.bk-crumbs__link { color: var(--bk-muted); text-decoration: none; transition: color var(--bk-dur); }
.bk-crumbs__link:hover { color: var(--bk-ink); }
.bk-crumbs__sep { color: var(--bk-line); }

/* ---- Desktop gallery: vertical thumbnail rail on the LEFT ---- */
@media screen and (min-width: 990px) {
  .bk-main-product media-gallery {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: var(--bk-s-4);
    align-items: start;
  }
  .bk-main-product media-gallery > slider-component:not(.thumbnail-slider) { grid-column: 2; grid-row: 1; }
  /* Force the thumbnail slider to be a plain block column (Dawn defaults it to a
     horizontal flex/grid track, which collapses the list + items to ~0 width). */
  .bk-main-product media-gallery > .thumbnail-slider {
    grid-column: 1; grid-row: 1;
    display: block !important;
    width: 72px;
  }
  .bk-main-product .thumbnail-slider .thumbnail-list {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: var(--bk-s-2);
    max-height: 640px;
    overflow-y: auto;
    scrollbar-width: none;
    transform: none !important;
  }
  .bk-main-product .thumbnail-slider .thumbnail-list::-webkit-scrollbar { display: none; }
  .bk-main-product .thumbnail-slider .thumbnail-list__item {
    width: 100% !important;
    max-width: 72px !important;
    flex: 0 0 auto !important;
    scroll-snap-align: none;
  }
  .bk-main-product .thumbnail-slider .thumbnail-list__item .thumbnail {
    width: 100% !important;
    aspect-ratio: 1 / 1;
    padding: 0;
  }
  .bk-main-product .thumbnail-slider .thumbnail-list__item .thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }
  .bk-main-product .thumbnail-slider .slider-button { display: none !important; }
}

.bk-main-product__info {
  font-family: var(--bk-font-body-family);
  color: var(--bk-body);
}
/* Match the homepage section-heading scale (was a touch small). */
.bk-main-product__info h1 {
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.05;
  letter-spacing: var(--bk-track-title);
  margin-top: var(--bk-s-5);
}
@media screen and (min-width: 750px) {
  .bk-main-product__info h1 { margin-top: 0; }
}

/* Disable click/tap-to-zoom on the gallery on mobile (swipe still works). */
@media screen and (max-width: 749px) {
  .bk-main-product .product__modal-opener { pointer-events: none !important; cursor: default; }
  .bk-main-product .product__media-toggle,
  .bk-main-product .product__media-icon { display: none !important; pointer-events: none !important; }
}

/* ---- 3-pack upsell callout (single packs only) ---- */
.bk-pdp__upsell{
  display:flex; align-items:center; justify-content:space-between; gap:var(--bk-s-3); flex-wrap:wrap;
  background:color-mix(in srgb, var(--bk-accent) 10%, #fff);
  border:1px solid color-mix(in srgb, var(--bk-accent) 30%, transparent);
  border-radius:var(--bk-r); padding:var(--bk-s-3) var(--bk-s-4);
  margin-bottom:var(--bk-s-3); text-decoration:none;
  transition:background var(--bk-dur) var(--bk-ease-out);
}
.bk-pdp__upsell:hover{ background:color-mix(in srgb, var(--bk-accent) 17%, #fff); }
.bk-pdp__upsell-q{ font-family:var(--bk-font-title); font-weight:600; font-size:13.5px; color:var(--bk-ink); }
.bk-pdp__upsell-a{ font-family:var(--bk-font-title); font-weight:600; font-size:13px; color:var(--bk-accent); white-space:nowrap; }

/* ---- Section eyebrow ---- */
.bk-pdp__eyebrow {
  font-family: var(--bk-font-title);
  font-weight: 600;
  font-size: var(--bk-font-micro);
  letter-spacing: var(--bk-track-eyebrow);
  text-transform: uppercase;
  color: var(--bk-accent);
  margin-bottom: var(--bk-s-2);
}

/* ---- Tagline (under product title, shown when section setting is set) ---- */
.bk-pdp__tagline {
  font-family: var(--bk-font-title);
  font-weight: 600;
  font-size: 17px;
  color: var(--bk-ink);
  line-height: 1.25;
  margin-top: 4px;
  margin-bottom: 0;
}

/* ---- Key benefits ---- */
.bk-pdp__key-benefits {
  list-style: none;
  padding: 0;
  margin: var(--bk-s-4) 0 0;
  display: flex;
  flex-direction: column;
  gap: var(--bk-s-3);
}
.bk-pdp__key-benefits li {
  display: flex;
  align-items: flex-start;
  gap: var(--bk-s-3);
  font-family: var(--bk-font-title);
  font-weight: 600;
  font-size: 14.5px;
  line-height: 1.4;
  color: var(--bk-ink);
}
.bk-pdp__key-benefits li b,
.bk-pdp__key-benefits li strong { color: var(--bk-accent); }
.bk-pdp__key-arrow {
  color: var(--bk-accent);
  font-weight: 600;
  font-size: 16px;
  flex: 0 0 auto;
  line-height: 1.4;
}

/* ---- Formula pills ---- */
.bk-pdp__formula {
  display: none; /* retired — formula pills removed per brand */
}
.bk-pdp__pill {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-family: var(--bk-font-title);
  font-weight: 600;
  font-size: 11.5px;
  color: var(--bk-ink);
  background: var(--bk-bg);
  border: 1px solid var(--bk-line);
  border-radius: var(--bk-r-sm);
  padding: 9px 10px;
  white-space: nowrap;
}
.bk-pdp__pill svg { width: 13px; height: 13px; color: var(--bk-accent); flex: 0 0 auto; }

/* ---- Plan cards ---- */
.bk-pdp__plans-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--bk-s-2);
  margin-top: var(--bk-s-4);
}
.bk-pdp__plans { display: flex; flex-direction: column; gap: var(--bk-s-2); }
.bk-pdp__plan {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: flex-start;
  gap: var(--bk-s-3);
  border: 1.5px solid var(--bk-line);
  border-radius: var(--bk-r);
  padding: var(--bk-s-4);
  cursor: pointer;
  transition: border-color .2s, background .2s;
  background: var(--bk-bg);
  font: inherit;
  text-align: left;
  width: 100%;
}
.bk-pdp__plan--single { grid-template-columns: auto 1fr auto; }
.bk-pdp__plan:hover { border-color: var(--bk-ink); }
.bk-pdp__plan[aria-pressed="true"] {
  border-color: var(--bk-ink);
  border-width: 2px;
  padding: calc(var(--bk-s-4) - 0.5px);
}
.bk-pdp__plan[disabled] { opacity: .45; cursor: not-allowed; }
.bk-pdp__plan-radio {
  width: 18px; height: 18px; border-radius: 50%;
  border: 2px solid var(--bk-line);
  flex: 0 0 auto;
  transition: .18s;
  margin-top: 2px;
}
.bk-pdp__plan[aria-pressed="true"] .bk-pdp__plan-radio {
  border-color: var(--bk-ink);
  background: radial-gradient(circle at center, var(--bk-ink) 0 5px, transparent 6px);
}
.bk-pdp__plan-body { display: flex; flex-direction: column; gap: var(--bk-s-2); min-width: 0; }
.bk-pdp__plan-head { display: flex; align-items: center; gap: var(--bk-s-2); flex-wrap: wrap; }
.bk-pdp__plan-title { font-family: var(--bk-font-title); font-weight: 600; font-size: 15px; color: var(--bk-ink); line-height: 1.25; }
.bk-pdp__plan-sub { font-size: 11.5px; color: var(--bk-muted); }
.bk-pdp__save-tag {
  font-family: var(--bk-font-title);
  font-weight: 600;
  font-size: 10px;
  letter-spacing: .04em;
  color: #fff;
  background: var(--bk-accent);
  border-radius: 6px;
  padding: 3px 8px;
  text-transform: uppercase;
  white-space: nowrap;
}
.bk-pdp__plan-benefits {
  list-style: none;
  padding: 0; margin: 0;
  display: none;
  flex-direction: column;
  gap: 6px;
}
.bk-pdp__plan[aria-pressed="true"] .bk-pdp__plan-benefits { display: flex; }
.bk-pdp__plan-benefits li {
  position: relative;
  padding-left: 22px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--bk-body);
}
.bk-pdp__plan-benefits li::before {
  content: "";
  position: absolute;
  left: 0; top: 5px;
  width: 14px; height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317171C' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
.bk-pdp__plan-price {
  font-family: var(--bk-font-title);
  font-weight: 600;
  font-size: 17px;
  color: var(--bk-ink);
  text-align: right;
  line-height: 1.2;
  white-space: nowrap;
}
.bk-pdp__plan-price small {
  display: block;
  font-weight: 500;
  font-size: 11px;
  color: var(--bk-muted);
  text-decoration: line-through;
  margin-top: 2px;
}
.bk-pdp__helper { font-size: 11.5px; line-height: 1.45; color: var(--bk-muted); }

/* ---- CTA wrap (inline; mobile turns it into a fixed bottom bar below) ---- */
.bk-pdp__cta-wrap {
  background: var(--bk-bg);
  display: flex;
  flex-direction: column;
  gap: var(--bk-s-3);
  padding: 0 0 var(--bk-s-4);
  margin-top: 0;
}
/* Flamingo-style: quantity stepper and ATC on one row (all widths) */
.bk-pdp__cta-wrap {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}
.bk-pdp__cta-wrap .bk-pdp__qty { flex: 0 0 auto; }
.bk-pdp__cta-wrap .bk-pdp__qty-label { display: none; }
.bk-pdp__cta-wrap product-form { flex: 1 1 180px; min-width: 0; }
.bk-pdp__cta-wrap .bk-pdp__price-row,
.bk-pdp__cta-wrap .bk-pdp__stock,
.bk-pdp__cta-wrap .bk-pdp__trust { flex-basis: 100%; }
/* stock indicator sits full-width UNDER the qty+ATC row, centered */
.bk-pdp__cta-wrap .bk-pdp__stock { justify-content: center; margin-top: var(--bk-s-2); margin-bottom: 0; }
/* stepper matches the ATC height + radius so the row reads as one unit */
.bk-pdp__cta-wrap .bk-pdp__qty { align-self: stretch; display: flex; }
.bk-pdp__cta-wrap .bk-pdp__qty-stepper { height: 100%; min-height: 52px; border-radius: var(--bk-btn-radius); }
.bk-pdp__cta-wrap--dawn { padding: 0 0 var(--bk-s-4); }
/* Hidden — price already shown in the plan selector and on the Add-to-cart button. */
.bk-pdp__price-row { display: none; }
.bk-pdp__price { font-family: var(--bk-font-title); font-weight: 600; font-size: 24px; color: var(--bk-ink); line-height: 1; }
.bk-pdp__note { font-size: 11.5px; color: var(--bk-muted); }

/* ---- Quantity stepper (buy box) ---- */
.bk-pdp__qty { display: flex; align-items: center; gap: var(--bk-s-4); }
.bk-pdp__qty-label { font-family: var(--bk-font-title); font-weight: 600; font-size: 13px; color: var(--bk-ink); }
.bk-pdp__qty-stepper {
  display: inline-flex; align-items: center;
  border: 1.5px solid var(--bk-line); border-radius: 100px;
  overflow: hidden; background: var(--bk-bg);
}
.bk-pdp__qty-btn {
  appearance: none; border: 0; background: none; cursor: pointer;
  width: 42px; height: 46px; font-size: 18px; line-height: 1; color: var(--bk-ink);
  display: flex; align-items: center; justify-content: center;
  transition: color var(--bk-dur) var(--bk-ease-out), background var(--bk-dur) var(--bk-ease-out);
}
.bk-pdp__qty-btn:hover { color: var(--bk-accent); }
.bk-pdp__qty-field {
  width: 42px; height: 46px; border: 0; background: none; text-align: center;
  font-family: var(--bk-font-title); font-weight: 600; font-size: 15px; color: var(--bk-ink);
  -moz-appearance: textfield; appearance: textfield;
}
.bk-pdp__qty-field::-webkit-outer-spin-button,
.bk-pdp__qty-field::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* ---- Mobile sticky Add-to-cart bar (separate from the inline buy box) ---- */
.bk-pdp__sticky-atc { display: none; }
.bk-pdp__atc {
  width: 100%;
  border: 0;
  border-radius: var(--bk-btn-radius);
  background: var(--bk-ink);
  color: #fff;
  font-family: var(--bk-font-title);
  font-weight: 600;
  font-size: 15px;
  letter-spacing: .01em;
  min-height: 52px;
  padding: 0 var(--bk-s-6);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity var(--bk-dur) var(--bk-ease-out);
}
.bk-pdp__atc:hover { opacity: .85; }
.bk-pdp__atc[disabled] { opacity: .5; cursor: not-allowed; }
.bk-pdp__atc > span { position: relative; z-index: 1; }
.bk-pdp__trust { text-align: center; font-size: 11px; color: var(--bk-muted); }

/* Dawn buy_buttons when used with the standard buy_buttons block */
.bk-main-product .bk-pdp__cta-wrap--dawn .product-form__submit {
  border-radius: var(--bk-r);
  background: var(--bk-accent);
  font-family: var(--bk-font-title);
  font-weight: 600;
  font-size: 15px;
  min-height: 52px;
}

/* ---- "The PÄRLA difference" callouts ---- */
.bk-pdp__diff { margin-top: var(--bk-s-8); }
.bk-pdp__diff-title {
  font-family: var(--bk-font-title); font-weight: 600;
  font-size: clamp(18px, 2vw, 24px); line-height: var(--bk-lh-snug);
  text-transform: uppercase; letter-spacing: var(--bk-track-title);
  color: var(--bk-ink); text-align: center; margin: 0 0 var(--bk-s-5);
}
  font-family: var(--bk-font-body-family);
  font-weight: 500;
  font-size: 12px;
  line-height: 1.35;
  color: var(--bk-accent);
  max-width: 14ch;
}

/* ---- Numbered accordion ---- */
.bk-pdp__acc { margin-top: var(--bk-s-5); }
.bk-pdp__acc-item { border-top: 1px solid var(--bk-line); }
.bk-pdp__acc-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: none;
  border: 0;
  font-family: var(--bk-font-title);
  color: var(--bk-ink);
  text-align: left;
  cursor: pointer;
  padding: 14px 0;
  font-weight: 600;
  font-size: 12.5px;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.bk-pdp__acc-ix { font-size: 11px; color: var(--bk-accent); margin-right: 12px; font-weight: 600; }
.bk-pdp__acc-chev { flex: 0 0 auto; width: 18px; height: 18px; color: var(--bk-muted); transition: transform .3s; }
.bk-pdp__acc-item.is-open .bk-pdp__acc-chev { transform: rotate(45deg); color: var(--bk-accent); }
.bk-pdp__acc-body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .35s ease; }
.bk-pdp__acc-item.is-open .bk-pdp__acc-body { grid-template-rows: 1fr; }
.bk-pdp__acc-body > div { overflow: hidden; }
.bk-pdp__acc-body-in { padding: 0 0 18px; font-size: 13px; line-height: 1.6; color: var(--bk-body); }
.bk-pdp__acc-body-in p + p { margin-top: 9px; }
.bk-pdp__acc-body-in b,
.bk-pdp__acc-body-in strong { color: var(--bk-ink); font-weight: 600; }
.bk-pdp__acc-body-in ul,
.bk-pdp__acc-body-in ol { padding-left: 18px; margin: 8px 0; }

/* ---- Mobile ---- */
@media (max-width: 749px) {
  .bk-main-product__wrap.grid--2-col-tablet {
    display: block;
    padding-bottom: 15px;
  }
  .bk-main-product__gallery {
    position: relative;
    top: auto;
  }
  /* Full-bleed product gallery on mobile: remove the section's top padding and the
     slide/media gutters + width caps so the square image fills the screen width. */
  .bk-main-product { padding-top: 0 !important; }
  .bk-main-product__gallery .product__media-list { margin: 0 !important; }
  .bk-main-product__gallery .product__media-item.slider__slide,
  .bk-main-product__gallery .product__media-item {
    margin: 0 !important; padding: 0 !important;
    width: 100vw !important; max-width: 100vw !important;
  }
  .bk-main-product__gallery .product-media-container {
    margin: 0 !important; width: 100% !important; max-width: 100% !important;
  }
  /* The inline buy-box CTA now stays in flow. A separate sticky bar (below) is
     the only fixed element, and it only appears once the inline ATC is scrolled
     out of view (see JS). */
  .bk-pdp__sticky-atc {
    display: block;
    position: fixed; left: 0; right: 0; bottom: 0;
    padding: var(--bk-s-3) var(--bk-gutter) calc(var(--bk-s-3) + env(safe-area-inset-bottom, 0px));
    background: var(--bk-bg);
    border-top: 1px solid var(--bk-line);
    box-shadow: 0 -8px 24px -8px rgba(20, 16, 40, 0.12);
    z-index: 40;
    transform: translateY(110%);
    transition: transform .28s var(--bk-ease-out, ease);
    pointer-events: none;
  }
  .bk-pdp__sticky-atc.is-visible { transform: translateY(0); pointer-events: auto; }
}
/* END_SECTION:bk-main-product */

/* START_SECTION:bk-mission-strip (INDEX:21) */
.bk-mission { background: #ffffff; padding: var(--bk-s-8) var(--bk-gutter); }
.bk-mission__inner { max-width: var(--bk-page-max); margin: 0 auto; text-align: center; }
.bk-mission__text {
  font-family: var(--bk-font-body); font-weight: 400;
  font-size: 16px; line-height: 1.65; color: var(--bk-ink);
  max-width: 640px; margin: 0 auto;
}
.bk-mission__text p { margin: 0; }
.bk-mission__text p + p { margin-top: var(--bk-s-4); }
@media (min-width: 881px) {
  .bk-mission--mobile-only { display: none; }
}
@media (max-width: 880px) {
  .bk-mission { padding: var(--bk-s-6) var(--bk-s-5); }
  .bk-mission__text { font-size: 15px; }
}
/* END_SECTION:bk-mission-strip */

/* START_SECTION:bk-press-strip (INDEX:23) */
.bk-press-strip{
  background:var(--bk-bg);
  border-top:1px solid var(--bk-line); border-bottom:1px solid var(--bk-line);
  padding:var(--bk-s-8) 0;
  overflow:hidden;
}
.bk-press-strip__inner{
  display:flex; flex-direction:column; align-items:center; gap:var(--bk-s-5);
}
.bk-press-strip__label{
  font-family:var(--bk-font-title); font-weight:600; font-size:10.5px;
  letter-spacing:var(--bk-track-eyebrow); text-transform:uppercase;
  color:var(--bk-muted); text-align:center; padding:0 var(--bk-gutter);
}

/* ---- Marquee ---- */
.bk-press-strip__viewport{ width:100%; overflow:hidden; }
.bk-press-strip__track{
  display:flex; width:max-content; align-items:center;
  animation:bk-press-scroll var(--bk-press-dur, 40s) linear infinite;
}
.bk-press-strip[data-direction="right"] .bk-press-strip__track{ animation-direction:reverse; }
.bk-press-strip:hover .bk-press-strip__track{ animation-play-state:paused; }

.bk-press-strip__logo{
  flex:0 0 auto;
  margin:0 clamp(22px, 4vw, 46px);
  font-family:var(--bk-font-title); font-weight:600; font-size:18px;
  letter-spacing:.06em; color:var(--bk-ink); opacity:.62;
  transition:opacity var(--bk-dur) var(--bk-ease-out);
  white-space:nowrap; font-variant:small-caps; text-transform:uppercase;
  text-decoration:none; display:inline-flex; align-items:center;
}
.bk-press-strip__logo:hover{ opacity:1; }
.bk-press-strip__img{ height:26px; width:auto; display:block; filter:grayscale(1); opacity:.7; transition:opacity var(--bk-dur), filter var(--bk-dur); }
.bk-press-strip__logo:hover .bk-press-strip__img{ opacity:1; filter:none; }

@keyframes bk-press-scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

@media (max-width: 880px){
  .bk-press-strip{ padding:var(--bk-s-6) 0; }
  .bk-press-strip__inner{ gap:var(--bk-s-4); }
  .bk-press-strip__logo{ font-size:14px; margin:0 clamp(18px, 6vw, 32px); }
  .bk-press-strip__img{ height:20px; }
}

/* Respect reduced-motion: stop the scroll, drop the duplicate copy, center & wrap. */
@media (prefers-reduced-motion: reduce){
  .bk-press-strip__track{ animation:none; width:auto; flex-wrap:wrap; justify-content:center; }
  .bk-press-strip__logo--dup{ display:none; }
}
/* END_SECTION:bk-press-strip */

/* START_SECTION:bk-promo-duo (INDEX:24) */
.bk-duo { background: var(--bk-bg); padding: var(--bk-s-14) 0; }
.bk-duo__grid {
  max-width: var(--bk-page-max);
  margin: 0 auto;
  padding: 0 var(--bk-gutter);
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(16px, 2vw, 28px);
}

.bk-duo__tile {
  position: relative;
  min-height: clamp(340px, 34vw, 520px);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
  border-radius: var(--bk-r-lg);
  background: var(--bk-surface);
  text-align: center;
}
.bk-duo__img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
/* Scrim so overlaid text stays legible over imagery */
.bk-duo__tile--image::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 55%;
  background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0));
  pointer-events: none;
}
.bk-duo__content {
  position: relative; z-index: 1;
  padding: var(--bk-s-10) var(--bk-s-6);
  display: flex; flex-direction: column; align-items: center; gap: var(--bk-s-2);
}
/* Image tiles: white text. Blank tiles: ink text on the surface panel. */
.bk-duo__tile--image .bk-duo__heading,
.bk-duo__tile--image .bk-duo__subtext,
.bk-duo__tile--image .bk-duo__link { color: #fff; }
.bk-duo__tile--image .bk-duo__link { text-decoration-color: rgba(255,255,255,.7); }

.bk-duo__heading {
  font-family: var(--bk-font-title); font-weight: 600; text-transform: uppercase;
  font-size: clamp(20px, 2vw, 28px); line-height: var(--bk-lh-snug);
  letter-spacing: var(--bk-track-title); color: var(--bk-ink); margin: 0;
}
.bk-duo__subtext {
  font-size: 14.5px; line-height: var(--bk-lh-normal); color: var(--bk-body); margin: 0;
}
.bk-duo__link {
  font-family: var(--bk-font-title); font-weight: 600; font-size: 13px;
  letter-spacing: .04em; color: var(--bk-ink);
  text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1.5px;
  transition: opacity var(--bk-dur);
}
.bk-duo__link:hover { opacity: .75; }

@media (max-width: 749px) {
  .bk-duo__grid { grid-template-columns: 1fr; }
  .bk-duo__tile { min-height: 380px; }
}
/* END_SECTION:bk-promo-duo */

/* START_SECTION:bk-range-showcase (INDEX:25) */
.bk-range { background: var(--bk-bg); padding: var(--bk-s-14) var(--bk-gutter); }
.bk-range__inner { max-width: var(--bk-page-max); margin: 0 auto; }

.bk-range__head {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: var(--bk-s-6); margin-bottom: var(--bk-s-10);
}
.bk-range__heading { display: flex; flex-direction: column; align-items: center; gap: var(--bk-s-2); max-width: 640px; }
.bk-range__eyebrow {
  font-family: var(--bk-font-title); font-weight: 600; font-size: var(--bk-font-micro);
  letter-spacing: var(--bk-track-eyebrow); text-transform: uppercase; color: var(--bk-muted);
}
.bk-range__title {
  font-family: var(--bk-font-title); font-weight: 700; font-size: var(--bk-font-h1);
  line-height: var(--bk-lh-tight); color: var(--bk-ink); letter-spacing: var(--bk-track-title);
  text-transform: uppercase;
  margin: 0;
}
.bk-range__intro { font-size: 15.5px; color: var(--bk-body); line-height: var(--bk-lh-loose); max-width: 42em; margin: 0 auto; }
.bk-range__cta-row { display: flex; justify-content: center; margin-top: var(--bk-s-10); }
.bk-range__all-btn {
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--bk-font-title); font-weight: 600; font-size: 13px;
  letter-spacing: var(--bk-track-eyebrow); text-transform: uppercase;
  color: #fff; background: var(--bk-ink); text-decoration: none;
  min-height: 52px; padding: 0 var(--bk-s-10); border-radius: var(--bk-btn-radius);
  transition: opacity var(--bk-dur) var(--bk-ease-out);
}
.bk-range__all-btn:hover { opacity: .85; }

/* ===== SLIDER (3 per view on desktop, swipe/arrows for the rest) ===== */
.bk-range__slider { position: relative; }
.bk-range__grid {
  display: flex;
  gap: var(--bk-s-5);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.bk-range__grid::-webkit-scrollbar { display: none; }
.bk-range__grid:focus-visible { outline: 2px solid var(--bk-ink); outline-offset: 4px; }
.bk-range__card {
  flex: 0 0 calc((100% - 2 * var(--bk-s-5)) / 3);
  scroll-snap-align: start;
}

.bk-range__arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  z-index: 3;
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  background: var(--bk-ink); color: #fff;
  border: 0; border-radius: var(--bk-btn-radius); cursor: pointer;
  transition: opacity var(--bk-dur) var(--bk-ease-out);
}
.bk-range__arrow:hover { opacity: .85; }
.bk-range__arrow:focus-visible { outline: 2px solid var(--bk-ink); outline-offset: 3px; }
.bk-range__arrow svg { width: 20px; height: 20px; }
.bk-range__arrow--prev { left: -12px; }
.bk-range__arrow--next { right: -12px; }
.bk-range__arrow[disabled] { opacity: .25; cursor: default; }

.bk-range__progress {
  margin: var(--bk-s-8) auto 0;
  height: 3px;
  border-radius: 3px;
  background: var(--bk-line);
  position: relative;
  overflow: hidden;
}
.bk-range__progress-thumb {
  position: absolute; top: 0; bottom: 0; left: 0;
  width: 33%;
  background: var(--bk-ink);
  transition: transform .15s linear;
}

/* ===== CARD — flat gallery style, no tile chrome ===== */
.bk-range__card {
  display: flex; flex-direction: column;
  min-width: 0;
  color: var(--bk-ink);
}

/* Per-accent tints (placeholder fields + focus states) */
.bk-range__card--accent-1, .bk-range__card--purple { --card-accent-color: var(--bk-accent-1); }
.bk-range__card--accent-2, .bk-range__card--green  { --card-accent-color: var(--bk-accent-2); }
.bk-range__card--accent-3, .bk-range__card--blue   { --card-accent-color: var(--bk-accent-3); }
.bk-range__card--ink                                { --card-accent-color: var(--bk-ink); }

/* ===== MEDIA — flat colour field, square corners, photo is the field ===== */
.bk-range__card-media {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--bk-surface);
  position: relative;
}
.bk-range__card-media:focus-visible { outline: 2px solid var(--bk-ink); outline-offset: 3px; }
.bk-range__card-img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform .45s var(--bk-ease-out);
}
.bk-range__card:hover .bk-range__card-img { transform: scale(1.035); }
.bk-range__card-placeholder {
  width: 100%; height: 100%;
  background: linear-gradient(160deg, color-mix(in srgb, var(--card-accent-color, var(--bk-accent-1)) 12%, #fff) 0%, color-mix(in srgb, var(--card-accent-color, var(--bk-accent-1)) 24%, #fff) 100%);
}

/* ===== BODY — tight typographic stack ===== */
.bk-range__card-body {
  padding: var(--bk-s-4) 0 0;
  display: flex; flex-direction: column; gap: var(--bk-s-2);
  flex: 1;
}
.bk-range__card-eyebrow {
  font-family: var(--bk-font-title); font-weight: 600; font-size: 10.5px;
  letter-spacing: var(--bk-track-eyebrow); text-transform: uppercase;
  color: var(--bk-muted);
}
.bk-range__card-title {
  font-family: var(--bk-font-title); font-weight: 700; font-size: 17px;
  line-height: var(--bk-lh-tight); letter-spacing: .015em;
  text-transform: uppercase;
  color: var(--bk-ink); margin: 0;
}
.bk-range__card-title-link { color: inherit; text-decoration: none; }
.bk-range__card-title-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.bk-range__card-title-link:focus-visible { outline: 2px solid var(--bk-ink); outline-offset: 2px; }
.bk-range__card-desc {
  font-size: 13px; line-height: var(--bk-lh-normal);
  color: var(--bk-body); margin: 0;
}

/* Link-card fallback CTA (no product picked) */
.bk-range__card-cta {
  display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: var(--bk-s-2);
  font-family: var(--bk-font-title); font-weight: 600; font-size: 12.5px;
  letter-spacing: .04em; text-transform: uppercase;
  color: var(--bk-ink); text-decoration: none;
}
.bk-range__card-cta svg { width: 13px; height: 13px; transition: transform var(--bk-dur) var(--bk-ease-out); }
.bk-range__card-cta:hover svg { transform: translateX(4px); }

/* ===== RESPONSIVE ===== */
@media (max-width: 1100px) {
  .bk-range__card { flex-basis: calc((100% - var(--bk-s-5)) / 2); }
}

@media (max-width: 880px) {
  .bk-range { padding: var(--bk-s-10) var(--bk-s-5); }
  .bk-range__head { margin-bottom: var(--bk-s-6); }
  .bk-range__title { font-size: 26px; }

  .bk-range__grid { gap: var(--bk-s-3); }
  .bk-range__card { flex-basis: 74%; }
  .bk-range__arrow { display: none; }
  .bk-range__progress { margin-top: var(--bk-s-5); }

  .bk-range__card-body { padding-top: var(--bk-s-3); gap: var(--bk-s-1); }
  .bk-range__card-eyebrow { font-size: 9px; }
  .bk-range__card-title { font-size: 14.5px; line-height: 1.15; }

  .bk-range__card-desc {
    font-size: 12px;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .bk-range__card-desc:empty { display: none; }

  }

@media (max-width: 360px) {
  .bk-range__grid { gap: var(--bk-s-2); }
  .bk-range__card-title { font-size: 13.5px; }
  }
/* END_SECTION:bk-range-showcase */

/* START_SECTION:bk-reviews-condensed (INDEX:26) */
.bk-reviews{ background:var(--bk-surface); padding:var(--bk-s-14) var(--bk-gutter); }
.bk-reviews__inner{ max-width:1100px; margin:0 auto; display:flex; flex-direction:column; gap:var(--bk-s-8); text-align:center; }
.bk-reviews__head{ display:flex; flex-direction:column; align-items:center; gap:var(--bk-s-2); }
.bk-reviews__stars{ color:var(--bk-accent-1); font-size:22px; letter-spacing:2px; }
.bk-reviews__summary{ font-family:var(--bk-font-title); font-weight:600; font-size:var(--bk-font-h2); color:var(--bk-ink); line-height:var(--bk-lh-snug); }
.bk-reviews__count{ font-size:13px; color:var(--bk-muted); letter-spacing:.04em; }
.bk-reviews__grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--bk-s-5); margin-top:var(--bk-s-3); }
.bk-reviews__card{ background:var(--bk-bg); border:1px solid var(--bk-line); border-radius:var(--bk-r); padding:var(--bk-s-6); display:flex; flex-direction:column; gap:var(--bk-s-3); text-align:left; }
.bk-reviews__card-stars{ color:var(--bk-accent-1); font-size:13px; letter-spacing:1.5px; }
.bk-reviews__card-body{ font-size:14.5px; line-height:var(--bk-lh-loose); color:var(--bk-ink); flex:1; }
.bk-reviews__card-attr{ display:flex; align-items:center; gap:var(--bk-s-2); margin-top:var(--bk-s-1); }
.bk-reviews__card-name{ font-family:var(--bk-font-title); font-weight:600; font-size:12px; color:var(--bk-ink); }
.bk-reviews__card-badge{ font-family:var(--bk-font-title); font-weight:600; font-size:10px; letter-spacing:.04em; color:var(--bk-accent-2); background:var(--bk-accent-soft); padding:3px 8px; border-radius:100px; }
.bk-reviews__cta{ display:inline-flex; align-items:center; gap:6px; font-family:var(--bk-font-title); font-weight:600; font-size:13px; color:var(--bk-ink); text-decoration:none; border-bottom:1px solid var(--bk-line); padding-bottom:2px; transition:border-color var(--bk-dur); align-self:center; }
.bk-reviews__cta:hover{ border-color:var(--bk-ink); }
.bk-reviews__cta svg{ width:12px; height:12px; transition:transform var(--bk-dur); }
.bk-reviews__cta:hover svg{ transform:translateX(3px); }
@media (max-width: 880px){
  .bk-reviews{ padding:var(--bk-s-10) var(--bk-s-5); }
  .bk-reviews__grid{ grid-template-columns:1fr; gap:var(--bk-s-3); }
  .bk-reviews__card{ padding:var(--bk-s-5); }
}
/* END_SECTION:bk-reviews-condensed */

/* START_SECTION:bk-story (INDEX:29) */
.bk-story { background: var(--bk-bg); padding: var(--bk-s-14) 0; }
.bk-story__inner {
  max-width: var(--bk-page-max); margin: 0 auto; padding: 0 var(--bk-gutter);
  display: flex; flex-direction: column; gap: var(--bk-s-18);
}

/* Centered intro / statement */
.bk-story__intro { max-width: 640px; margin: 0 auto; text-align: center; }
.bk-story__intro--wide { max-width: 820px; }
.bk-story__intro-title {
  font-family: var(--bk-font-title); font-weight: 600; text-transform: uppercase;
  font-size: clamp(26px, 3.4vw, 44px); line-height: var(--bk-lh-tight);
  letter-spacing: var(--bk-track-title); color: var(--bk-ink); margin: 0 0 var(--bk-s-5);
}
.bk-story__intro-body { font-size: clamp(15px, 1.4vw, 17px); line-height: var(--bk-lh-loose); color: var(--bk-body); }
.bk-story__intro-body p { margin: 0 0 var(--bk-s-4); }
.bk-story__intro-body p:last-child { margin-bottom: 0; }

/* Alternating rows */
.bk-story__row {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 5vw, 80px); align-items: center;
}
.bk-story__row--reverse .bk-story__media { order: 2; }
.bk-story__media { border-radius: var(--bk-r-lg); overflow: hidden; aspect-ratio: 5 / 4; }
.bk-story__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bk-story__img--placeholder { background: var(--bk-surface); }

.bk-story__eyebrow {
  font-family: var(--bk-font-title); font-weight: 600; font-size: var(--bk-font-micro);
  letter-spacing: var(--bk-track-eyebrow); text-transform: uppercase; color: var(--bk-accent-1);
  margin: 0 0 var(--bk-s-3);
}
.bk-story__heading {
  font-family: var(--bk-font-title); font-weight: 600; text-transform: uppercase;
  font-size: clamp(22px, 2.6vw, 32px); line-height: var(--bk-lh-snug);
  letter-spacing: var(--bk-track-title); color: var(--bk-ink); margin: 0 0 var(--bk-s-4);
}
.bk-story__body { font-size: 15.5px; line-height: var(--bk-lh-loose); color: var(--bk-body); }
.bk-story__body p { margin: 0 0 var(--bk-s-4); }
.bk-story__body p:last-child { margin-bottom: 0; }
.bk-story__body strong { color: var(--bk-ink); font-weight: 600; }
/* Sub-names inside the dentists row read as small headings */
.bk-story__body h3 {
  font-family: var(--bk-font-title); font-weight: 600; text-transform: uppercase;
  font-size: 16px; letter-spacing: var(--bk-track-title); color: var(--bk-ink);
  margin: var(--bk-s-6) 0 var(--bk-s-2);
}

@media (max-width: 880px) {
  .bk-story { padding: var(--bk-s-10) 0; }
  .bk-story__inner { gap: var(--bk-s-12); }
  .bk-story__row { grid-template-columns: 1fr; gap: var(--bk-s-5); }
  /* image always on top on mobile, regardless of desktop side */
  .bk-story__row--reverse .bk-story__media { order: 0; }
  .bk-story__media { aspect-ratio: 3 / 2; }
}
/* END_SECTION:bk-story */

/* START_SECTION:bk-testimonials (INDEX:30) */
.bk-testi{ padding:var(--bk-s-14) var(--bk-gutter); }
.bk-testi[data-scheme="surface"]{ background:var(--bk-surface); color:var(--bk-ink); --bk-testi-card-bg:var(--bk-bg); --bk-testi-card-border:var(--bk-line); --bk-testi-divider:var(--bk-line); --bk-testi-stars:var(--bk-accent-1); }
.bk-testi[data-scheme="bg"]{ background:var(--bk-bg); color:var(--bk-ink); --bk-testi-card-bg:var(--bk-surface); --bk-testi-card-border:transparent; --bk-testi-divider:var(--bk-line); --bk-testi-stars:var(--bk-accent-1); }
.bk-testi[data-scheme="ink"]{ background:var(--bk-ink); color:#fff; --bk-testi-card-bg:#1F1D26; --bk-testi-card-border:transparent; --bk-testi-divider:rgba(255,255,255,.12); --bk-testi-stars:var(--bk-accent-1); }
.bk-testi[data-scheme="accent-1"]{ background:var(--bk-accent-soft); color:var(--bk-ink); --bk-testi-card-bg:var(--bk-bg); --bk-testi-card-border:var(--bk-line); --bk-testi-divider:var(--bk-line); --bk-testi-stars:var(--bk-accent-1); }
/* Legacy named alias */
.bk-testi[data-scheme="purple"]{ background:var(--bk-accent-soft); color:var(--bk-ink); --bk-testi-card-bg:var(--bk-bg); --bk-testi-card-border:var(--bk-line); --bk-testi-divider:var(--bk-line); --bk-testi-stars:var(--bk-accent-1); }

.bk-testi__inner{ max-width:var(--bk-page-max); margin:0 auto; }
.bk-testi__title{
  font-family:var(--bk-font-title); font-weight:600;
  font-size:var(--bk-font-h2); line-height:var(--bk-lh-snug);
  letter-spacing:var(--bk-track-eyebrow);
  text-align:center;
  margin-bottom:var(--bk-s-8);
  color:inherit;
}

.bk-testi__grid{
  display:grid;
  grid-template-columns:repeat(var(--bk-testi-cols, 5), minmax(0, 1fr));
  gap:var(--bk-s-4);
}
.bk-testi[data-cols="3"]{ --bk-testi-cols:3; }
.bk-testi[data-cols="4"]{ --bk-testi-cols:4; }
.bk-testi[data-cols="5"]{ --bk-testi-cols:5; }

.bk-testi__card{
  background:var(--bk-testi-card-bg);
  border:1px solid var(--bk-testi-card-border, transparent);
  border-radius:var(--bk-r);
  padding:var(--bk-s-6) var(--bk-s-5) var(--bk-s-5);
  display:flex; flex-direction:column;
  gap:var(--bk-s-5);
  min-width:0;
  min-height:280px;
}
.bk-testi__card-top{ display:flex; flex-direction:column; gap:var(--bk-s-3); }
.bk-testi__quote-title{
  font-family:var(--bk-font-title); font-weight:600;
  font-size:18px; line-height:var(--bk-lh-snug);
  color:inherit; letter-spacing:var(--bk-track-title);
}
.bk-testi__body{
  font-size:13.5px; line-height:var(--bk-lh-loose);
  color:inherit; opacity:.85;
}
.bk-testi__card-bottom{
  margin-top:auto;
  padding-top:var(--bk-s-3);
  border-top:1px solid var(--bk-testi-divider);
  display:flex; flex-direction:column; gap:var(--bk-s-2);
}
.bk-testi__name{
  font-family:var(--bk-font-title); font-weight:600;
  font-size:11.5px; letter-spacing:var(--bk-track-eyebrow);
  text-transform:uppercase; color:inherit;
}
.bk-testi__stars{
  color:var(--bk-testi-stars, var(--bk-accent-1));
  font-size:16px; letter-spacing:2px;
  line-height:1;
}

@media (max-width: 1100px){
  .bk-testi__grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .bk-testi__card{ min-height:auto; }
}
@media (max-width: 640px){
  .bk-testi{ padding:var(--bk-s-10) var(--bk-s-5); }
  .bk-testi__title{ margin-bottom:var(--bk-s-5); font-size:18px; }
  .bk-testi__grid{
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:78%;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding-bottom:var(--bk-s-3);
    scrollbar-width:none;
  }
  .bk-testi__grid::-webkit-scrollbar{ display:none; }
  .bk-testi__card{ scroll-snap-align:start; }
}
/* END_SECTION:bk-testimonials */

/* START_SECTION:image-with-text-video (INDEX:50) */
.iwtv__inner { padding-left: 0; padding-right: 0; }
.iwtv__grid {
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
  overflow: hidden;
}
.iwtv__media {
  position: relative;
  overflow: hidden;
  background-color: var(--bk-surface, #f2f2f2);
  background-size: cover;
  background-position: center;
  min-height: 280px;
}
/* Mobile: constrain the video to a wide 3:2 (landscape) crop */
@media (max-width: 879.98px) {
  .iwtv__media { aspect-ratio: 3 / 2; min-height: 0; }
}
.iwtv__video,
.iwtv__img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
.iwtv__placeholder { position: absolute; inset: 0; }
.iwtv__placeholder .placeholder-svg { width: 100%; height: 100%; }

.iwtv__content {
  display: flex; flex-direction: column; justify-content: center;
  gap: 1.25rem;
  padding: clamp(1.75rem, 5vw, 4rem);
}
.iwtv__content--center { text-align: center; align-items: center; }
.iwtv__content--right { text-align: right; align-items: flex-end; }

/* White hero background (#ffffff). Higher specificity than Dawn's .gradient /
   .color-scheme-* so it wins, while the colour scheme still supplies dark text. */
.iwtv.gradient { background: var(--bk-accent-white); }
.iwtv .iwtv__content { background: var(--bk-accent-white); }

.iwtv__rating { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.iwtv__stars { color: #f5b301; font-size: 19px; letter-spacing: 2px; line-height: 1; }
.iwtv__rating-text { font-family: var(--bk-font-title); font-weight: 600; font-size: 14px; color: var(--bk-ink); }
.iwtv__content--center .iwtv__rating { justify-content: center; }
.iwtv__content--right .iwtv__rating { justify-content: flex-end; }
.iwtv__heading { margin: 0; }
.iwtv__text { margin: 0; }

.iwtv__bullets {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 1rem;
}
.iwtv__bullet { display: flex; gap: 0.65rem; align-items: flex-start; }
.iwtv__content--center .iwtv__bullet { text-align: left; }
.iwtv__bullet-icon { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; line-height: 1; font-size: 1.15rem; }
.iwtv__bolt { width: 20px; height: 20px; color: var(--bk-accent-1); display: block; }
.iwtv__bullet-text { display: flex; flex-direction: column; gap: 2px; font-size: 14px; line-height: 1.55; }
.iwtv__bullet-lead { font-family: var(--bk-font-title); font-weight: 600; }

/* Buttons: match the brand pill CTA used across the site (see bk-hero-btn). */
.iwtv__buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 0.5rem; }
.iwtv__buttons .button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  border: 0; border-radius: 100px;
  font-family: var(--bk-font-title); font-weight: 600; font-size: 14px;
  letter-spacing: var(--bk-track-eyebrow); text-transform: uppercase;
  min-height: 54px; padding: 0 var(--bk-s-8);
  background: var(--bk-accent-1); color: #fff;
  cursor: pointer; text-decoration: none;
  transition: filter var(--bk-dur) var(--bk-ease-out), transform var(--bk-dur) var(--bk-ease-out);
}
.iwtv__buttons .button::after { display: none; }
.iwtv__buttons .button:hover { filter: brightness(1.08); transform: translateY(-1px); }
.iwtv__buttons .button--secondary {
  background: transparent; color: var(--bk-ink);
  border: 1.5px solid var(--bk-line);
}
.iwtv__buttons .button--secondary:hover { border-color: var(--bk-ink); filter: none; }

/* Desktop: two columns, video on the chosen side */
@media (min-width: 880px) {
  .iwtv__grid { grid-template-columns: 1fr 1fr; }
  .iwtv__grid--text_first .iwtv__media { order: 2; }
  .iwtv__bullet-text { font-size: 18px; }
  .iwtv__rating-text { font-size: 15px; }
  /* The video stays full-bleed, but the text column gets generous padding and a
     capped line length so it doesn't run to the viewport edge (readability). */
  .iwtv__content { padding: clamp(2rem, 4vw, 4.5rem) clamp(2.5rem, 5vw, 5.5rem); }
  .iwtv__content > * { max-width: 600px; }
  .iwtv__content--center > * { margin-left: auto; margin-right: auto; }
  .iwtv__content--right > * { margin-left: auto; }
}

/* Mobile compact buttons — matches the first hero's mobile pill size. Placed
   after the base .iwtv__buttons .button rule so it wins the cascade (a media
   query alone doesn't raise specificity). */
@media (max-width: 879.98px) {
  .iwtv__buttons .button { min-height: 44px; font-size: 11px; padding: 0 var(--bk-s-5); gap: 6px; }
}
/* END_SECTION:image-with-text-video */